All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/bind9/bin/named/os.c:81,1
    - Dst: cap_set_proc
      Src: /src/bind9/bin/named/os.c:84,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:85,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - caps
    argTypes:
    - cap_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: linux_setcaps
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - cap_set_proc
    - strerror_r
    - named_main_earlyfatal
    - getuid
    linkageType: ''
    returnType: void
    signature: void linux_setcaps(cap_t caps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: SET_CAP
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CAP(flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:157,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:162,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:168,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:173,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:179,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:188,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:194,1
    - Dst: linux_setcaps
      Src: /src/bind9/bin/named/os.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 199
    functionName: linux_initialprivs
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - SET_CAP
    - linux_setcaps
    linkageType: ''
    returnType: void
    signature: void linux_initialprivs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:218,1
    - Dst: SET_CAP
      Src: /src/bind9/bin/named/os.c:227,1
    - Dst: linux_setcaps
      Src: /src/bind9/bin/named/os.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 232
    functionName: linux_minprivs
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - SET_CAP
    - linux_setcaps
    linkageType: ''
    returnType: void
    signature: void linux_minprivs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/bind9/bin/named/os.c:242,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:244,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:245,1
    - Dst: getuid
      Src: /src/bind9/bin/named/os.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 253
    functionName: linux_keepcaps
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - strerror_r
    - named_main_earlyfatal
    - prctl
    - getuid
    linkageType: ''
    returnType: void
    signature: void linux_keepcaps(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setegid
      Src: /src/bind9/bin/named/os.c:265,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:266,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:267,1
    - Dst: seteuid
      Src: /src/bind9/bin/named/os.c:271,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:272,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - uid
    - gid
    argTypes:
    - uid_t
    - gid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 276
    functionName: setperms
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - named_main_earlywarning
    - strerror_r
    - setegid
    - seteuid
    linkageType: ''
    returnType: void
    signature: void setperms(uid_t uid, gid_t gid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/bin/named/os.c:287,1
    - Dst: socket
      Src: /src/bind9/bin/named/os.c:297,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/bin/named/os.c:299,1
    - Dst: connect
      Src: /src/bind9/bin/named/os.c:302,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/bin/named/os.c:303,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 309
    functionName: connect_systemd_notify_unix
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - socket
    - connect
    - strlcpy
    - close
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t connect_systemd_notify_unix(char *path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/os.c:316,1
    - Dst: getenv
      Src: /src/bind9/bin/named/os.c:318,1
    - Dst: connect_systemd_notify_unix
      Src: /src/bind9/bin/named/os.c:326,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/os.c:327,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/os.c:334,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/os.c:335,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/os.c:339,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/os.c:341,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/os.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 346
    functionName: setup_systemd_notify
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - strncmp
    - connect_systemd_notify_unix
    - RUNTIME_CHECK
    - isc_result_totext
    - isc_log_write
    - REQUIRE
    - getenv
    linkageType: ''
    returnType: void
    signature: void setup_systemd_notify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/bind9/bin/named/os.c:359,1
    - Dst: isc_file_basename
      Src: /src/bind9/bin/named/os.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 360
    functionName: setup_syslog
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - openlog
    - isc_file_basename
    linkageType: ''
    returnType: void
    signature: void setup_syslog(const char *progname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_syslog
      Src: /src/bind9/bin/named/os.c:364,1
    - Dst: setup_systemd_notify
      Src: /src/bind9/bin/named/os.c:365,1
    - Dst: linux_initialprivs
      Src: /src/bind9/bin/named/os.c:367,1
    - Dst: signal
      Src: /src/bind9/bin/named/os.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - progname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: named_os_init
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - setup_syslog
    - signal
    - linux_initialprivs
    - setup_systemd_notify
    linkageType: ''
    returnType: void
    signature: void named_os_init(const char *progname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/bind9/bin/named/os.c:379,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:380,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:381,1
    - Dst: fork
      Src: /src/bind9/bin/named/os.c:384,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:386,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:387,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:396,1
    - Dst: read
      Src: /src/bind9/bin/named/os.c:399,1
    - Dst: _exit
      Src: /src/bind9/bin/named/os.c:401,1
    - Dst: _exit
      Src: /src/bind9/bin/named/os.c:404,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:406,1
    - Dst: setsid
      Src: /src/bind9/bin/named/os.c:412,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:413,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:414,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:429,1
    - Dst: dup2
      Src: /src/bind9/bin/named/os.c:430,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:433,1
    - Dst: dup2
      Src: /src/bind9/bin/named/os.c:434,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:437,1
    - Dst: dup2
      Src: /src/bind9/bin/named/os.c:438,1
    - Dst: setup_systemd_notify
      Src: /src/bind9/bin/named/os.c:447,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 448
    functionName: named_os_daemonize
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - _exit
    - pipe
    - close
    - setsid
    - fork
    - strerror_r
    - named_main_earlyfatal
    - read
    - setup_systemd_notify
    - dup2
    linkageType: ''
    returnType: void
    signature: void named_os_daemonize(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bind9/bin/named/os.c:458,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:459,1
    - Dst: close
      Src: /src/bind9/bin/named/os.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: named_os_started
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - close
    - named_main_earlyfatal
    - write
    linkageType: ''
    returnType: void
    signature: void named_os_started(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bind9/bin/named/os.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: named_os_opendevnull
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - open
    linkageType: ''
    returnType: void
    signature: void named_os_opendevnull(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bind9/bin/named/os.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: named_os_closedevnull
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void named_os_closedevnull(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/bind9/bin/named/os.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: all_digits
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool all_digits(const char *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chroot
      Src: /src/bind9/bin/named/os.c:505,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:506,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:507,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:510,1
    - Dst: chdir
      Src: /src/bind9/bin/named/os.c:512,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:513,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - root
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 521
    functionName: named_os_chroot
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - chroot
    - strerror_r
    - named_main_earlyfatal
    - chdir
    linkageType: ''
    returnType: void
    signature: void named_os_chroot(const char *root)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: all_digits
      Src: /src/bind9/bin/named/os.c:529,1
    - Dst: getpwuid
      Src: /src/bind9/bin/named/os.c:530,1
    - Dst: atoi
      Src: /src/bind9/bin/named/os.c:530,1
    - Dst: getpwnam
      Src: /src/bind9/bin/named/os.c:532,1
    - Dst: endpwent
      Src: /src/bind9/bin/named/os.c:534,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:537,1
    - Dst: getuid
      Src: /src/bind9/bin/named/os.c:540,1
    - Dst: initgroups
      Src: /src/bind9/bin/named/os.c:542,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:543,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - username
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 547
    functionName: named_os_inituserinfo
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - getpwuid
    - endpwent
    - initgroups
    - all_digits
    - getpwnam
    - atoi
    - strerror_r
    - named_main_earlyfatal
    - getuid
    linkageType: ''
    returnType: void
    signature: void named_os_inituserinfo(const char *username)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/os.c:555,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/os.c:556,1
    - Dst: setperms
      Src: /src/bind9/bin/named/os.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: named_os_restoreuser
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - setperms
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void named_os_restoreuser(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getuid
      Src: /src/bind9/bin/named/os.c:569,1
    - Dst: getgid
      Src: /src/bind9/bin/named/os.c:570,1
    - Dst: setperms
      Src: /src/bind9/bin/named/os.c:572,1
    - Dst: setgid
      Src: /src/bind9/bin/named/os.c:579,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:580,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:581,1
    - Dst: setuid
      Src: /src/bind9/bin/named/os.c:584,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:585,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/os.c:586,1
    - Dst: prctl
      Src: /src/bind9/bin/named/os.c:594,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:595,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:596,1
    - Dst: linux_minprivs
      Src: /src/bind9/bin/named/os.c:600,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - permanent
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 602
    functionName: named_os_changeuser
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - named_main_earlywarning
    - linux_minprivs
    - getgid
    - setperms
    - strerror_r
    - named_main_earlyfatal
    - setgid
    - setuid
    - prctl
    - getuid
    linkageType: ''
    returnType: void
    signature: void named_os_changeuser(bool permanent)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: named_os_uid
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uid_t
    signature: uid_t named_os_uid(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/bind9/bin/named/os.c:619,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/os.c:627,1
    - Dst: setrlimit
      Src: /src/bind9/bin/named/os.c:637,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/os.c:642,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:651,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 655
    functionName: named_os_adjustnofile
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - setrlimit
    - named_main_earlywarning
    - strerror_r
    - isc_log_write
    - getrlimit
    linkageType: ''
    returnType: void
    signature: void named_os_adjustnofile(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linux_keepcaps
      Src: /src/bind9/bin/named/os.c:660,1
    - Dst: named_os_changeuser
      Src: /src/bind9/bin/named/os.c:661,1
    - Dst: linux_minprivs
      Src: /src/bind9/bin/named/os.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 657
    functionDepth: 4
    functionLinenumber: 657
    functionLinenumberEnd: 664
    functionName: named_os_minprivs
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - linux_minprivs
    - linux_keepcaps
    - named_os_changeuser
    linkageType: ''
    returnType: void
    signature: void named_os_minprivs(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/bind9/bin/named/os.c:671,1
    - Dst: open
      Src: /src/bind9/bin/named/os.c:681,1
    - Dst: unlink
      Src: /src/bind9/bin/named/os.c:683,1
    - Dst: open
      Src: /src/bind9/bin/named/os.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - mode
    - append
    argTypes:
    - char*
    - mode_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 689
    functionName: safe_open
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - stat
    - unlink
    - open
    linkageType: ''
    returnType: int
    signature: int safe_open(const char *filename, mode_t mode, bool append)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/bind9/bin/named/os.c:695,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:697,1
    - Dst: free
      Src: /src/bind9/bin/named/os.c:699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 702
    functionName: cleanup_pidfile
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - named_main_earlywarning
    - unlink
    - free
    linkageType: ''
    returnType: void
    signature: void cleanup_pidfile(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bind9/bin/named/os.c:711,1
    - Dst: stat
      Src: /src/bind9/bin/named/os.c:719,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:721,1
    - Dst: mkdirpath
      Src: /src/bind9/bin/named/os.c:726,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/os.c:732,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/os.c:732,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/os.c:733,1
    - Dst: mkdir
      Src: /src/bind9/bin/named/os.c:741,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:742,1
    - Dst: chown
      Src: /src/bind9/bin/named/os.c:748,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:751,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 763
    functionName: mkdirpath
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 1
    functionsReached:
    - strrchr
    - stat
    - mkdir
    - mkdirpath
    - strerror_r
    - chown
    - strcmp
    linkageType: ''
    returnType: int
    signature: int mkdirpath(char *filename, void (*report)(const char *, ...))
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/bind9/bin/named/os.c:774,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:776,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:777,1
    - Dst: mkdirpath
      Src: /src/bind9/bin/named/os.c:781,1
    - Dst: free
      Src: /src/bind9/bin/named/os.c:782,1
    - Dst: free
      Src: /src/bind9/bin/named/os.c:785,1
    - Dst: named_os_changeuser
      Src: /src/bind9/bin/named/os.c:792,1
    - Dst: safe_open
      Src: /src/bind9/bin/named/os.c:794,1
    - Dst: named_os_restoreuser
      Src: /src/bind9/bin/named/os.c:797,1
    - Dst: safe_open
      Src: /src/bind9/bin/named/os.c:800,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:802,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:807,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:811,1
    - Dst: safe_open
      Src: /src/bind9/bin/named/os.c:816,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:820,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:821,1
    - Dst: fdopen
      Src: /src/bind9/bin/named/os.c:826,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:828,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/os.c:829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - filename
    - mode
    - switch_user
    argTypes:
    - char*
    - mode_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 765
    functionDepth: 4
    functionLinenumber: 765
    functionLinenumberEnd: 834
    functionName: named_os_openfile
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - strdup
    - safe_open
    - named_main_earlywarning
    - named_os_restoreuser
    - mkdirpath
    - strerror_r
    - free
    - fdopen
    - named_os_changeuser
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      named_os_openfile(const char *filename, mode_t mode, bool switch_user)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_pidfile
      Src: /src/bind9/bin/named/os.c:849,1
    - Dst: strdup
      Src: /src/bind9/bin/named/os.c:855,1
    - Dst: strerror_r
      Src: /src/bind9/bin/named/os.c:857,1
    - Dst: named_os_openfile
      Src: /src/bind9/bin/named/os.c:862,1
    - Dst: cleanup_pidfile
      Src: /src/bind9/bin/named/os.c:865,1
    - Dst: getpid
      Src: /src/bind9/bin/named/os.c:868,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/os.c:869,1
    - Dst: fclose
      Src: /src/bind9/bin/named/os.c:871,1
    - Dst: cleanup_pidfile
      Src: /src/bind9/bin/named/os.c:872,1
    - Dst: fflush
      Src: /src/bind9/bin/named/os.c:875,1
    - Dst: fclose
      Src: /src/bind9/bin/named/os.c:877,1
    - Dst: cleanup_pidfile
      Src: /src/bind9/bin/named/os.c:878,1
    - Dst: fclose
      Src: /src/bind9/bin/named/os.c:881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - filename
    - first_time
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 836
    functionDepth: 5
    functionLinenumber: 836
    functionLinenumberEnd: 882
    functionName: named_os_writepidfile
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - getpid
    - strdup
    - named_os_openfile
    - fclose
    - strerror_r
    - fprintf
    - cleanup_pidfile
    - fflush
    linkageType: ''
    returnType: void
    signature: void named_os_writepidfile(const char *filename, bool first_time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closelog
      Src: /src/bind9/bin/named/os.c:886,1
    - Dst: cleanup_pidfile
      Src: /src/bind9/bin/named/os.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: named_os_shutdown
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - closelog
    - cleanup_pidfile
    linkageType: ''
    returnType: void
    signature: void named_os_shutdown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/bind9/bin/named/os.c:896,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/os.c:900,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/os.c:904,1
    - Dst: getpid
      Src: /src/bind9/bin/named/os.c:908,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/os.c:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - command
    - text
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 911
    functionName: named_os_shutdownmsg
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - strcmp
    - getpid
    - strtok_r
    - isc_buffer_printf
    linkageType: ''
    returnType: void
    signature: void named_os_shutdownmsg(char *command, isc_buffer_t *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tzset
      Src: /src/bind9/bin/named/os.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: named_os_tzset
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - tzset
    linkageType: ''
    returnType: void
    signature: void named_os_tzset(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/bin/named/os.c:932,1
    - Dst: uname
      Src: /src/bind9/bin/named/os.c:933,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/os.c:934,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/os.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 942
    functionName: getuname
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - snprintf
    - uname
    - memset
    linkageType: ''
    returnType: void
    signature: void getuname(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getuname
      Src: /src/bind9/bin/named/os.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 950
    functionName: named_os_uname
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - getuname
    linkageType: ''
    returnType: char
    signature: 'char *

      named_os_uname(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/named/os.c:963,1
    - Dst: vsnprintf
      Src: /src/bind9/bin/named/os.c:964,1
    - Dst: va_end
      Src: /src/bind9/bin/named/os.c:965,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/os.c:968,1
    - Dst: write
      Src: /src/bind9/bin/named/os.c:970,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/os.c:971,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/os.c:974,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/bin/named/os.c:974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 976
    functionName: named_os_notify_systemd
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - va_end
    - RUNTIME_CHECK
    - isc_result_totext
    - va_start
    - isc_log_write
    - isc_errno_toresult
    - vsnprintf
    - write
    linkageType: ''
    returnType: void
    signature: void named_os_notify_systemd(const char *restrict format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bind9/bin/named/os.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 984
    functionName: named_os_notify_close
    functionSourceFile: /src/bind9/bin/named/os.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void named_os_notify_close(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:49,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:49,1
    - Dst: isc_log_categorybyname
      Src: /src/bind9/bin/named/logconf.c:50,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/logconf.c:52,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:64,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:66,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:67,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/logconf.c:69,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/logconf.c:72,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ccat
    - logconfig
    argTypes:
    - cfg_obj_t*
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 80
    functionName: category_fromconf
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_log_categorybyname
    - isc_log_usechannel
    - isc_log_write
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t category_fromconf(const cfg_obj_t *ccat, isc_logconfig_t
      *logconfig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:66,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:67,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/logconf.c:69,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/logconf.c:72,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - cfg_obj_asstring
    - isc_log_write
    - cfg_listelt_value
    - isc_log_usechannel
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (destinations, element)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:101,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/logconf.c:101,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:103,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:104,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:105,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:106,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/logconf.c:123,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:133,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:134,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:135,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:137,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/logconf.c:155,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/logconf.c:160,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/logconf.c:161,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:163,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:164,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:164,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/bin/named/logconf.c:169,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/logconf.c:170,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/logconf.c:172,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:174,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:175,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:175,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:181,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:190,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:191,1
    - Dst: isc_syslog_facilityfromstring
      Src: /src/bind9/bin/named/logconf.c:192,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:214,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:215,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:216,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:217,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:219,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:222,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:225,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/logconf.c:228,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:229,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:233,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:235,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:237,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:239,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:246,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:247,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:248,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:249,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:251,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:253,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:255,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:257,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:259,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/logconf.c:264,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/logconf.c:269,1
    - Dst: isc_file_isplainfile
      Src: /src/bind9/bin/named/logconf.c:280,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/logconf.c:287,1
    - Dst: syslog
      Src: /src/bind9/bin/named/logconf.c:290,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:294,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/logconf.c:297,1
    - Dst: syslog
      Src: /src/bind9/bin/named/logconf.c:302,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:303,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 149
    argCount: 2
    argNames:
    - channel
    - logconfig
    argTypes:
    - cfg_obj_t*
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 309
    functionName: channel_fromconf
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_isboolean
    - UNREACHABLE
    - cfg_map_getname
    - strcasecmp
    - isc_stdio_close
    - isc_syslog_facilityfromstring
    - cfg_obj_asuint32
    - syslog
    - cfg_obj_isstring
    - isc_file_isplainfile
    - isc_stdio_open
    - cfg_obj_isuint32
    - cfg_obj_isuint64
    - cfg_obj_log
    - cfg_obj_asuint64
    - isc_log_createchannel
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_asboolean
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t
      *logconfig)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: named_log_setdefaultchannels
      Src: /src/bind9/bin/named/logconf.c:321,1
    - Dst: named_log_setdefaultsslkeylogfile
      Src: /src/bind9/bin/named/logconf.c:322,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:325,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:327,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:328,1
    - Dst: channel_fromconf
      Src: /src/bind9/bin/named/logconf.c:328,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:331,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:333,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:334,1
    - Dst: category_fromconf
      Src: /src/bind9/bin/named/logconf.c:334,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:336,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:337,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:337,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:342,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:343,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:343,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:351,1
    - Dst: named_log_setdefaultcategory
      Src: /src/bind9/bin/named/logconf.c:351,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:355,1
    - Dst: named_log_setunmatchedcategory
      Src: /src/bind9/bin/named/logconf.c:355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - logconfig
    - logstmt
    argTypes:
    - isc_logconfig_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 362
    functionName: named_logconfig
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - named_log_setdefaultsslkeylogfile
    - category_fromconf
    - channel_fromconf
    - named_log_setdefaultcategory
    - named_log_setunmatchedcategory
    - cfg_tuple_get
    - cfg_obj_asstring
    - CHECK
    - strcmp
    - named_log_setdefaultchannels
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_logconfig(isc_logconfig_t *logconfig, const cfg_obj_t
      *logstmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:327,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:328,1
    - Dst: channel_fromconf
      Src: /src/bind9/bin/named/logconf.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - CHECK
    - cfg_listelt_value
    - channel_fromconf
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (channels, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:333,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:334,1
    - Dst: category_fromconf
      Src: /src/bind9/bin/named/logconf.c:334,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:336,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:337,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:337,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:342,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:343,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - category_fromconf
    - cfg_tuple_get
    - cfg_obj_asstring
    - CHECK
    - strcmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (categories, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/named/main.c:157,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:158,1
    - Dst: va_end
      Src: /src/bind9/bin/named/main.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: named_main_earlywarning
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 5
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void named_main_earlywarning(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/named/main.c:167,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:168,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:170,1
    - Dst: va_end
      Src: /src/bind9/bin/named/main.c:172,1
    - Dst: _exit
      Src: /src/bind9/bin/named/main.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: named_main_earlyfatal
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 7
    functionsReached:
    - isc_log_vwrite
    - va_end
    - _exit
    - va_start
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void named_main_earlyfatal(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_assertion_setcallback
      Src: /src/bind9/bin/named/main.c:192,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:194,1
    - Dst: isc_assertion_typetotext
      Src: /src/bind9/bin/named/main.c:196,1
    - Dst: isc_backtrace_log
      Src: /src/bind9/bin/named/main.c:197,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:199,1
    - Dst: abort
      Src: /src/bind9/bin/named/main.c:203,1
    - Dst: _exit
      Src: /src/bind9/bin/named/main.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - file
    - line
    - type
    - cond
    argTypes:
    - char*
    - int
    - isc_assertiontype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: assertion_failed
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - _exit
    - isc_log_write
    - isc_assertion_setcallback
    - isc_assertion_typetotext
    - abort
    - isc_backtrace_log
    linkageType: ''
    returnType: void
    signature: "void assertion_failed(const char *file, int line, isc_assertiontype_t
      type,\n\t\t const char *cond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_error_setfatal
      Src: /src/bind9/bin/named/main.c:223,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:225,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:228,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:230,1
    - Dst: abort
      Src: /src/bind9/bin/named/main.c:235,1
    - Dst: _exit
      Src: /src/bind9/bin/named/main.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - file
    - line
    - func
    - format
    - args
    argTypes:
    - char*
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 238
    functionName: library_fatal_error
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_log_vwrite
    - _exit
    - isc_error_setfatal
    - isc_log_write
    - abort
    linkageType: ''
    returnType: void
    signature: "void library_fatal_error(const char *file, int line, const char *func,\n\t\t
      \   const char *format, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:252,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - func
    - format
    - args
    argTypes:
    - char*
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: library_unexpected_error
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_log_vwrite
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: "void library_unexpected_error(const char *file, int line, const char
      *func,\n\t\t\t const char *format, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/named/main.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: usage
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/bind9/bin/named/main.c:288,1
    - Dst: isprint
      Src: /src/bind9/bin/named/main.c:293,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/main.c:320,1
    - Dst: memmove
      Src: /src/bind9/bin/named/main.c:325,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/main.c:344,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 345
    functionName: save_command_line
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - memmove
    - isalnum
    - strlcpy
    - snprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: void save_command_line(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/named/main.c:353,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:356,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - arg
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: parse_int
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - named_main_earlyfatal
    - strtol
    linkageType: ''
    returnType: int
    signature: int parse_int(char *arg, const char *desc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/bin/named/main.c:383,1
    - Dst: strlen
      Src: /src/bind9/bin/named/main.c:386,1
    - Dst: strlen
      Src: /src/bind9/bin/named/main.c:390,1
    - Dst: memcmp
      Src: /src/bind9/bin/named/main.c:391,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - arg
    - defs
    - ret
    argTypes:
    - char*
    - struct flag_def*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 415
    functionName: set_flags
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - strlen
    - strchr
    - named_main_earlyfatal
    - memcmp
    linkageType: ''
    returnType: void
    signature: void set_flags(const char *arg, struct flag_def *defs, unsigned int
      *ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/main.c:425,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:426,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/bin/named/main.c:427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: list_dnssec_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - dst_algorithm_totext
    - isc_buffer_putstr
    linkageType: ''
    returnType: void
    signature: void list_dnssec_algorithms(isc_buffer_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/bin/named/main.c:435,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:436,1
    - Dst: dns_dsdigest_totext
      Src: /src/bind9/bin/named/main.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: list_ds_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - dns_dsdigest_totext
    - dst_ds_digest_supported
    - isc_buffer_putstr
    linkageType: ''
    returnType: void
    signature: void list_ds_algorithms(isc_buffer_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/main.c:451,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:452,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:453,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/named/main.c:453,1
    - Dst: isc_buffer_used
      Src: /src/bind9/bin/named/main.c:456,1
    - Dst: isc_buffer_used
      Src: /src/bind9/bin/named/main.c:456,1
    - Dst: toupper
      Src: /src/bind9/bin/named/main.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: list_hmac_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - isc_buffer_putstr
    - toupper
    - isc_buffer_used
    - dst_hmac_algorithm_totext
    linkageType: ''
    returnType: void
    signature: void list_hmac_algorithms(isc_buffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:465,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/main.c:466,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/main.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: logit
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - isc_log_write
    - isc_buffer_usedlength
    linkageType: ''
    returnType: void
    signature: void logit(isc_buffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:472,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/main.c:472,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/main.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: printit
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - isc_buffer_usedlength
    - printf
    linkageType: ''
    returnType: void
    signature: void printit(isc_buffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:481,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:482,1
    - Dst: list_dnssec_algorithms
      Src: /src/bind9/bin/named/main.c:483,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:486,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:487,1
    - Dst: list_ds_algorithms
      Src: /src/bind9/bin/named/main.c:488,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:491,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:492,1
    - Dst: list_hmac_algorithms
      Src: /src/bind9/bin/named/main.c:493,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:496,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/main.c:497,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:500,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/main.c:501,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/main.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 505
    functionName: format_supported_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - list_ds_algorithms
    - dst_algorithm_supported
    - isc_buffer_putstr
    - isc_buffer_init
    - isc_buffer_printf
    - list_hmac_algorithms
    - list_dnssec_algorithms
    linkageType: ''
    returnType: void
    signature: void format_supported_algorithms(void (*emit)(isc_buffer_t *b))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:518,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:525,1
    - Dst: named_os_uname
      Src: /src/bind9/bin/named/main.c:525,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:526,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:528,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:531,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:534,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:539,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:541,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:542,1
    - Dst: OpenSSL_version
      Src: /src/bind9/bin/named/main.c:543,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:544,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:546,1
    - Dst: uv_version_string
      Src: /src/bind9/bin/named/main.c:546,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:547,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:549,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:553,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:557,1
    - Dst: nghttp2_version
      Src: /src/bind9/bin/named/main.c:558,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:559,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:562,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:563,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:566,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:567,1
    - Dst: json_c_version
      Src: /src/bind9/bin/named/main.c:567,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:570,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:571,1
    - Dst: zlibVersion
      Src: /src/bind9/bin/named/main.c:571,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:575,1
    - Dst: MMDB_lib_version
      Src: /src/bind9/bin/named/main.c:575,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:578,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:579,1
    - Dst: protobuf_c_version
      Src: /src/bind9/bin/named/main.c:579,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:581,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:583,1
    - Dst: format_supported_algorithms
      Src: /src/bind9/bin/named/main.c:584,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:585,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/main.c:592,1
    - Dst: strrchr
      Src: /src/bind9/bin/named/main.c:593,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/main.c:596,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:602,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:603,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:604,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:605,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:606,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/named/main.c:610,1
    - Dst: RTC
      Src: /src/bind9/bin/named/main.c:611,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/named/main.c:611,1
    - Dst: RTC
      Src: /src/bind9/bin/named/main.c:612,1
    - Dst: named_config_parsedefaults
      Src: /src/bind9/bin/named/main.c:612,1
    - Dst: RTC
      Src: /src/bind9/bin/named/main.c:613,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/main.c:613,1
    - Dst: RTC
      Src: /src/bind9/bin/named/main.c:614,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/main.c:614,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/main.c:615,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:616,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/main.c:616,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/main.c:618,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/main.c:619,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/named/main.c:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 55
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 622
    functionName: printversion
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - cfg_parser_create
    - snprintf
    - printf
    - OpenSSL_version
    - named_os_uname
    - strrchr
    - cfg_obj_destroy
    - cfg_parser_destroy
    - zlibVersion
    - RTC
    - MMDB_lib_version
    - format_supported_algorithms
    - protobuf_c_version
    - uv_version_string
    - cfg_obj_isstring
    - json_c_version
    - named_config_parsedefaults
    - isc_mem_detach
    - cfg_obj_asstring
    - isc_buffer_init
    - nghttp2_version
    - isc_mem_create
    - cfg_map_get
    linkageType: ''
    returnType: void
    signature: void printversion(bool verbose)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 609
    functionName: RTC
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTC(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:626,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:629,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:632,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:635,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:638,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:642,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 645
    functionName: parse_fuzz_arg
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - named_main_earlyfatal
    - strncmp
    linkageType: ''
    returnType: void
    signature: void parse_fuzz_arg(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:655,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:657,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:659,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:661,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:663,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:665,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:667,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:669,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:671,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:673,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:675,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:677,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:679,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:681,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:682,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:683,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:685,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:687,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:688,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:690,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:692,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/main.c:693,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:695,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:698,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:700,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/main.c:703,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:710,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:712,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/main.c:715,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:721,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:723,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:725,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:727,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:729,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:731,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:733,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:734,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/main.c:736,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 101
    argCount: 1
    argNames:
    - option
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 738
    functionName: parse_T_opt
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - strncmp
    - atoi
    - named_main_earlyfatal
    - fprintf
    - strcmp
    - strtok_r
    linkageType: ''
    returnType: void
    signature: void parse_T_opt(char *option)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:746,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:748,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:751,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:754,1
    - Dst: parse_int
      Src: /src/bind9/bin/named/main.c:759,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:761,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/main.c:778,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 740
    functionDepth: 3
    functionLinenumber: 740
    functionLinenumberEnd: 780
    functionName: parse_port
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - parse_int
    - UNREACHABLE
    - named_main_earlyfatal
    - strncmp
    linkageType: ''
    returnType: void
    signature: void parse_port(char *arg)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: save_command_line
      Src: /src/bind9/bin/named/main.c:787,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/named/main.c:794,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:799,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/main.c:802,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:803,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/named/main.c:806,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:811,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/main.c:814,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:815,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/named/main.c:818,1
    - Dst: parse_fuzz_arg
      Src: /src/bind9/bin/named/main.c:822,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:829,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:831,1
    - Dst: named_config_getdefault
      Src: /src/bind9/bin/named/main.c:831,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:832,1
    - Dst: parse_int
      Src: /src/bind9/bin/named/main.c:834,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:842,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:843,1
    - Dst: set_flags
      Src: /src/bind9/bin/named/main.c:858,1
    - Dst: set_flags
      Src: /src/bind9/bin/named/main.c:862,1
    - Dst: parse_int
      Src: /src/bind9/bin/named/main.c:867,1
    - Dst: parse_port
      Src: /src/bind9/bin/named/main.c:874,1
    - Dst: parse_T_opt
      Src: /src/bind9/bin/named/main.c:888,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/main.c:892,1
    - Dst: printversion
      Src: /src/bind9/bin/named/main.c:898,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:899,1
    - Dst: printversion
      Src: /src/bind9/bin/named/main.c:901,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:902,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:908,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/named/main.c:911,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:912,1
    - Dst: usage
      Src: /src/bind9/bin/named/main.c:917,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:919,1
    - Dst: strchr
      Src: /src/bind9/bin/named/main.c:921,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:923,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:926,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:932,1
    - Dst: POST
      Src: /src/bind9/bin/named/main.c:939,1
    - Dst: usage
      Src: /src/bind9/bin/named/main.c:942,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:943,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 782
    functionDepth: 4
    functionLinenumber: 782
    functionLinenumberEnd: 945
    functionName: parse_command_line
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - set_flags
    - printversion
    - named_main_earlyfatal
    - printf
    - isc_crypto_fips_enable
    - usage
    - parse_fuzz_arg
    - parse_int
    - named_main_earlywarning
    - strchr
    - isc_net_disableipv6
    - isc_commandline_parse
    - named_config_getdefault
    - isc_net_probeipv4
    - parse_T_opt
    - exit
    - isc_result_totext
    - save_command_line
    - parse_port
    - isc_net_disableipv4
    - isc_net_probeipv6
    - POST
    linkageType: ''
    returnType: void
    signature: void parse_command_line(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/main.c:954,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:964,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/named/main.c:973,1
    - Dst: isc_nm_maxudp
      Src: /src/bind9/bin/named/main.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 979
    functionName: create_managers
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_nm_maxudp
    - isc_managers_create
    - isc_log_write
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_managers(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: named_os_inituserinfo
      Src: /src/bind9/bin/named/main.c:994,1
    - Dst: named_os_tzset
      Src: /src/bind9/bin/named/main.c:999,1
    - Dst: named_os_opendevnull
      Src: /src/bind9/bin/named/main.c:1001,1
    - Dst: named_smf_get_instance
      Src: /src/bind9/bin/named/main.c:1005,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/main.c:1013,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/named/main.c:1020,1
    - Dst: named_os_chroot
      Src: /src/bind9/bin/named/main.c:1022,1
    - Dst: named_os_minprivs
      Src: /src/bind9/bin/named/main.c:1032,1
    - Dst: named_log_init
      Src: /src/bind9/bin/named/main.c:1034,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1036,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1037,1
    - Dst: named_os_daemonize
      Src: /src/bind9/bin/named/main.c:1048,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1051,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1055,1
    - Dst: named_os_uname
      Src: /src/bind9/bin/named/main.c:1056,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1058,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1061,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1065,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1069,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1073,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1079,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1083,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1086,1
    - Dst: OpenSSL_version
      Src: /src/bind9/bin/named/main.c:1088,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1089,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1092,1
    - Dst: uv_version_string
      Src: /src/bind9/bin/named/main.c:1094,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1095,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1099,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1105,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1111,1
    - Dst: nghttp2_version
      Src: /src/bind9/bin/named/main.c:1114,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1115,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1120,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1123,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1128,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1131,1
    - Dst: json_c_version
      Src: /src/bind9/bin/named/main.c:1133,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1136,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1139,1
    - Dst: zlibVersion
      Src: /src/bind9/bin/named/main.c:1141,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1145,1
    - Dst: MMDB_lib_version
      Src: /src/bind9/bin/named/main.c:1147,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1150,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1153,1
    - Dst: protobuf_c_version
      Src: /src/bind9/bin/named/main.c:1155,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1157,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1160,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1163,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1166,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1169,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1172,1
    - Dst: named_os_adjustnofile
      Src: /src/bind9/bin/named/main.c:1180,1
    - Dst: isc_file_isabsolute
      Src: /src/bind9/bin/named/main.c:1186,1
    - Dst: isc_file_absolutepath
      Src: /src/bind9/bin/named/main.c:1187,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1191,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1194,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/main.c:1202,1
    - Dst: create_managers
      Src: /src/bind9/bin/named/main.c:1204,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1206,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1207,1
    - Dst: named_builtin_init
      Src: /src/bind9/bin/named/main.c:1210,1
    - Dst: dlz_dlopen_init
      Src: /src/bind9/bin/named/main.c:1220,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1222,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1223,1
    - Dst: named_server_create
      Src: /src/bind9/bin/named/main.c:1226,1
    - Dst: ENSURE
      Src: /src/bind9/bin/named/main.c:1227,1
    - Dst: format_supported_algorithms
      Src: /src/bind9/bin/named/main.c:1230,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1236,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1239,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1242,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1245,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1248,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1251,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1254,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1257,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1260,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1263,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1266,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1269,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1272,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1275,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1278,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1281,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1284,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 129
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 981
    functionDepth: 5
    functionLinenumber: 981
    functionLinenumberEnd: 1286
    functionName: setup
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - named_os_tzset
    - isc_log_write
    - named_main_earlyfatal
    - named_server_create
    - named_log_init
    - OpenSSL_version
    - named_os_uname
    - isc_file_isabsolute
    - named_os_adjustnofile
    - dlz_dlopen_init
    - isc_time_now
    - isc_os_ncpus
    - zlibVersion
    - ns_server_setoption
    - named_builtin_init
    - named_os_minprivs
    - MMDB_lib_version
    - format_supported_algorithms
    - named_os_daemonize
    - protobuf_c_version
    - ENSURE
    - uv_version_string
    - named_smf_get_instance
    - named_os_opendevnull
    - json_c_version
    - named_os_chroot
    - isc_mem_free
    - create_managers
    - isc_result_totext
    - nghttp2_version
    - named_os_inituserinfo
    - isc_file_absolutepath
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/main.c:1291,1
    - Dst: named_server_destroy
      Src: /src/bind9/bin/named/main.c:1294,1
    - Dst: named_builtin_deinit
      Src: /src/bind9/bin/named/main.c:1296,1
    - Dst: dlz_dlopen_clear
      Src: /src/bind9/bin/named/main.c:1306,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1310
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - dlz_dlopen_clear
    - named_server_destroy
    - isc_log_write
    - named_builtin_deinit
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bind9/bin/named/main.c:1321,1
    - Dst: strdup
      Src: /src/bind9/bin/named/main.c:1329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1330
    functionName: named_main_setmemstats
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: void
    signature: void named_main_setmemstats(const char *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/main.c:1342,1
    - Dst: scf_handle_create
      Src: /src/bind9/bin/named/main.c:1344,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1346,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1347,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1347,1
    - Dst: scf_handle_bind
      Src: /src/bind9/bin/named/main.c:1352,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1354,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1355,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1355,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1357,1
    - Dst: scf_myname
      Src: /src/bind9/bin/named/main.c:1361,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1363,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1364,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1364,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1366,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/named/main.c:1370,1
    - Dst: scf_myname
      Src: /src/bind9/bin/named/main.c:1371,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1373,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1374,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1374,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1376,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/main.c:1377,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - ins_name
    - debug
    - mctx
    argTypes:
    - char**
    - int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1384
    functionName: named_smf_get_instance
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 1
    functionsReached:
    - scf_handle_create
    - scf_error
    - UNEXPECTED_ERROR
    - isc_mem_free
    - scf_myname
    - scf_handle_destroy
    - scf_strerror
    - scf_handle_bind
    - REQUIRE
    - isc_mem_allocate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_smf_get_instance(char **ins_name, int debug, isc_mem_t
      *mctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ProfilerStart
      Src: /src/bind9/bin/named/main.c:1397,1
    - Dst: setlocale
      Src: /src/bind9/bin/named/main.c:1410,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/named/main.c:1425,1
    - Dst: isc_assertion_setcallback
      Src: /src/bind9/bin/named/main.c:1427,1
    - Dst: isc_error_setfatal
      Src: /src/bind9/bin/named/main.c:1428,1
    - Dst: isc_error_setunexpected
      Src: /src/bind9/bin/named/main.c:1429,1
    - Dst: named_os_init
      Src: /src/bind9/bin/named/main.c:1431,1
    - Dst: parse_command_line
      Src: /src/bind9/bin/named/main.c:1433,1
    - Dst: named_fuzz_setup
      Src: /src/bind9/bin/named/main.c:1437,1
    - Dst: dns_resolver_setfuzzing
      Src: /src/bind9/bin/named/main.c:1441,1
    - Dst: isc_httpd_setfinishhook
      Src: /src/bind9/bin/named/main.c:1443,1
    - Dst: strlen
      Src: /src/bind9/bin/named/main.c:1450,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:1451,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/main.c:1455,1
    - Dst: setup
      Src: /src/bind9/bin/named/main.c:1462,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/main.c:1463,1
    - Dst: isc_signal_start
      Src: /src/bind9/bin/named/main.c:1468,1
    - Dst: isc_signal_start
      Src: /src/bind9/bin/named/main.c:1469,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/named/main.c:1475,1
    - Dst: named_smf_get_instance
      Src: /src/bind9/bin/named/main.c:1479,1
    - Dst: smf_disable_instance
      Src: /src/bind9/bin/named/main.c:1481,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1482,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1485,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1485,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/main.c:1489,1
    - Dst: cleanup
      Src: /src/bind9/bin/named/main.c:1494,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/named/main.c:1497,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/main.c:1502,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/named/main.c:1504,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/main.c:1505,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/named/main.c:1509,1
    - Dst: isc__crypto_setdestroycheck
      Src: /src/bind9/bin/named/main.c:1512,1
    - Dst: isc__uv_setdestroycheck
      Src: /src/bind9/bin/named/main.c:1513,1
    - Dst: isc__xml_setdestroycheck
      Src: /src/bind9/bin/named/main.c:1514,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/bin/named/main.c:1517,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/main.c:1519,1
    - Dst: named_os_closedevnull
      Src: /src/bind9/bin/named/main.c:1521,1
    - Dst: named_os_shutdown
      Src: /src/bind9/bin/named/main.c:1523,1
    - Dst: ProfilerStop
      Src: /src/bind9/bin/named/main.c:1526,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1389
    functionDepth: 5
    functionLinenumber: 1389
    functionLinenumberEnd: 1530
    functionName: main
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - scf_error
    - isc_mem_checkdestroyed
    - smf_disable_instance
    - dns_resolver_setfuzzing
    - named_main_setmemstats
    - isc_commandline_init
    - scf_strerror
    - isc_managers_destroy
    - isc_signal_start
    - cleanup
    - named_fuzz_setup
    - named_os_shutdown
    - isc_loopmgr_run
    - isc_error_setunexpected
    - setup
    - isc_stdio_close
    - ProfilerStop
    - UNEXPECTED_ERROR
    - named_main_earlywarning
    - INSIST
    - named_smf_get_instance
    - strlen
    - isc_assertion_setcallback
    - isc_stdio_open
    - parse_command_line
    - ProfilerStart
    - named_os_closedevnull
    - setlocale
    - strncmp
    - isc__crypto_setdestroycheck
    - isc_mem_free
    - isc__uv_setdestroycheck
    - isc_error_setfatal
    - isc_mem_stats
    - isc_httpd_setfinishhook
    - named_os_init
    - isc__xml_setdestroycheck
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/zoneconf.c:87,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:127,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:132,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:133,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:141,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:156,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:163,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:171,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:178,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/zoneconf.c:187,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/zoneconf.c:190,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 6
    argNames:
    - zconfig
    - vconfig
    - config
    - acltype
    - actx
    - zone
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - acl_type_t
    - cfg_aclconfctx_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 192
    functionName: configure_zone_acl
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - UNREACHABLE
    - named_config_get
    - dns_zone_getview
    - cfg_tuple_get
    - dns_acl_attach
    - cfg_map_get
    - named_zone_templateopts
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t
      *vconfig,\n\t\t   const cfg_obj_t *config, acl_type_t acltype,\n\t\t   cfg_aclconfctx_t
      *actx, dns_zone_t *zone,\n\t\t   void (*setzacl)(dns_zone_t *, dns_acl_t *),\n\t\t
      \  void (*clearzacl)(dns_zone_t *))"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:202,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/zoneconf.c:208,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/bin/named/zoneconf.c:209,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:211,1
    - Dst: dns_zone_setssutable
      Src: /src/bind9/bin/named/zoneconf.c:214,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:218,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:219,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:219,1
    - Dst: dns_ssutable_create
      Src: /src/bind9/bin/named/zoneconf.c:225,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:228,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:229,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:230,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:231,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:232,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:233,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/zoneconf.c:244,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:245,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:246,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:248,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:251,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:253,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/zoneconf.c:255,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:256,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:257,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:257,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:258,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:258,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:259,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:259,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:262,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/zoneconf.c:266,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:266,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:268,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:269,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:271,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:272,1
    - Dst: dns_ssu_mtypefromstring
      Src: /src/bind9/bin/named/zoneconf.c:272,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:274,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:278,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:279,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/zoneconf.c:281,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/named/zoneconf.c:283,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:283,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:284,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:286,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:287,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:287,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:288,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:288,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:289,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:289,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:292,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/zoneconf.c:296,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:296,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:298,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:299,1
    - Dst: named_config_listcount
      Src: /src/bind9/bin/named/zoneconf.c:302,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/named/zoneconf.c:306,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:316,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:319,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/zoneconf.c:320,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:321,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:322,1
    - Dst: strchr
      Src: /src/bind9/bin/named/zoneconf.c:324,1
    - Dst: strtoul
      Src: /src/bind9/bin/named/zoneconf.c:328,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:332,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:335,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:340,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:344,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:346,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:349,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:353,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/zoneconf.c:355,1
    - Dst: dns_ssutable_addrule
      Src: /src/bind9/bin/named/zoneconf.c:356,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:356,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:357,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/zoneconf.c:358,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:360,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/zoneconf.c:373,1
    - Dst: dns_ssutable_addrule
      Src: /src/bind9/bin/named/zoneconf.c:382,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:384,1
    - Dst: dns_zone_setssutable
      Src: /src/bind9/bin/named/zoneconf.c:388,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/bin/named/zoneconf.c:391,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/bin/named/zoneconf.c:392,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 118
    argCount: 4
    argNames:
    - zconfig
    - tconfig
    - zone
    - zname
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 394
    functionName: configure_zone_ssutable
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putstr
    - isc_log_write
    - dns_zone_getorigin
    - dns_zone_setssutable
    - UNREACHABLE
    - isc_buffer_clearmctx
    - dns_fixedname_init
    - isc_buffer_setmctx
    - dns_name_format
    - dns_name_copy
    - strcasecmp
    - isc_buffer_constinit
    - isc_buffer_clear
    - dns_name_fromtext
    - named_config_listcount
    - dns_ssu_mtypefromstring
    - strtoul
    - dns_ssutable_create
    - strchr
    - dns_ssutable_addrule
    - dns_fixedname_name
    - INSIST
    - dns_zone_getmctx
    - cfg_obj_isstring
    - strlen
    - UNCONST
    - named_config_findopt
    - isc_buffer_putuint8
    - cfg_obj_log
    - isc_mem_cget
    - cfg_obj_asstring
    - isc_buffer_init
    - cfg_tuple_get
    - CHECK
    - dns_ssutable_detach
    - isc_buffer_add
    - strcmp
    - isc_buffer_base
    - isc_mem_cput
    - cfg_listelt_value
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_zone_ssutable(const cfg_obj_t *zconfig, const
      cfg_obj_t *tconfig,\n\t\t\tdns_zone_t *zone, const char *zname)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:228,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:229,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:230,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:231,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:232,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:233,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/zoneconf.c:244,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:245,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:246,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:248,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:251,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:253,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/zoneconf.c:255,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:256,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:257,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:257,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:258,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:258,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:259,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:259,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:262,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/zoneconf.c:266,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:266,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:268,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:269,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:271,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:272,1
    - Dst: dns_ssu_mtypefromstring
      Src: /src/bind9/bin/named/zoneconf.c:272,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:274,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:278,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:279,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/zoneconf.c:281,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/named/zoneconf.c:283,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:283,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:284,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:286,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:287,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:287,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:288,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:288,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:289,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:289,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:292,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/zoneconf.c:296,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:296,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:298,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:299,1
    - Dst: named_config_listcount
      Src: /src/bind9/bin/named/zoneconf.c:302,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/named/zoneconf.c:306,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:316,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:319,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/zoneconf.c:320,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:321,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:322,1
    - Dst: strchr
      Src: /src/bind9/bin/named/zoneconf.c:324,1
    - Dst: strtoul
      Src: /src/bind9/bin/named/zoneconf.c:328,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:332,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:335,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:340,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:344,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:346,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:349,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:353,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/zoneconf.c:355,1
    - Dst: dns_ssutable_addrule
      Src: /src/bind9/bin/named/zoneconf.c:356,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:356,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/zoneconf.c:357,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/zoneconf.c:358,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:360,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 362
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putstr
    - dns_zone_getorigin
    - UNREACHABLE
    - dns_name_format
    - dns_fixedname_init
    - dns_name_copy
    - strcasecmp
    - isc_buffer_constinit
    - isc_buffer_clear
    - dns_name_fromtext
    - named_config_listcount
    - dns_ssu_mtypefromstring
    - strtoul
    - dns_ssutable_addrule
    - strchr
    - dns_fixedname_name
    - INSIST
    - strlen
    - UNCONST
    - isc_buffer_putuint8
    - cfg_obj_log
    - isc_mem_cget
    - cfg_obj_asstring
    - cfg_tuple_get
    - CHECK
    - isc_buffer_add
    - isc_buffer_base
    - isc_mem_cput
    - cfg_listelt_value
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (updatepolicy, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:316,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:319,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/zoneconf.c:320,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:321,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/zoneconf.c:322,1
    - Dst: strchr
      Src: /src/bind9/bin/named/zoneconf.c:324,1
    - Dst: strtoul
      Src: /src/bind9/bin/named/zoneconf.c:328,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:332,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:335,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:340,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:344,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:346,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 352
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strchr
    - isc_buffer_putstr
    - INSIST
    - cfg_obj_asstring
    - strlen
    - UNCONST
    - isc_mem_cput
    - cfg_listelt_value
    - dns_rdatatype_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (typelist, element2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:416,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:424,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:427,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/zoneconf.c:428,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:429,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:434,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/bin/named/zoneconf.c:435,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:436,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:449,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:455,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:457,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:458,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:459,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:459,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:461,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:468,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:469,1
    - Dst: dns_name_toregion
      Src: /src/bind9/bin/named/zoneconf.c:475,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:475,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:476,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:479,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:480,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:481,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:481,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 5
    argNames:
    - zconfig
    - zone
    - rdatalist_ns
    - rdatalist_a
    - rdatalist_aaaa
    argTypes:
    - cfg_obj_t*
    - dns_zone_t*
    - dns_rdatalist_t*
    - dns_rdatalist_t*
    - dns_rdatalist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 486
    functionName: configure_staticstub_serveraddrs
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - isc_sockaddr_getport
    - memmove
    - ISC_LIST_EMPTY
    - isc_netaddr_getzone
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - dns_rdata_fromregion
    - INSIST
    - dns_zone_getmctx
    - isc_mem_get
    - dns_name_toregion
    - dns_zone_getorigin
    - cfg_obj_assockaddr
    - dns_zone_getclass
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_staticstub_serveraddrs(const cfg_obj_t *zconfig,
      dns_zone_t *zone,\n\t\t\t\t dns_rdatalist_t *rdatalist_ns,\n\t\t\t\t dns_rdatalist_t
      *rdatalist_a,\n\t\t\t\t dns_rdatalist_t *rdatalist_aaaa)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:424,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:427,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/zoneconf.c:428,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:429,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:434,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/bin/named/zoneconf.c:435,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:436,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:449,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:455,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:457,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:458,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:459,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:459,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 462
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - isc_sockaddr_getport
    - memmove
    - cfg_listelt_value
    - isc_netaddr_getzone
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - dns_rdata_fromregion
    - INSIST
    - isc_mem_get
    - dns_zone_getclass
    - cfg_obj_assockaddr
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zconfig, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:498,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:510,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:511,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/zoneconf.c:513,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:516,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:516,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:517,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:519,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/zoneconf.c:525,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:525,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:526,1
    - Dst: dns_name_toregion
      Src: /src/bind9/bin/named/zoneconf.c:533,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:534,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:537,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:538,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:539,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:539,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - zconfig
    - zone
    - rdatalist
    - zname
    argTypes:
    - cfg_obj_t*
    - dns_zone_t*
    - dns_rdatalist_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 545
    functionName: configure_staticstub_servernames
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_name_fromtext
    - memmove
    - ISC_LIST_APPEND
    - dns_name_issubdomain
    - dns_rdata_fromregion
    - dns_fixedname_initname
    - cfg_obj_asstring
    - dns_zone_getmctx
    - strlen
    - dns_name_toregion
    - isc_mem_get
    - dns_zone_getorigin
    - isc_buffer_add
    - dns_zone_getclass
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_staticstub_servernames(const cfg_obj_t *zconfig,
      dns_zone_t *zone,\n\t\t\t\t dns_rdatalist_t *rdatalist,\n\t\t\t\t const char
      *zname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:510,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:511,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/zoneconf.c:513,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:516,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:516,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:517,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:519,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/zoneconf.c:525,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:525,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:526,1
    - Dst: dns_name_toregion
      Src: /src/bind9/bin/named/zoneconf.c:533,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:534,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:537,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:538,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:539,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:539,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 542
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_name_fromtext
    - memmove
    - ISC_LIST_APPEND
    - dns_name_issubdomain
    - dns_rdata_fromregion
    - dns_fixedname_initname
    - cfg_obj_asstring
    - strlen
    - dns_name_toregion
    - isc_mem_get
    - dns_zone_getorigin
    - isc_buffer_add
    - dns_zone_getclass
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zconfig, element)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:555,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/named/zoneconf.c:568,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:568,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:569,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/zoneconf.c:575,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/zoneconf.c:577,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:578,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/zoneconf.c:582,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:583,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/zoneconf.c:587,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:588,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:594,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:596,1
    - Dst: configure_staticstub_serveraddrs
      Src: /src/bind9/bin/named/zoneconf.c:596,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:602,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:604,1
    - Dst: configure_staticstub_servernames
      Src: /src/bind9/bin/named/zoneconf.c:604,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:612,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/zoneconf.c:613,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:627,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/named/zoneconf.c:627,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/zoneconf.c:629,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/zoneconf.c:630,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:630,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:631,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/zoneconf.c:631,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/zoneconf.c:634,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:635,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/zoneconf.c:635,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:637,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:640,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/zoneconf.c:641,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:642,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/zoneconf.c:642,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:644,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:648,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/zoneconf.c:649,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:650,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/zoneconf.c:650,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:652,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/zoneconf.c:655,1
    - Dst: dns_zone_setdb
      Src: /src/bind9/bin/named/zoneconf.c:656,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/zoneconf.c:661,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:662,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/zoneconf.c:665,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/zoneconf.c:668,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/zoneconf.c:671,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/zoneconf.c:674,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/zoneconf.c:675,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/named/zoneconf.c:676,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/zoneconf.c:677,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:682,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 77
    argCount: 5
    argNames:
    - zconfig
    - tconfig
    - zone
    - zname
    - dbtype
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_zone_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 685
    functionName: configure_staticstub
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - configure_staticstub_servernames
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - isc_log_write
    - dns_rdataset_disassociate
    - dns_zone_getorigin
    - dns_rdataset_init
    - dns_db_findnode
    - isc_mem_put
    - dns_db_addrdataset
    - dns_db_detach
    - configure_staticstub_serveraddrs
    - dns_rdataset_isassociated
    - dns_zone_getclass
    - dns_zone_setdb
    - dns_db_create
    - ISC_LIST_EMPTY
    - INSIST
    - dns_zone_getmctx
    - named_config_findopt
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - dns_db_newversion
    - dns_name_clone
    - CHECK
    - dns_db_detachnode
    - dns_rdata_toregion
    - dns_db_closeversion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_staticstub(const cfg_obj_t *zconfig, const
      cfg_obj_t *tconfig,\n\t\t     dns_zone_t *zone, const char *zname, const char
      *dbtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:694,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:695,1
    - Dst: named_config_getzonetype
      Src: /src/bind9/bin/named/zoneconf.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zmap
    - tmap
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: zonetype_fromconfig
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - named_config_getzonetype
    - INSIST
    - named_config_findopt
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t zonetype_fromconfig(const cfg_obj_t *zmap, const cfg_obj_t
      *tmap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/named/zoneconf.c:715,1
    - Dst: strtoargvsub
      Src: /src/bind9/bin/named/zoneconf.c:725,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - mctx
    - s
    - argcp
    - argvp
    - n
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int*
    - char***
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 732
    functionName: strtoargvsub
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 1
    functionsReached:
    - isc_mem_cget
    - strtoargvsub
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t strtoargvsub(isc_mem_t *mctx, char *s, unsigned int *argcp,
      char ***argvp,\n\t     unsigned int n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strtoargvsub
      Src: /src/bind9/bin/named/zoneconf.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mctx
    - s
    - argcp
    - argvp
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: strtoargv
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - strtoargvsub
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t strtoargv(isc_mem_t *mctx, char *s, unsigned int *argcp,
      char ***argvp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: named_checknames_get
      Src: /src/bind9/bin/named/zoneconf.c:758,1
    - Dst: named_checknames_get
      Src: /src/bind9/bin/named/zoneconf.c:761,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:764,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - ztype
    - maps
    - objp
    argTypes:
    - dns_zonetype_t
    - cfg_obj_t**
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 768
    functionName: checknames
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - named_checknames_get
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void checknames(dns_zonetype_t ztype, const cfg_obj_t **maps,\n\t
      \  const cfg_obj_t **objp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_listeningon
      Src: /src/bind9/bin/named/zoneconf.c:792,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:797,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:798,1
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/zoneconf.c:799,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/zoneconf.c:801,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/bin/named/zoneconf.c:816,1
    - Dst: dst_key_compare
      Src: /src/bind9/bin/named/zoneconf.c:820,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/zoneconf.c:821,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/bin/named/zoneconf.c:825,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/zoneconf.c:828,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/zoneconf.c:829,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 6
    argNames:
    - myview
    - mykey
    - srcaddr
    - dstaddr
    - rdclass
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_view_t*
    - dns_tsigkey_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_rdataclass_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 837
    functionName: isself
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_view_gettsig
    - isc_netaddr_fromsockaddr
    - dns_tsigkey_detach
    - dns_tsigkey_identity
    - dst_key_compare
    - dns_acl_allowed
    - ns_interfacemgr_listeningon
    - ns_interfacemgr_getaclenv
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: "bool isself(dns_view_t *myview, dns_tsigkey_t *mykey, const isc_sockaddr_t
      *srcaddr,\n       const isc_sockaddr_t *dstaddr, dns_rdataclass_t rdclass,\n
      \      void *arg ISC_ATTR_UNUSED)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:861,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ntype
    - ztype
    - zname
    - maps
    argTypes:
    - dns_notifytype_t
    - dns_zonetype_t
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 869
    functionName: process_notifytype
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - named_config_get
    - cfg_obj_log
    linkageType: ''
    returnType: dns_notifytype_t
    signature: "dns_notifytype_t process_notifytype(dns_notifytype_t ntype, dns_zonetype_t
      ztype,\n\t\t   const char *zname, const cfg_obj_t **maps)"
  - BBCount: 114
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:899,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/zoneconf.c:917,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/zoneconf.c:920,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/zoneconf.c:921,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:925,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:926,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:930,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:938,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:942,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:953,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/zoneconf.c:953,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:953,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:963,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:963,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:965,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/zoneconf.c:965,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:965,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/zoneconf.c:967,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/zoneconf.c:969,1
    - Dst: zonetype_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:972,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:974,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:975,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:977,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:981,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/zoneconf.c:983,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:983,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:987,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:989,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:990,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/named/zoneconf.c:991,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/zoneconf.c:992,1
    - Dst: strtoargv
      Src: /src/bind9/bin/named/zoneconf.c:995,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/zoneconf.c:997,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:998,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/zoneconf.c:1006,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:1007,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/zoneconf.c:1009,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1013,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1015,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1019,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1021,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1030,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1032,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1034,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1042,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1044,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1045,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1053,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1054,1
    - Dst: dns_zone_setmaxrecords
      Src: /src/bind9/bin/named/zoneconf.c:1055,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1055,1
    - Dst: dns_zone_setmaxrecords
      Src: /src/bind9/bin/named/zoneconf.c:1057,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1061,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1062,1
    - Dst: dns_zone_setmaxrrperset
      Src: /src/bind9/bin/named/zoneconf.c:1063,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1063,1
    - Dst: dns_zone_setmaxrrperset
      Src: /src/bind9/bin/named/zoneconf.c:1065,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1069,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1070,1
    - Dst: dns_zone_setmaxtypepername
      Src: /src/bind9/bin/named/zoneconf.c:1071,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1071,1
    - Dst: dns_zone_setmaxtypepername
      Src: /src/bind9/bin/named/zoneconf.c:1073,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:1078,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/zoneconf.c:1081,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:1083,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/zoneconf.c:1085,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/zoneconf.c:1086,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/zoneconf.c:1088,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/zoneconf.c:1090,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1095,1
    - Dst: dns_zone_setjournal
      Src: /src/bind9/bin/named/zoneconf.c:1097,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1097,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1104,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1104,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1112,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1112,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1116,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1116,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1121,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1122,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1123,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1124,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1130,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1131,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1133,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1135,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1138,1
    - Dst: dns_zone_setstatlevel
      Src: /src/bind9/bin/named/zoneconf.c:1141,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/zoneconf.c:1147,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/bin/named/zoneconf.c:1148,1
    - Dst: dns_dnssecsignstats_create
      Src: /src/bind9/bin/named/zoneconf.c:1149,1
    - Dst: dns_zone_setrequeststats
      Src: /src/bind9/bin/named/zoneconf.c:1151,1
    - Dst: dns_zone_setrcvquerystats
      Src: /src/bind9/bin/named/zoneconf.c:1152,1
    - Dst: dns_zone_setdnssecsignstats
      Src: /src/bind9/bin/named/zoneconf.c:1153,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/zoneconf.c:1156,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/zoneconf.c:1160,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/zoneconf.c:1164,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/bin/named/zoneconf.c:1178,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1179,1
    - Dst: dns_zone_setdefaultkasp
      Src: /src/bind9/bin/named/zoneconf.c:1180,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/zoneconf.c:1181,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1184,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1186,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:1187,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/bin/named/zoneconf.c:1188,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:1191,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1195,1
    - Dst: dns_zone_setkasp
      Src: /src/bind9/bin/named/zoneconf.c:1197,1
    - Dst: dns_zone_setkasp
      Src: /src/bind9/bin/named/zoneconf.c:1202,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1206,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1207,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1208,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1209,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1212,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1213,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1214,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1215,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1221,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1222,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1224,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1225,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1229,1
    - Dst: process_notifytype
      Src: /src/bind9/bin/named/zoneconf.c:1232,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1235,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1237,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1240,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/zoneconf.c:1248,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1250,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/zoneconf.c:1250,1
    - Dst: dns_zone_setalsonotify
      Src: /src/bind9/bin/named/zoneconf.c:1252,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/zoneconf.c:1255,1
    - Dst: dns_zone_setalsonotify
      Src: /src/bind9/bin/named/zoneconf.c:1257,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1261,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1262,1
    - Dst: dns_zone_setparentalsrc4
      Src: /src/bind9/bin/named/zoneconf.c:1263,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1263,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1266,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1267,1
    - Dst: dns_zone_setparentalsrc6
      Src: /src/bind9/bin/named/zoneconf.c:1268,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1268,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1271,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1272,1
    - Dst: dns_zone_setnotifysrc4
      Src: /src/bind9/bin/named/zoneconf.c:1273,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1273,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1276,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1277,1
    - Dst: dns_zone_setnotifysrc6
      Src: /src/bind9/bin/named/zoneconf.c:1278,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1278,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1281,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1282,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1283,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1284,1
    - Dst: dns_zone_setisself
      Src: /src/bind9/bin/named/zoneconf.c:1286,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1288,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1288,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1293,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1294,1
    - Dst: dns_zone_setmaxxfrout
      Src: /src/bind9/bin/named/zoneconf.c:1295,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1296,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1297,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1300,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1301,1
    - Dst: dns_zone_setidleout
      Src: /src/bind9/bin/named/zoneconf.c:1302,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1303,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1304,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1307,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1308,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1310,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1312,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:1313,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1314,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1315,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1318,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1318,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/zoneconf.c:1322,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1325,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1327,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1330,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1331,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1332,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1333,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1334,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1334,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1335,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1335,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1339,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1339,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1341,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1341,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1349,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1351,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1354,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1359,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1360,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:1361,1
    - Dst: dns_zone_setixfrratio
      Src: /src/bind9/bin/named/zoneconf.c:1362,1
    - Dst: dns_zone_setixfrratio
      Src: /src/bind9/bin/named/zoneconf.c:1364,1
    - Dst: cfg_obj_aspercentage
      Src: /src/bind9/bin/named/zoneconf.c:1364,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1368,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1369,1
    - Dst: dns_zone_setrequestexpire
      Src: /src/bind9/bin/named/zoneconf.c:1370,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1370,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1373,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1374,1
    - Dst: dns_zone_setrequestixfr
      Src: /src/bind9/bin/named/zoneconf.c:1375,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1375,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1378,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1379,1
    - Dst: dns_zone_setrequestixfrmaxdiffs
      Src: /src/bind9/bin/named/zoneconf.c:1380,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1380,1
    - Dst: checknames
      Src: /src/bind9/bin/named/zoneconf.c:1383,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1384,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1385,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1385,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1388,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1388,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1390,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1390,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1393,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1396,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1397,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1399,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1400,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1403,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1404,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1409,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1410,1
    - Dst: dns_zone_setnotifydelay
      Src: /src/bind9/bin/named/zoneconf.c:1411,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1411,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1414,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1415,1
    - Dst: dns_zone_setnotifydefer
      Src: /src/bind9/bin/named/zoneconf.c:1416,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1416,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1419,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1420,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1421,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1422,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1425,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1426,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1427,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1427,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1429,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1429,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1432,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1434,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1437,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1438,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1439,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1440,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1443,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1444,1
    - Dst: dns_zone_setzeronosoattl
      Src: /src/bind9/bin/named/zoneconf.c:1445,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1445,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1448,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1449,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1450,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1451,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1454,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1457,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1458,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1462,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/zoneconf.c:1465,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1466,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:1467,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1469,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/zoneconf.c:1469,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/zoneconf.c:1471,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1473,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/zoneconf.c:1474,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:1481,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1486,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/zoneconf.c:1487,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:1488,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1493,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1495,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1499,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1502,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1503,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1504,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:1505,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1506,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1507,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1510,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1510,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/zoneconf.c:1514,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1516,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/bin/named/zoneconf.c:1520,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/zoneconf.c:1520,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1523,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/zoneconf.c:1525,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/zoneconf.c:1526,1
    - Dst: dns_zone_setmaxttl
      Src: /src/bind9/bin/named/zoneconf.c:1530,1
    - Dst: dns_zone_setmaxttl
      Src: /src/bind9/bin/named/zoneconf.c:1532,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1542,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1542,1
    - Dst: dns_zone_getupdateacl
      Src: /src/bind9/bin/named/zoneconf.c:1546,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/bin/named/zoneconf.c:1547,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/zoneconf.c:1548,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1555,1
    - Dst: configure_zone_ssutable
      Src: /src/bind9/bin/named/zoneconf.c:1555,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/bin/named/zoneconf.c:1567,1
    - Dst: dns_zone_setnsec3param
      Src: /src/bind9/bin/named/zoneconf.c:1568,1
    - Dst: dns_kasp_nsec3flags
      Src: /src/bind9/bin/named/zoneconf.c:1569,1
    - Dst: dns_kasp_nsec3iter
      Src: /src/bind9/bin/named/zoneconf.c:1570,1
    - Dst: dns_kasp_nsec3saltlen
      Src: /src/bind9/bin/named/zoneconf.c:1571,1
    - Dst: dns_zone_setnsec3param
      Src: /src/bind9/bin/named/zoneconf.c:1574,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1577,1
    - Dst: dns_kasp_sigvalidity_dnskey
      Src: /src/bind9/bin/named/zoneconf.c:1579,1
    - Dst: dns_zone_setkeyvalidityinterval
      Src: /src/bind9/bin/named/zoneconf.c:1580,1
    - Dst: dns_kasp_sigvalidity
      Src: /src/bind9/bin/named/zoneconf.c:1582,1
    - Dst: dns_zone_setsigvalidityinterval
      Src: /src/bind9/bin/named/zoneconf.c:1583,1
    - Dst: dns_kasp_sigrefresh
      Src: /src/bind9/bin/named/zoneconf.c:1585,1
    - Dst: dns_zone_setsigresigninginterval
      Src: /src/bind9/bin/named/zoneconf.c:1586,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1590,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1592,1
    - Dst: dns_zone_setkeydirectory
      Src: /src/bind9/bin/named/zoneconf.c:1593,1
    - Dst: dns_zone_setkeystores
      Src: /src/bind9/bin/named/zoneconf.c:1596,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1599,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1600,1
    - Dst: dns_zone_setsignatures
      Src: /src/bind9/bin/named/zoneconf.c:1601,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1601,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1604,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1605,1
    - Dst: dns_zone_setnodes
      Src: /src/bind9/bin/named/zoneconf.c:1606,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1606,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1609,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1610,1
    - Dst: dns_zone_setprivatetype
      Src: /src/bind9/bin/named/zoneconf.c:1611,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1611,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1614,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1616,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1617,1
    - Dst: dns_zone_setrefreshkeyinterval
      Src: /src/bind9/bin/named/zoneconf.c:1617,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1618,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1622,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1622,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1633,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/zoneconf.c:1637,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1638,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/zoneconf.c:1638,1
    - Dst: dns_zone_setparentals
      Src: /src/bind9/bin/named/zoneconf.c:1640,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/zoneconf.c:1642,1
    - Dst: dns_zone_setparentals
      Src: /src/bind9/bin/named/zoneconf.c:1644,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1648,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1650,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1651,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1657,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1658,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1661,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/zoneconf.c:1670,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/zoneconf.c:1672,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1680,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1682,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1686,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1689,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1690,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1691,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1692,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1695,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1697,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1700,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1702,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1703,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1706,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1707,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1708,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1708,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1711,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1711,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1713,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1713,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1716,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1718,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1719,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1722,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1723,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1724,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1725,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1728,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1729,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1730,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1730,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1733,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1733,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1735,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1735,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1738,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1740,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1741,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1744,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1745,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1746,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1746,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1749,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1749,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1751,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1751,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1754,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1756,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1757,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1761,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1762,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1763,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1763,1
    - Dst: dns_zone_setserialupdatemethod
      Src: /src/bind9/bin/named/zoneconf.c:1764,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1766,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1766,1
    - Dst: dns_zone_setserialupdatemethod
      Src: /src/bind9/bin/named/zoneconf.c:1767,1
    - Dst: dns_zone_setserialupdatemethod
      Src: /src/bind9/bin/named/zoneconf.c:1770,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1785,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1788,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/zoneconf.c:1788,1
    - Dst: dns_zone_setxfracl
      Src: /src/bind9/bin/named/zoneconf.c:1789,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/zoneconf.c:1790,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1798,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1800,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/zoneconf.c:1808,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:1808,1
    - Dst: named_config_getremotesdef
      Src: /src/bind9/bin/named/zoneconf.c:1810,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1813,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/zoneconf.c:1817,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1819,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/zoneconf.c:1819,1
    - Dst: dns_zone_setprimaries
      Src: /src/bind9/bin/named/zoneconf.c:1821,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/zoneconf.c:1825,1
    - Dst: dns_zone_setprimaries
      Src: /src/bind9/bin/named/zoneconf.c:1827,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1834,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1835,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1836,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1838,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1841,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1842,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1844,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1844,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1846,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1846,1
    - Dst: dns_zone_setminxfrratein
      Src: /src/bind9/bin/named/zoneconf.c:1847,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1852,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1853,1
    - Dst: dns_zone_setmaxxfrin
      Src: /src/bind9/bin/named/zoneconf.c:1854,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1855,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1856,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1859,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1860,1
    - Dst: dns_zone_setidlein
      Src: /src/bind9/bin/named/zoneconf.c:1861,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1862,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1863,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1866,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1867,1
    - Dst: dns_zone_setmaxrefreshtime
      Src: /src/bind9/bin/named/zoneconf.c:1868,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1868,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1871,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1872,1
    - Dst: dns_zone_setminrefreshtime
      Src: /src/bind9/bin/named/zoneconf.c:1873,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1873,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1876,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1877,1
    - Dst: dns_zone_setmaxretrytime
      Src: /src/bind9/bin/named/zoneconf.c:1878,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1878,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1881,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1882,1
    - Dst: dns_zone_setminretrytime
      Src: /src/bind9/bin/named/zoneconf.c:1883,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1883,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1886,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1887,1
    - Dst: dns_zone_setxfrsource4
      Src: /src/bind9/bin/named/zoneconf.c:1888,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1888,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1891,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1892,1
    - Dst: dns_zone_setxfrsource6
      Src: /src/bind9/bin/named/zoneconf.c:1893,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1893,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1896,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1897,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1898,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1902,1
    - Dst: configure_staticstub
      Src: /src/bind9/bin/named/zoneconf.c:1902,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/zoneconf.c:1914,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 724
    argCount: 8
    argNames:
    - config
    - vconfig
    - zconfig
    - ac
    - kasplist
    - keystorelist
    - zone
    - raw
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - dns_kasplist_t*
    - dns_keystorelist_t*
    - dns_zone_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 871
    functionDepth: 3
    functionLinenumber: 871
    functionLinenumberEnd: 1917
    functionName: named_zone_configure
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_setisself
    - dns_ipkeylist_init
    - cfg_obj_aspercentage
    - dns_zone_setxfrsource4
    - dns_kasp_nsec3
    - dns_zone_setmaxxfrin
    - isc_log_write
    - dns_zone_setminretrytime
    - REQUIRE
    - dns_zone_getorigin
    - cfg_obj_isboolean
    - dns_zone_setminxfrratein
    - dns_zone_setrad
    - dns_zone_setsigvalidityinterval
    - dns_zone_setsignatures
    - dns_zone_setparentals
    - dns_zone_setidleout
    - dns_name_issubdomain
    - dns_zone_setnsec3param
    - dns_ipkeylist_clear
    - dns_zone_setjournal
    - dns_zone_setcheckdstype
    - dns_zone_setdbtype
    - cfg_obj_asuint32
    - dns_rdatatypestats_create
    - configure_zone_ssutable
    - isc_mem_get
    - dns_zone_setparentalsrc4
    - cfg_obj_log
    - dns_zone_setclass
    - cfg_obj_asuint64
    - dns_zone_setrequestixfrmaxdiffs
    - cfg_tuple_get
    - cfg_obj_asstring
    - checknames
    - dns_zone_getkasp
    - cfg_obj_asboolean
    - isc_mem_cput
    - dns_zone_setmaxrrperset
    - dns_acl_detach
    - dns_zone_setrequestexpire
    - named_config_get
    - dns_kasplist_find
    - configure_staticstub
    - dns_zone_setnotifysrc4
    - dns_acl_none
    - dns_zone_setprivatetype
    - dns_zone_setparentalsrc6
    - named_zone_templateopts
    - ns_server_getoption
    - UNREACHABLE
    - dns_zone_setfile
    - isc_mem_allocate
    - dns_dnssecsignstats_create
    - dns_zone_setjournalsize
    - named_config_getremotesdef
    - dns_zone_setnotifydelay
    - dns_kasp_nsec3flags
    - INSIST
    - dns_zone_setmaxxfrout
    - isc_stats_create
    - isc_mem_strdup
    - dns_zone_setkasp
    - dns_zone_setnotifydefer
    - dns_zone_setnotifysrc6
    - dns_zone_setstatlevel
    - dns_zone_setrequestixfr
    - dns_zone_setminrefreshtime
    - configure_zone_acl
    - isc_mem_put
    - dns_zone_setserialupdatemethod
    - dns_zone_setixfrratio
    - dns_zone_getupdateacl
    - dns_kasp_detach
    - dns_zone_setmaxrefreshtime
    - dns_zone_setrcvquerystats
    - dns_zone_setnodes
    - dns_fixedname_initname
    - cfg_obj_isduration
    - named_config_getipandkeylist
    - dns_zone_setrequeststats
    - zonetype_fromconfig
    - dns_kasp_zonemaxttl
    - dns_zone_settype
    - dns_zone_setmaxttl
    - dns_zone_getmctx
    - strlen
    - dns_zone_setmaxretrytime
    - dns_kasp_sigvalidity
    - dns_zone_setxfrsource6
    - dns_kasp_sigvalidity_dnskey
    - isc_mem_free
    - dns_zone_setalsonotify
    - dns_name_equal
    - dns_kasp_nsec3saltlen
    - CHECK
    - strcmp
    - cfg_obj_assockaddr
    - dns_zone_setmaxrecords
    - isc_stats_detach
    - snprintf
    - dns_name_fromstring
    - dns_zone_setzeronosoattl
    - process_notifytype
    - dns_zone_setmaxtypepername
    - dns_zone_setdnssecsignstats
    - dns_zone_setkeystores
    - strcasecmp
    - dns_kasp_nsec3iter
    - cfg_obj_asduration
    - cfg_obj_isstring
    - dns_zone_setsigresigninginterval
    - dns_acl_isinsecure
    - dns_kasp_sigrefresh
    - dns_zone_setprimaries
    - dns_zone_setidlein
    - named_config_getclass
    - dns_zone_setkeydirectory
    - dns_zone_setnotifytype
    - dns_zone_setdefaultkasp
    - dns_stats_detach
    - dns_zone_setoption
    - dns_zone_setxfracl
    - dns_zone_setkeyvalidityinterval
    - cfg_map_get
    - dns_zone_setrefreshkeyinterval
    - strtoargv
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_zone_configure(const cfg_obj_t *config, const cfg_obj_t
      *vconfig,\n\t\t     const cfg_obj_t *zconfig, cfg_aclconfctx_t *ac,\n\t\t     dns_kasplist_t
      *kasplist, dns_keystorelist_t *keystorelist,\n\t\t     dns_zone_t *zone, dns_zone_t
      *raw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:1928,1
    - Dst: dns_sdlz_setdb
      Src: /src/bind9/bin/named/zoneconf.c:1929,1
    - Dst: dns_zone_dlzpostload
      Src: /src/bind9/bin/named/zoneconf.c:1933,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/zoneconf.c:1934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - dlzdatabase
    - zone
    - rdclass
    - name
    argTypes:
    - dns_dlzdb_t*
    - dns_zone_t*
    - dns_rdataclass_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1936
    functionName: named_zone_configure_writeable_dlz
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_sdlz_setdb
    - dns_zone_settype
    - dns_zone_dlzpostload
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_zone_configure_writeable_dlz(dns_dlzdb_t *dlzdatabase,
      dns_zone_t *zone,\n\t\t\t\t   dns_rdataclass_t rdclass, dns_name_t *name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1951,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:1952,1
    - Dst: zonetype_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:1958,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:1959,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:1959,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/zoneconf.c:1965,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/zoneconf.c:1967,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/zoneconf.c:1968,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/zoneconf.c:1969,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/zoneconf.c:1972,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/zoneconf.c:1973,1
    - Dst: named_zone_inlinesigning
      Src: /src/bind9/bin/named/zoneconf.c:1977,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:1980,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:1980,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:1984,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:1984,1
    - Dst: zonetype_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:1989,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:1990,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:1990,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:1996,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1998,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:2004,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:2006,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:2006,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - zone
    - zconfig
    - vconfig
    - config
    - kasplist
    argTypes:
    - dns_zone_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_kasplist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1938
    functionDepth: 2
    functionLinenumber: 1938
    functionLinenumberEnd: 2012
    functionName: named_zone_reusable
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_getfile
    - zonetype_fromconfig
    - strcmp
    - ISC_LOG_DEBUG
    - dns_zone_detach
    - cfg_tuple_get
    - cfg_obj_asstring
    - named_config_findopt
    - dns_zone_gettype
    - dns_zone_log
    - dns_zone_getraw
    - named_zone_templateopts
    - named_zone_inlinesigning
    linkageType: ''
    returnType: bool
    signature: "bool named_zone_reusable(dns_zone_t *zone, const cfg_obj_t *zconfig,\n\t\t
      \   const cfg_obj_t *vconfig, const cfg_obj_t *config,\n\t\t    dns_kasplist_t
      *kasplist)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2026,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:2030,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2039,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2043,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:2052,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:2055,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2055,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/bin/named/zoneconf.c:2061,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2061,1
    - Dst: dns_kasp_inlinesigning
      Src: /src/bind9/bin/named/zoneconf.c:2066,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/zoneconf.c:2067,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:2074,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:2075,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:2076,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - zconfig
    - vconfig
    - config
    - kasplist
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_kasplist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2080
    functionName: named_zone_inlinesigning
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 1
    functionsReached:
    - named_config_get
    - dns_kasplist_find
    - dns_kasp_detach
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_kasp_inlinesigning
    - strcmp
    - cfg_obj_isboolean
    - cfg_obj_asboolean
    - cfg_map_get
    - named_zone_templateopts
    linkageType: ''
    returnType: bool
    signature: "bool named_zone_inlinesigning(const cfg_obj_t *zconfig, const cfg_obj_t
      *vconfig,\n\t\t\t const cfg_obj_t *config, dns_kasplist_t *kasplist)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2087,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2088,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2090,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2092,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2092,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:2094,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2094,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2095,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - config
    - zoptions
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2082
    functionDepth: 1
    functionLinenumber: 2082
    functionLinenumberEnd: 2102
    functionName: named_zone_templateopts
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 4
    functionsReached:
    - cfg_listelt_value
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      named_zone_templateopts(const cfg_obj_t *config, const cfg_obj_t *zoptions)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2092,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2092,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:2094,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2094,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2095,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2095,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2091
    functionDepth: 1
    functionLinenumber: 2091
    functionLinenumberEnd: 2098
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_tuple_get
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (templates, e)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/fuzz.c:278,1
    - Dst: strdup
      Src: /src/bind9/bin/named/fuzz.c:284,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:285,1
    - Dst: strchr
      Src: /src/bind9/bin/named/fuzz.c:287,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:288,1
    - Dst: strchr
      Src: /src/bind9/bin/named/fuzz.c:292,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:293,1
    - Dst: strchr
      Src: /src/bind9/bin/named/fuzz.c:297,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:298,1
    - Dst: strchr
      Src: /src/bind9/bin/named/fuzz.c:302,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:303,1
    - Dst: atoi
      Src: /src/bind9/bin/named/fuzz.c:310,1
    - Dst: memset
      Src: /src/bind9/bin/named/fuzz.c:314,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:316,1
    - Dst: inet_pton
      Src: /src/bind9/bin/named/fuzz.c:316,1
    - Dst: htons
      Src: /src/bind9/bin/named/fuzz.c:317,1
    - Dst: atoi
      Src: /src/bind9/bin/named/fuzz.c:317,1
    - Dst: memset
      Src: /src/bind9/bin/named/fuzz.c:319,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:321,1
    - Dst: inet_pton
      Src: /src/bind9/bin/named/fuzz.c:321,1
    - Dst: htons
      Src: /src/bind9/bin/named/fuzz.c:322,1
    - Dst: atoi
      Src: /src/bind9/bin/named/fuzz.c:322,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:324,1
    - Dst: usleep
      Src: /src/bind9/bin/named/fuzz.c:331,1
    - Dst: socket
      Src: /src/bind9/bin/named/fuzz.c:334,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:335,1
    - Dst: socket
      Src: /src/bind9/bin/named/fuzz.c:337,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:338,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:340,1
    - Dst: bind
      Src: /src/bind9/bin/named/fuzz.c:340,1
    - Dst: malloc
      Src: /src/bind9/bin/named/fuzz.c:343,1
    - Dst: malloc
      Src: /src/bind9/bin/named/fuzz.c:344,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:345,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:346,1
    - Dst: memset
      Src: /src/bind9/bin/named/fuzz.c:360,1
    - Dst: read
      Src: /src/bind9/bin/named/fuzz.c:361,1
    - Dst: usleep
      Src: /src/bind9/bin/named/fuzz.c:363,1
    - Dst: getenv
      Src: /src/bind9/bin/named/fuzz.c:368,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:369,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:370,1
    - Dst: close
      Src: /src/bind9/bin/named/fuzz.c:371,1
    - Dst: close
      Src: /src/bind9/bin/named/fuzz.c:372,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/fuzz.c:373,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/fuzz.c:375,1
    - Dst: raise
      Src: /src/bind9/bin/named/fuzz.c:378,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:386,1
    - Dst: pthread_mutex_lock
      Src: /src/bind9/bin/named/fuzz.c:386,1
    - Dst: recvfrom
      Src: /src/bind9/bin/named/fuzz.c:400,1
    - Dst: sendto
      Src: /src/bind9/bin/named/fuzz.c:408,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:410,1
    - Dst: recvfrom
      Src: /src/bind9/bin/named/fuzz.c:419,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:421,1
    - Dst: sendto
      Src: /src/bind9/bin/named/fuzz.c:473,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:475,1
    - Dst: FD_ZERO
      Src: /src/bind9/bin/named/fuzz.c:484,1
    - Dst: FD_SET
      Src: /src/bind9/bin/named/fuzz.c:485,1
    - Dst: FD_SET
      Src: /src/bind9/bin/named/fuzz.c:486,1
    - Dst: select
      Src: /src/bind9/bin/named/fuzz.c:491,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:492,1
    - Dst: FD_ISSET
      Src: /src/bind9/bin/named/fuzz.c:494,1
    - Dst: recvfrom
      Src: /src/bind9/bin/named/fuzz.c:500,1
    - Dst: recvfrom
      Src: /src/bind9/bin/named/fuzz.c:510,1
    - Dst: memmove
      Src: /src/bind9/bin/named/fuzz.c:548,1
    - Dst: sendto
      Src: /src/bind9/bin/named/fuzz.c:557,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:560,1
    - Dst: pthread_cond_wait
      Src: /src/bind9/bin/named/fuzz.c:564,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:567,1
    - Dst: pthread_mutex_unlock
      Src: /src/bind9/bin/named/fuzz.c:567,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:570,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:571,1
    - Dst: close
      Src: /src/bind9/bin/named/fuzz.c:572,1
    - Dst: close
      Src: /src/bind9/bin/named/fuzz.c:573,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/fuzz.c:574,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/fuzz.c:575,1
    - Dst: __AFL_LOOP
      Src: /src/bind9/bin/named/fuzz.c:585,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 151
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 589
    functionName: fuzz_thread_resolver
    functionSourceFile: /src/bind9/bin/named/fuzz.c
    functionUses: 0
    functionsReached:
    - socket
    - isc_loopmgr_shutdown
    - memmove
    - memset
    - recvfrom
    - select
    - sendto
    - bind
    - usleep
    - free
    - malloc
    - atoi
    - pthread_mutex_lock
    - FD_SET
    - raise
    - strdup
    - pthread_cond_wait
    - RUNTIME_CHECK
    - strchr
    - close
    - UNUSED
    - FD_ZERO
    - inet_pton
    - read
    - getenv
    - named_server_flushonshutdown
    - __AFL_LOOP
    - htons
    - pthread_mutex_unlock
    - FD_ISSET
    linkageType: ''
    returnType: void
    signature: 'void *

      fuzz_thread_resolver(void *arg)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/fuzz.c:608,1
    - Dst: strdup
      Src: /src/bind9/bin/named/fuzz.c:614,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:615,1
    - Dst: strchr
      Src: /src/bind9/bin/named/fuzz.c:617,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:618,1
    - Dst: memset
      Src: /src/bind9/bin/named/fuzz.c:622,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:624,1
    - Dst: inet_pton
      Src: /src/bind9/bin/named/fuzz.c:624,1
    - Dst: htons
      Src: /src/bind9/bin/named/fuzz.c:625,1
    - Dst: atoi
      Src: /src/bind9/bin/named/fuzz.c:625,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:627,1
    - Dst: usleep
      Src: /src/bind9/bin/named/fuzz.c:634,1
    - Dst: malloc
      Src: /src/bind9/bin/named/fuzz.c:637,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:638,1
    - Dst: read
      Src: /src/bind9/bin/named/fuzz.c:655,1
    - Dst: read
      Src: /src/bind9/bin/named/fuzz.c:663,1
    - Dst: usleep
      Src: /src/bind9/bin/named/fuzz.c:666,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/fuzz.c:674,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:681,1
    - Dst: pthread_mutex_lock
      Src: /src/bind9/bin/named/fuzz.c:681,1
    - Dst: socket
      Src: /src/bind9/bin/named/fuzz.c:685,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:687,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:688,1
    - Dst: setsockopt
      Src: /src/bind9/bin/named/fuzz.c:688,1
    - Dst: connect
      Src: /src/bind9/bin/named/fuzz.c:692,1
    - Dst: usleep
      Src: /src/bind9/bin/named/fuzz.c:695,1
    - Dst: write
      Src: /src/bind9/bin/named/fuzz.c:702,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:703,1
    - Dst: close
      Src: /src/bind9/bin/named/fuzz.c:705,1
    - Dst: pthread_cond_wait
      Src: /src/bind9/bin/named/fuzz.c:708,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:711,1
    - Dst: pthread_mutex_unlock
      Src: /src/bind9/bin/named/fuzz.c:711,1
    - Dst: free
      Src: /src/bind9/bin/named/fuzz.c:714,1
    - Dst: close
      Src: /src/bind9/bin/named/fuzz.c:715,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/fuzz.c:716,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/fuzz.c:717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 63
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 720
    functionName: fuzz_thread_tcp
    functionSourceFile: /src/bind9/bin/named/fuzz.c
    functionUses: 0
    functionsReached:
    - socket
    - isc_loopmgr_shutdown
    - memset
    - usleep
    - free
    - write
    - malloc
    - atoi
    - pthread_mutex_lock
    - connect
    - strdup
    - setsockopt
    - pthread_cond_wait
    - RUNTIME_CHECK
    - strchr
    - close
    - UNUSED
    - INSIST
    - inet_pton
    - read
    - named_server_flushonshutdown
    - htons
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      fuzz_thread_tcp(void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/bin/named/fuzz.c:732,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/fuzz.c:733,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/fuzz.c:734,1
    - Dst: raise
      Src: /src/bind9/bin/named/fuzz.c:738,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:740,1
    - Dst: pthread_mutex_lock
      Src: /src/bind9/bin/named/fuzz.c:740,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:744,1
    - Dst: pthread_cond_signal
      Src: /src/bind9/bin/named/fuzz.c:744,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:745,1
    - Dst: pthread_mutex_unlock
      Src: /src/bind9/bin/named/fuzz.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 747
    functionName: named_fuzz_notify
    functionSourceFile: /src/bind9/bin/named/fuzz.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - RUNTIME_CHECK
    - pthread_cond_signal
    - pthread_mutex_unlock
    - pthread_mutex_lock
    - raise
    - getenv
    - named_server_flushonshutdown
    linkageType: ''
    returnType: void
    signature: void named_fuzz_notify(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/bin/named/fuzz.c:752,1
    - Dst: getenv
      Src: /src/bind9/bin/named/fuzz.c:752,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:772,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:775,1
    - Dst: pthread_mutex_init
      Src: /src/bind9/bin/named/fuzz.c:775,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:776,1
    - Dst: pthread_cond_init
      Src: /src/bind9/bin/named/fuzz.c:776,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/fuzz.c:777,1
    - Dst: pthread_create
      Src: /src/bind9/bin/named/fuzz.c:777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 780
    functionName: named_fuzz_setup
    functionSourceFile: /src/bind9/bin/named/fuzz.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - pthread_mutex_init
    - pthread_cond_init
    - getenv
    - pthread_create
    linkageType: ''
    returnType: void
    signature: void named_fuzz_setup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: TCHECK
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: CHECKM
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKM(op, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - msg
    - ','
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: CHECKMF
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKMF(op, msg, file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: CHECKFATAL
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKFATAL(op, msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:566,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:569,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:573,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:580,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:587,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:601,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 8
    argNames:
    - vconfig
    - config
    - gconfig
    - aclname
    - acltuplename
    - actx
    - mctx
    - aclp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - char*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 607
    functionName: configure_view_acl
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - named_config_get
    - cfg_tuple_get
    - cfg_map_get
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_view_acl(const cfg_obj_t *vconfig, const cfg_obj_t
      *config,\n\t\t   const cfg_obj_t *gconfig, const char *aclname,\n\t\t   const
      char *acltuplename, cfg_aclconfctx_t *actx,\n\t\t   isc_mem_t *mctx, dns_acl_t
      **aclp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_nametree_detach
      Src: /src/bind9/bin/named/server.c:624,1
    - Dst: dns_nametree_create
      Src: /src/bind9/bin/named/server.c:626,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:629,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:633,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:640,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:649,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:650,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:655,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:657,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:658,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:659,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:659,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:660,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:660,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:661,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:661,1
    - Dst: dns_nametree_add
      Src: /src/bind9/bin/named/server.c:662,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:664,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:666,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/bin/named/server.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 6
    argNames:
    - vconfig
    - config
    - confname
    - conftuplename
    - mctx
    - ntp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - char*
    - isc_mem_t*
    - dns_nametree_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 676
    functionName: configure_view_nametable
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_get
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_isvoid
    - cfg_obj_asstring
    - strlen
    - CHECK
    - dns_nametree_detach
    - dns_nametree_add
    - isc_buffer_add
    - dns_nametree_create
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_view_nametable(const cfg_obj_t *vconfig, const
      cfg_obj_t *config,\n\t\t\t const char *confname, const char *conftuplename,\n\t\t\t
      isc_mem_t *mctx, dns_nametree_t **ntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:657,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:658,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:659,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:659,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:660,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:660,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:661,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:661,1
    - Dst: dns_nametree_add
      Src: /src/bind9/bin/named/server.c:662,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:664,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 669
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - isc_result_totext
    - cfg_obj_asstring
    - strlen
    - CHECK
    - dns_nametree_add
    - isc_buffer_add
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:704,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:705,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:708,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:708,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:711,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:711,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:714,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:714,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:716,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:716,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:719,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:720,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:720,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:721,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:721,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:722,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:722,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:725,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:725,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:727,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:730,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:733,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:735,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:738,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:749,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:750,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:755,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:773,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:776,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:779,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:782,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:785,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:791,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:791,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:792,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/server.c:792,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/server.c:793,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/named/server.c:797,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/server.c:800,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:801,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:804,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/named/server.c:804,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:807,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/bin/named/server.c:807,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:814,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:817,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:820,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:827,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:827,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:828,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:828,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/server.c:829,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:834,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:839,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:844,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:850,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:857,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:862,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:872,1
    - Dst: memmove
      Src: /src/bind9/bin/named/server.c:876,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/named/server.c:900,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/server.c:910,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:911,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:917,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 155
    argCount: 6
    argNames:
    - key
    - initialp
    - namestrp
    - digest
    - digest_len
    - ds
    argTypes:
    - cfg_obj_t*
    - bool*
    - char**
    - unsigned char*
    - size_t
    - dns_rdata_ds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 924
    functionName: ta_fromconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - memmove
    - dst_algorithm_supported
    - isc_hex_decodestring
    - REQUIRE
    - isc_buffer_usedregion
    - UNREACHABLE
    - dns_ds_fromkeyrdata
    - dns_fixedname_initname
    - ISC_LINK_INIT
    - isc_base64_decodestring
    - strcasecmp
    - isc_buffer_constinit
    - cfg_obj_asuint32
    - dns_name_fromtext
    - dns_rdata_fromstruct
    - strlen
    - CHECKM
    - cfg_obj_log
    - cfg_obj_asstring
    - cfg_tuple_get
    - isc_buffer_init
    - CHECK
    - dst_algorithm_fromdata
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ta_fromconfig(const cfg_obj_t *key, bool *initialp, const
      char **namestrp,\n\t      unsigned char *digest, size_t digest_len, dns_rdata_ds_t
      *ds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_sfd_add
      Src: /src/bind9/bin/named/server.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: sfd_add
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_view_sfd_add
    linkageType: ''
    returnType: void
    signature: void sfd_add(const dns_name_t *name, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ta_fromconfig
      Src: /src/bind9/bin/named/server.c:956,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:964,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:964,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:965,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:965,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:966,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:967,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:979,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:981,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:989,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:991,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1000,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/bin/named/server.c:1009,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1012,1
    - Dst: dns_keytable_add
      Src: /src/bind9/bin/named/server.c:1026,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - key
    - secroots
    - keyname_match
    - view
    - managed
    argTypes:
    - cfg_obj_t*
    - dns_keytable_t*
    - dns_name_t*
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 1031
    functionName: process_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_keytable_add
    - dns_fixedname_initname
    - dns_resolver_algorithm_supported
    - dns_name_equal
    - isc_result_totext
    - strlen
    - isc_buffer_add
    - ta_fromconfig
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t process_key(const cfg_obj_t *key, dns_keytable_t *secroots,\n\t
      \   const dns_name_t *keyname_match, dns_view_t *view, bool managed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1045,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:1045,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1048,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: process_key
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - keys
    - view
    - managed
    - keyname
    argTypes:
    - cfg_obj_t*
    - dns_view_t*
    - bool
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1038
    functionDepth: 3
    functionLinenumber: 1038
    functionLinenumberEnd: 1061
    functionName: load_view_keys
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - process_key
    - CHECK
    - dns_view_getsecroots
    - cfg_listelt_value
    - dns_keytable_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_view_keys(const cfg_obj_t *keys, dns_view_t *view,
      bool managed,\n\t       const dns_name_t *keyname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1048,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: process_key
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1054
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - process_key
    - CHECK
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keys, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: process_key
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1053
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - process_key
    - CHECK
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, elt2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:1072,1
    - Dst: dns_keytable_find
      Src: /src/bind9/bin/named/server.c:1077,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/bin/named/server.c:1080,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1087
    functionName: keyloaded
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_getsecroots
    - dns_keytable_find
    - dns_keytable_detach
    - dns_keynode_detach
    linkageType: ''
    returnType: bool
    signature: bool keyloaded(dns_view_t *view, const dns_name_t *name)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1110,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1117,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1119,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1126,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1128,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/bin/named/server.c:1137,1
    - Dst: dns_view_initntatable
      Src: /src/bind9/bin/named/server.c:1138,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1149,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1155,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1159,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1169,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1174,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1179,1
    - Dst: load_view_keys
      Src: /src/bind9/bin/named/server.c:1179,1
    - Dst: keyloaded
      Src: /src/bind9/bin/named/server.c:1183,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1184,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1193,1
    - Dst: load_view_keys
      Src: /src/bind9/bin/named/server.c:1193,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1194,1
    - Dst: load_view_keys
      Src: /src/bind9/bin/named/server.c:1194,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:1201,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1202,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/named/server.c:1204,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1207,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1210,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/server.c:1213,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1214,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1225,1
    - Dst: add_keydata_zone
      Src: /src/bind9/bin/named/server.c:1225,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 5
    argNames:
    - view
    - vconfig
    - config
    - bindkeys
    - auto_root
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1095
    functionDepth: 4
    functionLinenumber: 1095
    functionLinenumberEnd: 1230
    functionName: configure_view_dnsseckeys
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - load_view_keys
    - named_config_get
    - isc_file_isdirwritable
    - dns_view_initsecroots
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_view_initntatable
    - CHECK
    - isc_log_write
    - strcmp
    - cfg_map_get
    - isc_file_isdirectory
    - keyloaded
    - add_keydata_zone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_view_dnsseckeys(dns_view_t *view, const cfg_obj_t
      *vconfig,\n\t\t\t  const cfg_obj_t *config, const cfg_obj_t *bindkeys,\n\t\t\t
      \ bool auto_root)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:1245,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1246,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:1249,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1250,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1253,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1256,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1268,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1269,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/server.c:1269,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1270,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:1270,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/server.c:1278,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/server.c:1281,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1284,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/named/server.c:1293,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/named/server.c:1300,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/named/server.c:1303,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/named/server.c:1306,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/server.c:1309,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1310,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1313,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - maps
    - af
    - dispatchp
    argTypes:
    - cfg_obj_t**
    - int
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1320
    functionName: get_view_querysource_dispatch
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - named_config_get
    - isc_sockaddr_pf
    - isc_sockaddr_getport
    - isc_sockaddr_any6
    - isc_sockaddr_format
    - isc_net_probeipv4
    - INSIST
    - cfg_obj_isvoid
    - dns_dispatch_createudp
    - isc_sockaddr_any
    - isc_result_totext
    - isc_log_write
    - isc_net_probeipv6
    - cfg_obj_assockaddr
    - isc_sockaddr_equal
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_view_querysource_dispatch(const cfg_obj_t **maps,
      int af,\n\t\t\t      dns_dispatch_t **dispatchp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:1334,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1334,1
    - Dst: named_config_gettype
      Src: /src/bind9/bin/named/server.c:1340,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1340,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1346,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:1347,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1348,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1352,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1353,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1353,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1354,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1354,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/server.c:1355,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1356,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:1356,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1362,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1363,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:1363,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1364,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1365,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1367,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1369,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1372,1
    - Dst: dns_order_add
      Src: /src/bind9/bin/named/server.c:1381,1
    - Dst: dns_order_add
      Src: /src/bind9/bin/named/server.c:1384,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:1384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - order
    - ent
    argTypes:
    - dns_order_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1387
    functionName: configure_order
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_getclass
    - dns_fixedname_init
    - dns_name_fromtext
    - UNREACHABLE
    - dns_order_add
    - dns_fixedname_name
    - cfg_obj_asstring
    - cfg_obj_isstring
    - cfg_tuple_get
    - strlen
    - named_config_gettype
    - INSIST
    - isc_buffer_add
    - strcmp
    - strcasecmp
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_order(dns_order_t *order, const cfg_obj_t *ent)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/bin/named/server.c:1398,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:1398,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/bin/named/server.c:1401,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1407,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1409,1
    - Dst: dns_peer_setbogus
      Src: /src/bind9/bin/named/server.c:1409,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1409,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1413,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1415,1
    - Dst: dns_peer_setprovideixfr
      Src: /src/bind9/bin/named/server.c:1415,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1415,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1419,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1421,1
    - Dst: dns_peer_setrequestexpire
      Src: /src/bind9/bin/named/server.c:1421,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1421,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1425,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1427,1
    - Dst: dns_peer_setrequestixfr
      Src: /src/bind9/bin/named/server.c:1427,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1427,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1431,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1433,1
    - Dst: dns_peer_setrequestixfrmaxdiffs
      Src: /src/bind9/bin/named/server.c:1433,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1434,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1438,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1440,1
    - Dst: dns_peer_setrequestnsid
      Src: /src/bind9/bin/named/server.c:1440,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1440,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1444,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1446,1
    - Dst: dns_peer_setrequestzoneversion
      Src: /src/bind9/bin/named/server.c:1446,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1447,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1451,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1453,1
    - Dst: dns_peer_setsendcookie
      Src: /src/bind9/bin/named/server.c:1453,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1453,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1457,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1459,1
    - Dst: dns_peer_setrequirecookie
      Src: /src/bind9/bin/named/server.c:1459,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1459,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1463,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1465,1
    - Dst: dns_peer_setsupportedns
      Src: /src/bind9/bin/named/server.c:1465,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1465,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1469,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1471,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1478,1
    - Dst: dns_peer_setudpsize
      Src: /src/bind9/bin/named/server.c:1478,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1482,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1484,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1488,1
    - Dst: dns_peer_setednsversion
      Src: /src/bind9/bin/named/server.c:1488,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1492,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1494,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1501,1
    - Dst: dns_peer_setmaxudp
      Src: /src/bind9/bin/named/server.c:1501,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1505,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1507,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1509,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1514,1
    - Dst: dns_peer_setpadding
      Src: /src/bind9/bin/named/server.c:1514,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1518,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1520,1
    - Dst: dns_peer_setforcetcp
      Src: /src/bind9/bin/named/server.c:1520,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1520,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1524,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1526,1
    - Dst: dns_peer_settcpkeepalive
      Src: /src/bind9/bin/named/server.c:1526,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1526,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1530,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1532,1
    - Dst: dns_peer_settransfers
      Src: /src/bind9/bin/named/server.c:1532,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1532,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1536,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1538,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1539,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1540,1
    - Dst: dns_peer_settransferformat
      Src: /src/bind9/bin/named/server.c:1540,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1542,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1543,1
    - Dst: dns_peer_settransferformat
      Src: /src/bind9/bin/named/server.c:1543,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1545,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1550,1
    - Dst: dns_peer_setkeybycharp
      Src: /src/bind9/bin/named/server.c:1552,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1552,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1560,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1562,1
    - Dst: dns_peer_settransfersource
      Src: /src/bind9/bin/named/server.c:1565,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1566,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1574,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1576,1
    - Dst: dns_peer_setnotifysource
      Src: /src/bind9/bin/named/server.c:1579,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1580,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1588,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1590,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1593,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/server.c:1593,1
    - Dst: dns_peer_setquerysource
      Src: /src/bind9/bin/named/server.c:1594,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1594,1
    - Dst: dns_peer_detach
      Src: /src/bind9/bin/named/server.c:1604,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 179
    argCount: 3
    argNames:
    - cpeer
    - mctx
    - peerp
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1606
    functionName: configure_peer
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_peer_setbogus
    - dns_peer_setrequestnsid
    - dns_peer_settransfers
    - UNREACHABLE
    - dns_peer_detach
    - cfg_map_getname
    - dns_peer_setrequestixfr
    - dns_peer_setrequestexpire
    - dns_peer_setpadding
    - strcasecmp
    - dns_peer_settransferformat
    - cfg_obj_asuint32
    - dns_peer_setkeybycharp
    - dns_peer_settransfersource
    - dns_peer_newprefix
    - dns_peer_setudpsize
    - INSIST
    - dns_peer_setednsversion
    - dns_peer_setprovideixfr
    - dns_peer_setrequirecookie
    - cfg_obj_asnetprefix
    - dns_peer_setrequestixfrmaxdiffs
    - cfg_obj_log
    - dns_peer_setrequestzoneversion
    - dns_peer_setquerysource
    - dns_peer_setsendcookie
    - dns_peer_settcpkeepalive
    - cfg_obj_issockaddr
    - dns_peer_setmaxudp
    - cfg_obj_asstring
    - dns_peer_setsupportedns
    - CHECK
    - dns_peer_setnotifysource
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_obj_assockaddr
    - dns_peer_setforcetcp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx,
      dns_peer_t **peerp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1616,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1616,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1617,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1617,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1619,1
    - Dst: dns_dyndb_load
      Src: /src/bind9/bin/named/server.c:1621,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1621,1
    - Dst: cfg_obj_file
      Src: /src/bind9/bin/named/server.c:1622,1
    - Dst: cfg_obj_line
      Src: /src/bind9/bin/named/server.c:1622,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1627,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dyndb
    - mctx
    - dctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_dyndbctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1633
    functionName: configure_dyndb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_dyndb_load
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_file
    - cfg_obj_asstring
    - cfg_obj_line
    - isc_log_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_dyndb(const cfg_obj_t *dyndb, isc_mem_t *mctx,\n\t\tconst
      dns_dyndbctx_t *dctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:1644,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1645,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1645,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1646,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1646,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1647,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1647,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1648,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1648,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1650,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1656,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/named/server.c:1657,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1659,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1659,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1661,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1663,1
    - Dst: dns_resolver_disable_algorithm
      Src: /src/bind9/bin/named/server.c:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - disabled
    - resolver
    argTypes:
    - cfg_obj_t*
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1667
    functionName: disable_algorithms
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_fromtext
    - dns_name_fromtext
    - dns_resolver_disable_algorithm
    - dns_fixedname_initname
    - cfg_tuple_get
    - cfg_obj_asstring
    - strlen
    - CHECK
    - UNCONST
    - isc_buffer_add
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t
      *resolver)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1656,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/named/server.c:1657,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1659,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1659,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1661,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1663,1
    - Dst: dns_resolver_disable_algorithm
      Src: /src/bind9/bin/named/server.c:1663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1664
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_fromtext
    - dns_resolver_disable_algorithm
    - cfg_obj_asstring
    - strlen
    - CHECK
    - UNCONST
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (algorithms, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:1678,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1679,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1679,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1680,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1680,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1681,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1681,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1682,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1682,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1684,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:1689,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1689,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1689,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1690,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/named/server.c:1693,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1695,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1695,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1697,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1699,1
    - Dst: dns_resolver_disable_ds_digest
      Src: /src/bind9/bin/named/server.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - disabled
    - resolver
    argTypes:
    - cfg_obj_t*
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1703
    functionName: disable_ds_digests
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_resolver_disable_ds_digest
    - dns_fixedname_initname
    - cfg_tuple_get
    - cfg_obj_asstring
    - strlen
    - CHECK
    - UNCONST
    - isc_buffer_add
    - dns_dsdigest_fromtext
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t disable_ds_digests(const cfg_obj_t *disabled, dns_resolver_t
      *resolver)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:1689,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1689,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1689,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1690,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/named/server.c:1693,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1695,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1695,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1697,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1699,1
    - Dst: dns_resolver_disable_ds_digest
      Src: /src/bind9/bin/named/server.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1700
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_disable_ds_digest
    - cfg_obj_asstring
    - strlen
    - CHECK
    - UNCONST
    - dns_dsdigest_fromtext
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (digests, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:1714,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1717,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1718,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1719,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1719,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1720,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1720,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1721,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:1722,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - disablelist
    - zonename
    argTypes:
    - cfg_obj_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1728
    functionName: on_disable_list
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - dns_name_equal
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - cfg_listelt_value
    - isc_buffer_constinit
    linkageType: ''
    returnType: bool
    signature: bool on_disable_list(const cfg_obj_t *disablelist, dns_name_t *zonename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1717,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1718,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1719,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1719,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1720,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1720,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1721,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:1722,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1726
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - RUNTIME_CHECK
    - dns_name_equal
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - cfg_listelt_value
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (disablelist, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getdbtype
      Src: /src/bind9/bin/named/server.c:1737,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1743,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1744,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - zone
    - dbtypec
    - dbargv
    - mctx
    argTypes:
    - dns_zone_t*
    - unsigned int
    - char**
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1758
    functionName: check_dbtype
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - CHECK
    - dns_zone_getdbtype
    - isc_mem_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_dbtype(dns_zone_t *zone, unsigned int dbtypec,
      const char **dbargv,\n\t     isc_mem_t *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_setstatlevel
      Src: /src/bind9/bin/named/server.c:1764,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:1768,1
    - Dst: dns_zone_setrequeststats
      Src: /src/bind9/bin/named/server.c:1770,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:1772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - zone
    - mctx
    - level
    argTypes:
    - dns_zone_t*
    - isc_mem_t*
    - dns_zonestat_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1774
    functionName: setquerystats
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_setrequeststats
    - isc_stats_create
    - dns_zone_setstatlevel
    - isc_stats_detach
    linkageType: ''
    returnType: void
    signature: void setquerystats(dns_zone_t *zone, isc_mem_t *mctx, dns_zonestat_level_t
      level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:1779,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1781,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:1781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cachelist
    - cachename
    - rdclass
    argTypes:
    - named_cachelist_t*
    - char*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1788
    functionName: cachelist_find
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_cache_getname
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: named_cache_t
    signature: "named_cache_t *\ncachelist_find(named_cachelist_t *cachelist, const
      char *cachename,\n\t       dns_rdataclass_t rdclass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_resolver_getzeronosoattl
      Src: /src/bind9/bin/named/server.c:1800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 3
    argNames:
    - originview
    - view
    - new_zero_no_soattl
    argTypes:
    - dns_view_t*
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1807
    functionName: cache_reusable
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_getzeronosoattl
    linkageType: ''
    returnType: bool
    signature: "bool cache_reusable(dns_view_t *originview, dns_view_t *view,\n\t
      \      bool new_zero_no_soattl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cache_reusable
      Src: /src/bind9/bin/named/server.c:1817,1
    - Dst: dns_cache_getservestalettl
      Src: /src/bind9/bin/named/server.c:1825,1
    - Dst: dns_cache_getservestalerefresh
      Src: /src/bind9/bin/named/server.c:1826,1
    - Dst: dns_cache_getcachesize
      Src: /src/bind9/bin/named/server.c:1828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 6
    argNames:
    - originview
    - view
    - new_zero_no_soattl
    - new_max_cache_size
    - new_stale_ttl
    - new_stale_refresh_time
    argTypes:
    - dns_view_t*
    - dns_view_t*
    - bool
    - uint64_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1809
    functionDepth: 2
    functionLinenumber: 1809
    functionLinenumberEnd: 1834
    functionName: cache_sharable
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_cache_getservestalettl
    - dns_cache_getservestalerefresh
    - dns_cache_getcachesize
    - cache_reusable
    linkageType: ''
    returnType: bool
    signature: "bool cache_sharable(dns_view_t *originview, dns_view_t *view,\n\t
      \      bool new_zero_no_soattl, uint64_t new_max_cache_size,\n\t       uint32_t
      new_stale_ttl, uint32_t new_stale_refresh_time)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:1841,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:1845,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:1849,1
    - Dst: named_zone_configure_writeable_dlz
      Src: /src/bind9/bin/named/server.c:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - view
    - dlzdb
    - zone
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1839
    functionDepth: 2
    functionLinenumber: 1839
    functionLinenumberEnd: 1852
    functionName: dlzconfigure_callback
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_setstats
    - named_zone_configure_writeable_dlz
    - dns_zonemgr_managezone
    - dns_zone_getorigin
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlzconfigure_callback(dns_view_t *view, dns_dlzdb_t *dlzdb,
      dns_zone_t *zone)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:1870,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1873,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:1884,1
    - Dst: strlcat
      Src: /src/bind9/bin/named/server.c:1886,1
    - Dst: strlcat
      Src: /src/bind9/bin/named/server.c:1888,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:1899,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1900,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1900,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1901,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1901,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1902,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1902,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/named/server.c:1903,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:1904,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:1905,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1906,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:1906,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:1907,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:1908,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:1909,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/server.c:1910,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:1912,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:1915,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:1917,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:1918,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:1919,1
    - Dst: setquerystats
      Src: /src/bind9/bin/named/server.c:1920,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1921,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:1921,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1922,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:1928,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - view
    - mctx
    - na
    - prefixlen
    - server
    - contact
    argTypes:
    - dns_view_t*
    - isc_mem_t*
    - isc_netaddr_t*
    - unsigned int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1854
    functionDepth: 2
    functionLinenumber: 1854
    functionLinenumberEnd: 1931
    functionName: dns64_reverse
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_setqueryonacl
    - strlcat
    - dns_zone_detach
    - isc_log_write
    - snprintf
    - REQUIRE
    - dns_view_addzone
    - dns_zonemgr_managezone
    - dns_fixedname_initname
    - dns_zone_setcheckdstype
    - dns_zone_setview
    - dns_zone_setdbtype
    - isc_buffer_constinit
    - dns_name_fromtext
    - dns_zone_setstats
    - dns_zone_setqueryacl
    - dns_zone_settype
    - strlen
    - dns_zone_create
    - dns_zone_setclass
    - dns_zone_setorigin
    - dns_zone_setnotifytype
    - dns_zone_setoption
    - CHECK
    - setquerystats
    - isc_buffer_add
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t
      *na,\n\t      unsigned int prefixlen, const char *server, const char *contact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:1938,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - view
    - obj
    - name
    - str
    - msg
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - dns_name_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1945
    functionName: configure_rpz_name
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromstring
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_rpz_name(dns_view_t *view, const cfg_obj_t
      *obj, dns_name_t *name,\n\t\t   const char *str, const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:1952,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - view
    - obj
    - name
    - str
    - origin
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - dns_name_t*
    - char*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1958
    functionName: configure_rpz_name2
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromstring
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_rpz_name2(dns_view_t *view, const cfg_obj_t
      *obj, dns_name_t *name,\n\t\t    const char *str, const dns_name_t *origin)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:1971,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1973,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1976,1
    - Dst: dns_rpz_new_zone
      Src: /src/bind9/bin/named/server.c:1982,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1984,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1986,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1990,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1991,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1992,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:1994,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:1996,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1999,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2000,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2000,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:2001,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:2003,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2006,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2007,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2008,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2016,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2017,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2018,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2028,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2028,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:2029,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:2033,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2034,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:2039,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2042,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:2048,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:2052,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:2058,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:2064,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:2070,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:2076,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:2082,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:2088,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2094,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2095,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2098,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2098,1
    - Dst: dns_rpz_str2policy
      Src: /src/bind9/bin/named/server.c:2099,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:2100,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2102,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2102,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:2103,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:2111,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2116,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:2117,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2120,1
    - Dst: dns_rpz_str2ede
      Src: /src/bind9/bin/named/server.c:2121,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:2122,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2128,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2129,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2132,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 128
    argCount: 8
    argNames:
    - view
    - element
    - recursive_only_default
    - add_soa_default
    - ttl_default
    - minupdateinterval_default
    - old
    - old_rpz_okp
    argTypes:
    - dns_view_t*
    - cfg_listelt_t*
    - bool
    - bool
    - dns_ttl_t
    - uint32_t
    - dns_rpz_zone_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 2139
    functionName: configure_rpz_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rpz_str2ede
    - configure_rpz_name
    - REQUIRE
    - cfg_obj_isduration
    - DNS_RPZ_ZBIT
    - cfg_obj_asduration
    - dns_rpz_str2policy
    - INSIST
    - cfg_obj_isvoid
    - cfg_obj_isstring
    - configure_rpz_name2
    - cfg_obj_log
    - dns_rpz_new_zone
    - dns_name_equal
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_asboolean
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_rpz_zone(dns_view_t *view, const cfg_listelt_t
      *element,\n\t\t   bool recursive_only_default, bool add_soa_default,\n\t\t   dns_ttl_t
      ttl_default, uint32_t minupdateinterval_default,\n\t\t   const dns_rpz_zone_t
      *old, bool *old_rpz_okp)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2159,1
    - Dst: cfg_list_length
      Src: /src/bind9/bin/named/server.c:2160,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2165,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2166,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2167,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2172,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2173,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2174,1
    - Dst: dns_rpz_new_zones
      Src: /src/bind9/bin/named/server.c:2178,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2188,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2189,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2189,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2195,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2196,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2196,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2202,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2203,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2203,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2209,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2210,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2211,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2216,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2217,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2218,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2223,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:2224,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2225,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2230,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2231,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2231,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2237,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2238,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2238,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2244,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2245,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2245,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:2254,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:2272,1
    - Dst: configure_rpz_zone
      Src: /src/bind9/bin/named/server.c:2280,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2286,1
    - Dst: memcmp
      Src: /src/bind9/bin/named/server.c:2297,1
    - Dst: dns_rpz_zones_shutdown
      Src: /src/bind9/bin/named/server.c:2302,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/bin/named/server.c:2303,1
    - Dst: dns_rpz_zones_attach
      Src: /src/bind9/bin/named/server.c:2304,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/bin/named/server.c:2305,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2309,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2315,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 129
    argCount: 4
    argNames:
    - view
    - pview
    - rpz_obj
    - old_rpz_okp
    argTypes:
    - dns_view_t*
    - dns_view_t*
    - cfg_obj_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2141
    functionDepth: 3
    functionLinenumber: 2141
    functionLinenumberEnd: 2319
    functionName: configure_rpz
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asduration
    - cfg_list_length
    - cfg_obj_asuint32
    - dns_viewlist_find
    - dns_rpz_zones_shutdown
    - dns_rpz_new_zones
    - dns_rpz_zones_detach
    - INSIST
    - cfg_obj_isvoid
    - cfg_tuple_get
    - memcmp
    - cfg_obj_isduration
    - configure_rpz_zone
    - dns_rpz_zones_attach
    - cfg_obj_asboolean
    - dns_view_detach
    - cfg_obj_log
    - cfg_obj_isuint32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_rpz(dns_view_t *view, dns_view_t *pview, const
      cfg_obj_t *rpz_obj,\n\t      bool *old_rpz_okp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:2272,1
    - Dst: configure_rpz_zone
      Src: /src/bind9/bin/named/server.c:2280,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2271
    functionDepth: 3
    functionLinenumber: 2271
    functionLinenumberEnd: 2290
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_detach
    - INSIST
    - configure_rpz_zone
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, zone_element)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_shuttingdown
      Src: /src/bind9/bin/named/server.c:2336,1
    - Dst: isc_loop_get
      Src: /src/bind9/bin/named/server.c:2336,1
    - Dst: isc_tid
      Src: /src/bind9/bin/named/server.c:2336,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2346,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2349,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:2351,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:2352,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/server.c:2353,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/bin/named/server.c:2355,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2359,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2368,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2374,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2378,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:2382,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2383,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:2392,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2395,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2404,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2413,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:2417,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2418,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2428,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:2441,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:2444,1
    - Dst: dns_catz_generate_zonecfg
      Src: /src/bind9/bin/named/server.c:2447,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/named/server.c:2449,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:2450,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:2452,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2459,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2463,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2466,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2466,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:2467,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2468,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:2472,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:2472,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:2475,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:2476,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:2477,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:2482,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:2483,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2486,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2494,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2494,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:2500,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2503,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2507,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:2510,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:2511,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:2512,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:2516,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/bin/named/server.c:2521,1
    - Dst: dns_zone_set_parentcatz
      Src: /src/bind9/bin/named/server.c:2522,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2526,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:2529,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/bin/named/server.c:2532,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/bin/named/server.c:2534,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/bin/named/server.c:2535,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/bin/named/server.c:2536,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:2537,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 113
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2321
    functionDepth: 1
    functionLinenumber: 2321
    functionLinenumberEnd: 2538
    functionName: catz_addmodzone_cb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - dns_view_thaw
    - isc_mem_putanddetach
    - cfg_list_first
    - dns_zone_detach
    - isc_log_write
    - dns_view_weakdetach
    - dns_zone_load
    - dns_zone_unload
    - cfg_parser_reset
    - cfg_parse_buffer
    - dns_view_delzone
    - dns_db_detach
    - cfg_obj_destroy
    - dns_zone_getadded
    - isc_loopmgr_resume
    - dns_view_findzone
    - dns_zone_setadded
    - cfg_obj_islist
    - isc_tid
    - RUNTIME_CHECK
    - configure_zone
    - dns_fwdtable_find
    - dns_catz_entry_getname
    - dns_zone_get_parentcatz
    - isc_buffer_free
    - dns_catz_zone_detach
    - isc_loop_shuttingdown
    - isc_buffer_putuint8
    - dns_catz_generate_zonecfg
    - dns_forwarders_detach
    - isc_loopmgr_pause
    - isc_result_totext
    - dns_zone_getdb
    - isc_buffer_init
    - CHECK
    - dns_view_freeze
    - isc_loop_get
    - dns_catz_entry_detach
    - dns_zone_set_parentcatz
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void catz_addmodzone_cb(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_shuttingdown
      Src: /src/bind9/bin/named/server.c:2549,1
    - Dst: isc_loop_get
      Src: /src/bind9/bin/named/server.c:2549,1
    - Dst: isc_tid
      Src: /src/bind9/bin/named/server.c:2549,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:2553,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:2555,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2555,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2557,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2557,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2560,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:2568,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2569,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:2577,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2578,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:2587,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:2588,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:2589,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:2592,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:2595,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:2597,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:2598,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:2600,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2604,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:2610,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2613,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/bin/named/server.c:2615,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/bin/named/server.c:2616,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/bin/named/server.c:2617,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:2618,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2540
    functionDepth: 1
    functionLinenumber: 2540
    functionLinenumberEnd: 2619
    functionName: catz_delzone_cb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_zone_detach
    - isc_log_write
    - dns_view_weakdetach
    - dns_zone_unload
    - dns_view_delzone
    - dns_db_detach
    - dns_zone_getadded
    - isc_loopmgr_resume
    - dns_name_format
    - dns_view_findzone
    - dns_zone_getfile
    - isc_tid
    - dns_zone_getjournal
    - dns_catz_entry_getname
    - dns_zone_get_parentcatz
    - dns_catz_zone_detach
    - isc_loop_shuttingdown
    - isc_loopmgr_pause
    - dns_zone_getdb
    - isc_file_remove
    - isc_loop_get
    - dns_catz_entry_detach
    linkageType: ''
    returnType: void
    signature: void catz_delzone_cb(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:2636,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:2637,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:2640,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/server.c:2645,1
    - Dst: dns_catz_entry_attach
      Src: /src/bind9/bin/named/server.c:2647,1
    - Dst: dns_catz_zone_attach
      Src: /src/bind9/bin/named/server.c:2648,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/bin/named/server.c:2649,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:2651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - entry
    - origin
    - view
    - udata
    - type
    argTypes:
    - dns_catz_entry_t*
    - dns_catz_zone_t*
    - dns_view_t*
    - void*
    - catz_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2621
    functionDepth: 1
    functionLinenumber: 2621
    functionLinenumberEnd: 2654
    functionName: catz_run
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_catz_entry_attach
    - UNREACHABLE
    - dns_catz_zone_attach
    - isc_async_run
    - isc_mem_get
    - REQUIRE
    - dns_view_weakattach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_run(dns_catz_entry_t *entry, dns_catz_zone_t *origin,
      dns_view_t *view,\n\t void *udata, catz_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catz_run
      Src: /src/bind9/bin/named/server.c:2659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - entry
    - origin
    - view
    - udata
    argTypes:
    - dns_catz_entry_t*
    - dns_catz_zone_t*
    - dns_view_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2656
    functionDepth: 2
    functionLinenumber: 2656
    functionLinenumberEnd: 2660
    functionName: catz_addzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - catz_run
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_addzone(dns_catz_entry_t *entry, dns_catz_zone_t
      *origin, dns_view_t *view,\n\t     void *udata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catz_run
      Src: /src/bind9/bin/named/server.c:2665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - entry
    - origin
    - view
    - udata
    argTypes:
    - dns_catz_entry_t*
    - dns_catz_zone_t*
    - dns_view_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2662
    functionDepth: 2
    functionLinenumber: 2662
    functionLinenumberEnd: 2666
    functionName: catz_delzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - catz_run
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_delzone(dns_catz_entry_t *entry, dns_catz_zone_t
      *origin, dns_view_t *view,\n\t     void *udata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catz_run
      Src: /src/bind9/bin/named/server.c:2671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - entry
    - origin
    - view
    - udata
    argTypes:
    - dns_catz_entry_t*
    - dns_catz_zone_t*
    - dns_view_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2672
      start: 2668
    functionDepth: 2
    functionLinenumber: 2668
    functionLinenumberEnd: 2672
    functionName: catz_modzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - catz_run
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_modzone(dns_catz_entry_t *entry, dns_catz_zone_t
      *origin, dns_view_t *view,\n\t     void *udata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2680,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2681,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:2687,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:2688,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - entry
    - arg1
    - arg2
    argTypes:
    - dns_catz_entry_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2691
      start: 2674
    functionDepth: 1
    functionLinenumber: 2674
    functionLinenumberEnd: 2691
    functionName: catz_changeview
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - dns_catz_entry_getname
    - dns_zone_setview
    - dns_view_addzone
    - dns_view_findzone
    linkageType: ''
    returnType: void
    signature: void catz_changeview(dns_catz_entry_t *entry, void *arg1, void *arg2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:2707,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:2708,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2708,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/server.c:2710,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2712,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2712,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2724,1
    - Dst: dns_catz_generate_zonecfg
      Src: /src/bind9/bin/named/server.c:2727,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/named/server.c:2729,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:2730,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:2732,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2739,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2743,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2747,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2747,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:2748,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2749,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:2751,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:2751,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:2753,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2759,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2763,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:2769,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - entry
    - arg1
    - arg2
    argTypes:
    - dns_catz_entry_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2773
    functionName: catz_reconfigure
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - cfg_list_first
    - dns_zone_detach
    - isc_log_write
    - cfg_parser_reset
    - cfg_parse_buffer
    - cfg_obj_destroy
    - dns_view_findzone
    - cfg_obj_islist
    - configure_zone
    - dns_catz_entry_getname
    - isc_buffer_free
    - isc_buffer_putuint8
    - dns_catz_generate_zonecfg
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void catz_reconfigure(dns_catz_entry_t *entry, void *arg1, void *arg2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:2785,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:2786,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2788,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2788,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:2790,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:2792,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2797,1
    - Dst: dns_catz_zone_add
      Src: /src/bind9/bin/named/server.c:2802,1
    - Dst: dns_catz_zones_get_udata
      Src: /src/bind9/bin/named/server.c:2807,1
    - Dst: dns_catz_zone_for_each_entry2
      Src: /src/bind9/bin/named/server.c:2815,1
    - Dst: dns_catz_zone_for_each_entry2
      Src: /src/bind9/bin/named/server.c:2817,1
    - Dst: dns_catz_zone_resetdefoptions
      Src: /src/bind9/bin/named/server.c:2821,1
    - Dst: dns_catz_zone_getdefoptions
      Src: /src/bind9/bin/named/server.c:2822,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2824,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/bin/named/server.c:2825,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2826,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/bin/named/server.c:2828,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/server.c:2829,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2833,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:2834,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2835,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2838,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:2839,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:2840,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2841,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/named/server.c:2842,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2843,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2852,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2853,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2854,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/server.c:2858,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - view
    - pview
    - config
    - element
    argTypes:
    - dns_view_t*
    - dns_view_t*
    - cfg_obj_t*
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2775
    functionDepth: 1
    functionLinenumber: 2775
    functionLinenumberEnd: 2861
    functionName: configure_catz_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - dns_name_fromstring
    - cfg_obj_isboolean
    - cfg_obj_isduration
    - isc_file_isdirectory
    - named_config_getipandkeylist
    - cfg_obj_asduration
    - dns_catz_zone_getdefoptions
    - cfg_obj_isstring
    - isc_mem_strdup
    - dns_catz_zone_resetdefoptions
    - dns_catz_zone_for_each_entry2
    - dns_catz_zone_add
    - cfg_obj_istuple
    - cfg_obj_log
    - dns_name_equal
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_catz_zones_get_udata
    - cfg_obj_asboolean
    - cfg_listelt_value
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_catz_zone(dns_view_t *view, dns_view_t *pview,\n\t\t
      \   const cfg_obj_t *config, const cfg_listelt_t *element)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2879,1
    - Dst: cfg_list_length
      Src: /src/bind9/bin/named/server.c:2880,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:2887,1
    - Dst: dns_catz_zones_attach
      Src: /src/bind9/bin/named/server.c:2896,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/bin/named/server.c:2897,1
    - Dst: dns_catz_prereconfig
      Src: /src/bind9/bin/named/server.c:2898,1
    - Dst: dns_catz_zones_new
      Src: /src/bind9/bin/named/server.c:2900,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2905,1
    - Dst: configure_catz_zone
      Src: /src/bind9/bin/named/server.c:2905,1
    - Dst: dns_catz_postreconfig
      Src: /src/bind9/bin/named/server.c:2909,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - view
    - pview
    - config
    - catz_obj
    argTypes:
    - dns_view_t*
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2920
      start: 2868
    functionDepth: 2
    functionLinenumber: 2868
    functionLinenumberEnd: 2920
    functionName: configure_catz
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_viewlist_find
    - cfg_list_length
    - dns_catz_zones_detach
    - dns_catz_zones_attach
    - cfg_tuple_get
    - configure_catz_zone
    - CHECK
    - dns_catz_postreconfig
    - dns_catz_zones_new
    - dns_view_detach
    - dns_catz_prereconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_catz(dns_view_t *view, dns_view_t *pview, const
      cfg_obj_t *config,\n\t       const cfg_obj_t *catz_obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2905,1
    - Dst: configure_catz_zone
      Src: /src/bind9/bin/named/server.c:2905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2906
      start: 2904
    functionDepth: 2
    functionLinenumber: 2904
    functionLinenumberEnd: 2906
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - CHECK
    - configure_catz_zone
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zones, zone_element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cond
    - ','
    - pat
    - ','
    - val1
    - ','
    - val2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2930
    functionName: CHECK_RRL
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RRL(cond, pat, val1, val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rate
    - ','
    - def
    - ','
    - max_rate
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2945
    functionName: CHECK_RRL_RATE
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RRL_RATE(rate, def, max_rate, name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2961,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2963,1
    - Dst: dns_rrl_init
      Src: /src/bind9/bin/named/server.c:2968,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:2973,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2975,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2977,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2978,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2984,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2986,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2988,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2990,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2992,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2995,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2997,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3001,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3003,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:3004,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3011,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3013,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:3014,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3021,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3023,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:3024,1
    - Dst: htonl
      Src: /src/bind9/bin/named/server.c:3031,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3036,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3038,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:3039,1
    - Dst: htonl
      Src: /src/bind9/bin/named/server.c:3048,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3056,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:3058,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:3060,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3065,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3066,1
    - Dst: dns_rrl_view_destroy
      Src: /src/bind9/bin/named/server.c:3075,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 96
    argCount: 3
    argNames:
    - view
    - config
    - map
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 3077
    functionName: configure_rrl
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - CHECK_RRL_RATE
    - htonl
    - cfg_obj_asboolean
    - ISC_MAX
    - CHECK_RRL
    - dns_rrl_view_destroy
    - dns_rrl_init
    - cfg_map_get
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_rrl(dns_view_t *view, const cfg_obj_t *config,
      const cfg_obj_t *map)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3089,1
    - Dst: dns_soa_buildrdata
      Src: /src/bind9/bin/named/server.c:3089,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/named/server.c:3089,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/server.c:3092,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3096,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:3098,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/server.c:3099,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3100,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/server.c:3100,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3101,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/server.c:3101,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:3105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - db
    - version
    - name
    - origin
    - contact
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3079
    functionDepth: 1
    functionLinenumber: 3079
    functionLinenumberEnd: 3108
    functionName: add_soa
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_class
    - ISC_LIST_APPEND
    - dns_rdatalist_init
    - dns_db_findnode
    - dns_soa_buildrdata
    - dns_db_addrdataset
    - CHECK
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_soa(dns_db_t *db, dns_dbversion_t *version, const
      dns_name_t *name,\n\tconst dns_name_t *origin, const dns_name_t *contact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:3122,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/named/server.c:3125,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:3127,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/server.c:3128,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3129,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/named/server.c:3129,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/named/server.c:3129,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/server.c:3132,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3136,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:3138,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/server.c:3139,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3140,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/server.c:3140,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3141,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/server.c:3141,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:3145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - db
    - version
    - name
    - nsname
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3110
    functionDepth: 1
    functionLinenumber: 3110
    functionLinenumberEnd: 3148
    functionName: add_ns
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_class
    - dns_rdata_fromstruct
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_db_findnode
    - dns_db_addrdataset
    - isc_buffer_init
    - dns_name_clone
    - CHECK
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_ns(dns_db_t *db, dns_dbversion_t *version, const
      dns_name_t *name,\n       const dns_name_t *nsname)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:3177,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:3178,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:3179,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3182,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3184,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3191,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3192,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3195,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3195,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3196,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3196,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/named/server.c:3197,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:3202,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3205,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3207,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3207,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3210,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3215,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3215,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3220,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/named/server.c:3220,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3223,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/named/server.c:3223,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3224,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/server.c:3225,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3227,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3227,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3231,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3231,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3233,1
    - Dst: add_soa
      Src: /src/bind9/bin/named/server.c:3233,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3234,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3234,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3236,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3236,1
    - Dst: check_dbtype
      Src: /src/bind9/bin/named/server.c:3254,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:3260,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:3264,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:3268,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:3270,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3277,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:3277,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:3278,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3279,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:3279,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/server.c:3281,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:3283,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:3284,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:3285,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:3287,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3290,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3291,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3292,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:3293,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:3294,1
    - Dst: dns_zone_setautomatic
      Src: /src/bind9/bin/named/server.c:3295,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:3297,1
    - Dst: dns_zone_clearqueryacl
      Src: /src/bind9/bin/named/server.c:3299,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:3302,1
    - Dst: dns_zone_clearqueryonacl
      Src: /src/bind9/bin/named/server.c:3304,1
    - Dst: dns_zone_clearupdateacl
      Src: /src/bind9/bin/named/server.c:3306,1
    - Dst: dns_zone_setxfracl
      Src: /src/bind9/bin/named/server.c:3308,1
    - Dst: dns_zone_clearxfracl
      Src: /src/bind9/bin/named/server.c:3310,1
    - Dst: setquerystats
      Src: /src/bind9/bin/named/server.c:3313,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:3315,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3316,1
    - Dst: dns_zone_replacedb
      Src: /src/bind9/bin/named/server.c:3316,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3318,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:3319,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3320,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:3320,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3322,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:3326,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3327,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:3333,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:3336,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:3339,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3342,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 130
    argCount: 8
    argNames:
    - pzone
    - name
    - view
    - config
    - voptions
    - empty_dbtype
    - empty_dbtypec
    - statlevel
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - char**
    - int
    - dns_zonestat_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3150
    functionDepth: 2
    functionLinenumber: 3150
    functionLinenumberEnd: 3345
    functionName: create_empty_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_setqueryonacl
    - dns_zone_detach
    - isc_log_write
    - dns_name_fromstring
    - dns_zone_clearqueryonacl
    - dns_view_addzone
    - dns_zone_getraw
    - named_zone_templateopts
    - dns_zonemgr_managezone
    - dns_fixedname_initname
    - dns_db_detach
    - dns_zone_clearqueryacl
    - dns_zone_setcheckdstype
    - dns_zone_setdbtype
    - dns_zone_setview
    - dns_zone_gettype
    - dns_name_format
    - strcasecmp
    - add_soa
    - dns_db_create
    - dns_zone_getfile
    - dns_zone_replacedb
    - dns_zone_setstats
    - dns_zone_setqueryacl
    - dns_zone_settype
    - dns_zone_clearupdateacl
    - INSIST
    - dns_zonemgr_createzone
    - named_config_findopt
    - dns_zone_setautomatic
    - dns_db_newversion
    - dns_zone_clearxfracl
    - dns_zone_attach
    - dns_zone_setclass
    - strcmp
    - dns_zone_setorigin
    - add_ns
    - dns_zone_setnotifytype
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_clone
    - CHECK
    - dns_name_fullcompare
    - dns_zone_setoption
    - dns_zone_setxfracl
    - setquerystats
    - check_dbtype
    - cfg_map_get
    - cfg_listelt_value
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_empty_zone(dns_zone_t *pzone, dns_name_t *name,
      dns_view_t *view,\n\t\t  const cfg_obj_t *config, const cfg_obj_t *voptions,\n\t\t
      \ const char **empty_dbtype, int empty_dbtypec,\n\t\t  dns_zonestat_level_t
      statlevel)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3191,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3192,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3195,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3195,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3196,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3196,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/named/server.c:3197,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:3202,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3205,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3207,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3207,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3210,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3215,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3215,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3220,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/named/server.c:3220,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3223,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/named/server.c:3223,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3224,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/server.c:3225,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3227,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3227,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3231,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3231,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3233,1
    - Dst: add_soa
      Src: /src/bind9/bin/named/server.c:3233,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3234,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3234,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3236,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3190
    functionDepth: 2
    functionLinenumber: 3190
    functionLinenumberEnd: 3237
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - add_soa
    - dns_db_create
    - add_ns
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_clone
    - CHECK
    - dns_name_fullcompare
    - dns_name_fromstring
    - dns_db_newversion
    - named_config_findopt
    - strcmp
    - strcasecmp
    - cfg_listelt_value
    - named_zone_templateopts
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, element)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:3359,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3361,1
    - Dst: check_dbtype
      Src: /src/bind9/bin/named/server.c:3375,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/named/server.c:3385,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:3386,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3387,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:3387,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:3388,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:3389,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:3390,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/server.c:3391,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:3392,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:3393,1
    - Dst: dns_zone_setautomatic
      Src: /src/bind9/bin/named/server.c:3394,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3395,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:3397,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:3400,1
    - Dst: dns_zone_clearqueryacl
      Src: /src/bind9/bin/named/server.c:3402,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:3405,1
    - Dst: dns_zone_clearqueryonacl
      Src: /src/bind9/bin/named/server.c:3407,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:3409,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3410,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:3410,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:3412,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3413,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:3419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 7
    argNames:
    - pzone
    - view
    - name
    - type
    - mctx
    - server
    - contact
    argTypes:
    - dns_zone_t*
    - dns_view_t*
    - dns_name_t*
    - char*
    - isc_mem_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3422
      start: 3347
    functionDepth: 2
    functionLinenumber: 3347
    functionLinenumberEnd: 3422
    functionName: create_ipv4only_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_setqueryonacl
    - dns_zone_detach
    - isc_log_write
    - dns_view_addzone
    - REQUIRE
    - dns_zone_clearqueryonacl
    - dns_zonemgr_managezone
    - dns_zone_clearqueryacl
    - dns_zone_setcheckdstype
    - dns_zone_setdbtype
    - dns_zone_setview
    - dns_name_format
    - dns_zone_setstats
    - dns_zone_setqueryacl
    - dns_zone_settype
    - dns_zone_setautomatic
    - dns_zone_create
    - dns_zone_attach
    - dns_zone_setclass
    - strcmp
    - dns_zone_setorigin
    - dns_zone_setnotifytype
    - dns_zone_setoption
    - CHECK
    - check_dbtype
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_ipv4only_zone(dns_zone_t *pzone, dns_view_t *view,\n\t\t
      \    const dns_name_t *name, const char *type, isc_mem_t *mctx,\n\t\t     const
      char *server, const char *contact)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3435,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3444,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3445,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3446,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3447,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3449,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3451,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3453,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3455,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3457,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3464,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3465,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3470,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3471,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3473,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3487,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3487,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3490,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3492,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3494,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3494,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3500,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3502,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3505,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3507,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/bin/named/server.c:3508,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/server.c:3509,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3511,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3521,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:3522,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3523,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3528,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:3529,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3530,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3530,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/bin/named/server.c:3535,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/bin/named/server.c:3539,1
    - Dst: fstrm_iothr_options_set_queue_model
      Src: /src/bind9/bin/named/server.c:3541,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3545,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3547,1
    - Dst: fstrm_iothr_options_set_buffer_hint
      Src: /src/bind9/bin/named/server.c:3548,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3552,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3555,1
    - Dst: fstrm_iothr_options_set_flush_timeout
      Src: /src/bind9/bin/named/server.c:3556,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3560,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3563,1
    - Dst: fstrm_iothr_options_set_input_queue_size
      Src: /src/bind9/bin/named/server.c:3564,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3568,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3571,1
    - Dst: fstrm_iothr_options_set_queue_notify_threshold
      Src: /src/bind9/bin/named/server.c:3572,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3576,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3579,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3579,1
    - Dst: fstrm_iothr_options_set_queue_model
      Src: /src/bind9/bin/named/server.c:3584,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3588,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3591,1
    - Dst: fstrm_iothr_options_set_output_queue_size
      Src: /src/bind9/bin/named/server.c:3592,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3596,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:3599,1
    - Dst: fstrm_iothr_options_set_reopen_interval
      Src: /src/bind9/bin/named/server.c:3600,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3603,1
    - Dst: dns_dt_create
      Src: /src/bind9/bin/named/server.c:3603,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3607,1
    - Dst: dns_dt_setupfile
      Src: /src/bind9/bin/named/server.c:3607,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3617,1
    - Dst: dns_dt_setversion
      Src: /src/bind9/bin/named/server.c:3620,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3621,1
    - Dst: dns_dt_setversion
      Src: /src/bind9/bin/named/server.c:3623,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3623,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3627,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:3628,1
    - Dst: gethostname
      Src: /src/bind9/bin/named/server.c:3631,1
    - Dst: dns_dt_setidentity
      Src: /src/bind9/bin/named/server.c:3632,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3634,1
    - Dst: dns_dt_setidentity
      Src: /src/bind9/bin/named/server.c:3636,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3637,1
    - Dst: dns_dt_attach
      Src: /src/bind9/bin/named/server.c:3640,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/bin/named/server.c:3647,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 157
    argCount: 2
    argNames:
    - maps
    - view
    argTypes:
    - cfg_obj_t**
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3651
      start: 3425
    functionDepth: 1
    functionLinenumber: 3425
    functionLinenumberEnd: 3651
    functionName: configure_dnstap
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_get
    - dns_dt_create
    - cfg_obj_isboolean
    - fstrm_iothr_options_set_output_queue_size
    - fstrm_iothr_options_set_queue_notify_threshold
    - fstrm_iothr_options_set_num_input_queues
    - strcasecmp
    - cfg_obj_asuint32
    - cfg_obj_asduration
    - dns_dt_attach
    - fstrm_iothr_options_destroy
    - cfg_obj_isvoid
    - cfg_obj_isstring
    - fstrm_iothr_options_set_queue_model
    - CHECKM
    - dns_dt_setidentity
    - dns_dt_setversion
    - gethostname
    - fstrm_iothr_options_init
    - cfg_obj_isuint32
    - cfg_obj_isuint64
    - fstrm_iothr_options_set_flush_timeout
    - cfg_obj_log
    - cfg_obj_asuint64
    - fstrm_iothr_options_set_reopen_interval
    - fstrm_iothr_options_set_buffer_hint
    - dns_dt_setupfile
    - cfg_obj_asstring
    - cfg_tuple_get
    - fstrm_iothr_options_set_input_queue_size
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_dnstap(const cfg_obj_t **maps, dns_view_t *view)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3444,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3445,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3446,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3447,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3449,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3451,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3453,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3455,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3457,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3464,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3465,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3470,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3471,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3478
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (dlist, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/bin/named/server.c:3661,1
    - Dst: dns_acl_create
      Src: /src/bind9/bin/named/server.c:3663,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/bin/named/server.c:3665,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:3667,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:3669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3671
      start: 3654
    functionDepth: 1
    functionLinenumber: 3654
    functionLinenumberEnd: 3671
    functionName: create_mapped_acl
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - dns_iptable_addprefix
    - dns_acl_create
    - isc_netaddr_fromin6
    - dns_acl_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_mapped_acl(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_plugin_expandpath
      Src: /src/bind9/bin/named/server.c:3686,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3689,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:3693,1
    - Dst: ns_plugin_register
      Src: /src/bind9/bin/named/server.c:3697,1
    - Dst: cfg_obj_file
      Src: /src/bind9/bin/named/server.c:3698,1
    - Dst: cfg_obj_line
      Src: /src/bind9/bin/named/server.c:3698,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3701,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:3704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - config
    - obj
    - plugin_path
    - parameters
    - callback_data
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3678
    functionDepth: 1
    functionLinenumber: 3678
    functionLinenumberEnd: 3708
    functionName: register_one_plugin
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - cfg_obj_file
    - ns_plugin_register
    - isc_log_write
    - ns_plugin_expandpath
    - cfg_obj_line
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t register_one_plugin(const cfg_obj_t *config, const cfg_obj_t
      *obj,\n\t\t    const char *plugin_path, const char *parameters,\n\t\t    void
      *callback_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3728,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3729,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3730,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - maps
    - optionmaps
    argTypes:
    - cfg_obj_t*[]
    - cfg_obj_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3719
    functionDepth: 1
    functionLinenumber: 3719
    functionLinenumberEnd: 3744
    functionName: minimal_cache_allowed
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asboolean
    - named_config_get
    - INSIST
    linkageType: ''
    returnType: bool
    signature: "bool minimal_cache_allowed(const cfg_obj_t *maps[4],\n\t\t      const
      cfg_obj_t *optionmaps[3])"
  - BBCount: 205
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:3821,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/bin/named/server.c:3821,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3824,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3833,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3854,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:3854,1
    - Dst: dns_view_setdstport
      Src: /src/bind9/bin/named/server.c:3855,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3863,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3865,1
    - Dst: configure_rpz
      Src: /src/bind9/bin/named/server.c:3865,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3871,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3873,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3880,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3882,1
    - Dst: configure_catz
      Src: /src/bind9/bin/named/server.c:3882,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3891,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3893,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3900,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3901,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:3901,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:3916,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:3919,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3921,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3938,1
    - Dst: configure_newzones
      Src: /src/bind9/bin/named/server.c:3938,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3945,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3947,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3951,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3954,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:3958,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3958,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/bin/named/server.c:3960,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3963,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:3967,1
    - Dst: dns_dlzcreate
      Src: /src/bind9/bin/named/server.c:3968,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3968,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3971,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/server.c:3972,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3983,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3984,1
    - Dst: dns_dlzconfigure
      Src: /src/bind9/bin/named/server.c:3986,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3991,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3995,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4006,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4007,1
    - Dst: minimal_cache_allowed
      Src: /src/bind9/bin/named/server.c:4017,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:4023,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4024,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4025,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4025,1
    - Dst: cfg_obj_ispercentage
      Src: /src/bind9/bin/named/server.c:4027,1
    - Dst: cfg_obj_aspercentage
      Src: /src/bind9/bin/named/server.c:4029,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/server.c:4031,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4033,1
    - Dst: isc_meminfo_totalphys
      Src: /src/bind9/bin/named/server.c:4045,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4050,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4055,1
    - Dst: named_checknames_get
      Src: /src/bind9/bin/named/server.c:4067,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4068,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4070,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4071,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4075,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4078,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4081,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4085,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4086,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4087,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4090,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4091,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4092,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4095,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4096,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4097,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4105,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4107,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4113,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4115,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4121,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/bin/named/server.c:4125,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:4125,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4129,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/server.c:4132,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:4133,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4140,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4142,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4149,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4151,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4158,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4160,1
    - Dst: create_mapped_acl
      Src: /src/bind9/bin/named/server.c:4167,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4172,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4176,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4177,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4182,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4183,1
    - Dst: dns_dns64_create
      Src: /src/bind9/bin/named/server.c:4187,1
    - Dst: dns_dns64_append
      Src: /src/bind9/bin/named/server.c:4190,1
    - Dst: dns64_reverse
      Src: /src/bind9/bin/named/server.c:4192,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4198,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4201,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4204,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4210,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4211,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4212,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4216,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4221,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4223,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:4226,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4227,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4239,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4240,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4241,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4244,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4245,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4246,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4249,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4250,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4251,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4254,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4255,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4256,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4259,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4260,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4261,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4264,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4265,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4266,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4268,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4269,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:4270,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4270,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4278,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4279,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4280,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:4282,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:4286,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4292,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4293,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:4294,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4305,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4313,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4322,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4323,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4324,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4350,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4352,1
    - Dst: cachelist_find
      Src: /src/bind9/bin/named/server.c:4357,1
    - Dst: cachelist_find
      Src: /src/bind9/bin/named/server.c:4364,1
    - Dst: cache_sharable
      Src: /src/bind9/bin/named/server.c:4368,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4372,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:4377,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:4381,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:4382,1
    - Dst: dns_cache_attach
      Src: /src/bind9/bin/named/server.c:4385,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4388,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:4389,1
    - Dst: cache_reusable
      Src: /src/bind9/bin/named/server.c:4395,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4396,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:4398,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4405,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4406,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:4408,1
    - Dst: dns_cache_attach
      Src: /src/bind9/bin/named/server.c:4410,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/server.c:4412,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/server.c:4413,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:4415,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4429,1
    - Dst: dns_cache_create
      Src: /src/bind9/bin/named/server.c:4429,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:4433,1
    - Dst: dns_cache_attach
      Src: /src/bind9/bin/named/server.c:4440,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:4441,1
    - Dst: dns_view_setcache
      Src: /src/bind9/bin/named/server.c:4444,1
    - Dst: dns_cache_setcachesize
      Src: /src/bind9/bin/named/server.c:4446,1
    - Dst: dns_cache_setservestalettl
      Src: /src/bind9/bin/named/server.c:4447,1
    - Dst: dns_cache_setservestalerefresh
      Src: /src/bind9/bin/named/server.c:4448,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:4450,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4453,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4454,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:4455,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4455,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4460,1
    - Dst: get_view_querysource_dispatch
      Src: /src/bind9/bin/named/server.c:4460,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4461,1
    - Dst: get_view_querysource_dispatch
      Src: /src/bind9/bin/named/server.c:4461,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/server.c:4463,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4469,1
    - Dst: dns_view_createresolver
      Src: /src/bind9/bin/named/server.c:4469,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:4474,1
    - Dst: dns_resolver_setstats
      Src: /src/bind9/bin/named/server.c:4476,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/bin/named/server.c:4478,1
    - Dst: dns_resolver_setquerystats
      Src: /src/bind9/bin/named/server.c:4480,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:4497,1
    - Dst: dns_adb_setadbsize
      Src: /src/bind9/bin/named/server.c:4499,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:4503,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:4508,1
    - Dst: dns_adb_setadbsize
      Src: /src/bind9/bin/named/server.c:4510,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:4511,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4522,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4523,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4524,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4525,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4526,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:4527,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4528,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4531,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4533,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4536,1
    - Dst: dns_resolver_setquotaresponse
      Src: /src/bind9/bin/named/server.c:4539,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4544,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4545,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4547,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4548,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4550,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/bin/named/server.c:4551,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4553,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/bin/named/server.c:4554,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4556,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/bin/named/server.c:4557,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:4559,1
    - Dst: dns_adb_setquota
      Src: /src/bind9/bin/named/server.c:4561,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:4562,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4570,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4571,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4572,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4574,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4583,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4584,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4585,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/bin/named/server.c:4586,1
    - Dst: dns_resolver_setzeronosoattl
      Src: /src/bind9/bin/named/server.c:4589,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4595,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4596,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4597,1
    - Dst: dns_view_setudpsize
      Src: /src/bind9/bin/named/server.c:4604,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4610,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4611,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4612,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4625,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4626,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4627,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4640,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4643,1
    - Dst: disable_algorithms
      Src: /src/bind9/bin/named/server.c:4643,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4643,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4652,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4655,1
    - Dst: disable_ds_digests
      Src: /src/bind9/bin/named/server.c:4655,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4655,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4666,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4667,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4669,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:4669,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4677,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4679,1
    - Dst: configure_alternates
      Src: /src/bind9/bin/named/server.c:4679,1
    - Dst: dns_view_sethints
      Src: /src/bind9/bin/named/server.c:4686,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:4698,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:4701,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4705,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4715,1
    - Dst: named_transports_fromconfig
      Src: /src/bind9/bin/named/server.c:4715,1
    - Dst: dns_view_settransports
      Src: /src/bind9/bin/named/server.c:4717,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/bin/named/server.c:4718,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4724,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4725,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4726,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4729,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4730,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4731,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4736,1
    - Dst: named_tsigkeyring_fromconfig
      Src: /src/bind9/bin/named/server.c:4736,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/bin/named/server.c:4739,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/bin/named/server.c:4745,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/server.c:4746,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4748,1
    - Dst: dns_view_setkeyring
      Src: /src/bind9/bin/named/server.c:4750,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/server.c:4751,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:4756,1
    - Dst: dns_view_getdynamickeyring
      Src: /src/bind9/bin/named/server.c:4762,1
    - Dst: dns_view_setdynamickeyring
      Src: /src/bind9/bin/named/server.c:4764,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/server.c:4766,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:4767,1
    - Dst: dns_view_restorekeyring
      Src: /src/bind9/bin/named/server.c:4769,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4779,1
    - Dst: dns_peerlist_new
      Src: /src/bind9/bin/named/server.c:4780,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4782,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4785,1
    - Dst: configure_peer
      Src: /src/bind9/bin/named/server.c:4785,1
    - Dst: dns_peerlist_addpeer
      Src: /src/bind9/bin/named/server.c:4786,1
    - Dst: dns_peer_detach
      Src: /src/bind9/bin/named/server.c:4787,1
    - Dst: dns_peerlist_detach
      Src: /src/bind9/bin/named/server.c:4789,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4799,1
    - Dst: dns_order_create
      Src: /src/bind9/bin/named/server.c:4800,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4802,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4804,1
    - Dst: configure_order
      Src: /src/bind9/bin/named/server.c:4804,1
    - Dst: dns_order_detach
      Src: /src/bind9/bin/named/server.c:4807,1
    - Dst: dns_order_attach
      Src: /src/bind9/bin/named/server.c:4809,1
    - Dst: dns_order_detach
      Src: /src/bind9/bin/named/server.c:4810,1
    - Dst: dns_aclenv_copy
      Src: /src/bind9/bin/named/server.c:4815,1
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/server.c:4815,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4824,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4824,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4826,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4826,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4834,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4835,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4845,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4846,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4847,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4850,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4851,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4852,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4853,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4854,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4857,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4866,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4867,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4868,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4871,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4872,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4873,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4876,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4877,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:4878,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4879,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4885,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4886,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4888,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4891,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4896,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4897,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4898,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4899,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4901,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4904,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4908,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4909,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4910,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4913,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4914,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4915,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4931,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4931,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4935,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4935,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4938,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4938,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4941,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4941,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4945,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4945,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4949,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4949,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4953,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4957,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4957,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4961,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4961,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4973,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4976,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4986,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4989,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:5000,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:5011,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5023,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5023,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5030,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5030,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5037,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5037,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5044,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5044,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5055,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/server.c:5055,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5058,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/server.c:5058,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5068,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5068,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5078,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5078,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5087,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5088,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5089,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5094,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5094,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5097,1
    - Dst: configure_view_nametable
      Src: /src/bind9/bin/named/server.c:5097,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5104,1
    - Dst: configure_view_nametable
      Src: /src/bind9/bin/named/server.c:5104,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5107,1
    - Dst: configure_view_nametable
      Src: /src/bind9/bin/named/server.c:5107,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5118,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5118,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5123,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5123,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5133,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5133,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5138,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:5138,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5144,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5145,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5146,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5149,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5150,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5151,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5154,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5155,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5156,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5159,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5160,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5161,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5165,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5167,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5169,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5170,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5171,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5174,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5180,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:5180,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5185,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5186,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5187,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5190,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5191,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5192,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5195,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5196,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5197,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5200,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5201,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5202,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5205,1
    - Dst: dns_resolver_setclientsperquery
      Src: /src/bind9/bin/named/server.c:5213,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5221,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5222,1
    - Dst: dns_view_setmaxrrperset
      Src: /src/bind9/bin/named/server.c:5223,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5223,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5230,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5231,1
    - Dst: dns_view_setmaxtypepername
      Src: /src/bind9/bin/named/server.c:5232,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5232,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5235,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5236,1
    - Dst: dns_resolver_setmaxdepth
      Src: /src/bind9/bin/named/server.c:5237,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5237,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5240,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5241,1
    - Dst: dns_resolver_setmaxqueries
      Src: /src/bind9/bin/named/server.c:5242,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5242,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5245,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5246,1
    - Dst: dns_view_setmaxrestarts
      Src: /src/bind9/bin/named/server.c:5247,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5247,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5250,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5251,1
    - Dst: dns_view_setmaxqueries
      Src: /src/bind9/bin/named/server.c:5252,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5252,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5255,1
    - Dst: dns_resolver_setmaxvalidations
      Src: /src/bind9/bin/named/server.c:5257,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5258,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5262,1
    - Dst: dns_resolver_setmaxvalidationfails
      Src: /src/bind9/bin/named/server.c:5265,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5266,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5270,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5271,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5272,1
    - Dst: dns_resolver_setfetchesperzone
      Src: /src/bind9/bin/named/server.c:5273,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5273,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5274,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:5275,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5276,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5279,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5281,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:5284,1
    - Dst: dns_resolver_setquotaresponse
      Src: /src/bind9/bin/named/server.c:5287,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5292,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5293,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5294,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5295,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5299,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:5300,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5304,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5305,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5306,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5307,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5311,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5311,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5313,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5322,1
    - Dst: configure_view_dnsseckeys
      Src: /src/bind9/bin/named/server.c:5322,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5326,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5327,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:5328,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5331,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5332,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:5333,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5336,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5338,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5339,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5341,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5355,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5357,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5361,1
    - Dst: isc_hash_get_initializer
      Src: /src/bind9/bin/named/server.c:5364,1
    - Dst: dns_dyndb_createctx
      Src: /src/bind9/bin/named/server.c:5365,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5370,1
    - Dst: configure_dyndb
      Src: /src/bind9/bin/named/server.c:5370,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5378,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5380,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5384,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5385,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/bin/named/server.c:5385,1
    - Dst: ns_plugins_create
      Src: /src/bind9/bin/named/server.c:5389,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5392,1
    - Dst: cfg_pluginlist_foreach
      Src: /src/bind9/bin/named/server.c:5392,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5401,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5402,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5409,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5430,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5433,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5435,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5435,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5435,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:5437,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5438,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:5438,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:5439,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5446,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5448,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5448,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5448,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:5450,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5451,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:5451,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:5452,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5459,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5460,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:5461,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5462,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5468,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5469,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5471,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5473,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:5476,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5489,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5489,1
    - Dst: on_disable_list
      Src: /src/bind9/bin/named/server.c:5492,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5500,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5503,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/bin/named/server.c:5511,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/bin/named/server.c:5517,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5526,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5535,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:5537,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5540,1
    - Dst: create_empty_zone
      Src: /src/bind9/bin/named/server.c:5540,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5544,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5551,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5554,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:5555,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5571,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5573,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5579,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5581,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5586,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/named/server.c:5587,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5593,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5593,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5597,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5600,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/bin/named/server.c:5607,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/bin/named/server.c:5613,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5622,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5631,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:5633,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5636,1
    - Dst: create_ipv4only_zone
      Src: /src/bind9/bin/named/server.c:5636,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5640,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5646,1
    - Dst: configure_rrl
      Src: /src/bind9/bin/named/server.c:5648,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5658,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5659,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:5660,1
    - Dst: dns_view_setfailttl
      Src: /src/bind9/bin/named/server.c:5664,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5670,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:5672,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5673,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5673,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5673,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5684,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:5686,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5693,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5694,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5695,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5695,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5696,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5698,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/bin/named/server.c:5698,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5708,1
    - Dst: configure_dnstap
      Src: /src/bind9/bin/named/server.c:5708,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5720,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:5723,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5728,1
    - Dst: configure_rpz
      Src: /src/bind9/bin/named/server.c:5737,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:5740,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5753,1
    - Dst: configure_catz
      Src: /src/bind9/bin/named/server.c:5762,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:5765,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:5775,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:5779,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5785,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:5786,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:5800,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5803,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5806,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5809,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/server.c:5812,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5815,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/named/server.c:5818,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/named/server.c:5821,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:5824,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/server.c:5827,1
    - Dst: dns_order_detach
      Src: /src/bind9/bin/named/server.c:5830,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:5833,1
    - Dst: dns_dyndb_destroyctx
      Src: /src/bind9/bin/named/server.c:5836,1
    CyclomaticComplexity: 263
    EdgeCount: 263
    ICount: 1187
    argCount: 12
    argNames:
    - view
    - viewlist
    - config
    - vconfig
    - cachelist
    - oldcachelist
    - kasplist
    - keystores
    - bindkeys
    - mctx
    - actx
    - need_hints
    argTypes:
    - dns_view_t*
    - dns_viewlist_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - named_cachelist_t*
    - named_cachelist_t*
    - dns_kasplist_t*
    - dns_keystorelist_t*
    - cfg_obj_t*
    - isc_mem_t*
    - cfg_aclconfctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 3755
    functionDepth: 5
    functionLinenumber: 3755
    functionLinenumberEnd: 5840
    functionName: configure_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_viewlist_find
    - dns_view_setdynamickeyring
    - cfg_obj_aspercentage
    - configure_forward
    - dns_view_thaw
    - dns_resolver_setquotaresponse
    - disable_algorithms
    - dns_resolver_setmaxvalidations
    - isc_log_write
    - REQUIRE
    - configure_alternates
    - dns_peerlist_new
    - cfg_obj_isboolean
    - dns_view_setdstport
    - dns_view_setmaxrestarts
    - dns_view_restorekeyring
    - cfg_map_getname
    - dns_resolver_setclientsperquery
    - configure_zone_setviewcommit
    - dns_tsigkey_createfromkey
    - dns_view_findzone
    - cfg_obj_asuint32
    - dns_dispatch_detach
    - dns_rdatatypestats_create
    - ARRAY_SIZE
    - create_ipv4only_zone
    - configure_zone
    - dns_cache_setservestalettl
    - dns_view_setmaxrrperset
    - isc_mem_get
    - dns_dyndb_destroyctx
    - CHECKM
    - configure_order
    - configure_view_dnsseckeys
    - dns_view_setfailttl
    - cfg_obj_log
    - cfg_obj_asuint64
    - dns_view_getntatable
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_buffer_init
    - dns_cache_detach
    - dns_resolver_setfetchesperzone
    - cfg_obj_asboolean
    - ISC_MAX
    - isc_mem_cput
    - dns_acl_detach
    - named_config_get
    - dns_order_detach
    - named_tsigkeyring_fromconfig
    - cache_reusable
    - configure_rrl
    - dns_transport_list_detach
    - dns_acl_none
    - dns_zone_detach
    - dns_view_setmaxtypepername
    - DNS_VIEW_VALID
    - named_checknames_get
    - dns_cache_getname
    - UNREACHABLE
    - dns_cache_setservestalerefresh
    - dns_dlzconfigure
    - dns_resolver_setzeronosoattl
    - dns_dns64_create
    - dns_name_format
    - DNS_RPZ_ZBIT
    - dns_order_attach
    - named_transports_fromconfig
    - dns_resolver_setmaxdepth
    - dns_cache_attach
    - UNEXPECTED_ERROR
    - dns_view_setudpsize
    - dns_resolver_setmaxvalidationfails
    - INSIST
    - isc_stats_create
    - cfg_pluginlist_foreach
    - isc_mem_strdup
    - dns_cache_setcachesize
    - dns_view_settransports
    - dns_view_createresolver
    - configure_dyndb
    - cfg_obj_isuint32
    - dns_view_getdynamickeyring
    - dns_resolver_getstats
    - isc_meminfo_totalphys
    - named_config_getport
    - dns_adb_setquota
    - isc_buffer_usedlength
    - dns_aclenv_copy
    - configure_peer
    - cfg_listelt_value
    - dns_name_totext
    - dns_view_sethints
    - create_mapped_acl
    - minimal_cache_allowed
    - cachelist_find
    - dns_peerlist_detach
    - dns_peer_detach
    - on_disable_list
    - configure_newzones
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - disable_ds_digests
    - dns_cache_create
    - dns_view_getadb
    - dns_view_setmaxqueries
    - dns_adb_setadbsize
    - dns_view_setkeyring
    - dns_order_create
    - cfg_acl_fromconfig
    - configure_view_nametable
    - ISC_LIST_EMPTY
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - cfg_obj_isvoid
    - dns_resolver_setquerystats
    - ns_interfacemgr_getaclenv
    - ns_hooktable_create
    - dns_resolver_setmaxqueries
    - dns_resolver_getquerystats
    - get_view_querysource_dispatch
    - ISC_LIST_APPEND
    - isc_mem_free
    - CHECK
    - dns_peerlist_addpeer
    - strcmp
    - dns_resolver_settimeout
    - cfg_obj_assockaddr
    - dns_view_setcache
    - isc_stats_detach
    - cache_sharable
    - dns_adb_detach
    - dns_tsigkeyring_detach
    - dns_name_fromstring
    - isc_commandline_strtoargv
    - dns_dyndb_createctx
    - dns_tsigkeyring_add
    - ns_plugins_create
    - dns_dlzcreate
    - create_empty_zone
    - configure_view_acl
    - configure_rpz
    - dns_resolver_setstats
    - dns_acl_attach
    - dns_ntatable_add
    - strcasecmp
    - configure_dnstap
    - cfg_obj_asduration
    - cfg_obj_ispercentage
    - cfg_obj_asfixedpoint
    - dns_fwdtable_find
    - cfg_obj_isstring
    - dns_ntatable_detach
    - ISC_LIST_UNLINK
    - cfg_obj_asnetprefix
    - dns_forwarders_detach
    - dns_dns64_append
    - dns_stats_detach
    - dns_view_freeze
    - isc_hash_get_initializer
    - cfg_map_get
    - dns64_reverse
    - dns_view_detach
    - configure_catz
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
      cfg_obj_t *config,\n\t       cfg_obj_t *vconfig, named_cachelist_t *cachelist,\n\t
      \      named_cachelist_t *oldcachelist, dns_kasplist_t *kasplist,\n\t       dns_keystorelist_t
      *keystores, const cfg_obj_t *bindkeys,\n\t       isc_mem_t *mctx, cfg_aclconfctx_t
      *actx, bool need_hints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3900,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3901,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:3901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3899
    functionDepth: 1
    functionLinenumber: 3899
    functionLinenumberEnd: 3905
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_zone
    - CHECK
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3951,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3954,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:3958,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3958,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/bin/named/server.c:3960,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3963,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:3967,1
    - Dst: dns_dlzcreate
      Src: /src/bind9/bin/named/server.c:3968,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3968,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3971,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/server.c:3972,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3983,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3984,1
    - Dst: dns_dlzconfigure
      Src: /src/bind9/bin/named/server.c:3986,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3991,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3995,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3999
      start: 3950
    functionDepth: 1
    functionLinenumber: 3950
    functionLinenumberEnd: 3999
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - isc_mem_free
    - cfg_map_getname
    - dns_dlzconfigure
    - dns_dlzcreate
    - cfg_obj_asstring
    - isc_mem_cput
    - isc_mem_strdup
    - isc_commandline_strtoargv
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (dlzlist, element)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4121,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/bin/named/server.c:4125,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:4125,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4129,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/server.c:4132,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:4133,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4140,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4142,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4149,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4151,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4158,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4160,1
    - Dst: create_mapped_acl
      Src: /src/bind9/bin/named/server.c:4167,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4172,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4176,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4177,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4182,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4183,1
    - Dst: dns_dns64_create
      Src: /src/bind9/bin/named/server.c:4187,1
    - Dst: dns_dns64_append
      Src: /src/bind9/bin/named/server.c:4190,1
    - Dst: dns64_reverse
      Src: /src/bind9/bin/named/server.c:4192,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4198,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4201,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4204,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4206
      start: 4120
    functionDepth: 3
    functionLinenumber: 4120
    functionLinenumberEnd: 4206
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - cfg_map_getname
    - isc_netaddr_fromsockaddr
    - create_mapped_acl
    - cfg_obj_asboolean
    - dns_dns64_append
    - dns64_reverse
    - dns_dns64_create
    - cfg_obj_assockaddr
    - cfg_obj_asnetprefix
    - dns_acl_attach
    - cfg_map_get
    - cfg_listelt_value
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4643,1
    - Dst: disable_algorithms
      Src: /src/bind9/bin/named/server.c:4643,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4645
      start: 4642
    functionDepth: 2
    functionLinenumber: 4642
    functionLinenumberEnd: 4645
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - disable_algorithms
    - CHECK
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (disabled, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4655,1
    - Dst: disable_ds_digests
      Src: /src/bind9/bin/named/server.c:4655,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4654
    functionDepth: 2
    functionLinenumber: 4654
    functionLinenumberEnd: 4657
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - CHECK
    - cfg_listelt_value
    - disable_ds_digests
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (disabled, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4782,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4785,1
    - Dst: configure_peer
      Src: /src/bind9/bin/named/server.c:4785,1
    - Dst: dns_peerlist_addpeer
      Src: /src/bind9/bin/named/server.c:4786,1
    - Dst: dns_peer_detach
      Src: /src/bind9/bin/named/server.c:4787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4788
      start: 4781
    functionDepth: 2
    functionLinenumber: 4781
    functionLinenumberEnd: 4788
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_peer_detach
    - CHECK
    - dns_peerlist_addpeer
    - configure_peer
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (peers, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4802,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4804,1
    - Dst: configure_order
      Src: /src/bind9/bin/named/server.c:4804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4805
      start: 4801
    functionDepth: 2
    functionLinenumber: 4801
    functionLinenumberEnd: 4805
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_order
    - CHECK
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (rrsetorder, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5361,1
    - Dst: isc_hash_get_initializer
      Src: /src/bind9/bin/named/server.c:5364,1
    - Dst: dns_dyndb_createctx
      Src: /src/bind9/bin/named/server.c:5365,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5370,1
    - Dst: configure_dyndb
      Src: /src/bind9/bin/named/server.c:5370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5360
    functionDepth: 2
    functionLinenumber: 5360
    functionLinenumberEnd: 5371
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - CHECK
    - isc_hash_get_initializer
    - configure_dyndb
    - dns_dyndb_createctx
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (dyndb_list, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5693,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5694,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5695,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5695,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5696,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5698,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/bin/named/server.c:5698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5700
      start: 5689
    functionDepth: 1
    functionLinenumber: 5689
    functionLinenumberEnd: 5700
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - cfg_obj_asstring
    - CHECK
    - dns_name_fromstring
    - dns_ntatable_add
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5785,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:5786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5795
      start: 5783
    functionDepth: 1
    functionLinenumber: 5783
    functionLinenumberEnd: 5795
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - configure_zone_setviewcommit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rootns_create
      Src: /src/bind9/bin/named/server.c:5848,1
    - Dst: dns_view_sethints
      Src: /src/bind9/bin/named/server.c:5850,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:5851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - view
    - filename
    argTypes:
    - dns_view_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5855
      start: 5842
    functionDepth: 1
    functionLinenumber: 5842
    functionLinenumberEnd: 5855
    functionName: configure_hints
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_sethints
    - dns_db_detach
    - dns_rootns_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_hints(dns_view_t *view, const char *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:5868,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:5868,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5871,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5872,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5873,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5875,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5885,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5889,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/server.c:5892,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5895,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5896,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:5900,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5900,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:5901,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5901,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5902,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5903,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:5903,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5906,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5907,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5908,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5910,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5917,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:5922,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:5923,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:5924,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - config
    - view
    - alternates
    argTypes:
    - cfg_obj_t*
    - dns_view_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5931
      start: 5857
    functionDepth: 1
    functionLinenumber: 5857
    functionLinenumberEnd: 5931
    functionName: configure_alternates
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_fixedname_initname
    - isc_buffer_constinit
    - isc_sockaddr_setport
    - cfg_obj_asuint32
    - isc_sockaddr_getport
    - dns_name_fromtext
    - cfg_listelt_value
    - strlen
    - CHECKM
    - dns_resolver_addalternate
    - cfg_obj_log
    - cfg_obj_isuint32
    - cfg_obj_issockaddr
    - named_config_getport
    - cfg_tuple_get
    - cfg_obj_asstring
    - CHECK
    - isc_buffer_add
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_alternates(const cfg_obj_t *config, dns_view_t
      *view,\n\t\t     const cfg_obj_t *alternates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5889,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/server.c:5892,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5895,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5896,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:5900,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5900,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:5901,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5901,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5902,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5903,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:5903,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5906,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5907,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5908,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5910,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5917,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:5922,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:5923,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:5924,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5888
    functionDepth: 1
    functionLinenumber: 5888
    functionLinenumberEnd: 5927
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_assockaddr
    - cfg_obj_asuint32
    - cfg_obj_isuint32
    - cfg_obj_issockaddr
    - dns_name_fromtext
    - isc_sockaddr_getport
    - isc_sockaddr_setport
    - dns_fixedname_initname
    - cfg_tuple_get
    - cfg_obj_asstring
    - strlen
    - CHECK
    - isc_buffer_add
    - dns_resolver_addalternate
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (addresses, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5937,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5938,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5942,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5947,1
    - Dst: find_maplist
      Src: /src/bind9/bin/named/server.c:5948,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5951,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:5958,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:5959,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/server.c:5960,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - config
    - view
    - obj
    - str
    - name
    argTypes:
    - cfg_obj_t*
    - dns_view_t*
    - cfg_obj_t*
    - char*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5964
      start: 5933
    functionDepth: 1
    functionLinenumber: 5933
    functionLinenumberEnd: 5964
    functionName: validate_tls
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_fixedname_initname
    - isc_mem_get
    - find_maplist
    - dns_name_fromstring
    - dns_name_dup
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t validate_tls(const cfg_obj_t *config, dns_view_t *view,
      const cfg_obj_t *obj,\n\t     const char *str, dns_name_t **name)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:5980,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:5985,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:5985,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:5986,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:5986,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5989,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5990,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5991,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5993,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6005,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:6006,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6007,1
    - Dst: validate_tls
      Src: /src/bind9/bin/named/server.c:6009,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6020,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:6024,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:6027,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/bin/named/server.c:6030,1
    - Dst: validate_tls
      Src: /src/bind9/bin/named/server.c:6035,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6038,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:6043,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:6044,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:6045,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:6048,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:6049,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:6052,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6054,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6063,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6064,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6066,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:6069,1
    - Dst: dns_fwdtable_addfwd
      Src: /src/bind9/bin/named/server.c:6074,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:6078,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6079,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:6081,1
    - Dst: dns_view_sfd_add
      Src: /src/bind9/bin/named/server.c:6086,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:6093,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:6094,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/server.c:6096,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6097,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6100,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 91
    argCount: 5
    argNames:
    - config
    - view
    - origin
    - forwarders
    - forwardtype
    argTypes:
    - cfg_obj_t*
    - dns_view_t*
    - dns_name_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6104
      start: 5966
    functionDepth: 1
    functionLinenumber: 5966
    functionLinenumberEnd: 6104
    functionName: configure_forward
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_name_free
    - UNREACHABLE
    - cfg_obj_getsockaddrtls
    - ISC_LINK_INIT
    - dns_fwdtable_addfwd
    - validate_tls
    - ISC_LIST_INIT
    - dns_name_format
    - strcasecmp
    - isc_sockaddr_setport
    - cfg_obj_asuint32
    - isc_sockaddr_getport
    - dns_view_sfd_add
    - cfg_listelt_value
    - ISC_LIST_EMPTY
    - cfg_obj_isstring
    - isc_mem_get
    - CHECKM
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - cfg_obj_log
    - cfg_obj_isuint32
    - ISC_LIST_APPEND
    - named_config_getport
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_mem_put
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_forward(const cfg_obj_t *config, dns_view_t
      *view,\n\t\t  const dns_name_t *origin, const cfg_obj_t *forwarders,\n\t\t  const
      cfg_obj_t *forwardtype)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:6024,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:6027,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/bin/named/server.c:6030,1
    - Dst: validate_tls
      Src: /src/bind9/bin/named/server.c:6035,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6038,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:6043,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:6044,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:6045,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:6048,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:6049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6050
      start: 6023
    functionDepth: 1
    functionLinenumber: 6023
    functionLinenumberEnd: 6050
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - cfg_obj_getsockaddrtls
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - validate_tls
    - isc_mem_get
    - cfg_obj_assockaddr
    - isc_mem_put
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (faddresses, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6113,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6114,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6119,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6119,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6120,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6121,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:6121,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/named/server.c:6123,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6124,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - vconfig
    - namep
    - classp
    argTypes:
    - cfg_obj_t*
    - char**
    - dns_rdataclass_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6140
      start: 6106
    functionDepth: 1
    functionLinenumber: 6106
    functionLinenumberEnd: 6140
    functionName: get_viewinfo
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_getclass
    - cfg_tuple_get
    - cfg_obj_asstring
    - CHECK
    - isc_log_write
    - REQUIRE
    - dns_rdataclass_ismeta
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_viewinfo(const cfg_obj_t *vconfig, const char **namep,\n\t
      \    dns_rdataclass_t *classp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_viewinfo
      Src: /src/bind9/bin/named/server.c:6155,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - vconfig
    - viewlist
    - viewp
    argTypes:
    - cfg_obj_t*
    - dns_viewlist_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6167
      start: 6147
    functionDepth: 2
    functionLinenumber: 6147
    functionLinenumberEnd: 6167
    functionName: find_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_viewlist_find
    - get_viewinfo
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_view(const cfg_obj_t *vconfig, dns_viewlist_t *viewlist,\n\t
      \ dns_view_t **viewp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_viewinfo
      Src: /src/bind9/bin/named/server.c:6184,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6189,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6196,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/named/server.c:6198,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/named/server.c:6201,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:6203,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:6204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - vconfig
    - viewlist
    - viewp
    argTypes:
    - cfg_obj_t*
    - dns_viewlist_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6206
      start: 6176
    functionDepth: 2
    functionLinenumber: 6176
    functionLinenumberEnd: 6206
    functionName: create_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_viewlist_find
    - dns_view_attach
    - get_viewinfo
    - ISC_LIST_APPEND
    - isc_nonce_buf
    - dns_view_create
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_view(const cfg_obj_t *vconfig, dns_viewlist_t
      *viewlist,\n\t    dns_view_t **viewp)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:6244,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6246,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:6247,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6252,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6252,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:6253,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:6253,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:6254,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:6254,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/server.c:6255,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6256,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:6256,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:6256,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:6258,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6260,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:6260,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6260,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6265,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:6266,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6271,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:6279,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6281,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6285,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6292,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6295,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:6301,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6303,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6305,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6312,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:6312,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6313,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:6321,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:6324,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6325,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:6325,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6332,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6334,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6339,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6345,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6347,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6350,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:6356,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6357,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6359,1
    - Dst: configure_hints
      Src: /src/bind9/bin/named/server.c:6359,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6361,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6375,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6379,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6381,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6383,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:6383,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6391,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6393,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6398,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6404,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6405,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6407,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:6407,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6409,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6410,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6411,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:6411,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6413,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6415,1
    - Dst: named_zone_configure
      Src: /src/bind9/bin/named/server.c:6415,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6417,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:6425,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6431,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6433,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6437,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:6450,1
    - Dst: dns_catz_zone_get
      Src: /src/bind9/bin/named/server.c:6457,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6474,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:6480,1
    - Dst: named_zone_reusable
      Src: /src/bind9/bin/named/server.c:6488,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6490,1
    - Dst: dns_zone_get_rpz_num
      Src: /src/bind9/bin/named/server.c:6494,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6497,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6505,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6511,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:6511,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6512,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6513,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6514,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:6514,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6515,1
    - Dst: dns_zone_rpz_enable
      Src: /src/bind9/bin/named/server.c:6518,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6520,1
    - Dst: dns_zone_catz_enable
      Src: /src/bind9/bin/named/server.c:6531,1
    - Dst: dns_zone_catz_is_enabled
      Src: /src/bind9/bin/named/server.c:6532,1
    - Dst: dns_zone_catz_disable
      Src: /src/bind9/bin/named/server.c:6533,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6541,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6544,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6546,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:6546,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/bin/named/server.c:6553,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6558,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6559,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6560,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6561,1
    - Dst: named_zone_inlinesigning
      Src: /src/bind9/bin/named/server.c:6564,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:6568,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/named/server.c:6570,1
    - Dst: dns_zone_getmem
      Src: /src/bind9/bin/named/server.c:6570,1
    - Dst: dns_zone_gettid
      Src: /src/bind9/bin/named/server.c:6571,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6572,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6573,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6574,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6575,1
    - Dst: dns_zone_link
      Src: /src/bind9/bin/named/server.c:6575,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6577,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6580,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6591,1
    - Dst: named_zone_configure
      Src: /src/bind9/bin/named/server.c:6591,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6598,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:6598,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:6608,1
    - Dst: dns_catz_dbupdate_callback
      Src: /src/bind9/bin/named/server.c:6610,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:6611,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:6618,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:6619,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6624,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6627,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6630,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 237
    argCount: 12
    argNames:
    - config
    - zconfig
    - vconfig
    - view
    - viewlist
    - kasplist
    - keystores
    - aclconf
    - added
    - old_rpz_ok
    - is_catz_member
    - modify
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - dns_viewlist_t*
    - dns_kasplist_t*
    - dns_keystorelist_t*
    - cfg_aclconfctx_t*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6211
    functionDepth: 4
    functionLinenumber: 6211
    functionLinenumberEnd: 6634
    functionName: configure_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 4
    functionsReached:
    - dns_viewlist_find
    - configure_forward
    - named_zone_reusable
    - dns_zone_detach
    - isc_log_write
    - dns_view_addzone
    - dns_zone_getraw
    - named_zone_templateopts
    - dns_zone_rekey
    - dns_zonemgr_managezone
    - dns_zone_catz_enable
    - dns_db_detach
    - dns_zone_catz_is_enabled
    - dns_zone_setview
    - dns_fixedname_init
    - configure_hints
    - strcasecmp
    - dns_view_findzone
    - isc_buffer_constinit
    - dns_catz_zone_get
    - dns_zone_setadded
    - dns_name_fromtext
    - dns_zone_setstats
    - dns_fixedname_name
    - named_zone_configure
    - INSIST
    - strlen
    - dns_catz_dbupdate_callback
    - dns_zonemgr_createzone
    - named_config_findopt
    - named_zone_inlinesigning
    - dns_zone_catz_disable
    - cfg_obj_log
    - named_config_getclass
    - dns_zone_create
    - dns_zone_attach
    - dns_zone_setorigin
    - dns_zone_rpz_enable
    - dns_zone_link
    - dns_name_equal
    - dns_zone_gettid
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_zone_getdb
    - CHECK
    - dns_zone_getkasp
    - isc_buffer_add
    - dns_zone_get_rpz_num
    - cfg_map_get
    - dns_view_detach
    - dns_zone_getmem
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_zone(const cfg_obj_t *config, const cfg_obj_t
      *zconfig,\n\t       const cfg_obj_t *vconfig, dns_view_t *view,\n\t       dns_viewlist_t
      *viewlist, dns_kasplist_t *kasplist,\n\t       dns_keystorelist_t *keystores,
      cfg_aclconfctx_t *aclconf,\n\t       bool added, bool old_rpz_ok, bool is_catz_member,
      bool modify)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6648,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6651,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6659,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6661,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:6662,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6663,1
    - Dst: dns_zone_synckeyzone
      Src: /src/bind9/bin/named/server.c:6664,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6668,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6672,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:6672,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6673,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:6675,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6676,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/bin/named/server.c:6676,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/server.c:6679,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6682,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:6683,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:6684,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6686,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:6686,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6688,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/server.c:6688,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:6689,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:6690,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:6691,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:6693,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:6694,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:6695,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/server.c:6696,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6698,1
    - Dst: setquerystats
      Src: /src/bind9/bin/named/server.c:6699,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6702,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6704,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6706,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6713,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:6716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 3
    argNames:
    - view
    - directory
    - mctx
    argTypes:
    - dns_view_t*
    - char*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6720
      start: 6639
    functionDepth: 2
    functionLinenumber: 6639
    functionLinenumberEnd: 6720
    functionName: add_keydata_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_viewlist_find
    - dns_acl_detach
    - dns_zone_setqueryonacl
    - dns_acl_none
    - dns_zone_detach
    - isc_log_write
    - REQUIRE
    - isc_file_sanitize
    - dns_zonemgr_managezone
    - dns_zone_setfile
    - dns_zone_setcheckdstype
    - dns_zone_setview
    - dns_zone_setjournalsize
    - dns_zone_setviewcommit
    - dns_zone_setstats
    - dns_zone_setqueryacl
    - dns_zone_settype
    - dns_zonemgr_createzone
    - dns_zone_attach
    - dns_zone_synckeyzone
    - dns_zone_setclass
    - dns_zone_setorigin
    - dns_zone_setnotifytype
    - dns_zone_setoption
    - CHECK
    - setquerystats
    - strcmp
    - dns_view_detach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_keydata_zone(dns_view_t *view, const char *directory,
      isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:6731,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6732,1
    - Dst: isc_quota_max
      Src: /src/bind9/bin/named/server.c:6733,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:6733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - maps
    - name
    - quota
    argTypes:
    - cfg_obj_t**
    - char*
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6734
      start: 6725
    functionDepth: 1
    functionLinenumber: 6725
    functionLinenumberEnd: 6734
    functionName: configure_server_quota
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - cfg_obj_asuint32
    - named_config_get
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void configure_server_quota(const cfg_obj_t **maps, const char *name,\n\t\t
      \      isc_quota_t *quota)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:6745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6746
      start: 6741
    functionDepth: 1
    functionLinenumber: 6741
    functionLinenumberEnd: 6746
    functionName: interface_timer_tick
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_scan
    linkageType: ''
    returnType: void
    signature: void interface_timer_tick(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6770
      start: 6759
    functionDepth: 0
    functionLinenumber: 6759
    functionLinenumberEnd: 6770
    functionName: cid
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cid(const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6777,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6781,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:6785,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:6788,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/bin/named/server.c:6791,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/bin/named/server.c:6792,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/server.c:6793,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/server.c:6794,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/server.c:6796,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/server.c:6797,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6799,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:6800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6801
      start: 6772
    functionDepth: 1
    functionLinenumber: 6772
    functionLinenumberEnd: 6801
    functionName: tat_done
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - isc_mem_putanddetach
    - dns_db_detach
    - dns_resolver_freefresp
    - INSIST
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void tat_done(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6827,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/bin/named/server.c:6828,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/named/server.c:6835,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:6836,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:6837,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:6838,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/server.c:6844,1
    - Dst: qsort
      Src: /src/bind9/bin/named/server.c:6852,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:6862,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/bin/named/server.c:6866,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:6868,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/bin/named/server.c:6872,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:6875,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - target
    - keyname
    - keynode
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6876
      start: 6818
    functionDepth: 1
    functionLinenumber: 6818
    functionLinenumberEnd: 6876
    functionName: get_tat_qname
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_keynode_dsset
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - snprintf
    - isc_textregion_consume
    - dns_name_fromstring
    - qsort
    - dns_rdata_reset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_tat_qname(dns_name_t *target, dns_name_t *keyname,
      dns_keynode_t *keynode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/named/server.c:6835,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:6836,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:6837,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:6838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6831
    functionDepth: 1
    functionLinenumber: 6831
    functionLinenumberEnd: 6843
    functionName: (&dsset)
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_rdata_reset
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:6889,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:6890,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:6892,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6893,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6919,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6920,1
    - Dst: dns_view_findzonecut
      Src: /src/bind9/bin/named/server.c:6921,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/bin/named/server.c:6924,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/server.c:6942,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/server.c:6943,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6947,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:6948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6950
      start: 6878
    functionDepth: 1
    functionLinenumber: 6878
    functionLinenumberEnd: 6950
    functionName: tat_send
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_findzonecut
    - dns_view_detach
    - isc_mem_putanddetach
    - dns_fixedname_initname
    - dns_fixedname_name
    - dns_rdataset_isassociated
    - dns_resolver_createfetch
    - isc_log_write
    - dns_rdataset_disassociate
    - dns_name_format
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void tat_send(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6960,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6961,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6962,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:6966,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6969,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6970,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/named/server.c:6971,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6971,1
    - Dst: get_tat_qname
      Src: /src/bind9/bin/named/server.c:6972,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6972,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6975,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/server.c:6978,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:6980,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:6996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - keytable
    - keynode
    - keyname
    - arg
    argTypes:
    - dns_keytable_t*
    - dns_keynode_t*
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6997
      start: 6952
    functionDepth: 2
    functionLinenumber: 6952
    functionLinenumberEnd: 6997
    functionName: dotat
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_view_attach
    - isc_mem_put
    - dns_fixedname_initname
    - isc_async_run
    - isc_mem_get
    - REQUIRE
    - dns_name_copy
    - dns_rdataset_init
    - get_tat_qname
    linkageType: ''
    returnType: void
    signature: "void dotat(dns_keytable_t *keytable, dns_keynode_t *keynode, dns_name_t
      *keyname,\n      void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:7006,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:7011,1
    - Dst: dns_keytable_forall
      Src: /src/bind9/bin/named/server.c:7018,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:7019,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7021
      start: 6999
    functionDepth: 1
    functionLinenumber: 6999
    functionLinenumberEnd: 7021
    functionName: tat_timer_tick
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_getsecroots
    - dns_keytable_forall
    - dns_keytable_detach
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void tat_timer_tick(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_relaxed
      Src: /src/bind9/bin/named/server.c:7026,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7035
      start: 7023
    functionDepth: 1
    functionLinenumber: 7023
    functionLinenumberEnd: 7035
    functionName: pps_timer_tick
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - atomic_load_relaxed
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void pps_timer_tick(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:7047,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:7053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - server
    - field
    - value
    argTypes:
    - named_server_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7057
      start: 7042
    functionDepth: 1
    functionLinenumber: 7042
    functionLinenumberEnd: 7057
    functionName: setstring
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void setstring(named_server_t *server, char **field, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:7066,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:7067,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:7069,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - server
    - field
    - obj
    argTypes:
    - named_server_t*
    - char**
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7071
      start: 7064
    functionDepth: 1
    functionLinenumber: 7064
    functionLinenumberEnd: 7071
    functionName: setoptstring
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - setstring
    - cfg_obj_asstring
    - cfg_obj_isvoid
    linkageType: ''
    returnType: void
    signature: void setoptstring(named_server_t *server, char **field, const cfg_obj_t
      *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:7075,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/server.c:7079,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:7080,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:7080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7082
      start: 7073
    functionDepth: 1
    functionLinenumber: 7073
    functionLinenumberEnd: 7082
    functionName: removed
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_zonetype_name
    - dns_zone_getview
    - dns_zone_gettype
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t removed(dns_zone_t *zone, void *uap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:7087,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:7088,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/named/server.c:7092,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/server.c:7093,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:7095,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/named/server.c:7099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - server
    - mctx
    argTypes:
    - named_server_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7104
      start: 7084
    functionDepth: 1
    functionLinenumber: 7084
    functionLinenumberEnd: 7104
    functionName: cleanup_session_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dst_key_free
    - dns_name_dynamic
    - isc_mem_free
    - dns_name_free
    - isc_file_remove
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void cleanup_session_key(named_server_t *server, isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7120,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/named/server.c:7124,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:7133,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7134,1
    - Dst: dst_key_tobuffer
      Src: /src/bind9/bin/named/server.c:7134,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/server.c:7136,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:7137,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7138,1
    - Dst: isc_base64_totext
      Src: /src/bind9/bin/named/server.c:7138,1
    - Dst: named_os_openfile
      Src: /src/bind9/bin/named/server.c:7141,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7143,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:7149,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/named/server.c:7153,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:7154,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:7155,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7157,1
    - Dst: isc_stdio_flush
      Src: /src/bind9/bin/named/server.c:7157,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:7158,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7167,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:7171,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:7173,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:7174,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/named/server.c:7177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 8
    argNames:
    - filename
    - keynamestr
    - keyname
    - alg
    - bits
    - mctx
    - first_time
    - keyp
    argTypes:
    - char*
    - char*
    - dns_name_t*
    - dst_algorithm_t
    - uint16_t
    - isc_mem_t*
    - bool
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7181
      start: 7106
    functionDepth: 5
    functionLinenumber: 7106
    functionLinenumberEnd: 7181
    functionName: generate_session_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dst_key_free
    - named_os_openfile
    - dst_key_generate
    - isc_stdio_flush
    - isc_result_totext
    - isc_file_remove
    - isc_buffer_init
    - CHECK
    - isc_log_write
    - isc_buffer_usedlength
    - isc_base64_totext
    - dst_key_tobuffer
    - fprintf
    - isc_buffer_usedregion
    - isc_buffer_base
    - dst_hmac_algorithm_totext
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t generate_session_key(const char *filename, const char
      *keynamestr,\n\t\t     const dns_name_t *keyname, dst_algorithm_t alg,\n\t\t
      \    uint16_t bits, isc_mem_t *mctx, bool first_time,\n\t\t     dst_key_t **keyp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7198,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:7200,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7203,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7210,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7211,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7212,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:7213,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:7213,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:7214,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:7214,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:7215,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:7216,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7222,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7223,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7224,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/server.c:7225,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7229,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7243,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:7244,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7253,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7254,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7255,1
    - Dst: cleanup_session_key
      Src: /src/bind9/bin/named/server.c:7257,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7261,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7262,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7263,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7264,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7265,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:7267,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:7268,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/server.c:7269,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:7271,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7276,1
    - Dst: generate_session_key
      Src: /src/bind9/bin/named/server.c:7276,1
    - Dst: cleanup_session_key
      Src: /src/bind9/bin/named/server.c:7284,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 4
    argNames:
    - maps
    - server
    - mctx
    - first_time
    argTypes:
    - cfg_obj_t**
    - named_server_t*
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7286
      start: 7183
    functionDepth: 6
    functionLinenumber: 7183
    functionLinenumberEnd: 7286
    functionName: configure_session_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_get
    - generate_session_key
    - dns_name_dup
    - dns_fixedname_initname
    - isc_buffer_constinit
    - dns_name_fromtext
    - INSIST
    - cfg_obj_isvoid
    - strlen
    - isc_mem_get
    - cleanup_session_key
    - isc_mem_strdup
    - cfg_obj_log
    - named_config_getkeyalgorithm
    - dns_name_equal
    - cfg_obj_asstring
    - CHECK
    - isc_buffer_add
    - strcmp
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_session_key(const cfg_obj_t **maps, named_server_t
      *server,\n\t\t      isc_mem_t *mctx, bool first_time)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7303,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:7306,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7311,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7318,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:7320,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7322,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7324,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/named/server.c:7325,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7327,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:7330,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/server.c:7333,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7334,1
    - Dst: dns_view_setnewzonedir
      Src: /src/bind9/bin/named/server.c:7342,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7346,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/server.c:7348,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7350,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7357,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7366,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7374,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:7377,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:7377,1
    - Dst: dns_view_setnewzones
      Src: /src/bind9/bin/named/server.c:7385,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:7389,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/server.c:7396,1
    - Dst: cfg_parser_attach
      Src: /src/bind9/bin/named/server.c:7397,1
    - Dst: cfg_parser_attach
      Src: /src/bind9/bin/named/server.c:7398,1
    - Dst: cfg_aclconfctx_attach
      Src: /src/bind9/bin/named/server.c:7399,1
    - Dst: dns_view_setnewzones
      Src: /src/bind9/bin/named/server.c:7401,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/bin/named/server.c:7404,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:7405,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:7406,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:7407,1
    - Dst: dns_view_setnewzones
      Src: /src/bind9/bin/named/server.c:7408,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/bin/named/server.c:7412,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/bin/named/server.c:7414,1
    - Dst: load_nzf
      Src: /src/bind9/bin/named/server.c:7417,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 5
    argNames:
    - view
    - config
    - vconfig
    - config_parser
    - actx
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_parser_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7419
      start: 7288
    functionDepth: 1
    functionLinenumber: 7288
    functionLinenumberEnd: 7419
    functionName: setup_newzones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_get
    - isc_file_isdirwritable
    - isc_mem_putanddetach
    - cfg_list_first
    - load_nzf
    - cfg_aclconfctx_attach
    - isc_log_write
    - REQUIRE
    - dns_view_setnewzonedir
    - isc_mem_attach
    - cfg_parser_attach
    - cfg_parser_destroy
    - isc_file_isdirectory
    - cfg_obj_attach
    - UNUSED
    - isc_mem_get
    - cfg_aclconfctx_detach
    - cfg_obj_log
    - cfg_obj_asuint64
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_asboolean
    - cfg_map_get
    - dns_view_setnewzones
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t
      *vconfig,\n\t       cfg_parser_t *config_parser, cfg_aclconfctx_t *actx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7431,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:7431,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:7432,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:7434,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:7439,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:7445,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7447,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:7452,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/bin/named/server.c:7454,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:7457,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - result
    - zconfig
    - view
    argTypes:
    - isc_result_t
    - cfg_obj_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7459
      start: 7421
    functionDepth: 1
    functionLinenumber: 7421
    functionLinenumberEnd: 7459
    functionName: configure_zone_setviewcommit
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 2
    functionsReached:
    - dns_viewlist_find
    - dns_zone_setviewcommit
    - dns_zone_setviewrevert
    - dns_fixedname_initname
    - dns_zone_detach
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_name_fromstring
    - dns_view_detach
    - dns_view_findzone
    linkageType: ''
    returnType: void
    signature: "void configure_zone_setviewcommit(isc_result_t result, const cfg_obj_t
      *zconfig,\n\t\t\t     dns_view_t *view)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7475,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7480,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7483,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7484,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:7484,1
    - Dst: CFG_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:7494,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7495,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:7496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - view
    - config
    - vconfig
    - actx
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7500
      start: 7463
    functionDepth: 2
    functionLinenumber: 7463
    functionLinenumberEnd: 7500
    functionName: configure_newzones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - configure_zone
    - CFG_LIST_FOREACH
    - configure_zone_setviewcommit
    - CHECK
    - isc_log_write
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_newzones(dns_view_t *view, cfg_obj_t *config,
      cfg_obj_t *vconfig,\n\t\t   cfg_aclconfctx_t *actx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7483,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7484,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:7484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7489
      start: 7482
    functionDepth: 1
    functionLinenumber: 7482
    functionLinenumberEnd: 7489
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - configure_zone
    - CHECK
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7515,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7516,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7517,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7518,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7519,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:7522,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:7524,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7529,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7533,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/named/server.c:7536,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7542,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:7542,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7543,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:7543,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7544,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:7544,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7545,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:7545,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7546,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:7546,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:7548,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/named/server.c:7551,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:7552,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7555,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:7569,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - view
    - key
    - data
    - text
    - zoneconfig
    argTypes:
    - dns_view_t*
    - MDB_val*
    - MDB_val*
    - isc_buffer_t**
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7573
      start: 7504
    functionDepth: 1
    functionLinenumber: 7504
    functionLinenumberEnd: 7573
    functionName: data_to_cfg
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - cfg_parser_reset
    - cfg_parse_buffer
    - isc_buffer_reserve
    - INSIST
    - cfg_obj_destroy
    - putmem
    - CHECK
    - isc_log_write
    - snprintf
    - isc_buffer_allocate
    - REQUIRE
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t data_to_cfg(dns_view_t *view, MDB_val *key, MDB_val *data,
      isc_buffer_t **text,\n\t    cfg_obj_t **zoneconfig)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_open
      Src: /src/bind9/bin/named/server.c:7606,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/named/server.c:7611,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/named/server.c:7613,1
    - Dst: data_to_cfg
      Src: /src/bind9/bin/named/server.c:7618,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7627,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:7630,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7634,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:7634,1
    - Dst: callback
      Src: /src/bind9/bin/named/server.c:7639,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:7647,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:7651,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:7654,1
    - Dst: mdb_cursor_close
      Src: /src/bind9/bin/named/server.c:7656,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 7
    argNames:
    - callback
    - config
    - vconfig
    - view
    - actx
    - txn
    - dbi
    argTypes:
    - newzone_cfg_cb_t
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - cfg_aclconfctx_t*
    - MDB_txn*
    - MDB_dbi
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7659
      start: 7594
    functionDepth: 2
    functionLinenumber: 7594
    functionLinenumberEnd: 7659
    functionName: for_all_newzone_cfgs
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - cfg_obj_islist
    - callback
    - cfg_list_first
    - mdb_cursor_close
    - cfg_obj_destroy
    - isc_buffer_free
    - mdb_cursor_get
    - cfg_map_get
    - mdb_cursor_open
    - data_to_cfg
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t for_all_newzone_cfgs(newzone_cfg_cb_t callback, cfg_obj_t
      *config,\n\t\t     cfg_obj_t *vconfig, dns_view_t *view,\n\t\t     cfg_aclconfctx_t
      *actx, MDB_txn *txn, MDB_dbi dbi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:7668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - zconfig
    - config
    - vconfig
    - view
    - actx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7672
      start: 7664
    functionDepth: 0
    functionLinenumber: 7664
    functionLinenumberEnd: 7672
    functionName: configure_newzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_zone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_newzone(const cfg_obj_t *zconfig, cfg_obj_t
      *config,\n\t\t  cfg_obj_t *vconfig, dns_view_t *view,\n\t\t  cfg_aclconfctx_t
      *actx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7681,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7682,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7683,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:7685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - zconfig
    - config
    - vconfig
    - view
    - actx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7688
      start: 7677
    functionDepth: 2
    functionLinenumber: 7677
    functionLinenumberEnd: 7688
    functionName: configure_newzone_revert
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - configure_zone_setviewcommit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_newzone_revert(const cfg_obj_t *zconfig, cfg_obj_t
      *config,\n\t\t\t cfg_obj_t *vconfig, dns_view_t *view,\n\t\t\t cfg_aclconfctx_t
      *actx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:7701,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:7703,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:7705,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7709,1
    - Dst: for_all_newzone_cfgs
      Src: /src/bind9/bin/named/server.c:7715,1
    - Dst: for_all_newzone_cfgs
      Src: /src/bind9/bin/named/server.c:7726,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:7730,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:7732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - view
    - config
    - vconfig
    - actx
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7735
      start: 7690
    functionDepth: 3
    functionLinenumber: 7690
    functionLinenumberEnd: 7735
    functionName: configure_newzones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - LOCK
    - nzd_open
    - UNLOCK
    - nzd_close
    - isc_log_write
    - for_all_newzone_cfgs
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_newzones(dns_view_t *view, cfg_obj_t *config,
      cfg_obj_t *vconfig,\n\t\t   cfg_aclconfctx_t *actx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7752,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:7754,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7756,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:7756,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7758,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:7765,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:7765,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:7766,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:7766,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:7767,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7768,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:7768,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:7769,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:7772,1
    - Dst: mdb_get
      Src: /src/bind9/bin/named/server.c:7774,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7776,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7779,1
    - Dst: data_to_cfg
      Src: /src/bind9/bin/named/server.c:7779,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:7786,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:7788,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:7791,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:7794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - view
    - zonename
    - zoneconfig
    argTypes:
    - dns_view_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7798
      start: 7737
    functionDepth: 2
    functionLinenumber: 7737
    functionLinenumberEnd: 7798
    functionName: get_newzone_config
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - mdb_get
    - dns_name_fromtext
    - LOCK
    - data_to_cfg
    - nzd_open
    - dns_fixedname_initname
    - INSIST
    - UNLOCK
    - cfg_obj_destroy
    - strlen
    - CHECK
    - isc_log_write
    - isc_buffer_free
    - isc_buffer_add
    - dns_name_format
    - nzd_close
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_newzone_config(dns_view_t *view, const char *zonename,\n\t\t
      \  cfg_obj_t **zoneconfig)"
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/server.c:7842,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7844,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:7845,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7850,1
    - Dst: isc_loop
      Src: /src/bind9/bin/named/server.c:7850,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7852,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7853,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7854,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7855,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7856,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7857,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:7860,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/bin/named/server.c:7864,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/bin/named/server.c:7866,1
    - Dst: dns_dyndb_cleanup
      Src: /src/bind9/bin/named/server.c:7874,1
    - Dst: getcwd
      Src: /src/bind9/bin/named/server.c:7881,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7882,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:7891,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/named/server.c:7894,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:7897,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/named/server.c:7900,1
    - Dst: dns_zonemgr_set_tlsctx_cache
      Src: /src/bind9/bin/named/server.c:7902,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7910,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7919,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7920,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7921,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7924,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7925,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7926,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7929,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7930,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7931,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7934,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7935,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7936,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7946,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:7948,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7948,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7949,1
    - Dst: access
      Src: /src/bind9/bin/named/server.c:7950,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7951,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/named/server.c:7957,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/server.c:7963,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7967,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:7974,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:7978,1
    - Dst: named_geoip_unload
      Src: /src/bind9/bin/named/server.c:7985,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7994,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7995,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:7996,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:7997,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7997,1
    - Dst: named_geoip_load
      Src: /src/bind9/bin/named/server.c:7998,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:8006,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:8008,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:8009,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:8011,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:8012,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/bin/named/server.c:8015,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:8017,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8019,1
    - Dst: isc_quota_soft
      Src: /src/bind9/bin/named/server.c:8032,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8035,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:8037,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8040,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:8047,1
    - Dst: dns_dispatchmgr_setblackhole
      Src: /src/bind9/bin/named/server.c:8055,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8060,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8061,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8062,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8068,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8069,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8070,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8072,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8078,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8086,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8087,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8088,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8090,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8096,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8104,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8105,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8106,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8108,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8114,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8122,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8123,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8124,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8126,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8134,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8135,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8136,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8138,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8144,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/named/server.c:8151,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/named/server.c:8152,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/named/server.c:8153,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/named/server.c:8154,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/bin/named/server.c:8155,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8166,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8167,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8168,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8169,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8172,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8173,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8174,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8175,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8178,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8179,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8180,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8181,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8184,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8185,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8186,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8187,1
    - Dst: isc_nm_setnetbuffers
      Src: /src/bind9/bin/named/server.c:8189,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/named/server.c:8198,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/named/server.c:8199,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/bin/named/server.c:8201,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8203,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8206,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/named/server.c:8210,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:8211,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8212,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/bin/named/server.c:8219,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8221,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8224,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/named/server.c:8227,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:8228,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8229,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/bin/named/server.c:8236,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8243,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8244,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8245,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8256,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8257,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8258,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8271,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8272,1
    - Dst: dns_zonemgr_settransfersin
      Src: /src/bind9/bin/named/server.c:8273,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8273,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8276,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8277,1
    - Dst: dns_zonemgr_settransfersperns
      Src: /src/bind9/bin/named/server.c:8278,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8278,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8281,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8282,1
    - Dst: dns_zonemgr_setnotifyrate
      Src: /src/bind9/bin/named/server.c:8283,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8283,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8286,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8287,1
    - Dst: dns_zonemgr_setstartupnotifyrate
      Src: /src/bind9/bin/named/server.c:8288,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8289,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8292,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8293,1
    - Dst: dns_zonemgr_setserialqueryrate
      Src: /src/bind9/bin/named/server.c:8294,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8294,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:8302,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8312,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8313,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8314,1
    - Dst: ns_interfacemgr_setbacklog
      Src: /src/bind9/bin/named/server.c:8318,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8321,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8322,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8323,1
    - Dst: isc_nm_setloadbalancesockets
      Src: /src/bind9/bin/named/server.c:8326,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8327,1
    - Dst: isc_nm_getloadbalancesockets
      Src: /src/bind9/bin/named/server.c:8329,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8331,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8336,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8349,1
    - Dst: listenlist_fromconfig
      Src: /src/bind9/bin/named/server.c:8353,1
    - Dst: ns_interfacemgr_setlistenon4
      Src: /src/bind9/bin/named/server.c:8360,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/bin/named/server.c:8362,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8373,1
    - Dst: listenlist_fromconfig
      Src: /src/bind9/bin/named/server.c:8377,1
    - Dst: ns_interfacemgr_setlistenon6
      Src: /src/bind9/bin/named/server.c:8384,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/bin/named/server.c:8386,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:8396,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:8397,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:8398,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8406,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8420,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8421,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:8422,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8429,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8430,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8431,1
    - Dst: ns_interfacemgr_dynamic_updates_are_reliable
      Src: /src/bind9/bin/named/server.c:8434,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8442,1
    - Dst: ns_interfacemgr_routeconnect
      Src: /src/bind9/bin/named/server.c:8449,1
    - Dst: ns_interfacemgr_routedisconnect
      Src: /src/bind9/bin/named/server.c:8451,1
    - Dst: isc_timer_stop
      Src: /src/bind9/bin/named/server.c:8455,1
    - Dst: isc_interval_set
      Src: /src/bind9/bin/named/server.c:8457,1
    - Dst: isc_timer_start
      Src: /src/bind9/bin/named/server.c:8458,1
    - Dst: isc_interval_set
      Src: /src/bind9/bin/named/server.c:8462,1
    - Dst: isc_timer_start
      Src: /src/bind9/bin/named/server.c:8463,1
    - Dst: isc_interval_set
      Src: /src/bind9/bin/named/server.c:8465,1
    - Dst: isc_timer_start
      Src: /src/bind9/bin/named/server.c:8466,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8472,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:8473,1
    - Dst: named_os_writepidfile
      Src: /src/bind9/bin/named/server.c:8474,1
    - Dst: named_os_writepidfile
      Src: /src/bind9/bin/named/server.c:8476,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8476,1
    - Dst: named_os_writepidfile
      Src: /src/bind9/bin/named/server.c:8480,1
    - Dst: configure_session_key
      Src: /src/bind9/bin/named/server.c:8492,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/named/server.c:8497,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8507,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8509,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/named/server.c:8511,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8522,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8524,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/named/server.c:8527,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8533,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/named/server.c:8534,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8538,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:8538,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/bin/named/server.c:8538,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/bin/named/server.c:8539,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:8542,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8544,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8550,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8552,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/named/server.c:8555,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8561,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/named/server.c:8562,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:8563,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:8565,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8582,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8588,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:8591,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8595,1
    - Dst: setup_newzones
      Src: /src/bind9/bin/named/server.c:8597,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8599,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:8613,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8617,1
    - Dst: setup_newzones
      Src: /src/bind9/bin/named/server.c:8619,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8622,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8634,1
    - Dst: find_view
      Src: /src/bind9/bin/named/server.c:8638,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:8643,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8649,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:8652,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8653,1
    - Dst: find_view
      Src: /src/bind9/bin/named/server.c:8662,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:8666,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8672,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:8675,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8676,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:8683,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8683,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8686,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:8689,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:8694,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8700,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:8703,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8704,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/named/server.c:8708,1
    - Dst: dns_view_setviewcommit
      Src: /src/bind9/bin/named/server.c:8715,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8724,1
    - Dst: named_tkeyctx_fromconfig
      Src: /src/bind9/bin/named/server.c:8737,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8740,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8743,1
    - Dst: dns_tkeyctx_destroy
      Src: /src/bind9/bin/named/server.c:8747,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8760,1
    - Dst: nzd_env_close
      Src: /src/bind9/bin/named/server.c:8761,1
    - Dst: named_os_changeuser
      Src: /src/bind9/bin/named/server.c:8772,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/server.c:8778,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8779,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8791,1
    - Dst: nzd_env_reopen
      Src: /src/bind9/bin/named/server.c:8792,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8807,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8813,1
    - Dst: named_logconfig
      Src: /src/bind9/bin/named/server.c:8815,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8817,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8822,1
    - Dst: isc_logconfig_create
      Src: /src/bind9/bin/named/server.c:8829,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8832,1
    - Dst: named_logconfig
      Src: /src/bind9/bin/named/server.c:8834,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8836,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8840,1
    - Dst: named_log_setdefaultchannels
      Src: /src/bind9/bin/named/server.c:8844,1
    - Dst: named_log_setdefaultsslkeylogfile
      Src: /src/bind9/bin/named/server.c:8845,1
    - Dst: named_log_setunmatchedcategory
      Src: /src/bind9/bin/named/server.c:8846,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8848,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8853,1
    - Dst: named_log_setdefaultcategory
      Src: /src/bind9/bin/named/server.c:8856,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8858,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8863,1
    - Dst: isc_logconfig_set
      Src: /src/bind9/bin/named/server.c:8868,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8871,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:8872,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8888,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8889,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8890,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8892,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8894,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8902,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:8903,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8904,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:8905,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8906,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8915,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8917,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8919,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8925,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8927,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8934,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/server.c:8936,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8936,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/server.c:8938,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/server.c:8940,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8944,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8945,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8946,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8946,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8949,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8950,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8951,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8951,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8954,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8955,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8956,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8956,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8959,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8960,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8961,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8961,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8964,1
    - Dst: setoptstring
      Src: /src/bind9/bin/named/server.c:8966,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8973,1
    - Dst: setoptstring
      Src: /src/bind9/bin/named/server.c:8975,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8982,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:8984,1
    - Dst: ns_server_setserverid
      Src: /src/bind9/bin/named/server.c:8987,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:8988,1
    - Dst: ns_server_setserverid
      Src: /src/bind9/bin/named/server.c:8990,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8991,1
    - Dst: ns_server_setserverid
      Src: /src/bind9/bin/named/server.c:8993,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:8995,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8998,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:9000,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:9006,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9007,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:9008,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:9011,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9012,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:9013,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:9013,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:9016,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:9020,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:9029,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:9030,1
    - Dst: memset
      Src: /src/bind9/bin/named/server.c:9033,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:9035,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:9037,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9045,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:9047,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:9049,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9053,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/bin/named/server.c:9058,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:9062,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9068,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9074,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/named/server.c:9081,1
    - Dst: named_server_loadnta
      Src: /src/bind9/bin/named/server.c:9092,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:9097,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:9099,1
    - Dst: named_os_restoreuser
      Src: /src/bind9/bin/named/server.c:9104,1
    - Dst: named_statschannels_configure
      Src: /src/bind9/bin/named/server.c:9108,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9111,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9114,1
    - Dst: named_controls_configure
      Src: /src/bind9/bin/named/server.c:9121,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9124,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9126,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:9130,1
    - Dst: named_os_changeuser
      Src: /src/bind9/bin/named/server.c:9136,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9145,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9146,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9147,1
    - Dst: isc_logconfig_destroy
      Src: /src/bind9/bin/named/server.c:9152,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9156,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9157,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:9158,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9159,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/named/server.c:9162,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9165,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9166,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:9167,1
    - Dst: dns_view_setviewrevert
      Src: /src/bind9/bin/named/server.c:9169,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:9170,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9172,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9176,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9177,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:9178,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9182,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9183,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/named/server.c:9184,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/named/server.c:9188,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/named/server.c:9189,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:9194,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:9196,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:9201,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9204,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:9205,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9206,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 817
    argCount: 4
    argNames:
    - configparser
    - config
    - server
    - first_time
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9209
      start: 7802
    functionDepth: 7
    functionLinenumber: 7802
    functionLinenumberEnd: 9209
    functionName: apply_configuration
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_kasp_fromconfig
    - memset
    - cfg_parser_create
    - named_main_setmemstats
    - ns_listenlist_detach
    - dns_view_setviewcommit
    - isc_log_write
    - REQUIRE
    - dns_zonemgr_set_tlsctx_cache
    - cfg_obj_isboolean
    - isc_quota_getmax
    - dns_dispatchmgr_setblackhole
    - getcwd
    - ISC_LIST_INIT
    - dns_keystore_detach
    - cfg_obj_asuint32
    - isc_logconfig_create
    - dns_zonemgr_settransfersperns
    - RUNTIME_CHECK
    - isc_nonce_buf
    - dns_kasp_attach
    - named_statschannels_configure
    - isc_mem_get
    - isc_timer_start
    - cfg_obj_log
    - access
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_tuple_get
    - isc_buffer_init
    - ns_interfacemgr_setbacklog
    - dns_cache_detach
    - CAP_IF_NOT_ZERO
    - cfg_obj_asboolean
    - ISC_MAX
    - ns_interfacemgr_scan
    - named_config_get
    - named_os_writepidfile
    - cfg_aclconfctx_create
    - isc_hex_decodestring
    - ns_server_getoption
    - UNREACHABLE
    - isc_nm_setprimariestimeout
    - cfg_keystore_fromconfig
    - isc_portset_addrange
    - cfg_obj_destroy
    - dns_kasp_freeze
    - isc_time_now
    - listenlist_fromconfig
    - named_tkeyctx_fromconfig
    - cfg_parser_destroy
    - dns_zonemgr_setnotifyrate
    - isc_quota_soft
    - isc_portset_create
    - INSIST
    - UNCONST
    - ISC_LIST_FOREACH
    - isc_nm_setnetbuffers
    - cfg_aclconfctx_detach
    - dns_tkeyctx_destroy
    - named_controls_configure
    - isc_nm_setinitialtimeout
    - named_geoip_load
    - dns_view_setviewrevert
    - named_config_getport
    - isc_timer_stop
    - isc_buffer_usedlength
    - named_log_setdefaultchannels
    - isc_mem_put
    - isc_loop
    - cfg_listelt_value
    - setup_newzones
    - named_log_setdefaultsslkeylogfile
    - nzd_env_reopen
    - dns_view_apply
    - dns_zonemgr_setstartupnotifyrate
    - dns_kasp_detach
    - find_view
    - isc_nm_setidletimeout
    - setoptstring
    - ns_interfacemgr_routeconnect
    - named_geoip_unload
    - named_os_restoreuser
    - isc_loopmgr_resume
    - isc_nm_setkeepalivetimeout
    - ns_server_setoption
    - cfg_acl_fromconfig
    - isc_interval_set
    - isc_logconfig_destroy
    - ISC_LOG_DEBUG
    - named_log_setdefaultcategory
    - isc_tlsctx_cache_detach
    - cfg_obj_isvoid
    - ns_interfacemgr_setlistenon4
    - configure_server_quota
    - named_server_loadnta
    - isc_portset_destroy
    - ns_interfacemgr_getaclenv
    - dns_kasp_getname
    - cfg_parse_file
    - ISC_LIST_INITANDAPPEND
    - dns_dyndb_cleanup
    - strcmp
    - named_logconfig
    - dns_zonemgr_setserialqueryrate
    - isc_file_isdirwritable
    - configure_view
    - isc_nm_getloadbalancesockets
    - isc_tlsctx_cache_create
    - ISC_LIST_APPENDLIST
    - dns_dispatchmgr_setavailports
    - configure_view_acl
    - setstring
    - create_view
    - isc_nm_setadvertisedtimeout
    - dns_zonemgr_settransfersin
    - isc_logconfig_set
    - configure_session_key
    - strcasecmp
    - isc_net_getudpportrange
    - cfg_obj_asduration
    - isc_nm_setloadbalancesockets
    - ns_server_setserverid
    - cfg_obj_isstring
    - ISC_LIST_UNLINK
    - named_log_setunmatchedcategory
    - isc_loopmgr_pause
    - ns_interfacemgr_dynamic_updates_are_reliable
    - ns_interfacemgr_setlistenon6
    - dns_view_freeze
    - nzd_env_close
    - cfg_map_get
    - dns_view_detach
    - ns_interfacemgr_routedisconnect
    - named_os_changeuser
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t apply_configuration(cfg_parser_t *configparser, cfg_obj_t
      *config,\n\t\t    named_server_t *server, bool first_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8163
      start: 8157
    functionDepth: 0
    functionLinenumber: 8157
    functionLinenumberEnd: 8163
    functionName: CAP_IF_NOT_ZERO
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAP_IF_NOT_ZERO(v, min, max)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8509,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/named/server.c:8511,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8516
      start: 8508
    functionDepth: 1
    functionLinenumber: 8508
    functionLinenumberEnd: 8516
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - cfg_keystore_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keystores, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8524,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/named/server.c:8527,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8533,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/named/server.c:8534,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8538,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:8538,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/bin/named/server.c:8538,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/bin/named/server.c:8539,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:8542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8543
      start: 8523
    functionDepth: 1
    functionLinenumber: 8523
    functionLinenumberEnd: 8543
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_kasp_fromconfig
    - dns_kasp_detach
    - INSIST
    - dns_kasp_attach
    - dns_kasp_freeze
    - dns_kasp_getname
    - strcmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (kasps, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8552,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/named/server.c:8555,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8561,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/named/server.c:8562,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:8563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8564
      start: 8551
    functionDepth: 1
    functionLinenumber: 8551
    functionLinenumberEnd: 8564
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_kasp_fromconfig
    - dns_kasp_detach
    - INSIST
    - dns_kasp_freeze
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (kasps, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8588,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:8591,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8595,1
    - Dst: setup_newzones
      Src: /src/bind9/bin/named/server.c:8597,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8604
      start: 8587
    functionDepth: 3
    functionLinenumber: 8587
    functionLinenumberEnd: 8604
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - setup_newzones
    - INSIST
    - create_view
    - cfg_listelt_value
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (views, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8634,1
    - Dst: find_view
      Src: /src/bind9/bin/named/server.c:8638,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:8643,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8649,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:8652,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8654
      start: 8633
    functionDepth: 3
    functionLinenumber: 8633
    functionLinenumberEnd: 8654
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - configure_view
    - find_view
    - dns_view_freeze
    - cfg_listelt_value
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (views, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8686,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:8689,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:8694,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8700,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:8703,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8705
      start: 8685
    functionDepth: 3
    functionLinenumber: 8685
    functionLinenumberEnd: 8705
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - configure_view
    - create_view
    - dns_view_freeze
    - cfg_listelt_value
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (builtin_views, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_setviewcommit
      Src: /src/bind9/bin/named/server.c:8715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8716
      start: 8714
    functionDepth: 1
    functionLinenumber: 8714
    functionLinenumberEnd: 8716
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 6
    functionsReached:
    - dns_view_setviewcommit
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (viewlist, view, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8902,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:8903,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8904,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:8905,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8911
      start: 8898
    functionDepth: 1
    functionLinenumber: 8898
    functionLinenumberEnd: 8911
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - ns_server_setoption
    - cfg_obj_asstring
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (categories, element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:9029,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:9030,1
    - Dst: memset
      Src: /src/bind9/bin/named/server.c:9033,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:9035,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:9037,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9045,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:9047,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:9049,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9053,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/bin/named/server.c:9058,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:9062,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9068,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9074,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9079
      start: 9028
    functionDepth: 1
    functionLinenumber: 9028
    functionLinenumberEnd: 9079
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - memset
    - ISC_LIST_INITANDAPPEND
    - isc_result_totext
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_hex_decodestring
    - isc_mem_get
    - isc_log_write
    - isc_buffer_usedlength
    - isc_mem_put
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9217,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:9218,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/named/server.c:9220,1
    - Dst: named_config_parsefile
      Src: /src/bind9/bin/named/server.c:9225,1
    - Dst: apply_configuration
      Src: /src/bind9/bin/named/server.c:9230,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:9234,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:9236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - server
    - first_time
    argTypes:
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9240
      start: 9211
    functionDepth: 8
    functionLinenumber: 9211
    functionLinenumberEnd: 9240
    functionName: load_configuration
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - cfg_parser_create
    - cfg_obj_destroy
    - named_config_parsefile
    - isc_log_write
    - apply_configuration
    - cfg_parser_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_configuration(named_server_t *server, bool first_time)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/named/server.c:9255,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/named/server.c:9259,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9260,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9268,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9273,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9278,1
    - Dst: dns_zone_synckeyzone
      Src: /src/bind9/bin/named/server.c:9280,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9283,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9292,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9297,1
    - Dst: dns_zonemgr_forcemaint
      Src: /src/bind9/bin/named/server.c:9297,1
    - Dst: named_os_started
      Src: /src/bind9/bin/named/server.c:9300,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9302,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/named/server.c:9304,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9306,1
    - Dst: getpid
      Src: /src/bind9/bin/named/server.c:9309,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:9311,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9318
      start: 9242
    functionDepth: 2
    functionLinenumber: 9242
    functionLinenumberEnd: 9318
    functionName: view_loaded
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - getpid
    - dns_zone_synckeyzone
    - dns_zonemgr_forcemaint
    - named_os_notify_systemd
    - isc_refcount_decrement
    - isc_result_totext
    - isc_crypto_fips_mode
    - isc_log_write
    - named_os_started
    - ISC_LIST_FOREACH
    - atomic_store
    - isc_mem_put
    - isc_refcount_destroy
    - CHECKFATAL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t view_loaded(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9325,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:9329,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/server.c:9331,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9336,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:9338,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:9347,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/named/server.c:9360,1
    - Dst: dns_view_asyncload
      Src: /src/bind9/bin/named/server.c:9361,1
    - Dst: isc_refcount_decrement1
      Src: /src/bind9/bin/named/server.c:9363,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/named/server.c:9369,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/named/server.c:9370,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9371,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:9374,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - server
    - reconfig
    argTypes:
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9377
      start: 9320
    functionDepth: 1
    functionLinenumber: 9320
    functionLinenumberEnd: 9377
    functionName: load_zones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_refcount_decrement1
    - isc_loopmgr_pause
    - dns_view_asyncload
    - isc_refcount_decrement
    - isc_refcount_increment
    - isc_mem_get
    - isc_refcount_init
    - isc_refcount_destroy
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - isc_mem_put
    - dns_zone_load
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_zones(named_server_t *server, bool reconfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zonemgr_create
      Src: /src/bind9/bin/named/server.c:9385,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9387,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/named/server.c:9387,1
    - Dst: dns_dispatchmgr_setstats
      Src: /src/bind9/bin/named/server.c:9391,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9399,1
    - Dst: ns_interfacemgr_create
      Src: /src/bind9/bin/named/server.c:9399,1
    - Dst: isc_timer_create
      Src: /src/bind9/bin/named/server.c:9405,1
    - Dst: isc_timer_create
      Src: /src/bind9/bin/named/server.c:9408,1
    - Dst: isc_timer_create
      Src: /src/bind9/bin/named/server.c:9411,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9414,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/named/server.c:9414,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9417,1
    - Dst: named_config_parsedefaults
      Src: /src/bind9/bin/named/server.c:9417,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9421,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:9421,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9425,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/named/server.c:9425,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9428,1
    - Dst: load_configuration
      Src: /src/bind9/bin/named/server.c:9428,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9430,1
    - Dst: load_zones
      Src: /src/bind9/bin/named/server.c:9430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9434
      start: 9379
    functionDepth: 9
    functionLinenumber: 9379
    functionLinenumberEnd: 9434
    functionName: run_server
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_config_parsedefaults
    - isc_timer_create
    - ns_interfacemgr_create
    - cfg_parser_create
    - load_zones
    - dns_dispatchmgr_setstats
    - dns_zonemgr_create
    - load_configuration
    - cfg_map_get
    - dns_dispatchmgr_create
    - CHECKFATAL
    linkageType: ''
    returnType: void
    signature: void run_server(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9438,1
    - Dst: NAMED_SERVER_VALID
      Src: /src/bind9/bin/named/server.c:9438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - server
    - flush
    argTypes:
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9441
      start: 9436
    functionDepth: 1
    functionLinenumber: 9436
    functionLinenumberEnd: 9441
    functionName: named_server_flushonshutdown
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 3
    functionsReached:
    - NAMED_SERVER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void named_server_flushonshutdown(named_server_t *server, bool flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9448,1
    - Dst: named_os_notify_close
      Src: /src/bind9/bin/named/server.c:9449,1
    - Dst: isc_signal_stop
      Src: /src/bind9/bin/named/server.c:9451,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/bin/named/server.c:9452,1
    - Dst: isc_signal_stop
      Src: /src/bind9/bin/named/server.c:9454,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/bin/named/server.c:9455,1
    - Dst: ns_interfacemgr_shutdown
      Src: /src/bind9/bin/named/server.c:9461,1
    - Dst: named_controls_shutdown
      Src: /src/bind9/bin/named/server.c:9463,1
    - Dst: named_statschannels_shutdown
      Src: /src/bind9/bin/named/server.c:9465,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:9467,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9469,1
    - Dst: cleanup_session_key
      Src: /src/bind9/bin/named/server.c:9473,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/bin/named/server.c:9476,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:9479,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:9480,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:9481,1
    - Dst: named_server_saventa
      Src: /src/bind9/bin/named/server.c:9483,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9485,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9486,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:9487,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9490,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9491,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/named/server.c:9492,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9495,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:9496,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9497,1
    - Dst: dns_view_flushonshutdown
      Src: /src/bind9/bin/named/server.c:9498,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9499,1
    - Dst: dns_dyndb_cleanup
      Src: /src/bind9/bin/named/server.c:9505,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9507,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9508,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:9509,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9510,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/bin/named/server.c:9513,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/bin/named/server.c:9514,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/bin/named/server.c:9515,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/bin/named/server.c:9517,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/named/server.c:9519,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/bin/named/server.c:9521,1
    - Dst: named_geoip_shutdown
      Src: /src/bind9/bin/named/server.c:9524,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:9527,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:9529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9530
      start: 9443
    functionDepth: 2
    functionLinenumber: 9443
    functionLinenumberEnd: 9530
    functionName: shutdown_server
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_shutdown
    - named_statschannels_shutdown
    - dns_kasp_detach
    - isc_signal_stop
    - isc_log_write
    - isc_signal_destroy
    - dns_db_detach
    - dns_dispatchmgr_detach
    - cfg_obj_destroy
    - isc_loopmgr_resume
    - cfg_parser_destroy
    - dns_keystore_detach
    - ISC_LIST_NEXT
    - named_os_notify_systemd
    - named_controls_shutdown
    - named_server_saventa
    - named_geoip_shutdown
    - dns_view_flushonshutdown
    - cleanup_session_key
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - cfg_aclconfctx_detach
    - ns_interfacemgr_detach
    - isc_timer_destroy
    - named_os_notify_close
    - dns_dyndb_cleanup
    - isc_loopmgr_pause
    - dns_cache_detach
    - isc_mem_put
    - dns_view_detach
    - dns_zonemgr_shutdown
    linkageType: ''
    returnType: void
    signature: void shutdown_server(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9541,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9544,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/bin/named/server.c:9550,1
    - Dst: dns_message_checksig
      Src: /src/bind9/bin/named/server.c:9551,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/bin/named/server.c:9553,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9556,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9558,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9563,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 6
    argNames:
    - srcaddr
    - destaddr
    - message
    - env
    - sigresult
    - viewp
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    - dns_message_t*
    - dns_aclenv_t*
    - isc_result_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9570
      start: 9532
    functionDepth: 1
    functionLinenumber: 9532
    functionLinenumberEnd: 9570
    functionName: get_matching_view_sync
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_attach
    - dns_tsigkey_identity
    - dns_acl_allowed
    - INSIST
    - ISC_LIST_FOREACH
    - dns_message_checksig
    - dns_message_resetsig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_matching_view_sync(isc_netaddr_t *srcaddr, isc_netaddr_t
      *destaddr,\n\t\t       dns_message_t *message, dns_aclenv_t *env,\n\t\t       isc_result_t
      *sigresult, dns_view_t **viewp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9578,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9579,1
    - Dst: matching_view_ctx_t*::cb
      Src: /src/bind9/bin/named/server.c:9582,1
    - Dst: isc_quota_release
      Src: /src/bind9/bin/named/server.c:9585,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9588,1
    - Dst: isc_loop_detach
      Src: /src/bind9/bin/named/server.c:9590,1
    - Dst: ns_server_detach
      Src: /src/bind9/bin/named/server.c:9591,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9592,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/named/server.c:9593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cbarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9594
      start: 9572
    functionDepth: 1
    functionLinenumber: 9572
    functionLinenumberEnd: 9594
    functionName: get_matching_view_done
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_attach
    - isc_quota_release
    - dns_message_detach
    - INSIST
    - ns_server_detach
    - isc_loop_detach
    - isc_mem_put
    - matching_view_ctx_t*::cb
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void get_matching_view_done(void *cbarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/server.c:9599,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:9601,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:9609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - view
    - rdclass
    argTypes:
    - dns_view_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9611
      start: 9596
    functionDepth: 1
    functionLinenumber: 9596
    functionLinenumberEnd: 9611
    functionName: get_matching_view_next
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: dns_view_t
    signature: 'dns_view_t *

      get_matching_view_next(dns_view_t *view, dns_rdataclass_t rdclass)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/bin/named/server.c:9622,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9625,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9627,1
    - Dst: get_matching_view_done
      Src: /src/bind9/bin/named/server.c:9636,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/bin/named/server.c:9640,1
    - Dst: get_matching_view_next
      Src: /src/bind9/bin/named/server.c:9642,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9643,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9648,1
    - Dst: dns_message_checksig_async
      Src: /src/bind9/bin/named/server.c:9649,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9652,1
    - Dst: get_matching_view_done
      Src: /src/bind9/bin/named/server.c:9660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cbarg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9661
      start: 9613
    functionDepth: 2
    functionLinenumber: 9613
    functionLinenumberEnd: 9661
    functionName: get_matching_view_continue
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_attach
    - dns_tsigkey_identity
    - dns_message_checksig_async
    - dns_acl_allowed
    - INSIST
    - get_matching_view_next
    - get_matching_view_done
    - dns_message_resetsig
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void get_matching_view_continue(void *cbarg, isc_result_t result)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9675,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9676,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9677,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9678,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9679,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9680,1
    - Dst: get_matching_view_sync
      Src: /src/bind9/bin/named/server.c:9684,1
    - Dst: get_matching_view_next
      Src: /src/bind9/bin/named/server.c:9690,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/bin/named/server.c:9696,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9698,1
    - Dst: ns_server_attach
      Src: /src/bind9/bin/named/server.c:9710,1
    - Dst: isc_loop_attach
      Src: /src/bind9/bin/named/server.c:9711,1
    - Dst: dns_message_attach
      Src: /src/bind9/bin/named/server.c:9712,1
    - Dst: dns_acl_match
      Src: /src/bind9/bin/named/server.c:9726,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/bin/named/server.c:9735,1
    - Dst: isc_quota_release
      Src: /src/bind9/bin/named/server.c:9738,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:9744,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9749,1
    - Dst: dns_message_checksig_async
      Src: /src/bind9/bin/named/server.c:9750,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9752,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 11
    argNames:
    - srcaddr
    - destaddr
    - message
    - env
    - sctx
    - loop
    - cb
    - cbarg
    - sigresult
    - viewmatchresult
    - viewp
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    - dns_message_t*
    - dns_aclenv_t*
    - ns_server_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_result_t*
    - isc_result_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9755
      start: 9666
    functionDepth: 2
    functionLinenumber: 9666
    functionLinenumberEnd: 9755
    functionName: get_matching_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_attach
    - dns_acl_match
    - ns_server_attach
    - isc_quota_release
    - isc_async_run
    - dns_message_checksig_async
    - isc_quota_acquire
    - INSIST
    - isc_mem_get
    - dns_message_attach
    - REQUIRE
    - get_matching_view_next
    - get_matching_view_sync
    - isc_loop_attach
    - dns_message_resetsig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_matching_view(isc_netaddr_t *srcaddr, isc_netaddr_t
      *destaddr,\n\t\t  dns_message_t *message, dns_aclenv_t *env, ns_server_t *sctx,\n\t\t
      \ isc_loop_t *loop, isc_job_cb cb, void *cbarg,\n\t\t  isc_result_t *sigresult,
      isc_result_t *viewmatchresult,\n\t\t  dns_view_t **viewp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9760,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9764,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9765,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9766,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9767,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9771,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9772,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9773,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9775,1
    - Dst: dns_rootns_create
      Src: /src/bind9/bin/named/server.c:9775,1
    - Dst: atomic_init
      Src: /src/bind9/bin/named/server.c:9779,1
    - Dst: ns_server_create
      Src: /src/bind9/bin/named/server.c:9781,1
    - Dst: named_geoip_init
      Src: /src/bind9/bin/named/server.c:9789,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9797,1
    - Dst: isc_loop_setup
      Src: /src/bind9/bin/named/server.c:9799,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/bin/named/server.c:9800,1
    - Dst: isc_signal_new
      Src: /src/bind9/bin/named/server.c:9803,1
    - Dst: isc_signal_new
      Src: /src/bind9/bin/named/server.c:9807,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:9810,1
    - Dst: isc_nm_setstats
      Src: /src/bind9/bin/named/server.c:9812,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:9814,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:9817,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9820,1
    - Dst: named_controls_create
      Src: /src/bind9/bin/named/server.c:9820,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9823,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - mctx
    - serverp
    argTypes:
    - isc_mem_t*
    - named_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9830
      start: 9757
    functionDepth: 1
    functionLinenumber: 9757
    functionLinenumberEnd: 9830
    functionName: named_server_create
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - isc_loop_teardown
    - ns_server_create
    - named_geoip_init
    - isc_nm_setstats
    - isc_mem_get
    - atomic_init
    - isc_stats_create
    - named_controls_create
    - isc_mem_strdup
    - dns_rootns_create
    - ISC_LIST_INIT
    - isc_signal_new
    - isc_loop_main
    - CHECKFATAL
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void named_server_create(isc_mem_t *mctx, named_server_t **serverp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9835,1
    - Dst: NAMED_SERVER_VALID
      Src: /src/bind9/bin/named/server.c:9835,1
    - Dst: dns_dt_detach
      Src: /src/bind9/bin/named/server.c:9839,1
    - Dst: named_controls_destroy
      Src: /src/bind9/bin/named/server.c:9843,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:9845,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:9846,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:9847,1
    - Dst: ns_server_detach
      Src: /src/bind9/bin/named/server.c:9850,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9853,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9854,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9855,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9856,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9859,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9863,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9866,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/bin/named/server.c:9870,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9873,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9873,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9874,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9874,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9875,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9875,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9876,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9876,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:9879,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:9883,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9887,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - serverp
    argTypes:
    - named_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9889
      start: 9832
    functionDepth: 1
    functionLinenumber: 9832
    functionLinenumberEnd: 9889
    functionName: named_server_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - isc_stats_detach
    - ISC_LIST_EMPTY
    - isc_mem_put
    - isc_mem_free
    - named_controls_destroy
    - isc_tlsctx_cache_detach
    - INSIST
    - ns_server_detach
    - dns_dt_detach
    - NAMED_SERVER_VALID
    - REQUIRE
    - dns_zonemgr_detach
    linkageType: ''
    returnType: void
    signature: void named_server_destroy(named_server_t **serverp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:9894,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9896,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9898,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9899,1
    - Dst: named_os_shutdown
      Src: /src/bind9/bin/named/server.c:9901,1
    - Dst: _exit
      Src: /src/bind9/bin/named/server.c:9902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - result
    argTypes:
    - char*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9903
      start: 9891
    functionDepth: 3
    functionLinenumber: 9891
    functionLinenumberEnd: 9903
    functionName: fatal
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 16
    functionsReached:
    - _exit
    - isc_loopmgr_pause
    - isc_result_totext
    - named_os_shutdown
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void fatal(const char *msg, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: load_configuration
      Src: /src/bind9/bin/named/server.c:9908,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9910,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9914,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9917,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:9918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9922
      start: 9905
    functionDepth: 9
    functionLinenumber: 9905
    functionLinenumberEnd: 9922
    functionName: loadconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - isc_log_write
    - isc_result_totext
    - load_configuration
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadconfig(named_server_t *server)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange
      Src: /src/bind9/bin/named/server.c:9927,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9931,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9938,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/bin/named/server.c:9941,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:9943,1
    - Dst: loadconfig
      Src: /src/bind9/bin/named/server.c:9943,1
    - Dst: load_zones
      Src: /src/bind9/bin/named/server.c:9945,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9947,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9950,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9952,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:9953,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9956,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9961
      start: 9924
    functionDepth: 10
    functionLinenumber: 9924
    functionLinenumberEnd: 9961
    functionName: reload
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_os_notify_systemd
    - load_zones
    - atomic_exchange
    - isc_result_totext
    - loadconfig
    - CHECK
    - isc_log_write
    - isc_time_monotonic
    - atomic_store
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t reload(named_server_t *server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9970,1
    - Dst: reload
      Src: /src/bind9/bin/named/server.c:9972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9973
      start: 9966
    functionDepth: 11
    functionLinenumber: 9966
    functionLinenumberEnd: 9973
    functionName: named_server_reload
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - reload
    linkageType: ''
    returnType: void
    signature: void named_server_reload(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9979,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:9981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - signum
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9982
      start: 9975
    functionDepth: 1
    functionLinenumber: 9975
    functionLinenumberEnd: 9982
    functionName: named_server_reloadwanted
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void named_server_reloadwanted(void *arg, int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:9989,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9991,1
    - Dst: isc_log_closefilelogs
      Src: /src/bind9/bin/named/server.c:9994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9995
      start: 9987
    functionDepth: 1
    functionLinenumber: 9987
    functionLinenumberEnd: 9995
    functionName: named_server_closelogs
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_closefilelogs
    - isc_log_write
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void named_server_closelogs(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10001,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:10003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - signum
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10004
      start: 9997
    functionDepth: 1
    functionLinenumber: 9997
    functionLinenumberEnd: 10004
    functionName: named_server_closelogswanted
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void named_server_closelogswanted(void *arg, int signum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:10009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10014
      start: 10007
    functionDepth: 0
    functionLinenumber: 10007
    functionLinenumberEnd: 10014
    functionName: memprof_toggle
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - mallctl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t memprof_toggle(bool active)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:10018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10023
      start: 10016
    functionDepth: 0
    functionLinenumber: 10016
    functionLinenumberEnd: 10023
    functionName: memprof_dump
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - mallctl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t memprof_dump(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:10027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10030
      start: 10025
    functionDepth: 0
    functionLinenumber: 10025
    functionLinenumberEnd: 10030
    functionName: memprof_toggle
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t memprof_toggle(bool active)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10035
      start: 10032
    functionDepth: 0
    functionLinenumber: 10032
    functionLinenumberEnd: 10035
    functionName: memprof_dump
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t memprof_dump(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10041,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:10042,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:10044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10045
      start: 10039
    functionDepth: 1
    functionLinenumber: 10039
    functionLinenumberEnd: 10045
    functionName: named_server_scan_interfaces
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - ns_interfacemgr_scan
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void named_server_scan_interfaces(named_server_t *server)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/named/server.c:10062,1
    - Dst: isc_lex_close
      Src: /src/bind9/bin/named/server.c:10067,1
    - Dst: isc_lex_close
      Src: /src/bind9/bin/named/server.c:10071,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10076,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10077,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10082,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10082,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10083,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - lex
    - text
    argTypes:
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10095
      start: 10056
    functionDepth: 1
    functionLinenumber: 10056
    functionLinenumberEnd: 10095
    functionName: next_token
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_lex_close
    - isc_result_totext
    - putnull
    - isc_lex_gettoken
    - putstr
    linkageType: ''
    returnType: char
    signature: 'char *

      next_token(isc_lex_t *lex, isc_buffer_t **text)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10125,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10129,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10137,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10145,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:10147,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:10149,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:10152,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:10156,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10157,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:10157,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10160,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:10164,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10165,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:10165,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10168,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:10175,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:10180,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:10184,1
    - Dst: dns_viewlist_findzone
      Src: /src/bind9/bin/named/server.c:10188,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:10192,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:10196,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:10203,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:10206,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:10213,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:10219,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:10223,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10231,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10240,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10242,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:10248,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 94
    argCount: 7
    argNames:
    - server
    - lex
    - zonetxt
    - zonep
    - zonename
    - text
    - skip
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - char*
    - dns_zone_t**
    - char*
    - isc_buffer_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10252
      start: 10109
    functionDepth: 2
    functionLinenumber: 10109
    functionLinenumberEnd: 10252
    functionName: zone_from_args
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_viewlist_find
    - dns_zone_attach
    - putstr
    - strlcpy
    - dns_fixedname_initname
    - dns_zone_detach
    - putnull
    - strlen
    - CHECK
    - dns_name_fromstring
    - REQUIRE
    - snprintf
    - strcmp
    - dns_rdataclass_fromtext
    - dns_viewlist_findzone
    - next_token
    - dns_view_detach
    - dns_view_findzone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_from_args(named_server_t *server, isc_lex_t *lex,
      const char *zonetxt,\n\t       dns_zone_t **zonep, char *zonename, isc_buffer_t
      **text,\n\t       bool skip)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10267,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10270,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10272,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10273,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10275,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10278,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:10285,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10287,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:10288,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10289,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:10291,1
    - Dst: dns_zone_getredirecttype
      Src: /src/bind9/bin/named/server.c:10295,1
    - Dst: dns_zone_stopxfr
      Src: /src/bind9/bin/named/server.c:10298,1
    - Dst: dns_zone_forcexfr
      Src: /src/bind9/bin/named/server.c:10300,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10302,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10303,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:10303,1
    - Dst: dns_zone_getredirecttype
      Src: /src/bind9/bin/named/server.c:10305,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10306,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10307,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:10307,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10308,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10310,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10315
      start: 10257
    functionDepth: 3
    functionLinenumber: 10257
    functionLinenumberEnd: 10315
    functionName: named_server_retransfercommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_attach
    - putstr
    - dns_zone_forcexfr
    - dns_zone_detach
    - putnull
    - dns_zonetype_name
    - dns_zone_stopxfr
    - REQUIRE
    - zone_from_args
    - dns_zone_gettype
    - strcmp
    - dns_zone_getredirecttype
    - dns_zone_getraw
    - next_token
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_retransfercommand(named_server_t *server,
      isc_lex_t *lex,\n\t\t\t       isc_buffer_t **text)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10328,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10330,1
    - Dst: reload
      Src: /src/bind9/bin/named/server.c:10335,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:10348,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/bin/named/server.c:10352,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10353,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:10356,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10357,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10377,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10378,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10381
      start: 10320
    functionDepth: 11
    functionLinenumber: 10320
    functionLinenumberEnd: 10381
    functionName: named_server_reloadcommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - reload
    - dns_zone_detach
    - putnull
    - dns_zone_refresh
    - REQUIRE
    - zone_from_args
    - dns_zone_gettype
    - dns_zone_load
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_reloadcommand(named_server_t *server, isc_lex_t
      *lex,\n\t\t\t   isc_buffer_t **text)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10393,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10396,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10398,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10400,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10401,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10405,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10407,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10410,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10412,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10413,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10416,1
    - Dst: isc_stats_set
      Src: /src/bind9/bin/named/server.c:10420,1
    - Dst: ns_stats_get
      Src: /src/bind9/bin/named/server.c:10420,1
    - Dst: isc_stats_set
      Src: /src/bind9/bin/named/server.c:10424,1
    - Dst: ns_stats_get
      Src: /src/bind9/bin/named/server.c:10424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10429
      start: 10386
    functionDepth: 2
    functionLinenumber: 10386
    functionLinenumberEnd: 10429
    functionName: named_server_resetstatscommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stats_set
    - next_token
    - ns_stats_get
    - putnull
    - REQUIRE
    - strcmp
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_resetstatscommand(named_server_t *server,
      isc_lex_t *lex,\n\t\t\t       isc_buffer_t **text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange
      Src: /src/bind9/bin/named/server.c:10437,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10441,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/server.c:10445,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:10451,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/bin/named/server.c:10454,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10456,1
    - Dst: loadconfig
      Src: /src/bind9/bin/named/server.c:10456,1
    - Dst: load_zones
      Src: /src/bind9/bin/named/server.c:10458,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10460,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10463,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10465,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:10466,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:10469,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - server
    - text
    argTypes:
    - named_server_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10474
      start: 10434
    functionDepth: 10
    functionLinenumber: 10434
    functionLinenumberEnd: 10474
    functionName: named_server_reconfigcommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_os_notify_systemd
    - load_zones
    - atomic_exchange
    - isc_result_totext
    - loadconfig
    - CHECK
    - isc_log_write
    - isc_time_monotonic
    - isc_buffer_printf
    - atomic_store
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_reconfigcommand(named_server_t *server, isc_buffer_t
      *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10486,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10488,1
    - Dst: dns_zone_notify
      Src: /src/bind9/bin/named/server.c:10496,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10497,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10498,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10502
      start: 10479
    functionDepth: 3
    functionLinenumber: 10479
    functionLinenumberEnd: 10502
    functionName: named_server_notifycommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_notify
    - dns_zone_detach
    - putnull
    - REQUIRE
    - zone_from_args
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_notifycommand(named_server_t *server, isc_lex_t
      *lex,\n\t\t\t   isc_buffer_t **text)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10516,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10518,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:10526,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10528,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:10529,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10530,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:10533,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/bin/named/server.c:10537,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10538,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10539,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10540,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10544,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10545,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10548
      start: 10507
    functionDepth: 3
    functionLinenumber: 10507
    functionLinenumberEnd: 10548
    functionName: named_server_refreshcommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_attach
    - dns_zone_detach
    - putnull
    - REQUIRE
    - zone_from_args
    - dns_zone_gettype
    - dns_zone_refresh
    - dns_zone_getraw
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_refreshcommand(named_server_t *server, isc_lex_t
      *lex,\n\t\t\t    isc_buffer_t **text)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10557,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:10562,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10564,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10567,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10567,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10568,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10568,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10571,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10571,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10572,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10572,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:10583,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10585,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - server
    - optname
    - option
    - lex
    argTypes:
    - named_server_t*
    - char*
    - unsigned int
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10589
      start: 10550
    functionDepth: 2
    functionLinenumber: 10550
    functionLinenumberEnd: 10589
    functionName: named_server_setortoggle
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_server_getoption
    - next_token
    - ns_server_setoption
    - isc_log_write
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_setortoggle(named_server_t *server, const
      char *optname,\n\t\t\t unsigned int option, isc_lex_t *lex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10599,1
    - Dst: ns_listenlist_create
      Src: /src/bind9/bin/named/server.c:10601,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10608,1
    - Dst: listenelt_fromconfig
      Src: /src/bind9/bin/named/server.c:10609,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:10614,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/bin/named/server.c:10620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - listenlist
    - config
    - actx
    - mctx
    - family
    - tlsctx_cache
    - target
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - uint16_t
    - isc_tlsctx_cache_t*
    - ns_listenlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10622
      start: 10591
    functionDepth: 1
    functionLinenumber: 10591
    functionLinenumberEnd: 10622
    functionName: listenlist_fromconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_APPEND
    - ns_listenlist_detach
    - REQUIRE
    - ns_listenlist_create
    - cfg_listelt_value
    - listenelt_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t listenlist_fromconfig(const cfg_obj_t *listenlist, const
      cfg_obj_t *config,\n\t\t      cfg_aclconfctx_t *actx, isc_mem_t *mctx, uint16_t
      family,\n\t\t      isc_tlsctx_cache_t *tlsctx_cache,\n\t\t      ns_listenlist_t
      **target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10608,1
    - Dst: listenelt_fromconfig
      Src: /src/bind9/bin/named/server.c:10609,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:10614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10615
      start: 10606
    functionDepth: 1
    functionLinenumber: 10606
    functionLinenumberEnd: 10615
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - ISC_LIST_APPEND
    - listenelt_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (listenlist, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10629,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10630,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10632,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10638,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10639,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10639,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:10639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - config
    - listname
    - name
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10647
      start: 10624
    functionDepth: 1
    functionLinenumber: 10624
    functionLinenumberEnd: 10647
    functionName: find_maplist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    - REQUIRE
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      find_maplist(const cfg_obj_t *config, const char *listname, const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10638,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10639,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10639,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:10639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10644
      start: 10637
    functionDepth: 1
    functionLinenumber: 10637
    functionLinenumberEnd: 10644
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (maplist, elt)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10677,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10679,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:10680,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10682,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:10683,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10684,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10686,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10688,1
    - Dst: find_maplist
      Src: /src/bind9/bin/named/server.c:10702,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:10704,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10706,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10710,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10710,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10711,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10713,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10713,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10714,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10716,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10719,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10722,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10725,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10728,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10730,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/bin/named/server.c:10732,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10735,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10737,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/bin/named/server.c:10737,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10742,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10745,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10748,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10751,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10754,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10758,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10761,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:10765,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10770,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:10774,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10795,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:10796,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10797,1
    - Dst: find_maplist
      Src: /src/bind9/bin/named/server.c:10803,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10804,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:10806,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10808,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10815,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:10816,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10821,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10831,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10841,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10851,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10859,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10862,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10865,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:10866,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10867,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10869,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10870,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10872,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:10875,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10881,1
    - Dst: listenelt_http
      Src: /src/bind9/bin/named/server.c:10881,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10887,1
    - Dst: ns_listenelt_create
      Src: /src/bind9/bin/named/server.c:10887,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:10892,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10892,1
    - Dst: ns_listenelt_destroy
      Src: /src/bind9/bin/named/server.c:10895,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 139
    argCount: 7
    argNames:
    - listener
    - config
    - actx
    - mctx
    - family
    - tlsctx_cache
    - target
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - uint16_t
    - isc_tlsctx_cache_t*
    - ns_listenelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10902
      start: 10653
    functionDepth: 1
    functionLinenumber: 10653
    functionLinenumberEnd: 10902
    functionName: listenelt_fromconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_tls_protocol_name_to_version
    - ns_listenelt_create
    - ns_listenelt_destroy
    - UNREACHABLE
    - strcasecmp
    - cfg_acl_fromconfig
    - cfg_obj_asuint32
    - RUNTIME_CHECK
    - INSIST
    - cfg_obj_isstring
    - listenelt_http
    - cfg_obj_isuint32
    - cfg_obj_log
    - isc_tls_protocol_supported
    - named_config_getport
    - cfg_obj_asstring
    - cfg_tuple_get
    - find_maplist
    - CHECK
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t listenelt_fromconfig(const cfg_obj_t *listener, const
      cfg_obj_t *config,\n\t\t     cfg_aclconfctx_t *actx, isc_mem_t *mctx, uint16_t
      family,\n\t\t     isc_tlsctx_cache_t *tlsctx_cache,\n\t\t     ns_listenelt_t
      **target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10728,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10730,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/bin/named/server.c:10732,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10735,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10737,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/bin/named/server.c:10737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10739
      start: 10726
    functionDepth: 1
    functionLinenumber: 10726
    functionLinenumberEnd: 10739
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - isc_tls_protocol_supported
    - INSIST
    - cfg_obj_asstring
    - isc_tls_protocol_name_to_version
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (tls_proto_list, proto)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10919,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10922,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10923,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10938,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10939,1
    - Dst: cfg_list_length
      Src: /src/bind9/bin/named/server.c:10940,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10943,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10946,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10947,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10950,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10953,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10954,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/named/server.c:10958,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10962,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10963,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:10964,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:10967,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10970,1
    - Dst: ns_listenelt_create_http
      Src: /src/bind9/bin/named/server.c:10972,1
    - Dst: ns_listenelt_destroy
      Src: /src/bind9/bin/named/server.c:10984,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 9
    argNames:
    - http
    - family
    - tls
    - tls_params
    - tlsctx_cache
    - port
    - mctx
    - proxy
    - target
    argTypes:
    - cfg_obj_t*
    - uint16_t
    - bool
    - ns_listen_tls_params_t*
    - isc_tlsctx_cache_t*
    - in_port_t
    - isc_mem_t*
    - isc_nm_proxy_type_t
    - ns_listenelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10987
      start: 10905
    functionDepth: 1
    functionLinenumber: 10905
    functionLinenumberEnd: 10987
    functionName: listenelt_http
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asuint32
    - cfg_list_length
    - ns_listenelt_create_http
    - INSIST
    - cfg_obj_asstring
    - REQUIRE
    - isc_mem_strdup
    - isc_mem_allocate
    - cfg_map_get
    - cfg_listelt_value
    - ns_listenelt_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t listenelt_http(const cfg_obj_t *http, const uint16_t
      family, bool tls,\n\t       const ns_listen_tls_params_t *tls_params,\n\t       isc_tlsctx_cache_t
      *tlsctx_cache, in_port_t port,\n\t       isc_mem_t *mctx, isc_nm_proxy_type_t
      proxy,\n\t       ns_listenelt_t **target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10962,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10963,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:10964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10965
      start: 10961
    functionDepth: 1
    functionLinenumber: 10961
    functionLinenumberEnd: 10965
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (eplist, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:10995,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:10995,1
    - Dst: named_stats_dump
      Src: /src/bind9/bin/named/server.c:10998,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:11002,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11005,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11008,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11013
      start: 10990
    functionDepth: 1
    functionLinenumber: 10990
    functionLinenumberEnd: 11013
    functionName: named_server_dumpstats
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - named_stats_dump
    - isc_result_totext
    - CHECKMF
    - isc_log_write
    - isc_stdio_open
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_dumpstats(named_server_t *server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:11020,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:11022,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:11023,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:11024,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/bin/named/server.c:11024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11026
      start: 11015
    functionDepth: 1
    functionLinenumber: 11015
    functionLinenumberEnd: 11026
    functionName: add_zone_tolist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_attach
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - isc_mem_get
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_zone_tolist(dns_zone_t *zone, void *uap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11035,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:11041,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:11043,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:11044,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:11045,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:11046,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:11048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dctx
    - view
    argTypes:
    - struct dumpcontext*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11052
      start: 11028
    functionDepth: 1
    functionLinenumber: 11028
    functionLinenumberEnd: 11052
    functionName: add_view_tolist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_attach
    - ISC_LIST_APPEND
    - dns_view_apply
    - ISC_LINK_INIT
    - isc_mem_get
    - ISC_LIST_FOREACH
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_view_tolist(struct dumpcontext *dctx, dns_view_t *view)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11056,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:11057,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11058,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:11059,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11060,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:11061,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:11063,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:11064,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:11067,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:11070,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:11073,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:11076,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/bin/named/server.c:11079,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:11081,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - struct dumpcontext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11082
      start: 11054
    functionDepth: 1
    functionLinenumber: 11054
    functionLinenumberEnd: 11082
    functionName: dumpcontext_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - dns_db_detach
    - dns_zone_detach
    - dns_dumpctx_detach
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - dns_view_detach
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dumpcontext_destroy(struct dumpcontext *dctx)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/bin/named/server.c:11094,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/server.c:11097,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:11101,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11106,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/server.c:11108,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11109,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:11111,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/server.c:11121,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11124,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:11127,1
    - Dst: dns_master_dumptostreamasync
      Src: /src/bind9/bin/named/server.c:11128,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11135,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11136,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/server.c:11146,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:11152,1
    - Dst: dns_adb_dump
      Src: /src/bind9/bin/named/server.c:11154,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:11155,1
    - Dst: dns_badcache_print
      Src: /src/bind9/bin/named/server.c:11159,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:11162,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:11168,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:11171,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/server.c:11174,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:11176,1
    - Dst: dns_zone_name
      Src: /src/bind9/bin/named/server.c:11180,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11181,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:11182,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11184,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11185,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:11188,1
    - Dst: dns_master_dumptostreamasync
      Src: /src/bind9/bin/named/server.c:11189,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/bin/named/server.c:11191,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11197,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11198,1
    - Dst: POST
      Src: /src/bind9/bin/named/server.c:11200,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:11209,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11215,1
    - Dst: isc_stdio_flush
      Src: /src/bind9/bin/named/server.c:11216,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11218,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11223,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11225,1
    - Dst: dumpcontext_destroy
      Src: /src/bind9/bin/named/server.c:11227,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 129
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11228
      start: 11084
    functionDepth: 2
    functionLinenumber: 11084
    functionLinenumberEnd: 11228
    functionName: dumpdone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dumpcontext_destroy
    - dns_adb_detach
    - isc_log_write
    - dns_dumpctx_detach
    - dns_master_dumptostreamasync
    - dns_cache_getname
    - ISC_LIST_HEAD
    - dns_db_detach
    - isc_stdio_flush
    - dns_adb_dump
    - dns_view_getadb
    - dns_zone_getloop
    - fprintf
    - ISC_LIST_NEXT
    - dns_badcache_print
    - dns_db_currentversion
    - dns_view_iscacheshared
    - dns_zone_name
    - dns_db_attach
    - INSIST
    - isc_result_totext
    - dns_zone_getdb
    - POST
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dumpdone(void *arg, isc_result_t result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11239,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11242,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:11247,1
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:11256,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:11256,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11259,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11261,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11265,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11268,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11269,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11271,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11272,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11275,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11276,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11282,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11283,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11287,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11288,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11293,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11294,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11298,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11303,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11304,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11308,1
    - Dst: add_view_tolist
      Src: /src/bind9/bin/named/server.c:11308,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11312,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11312,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11313,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11313,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11314,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11314,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11315,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11315,1
    - Dst: dumpdone
      Src: /src/bind9/bin/named/server.c:11317,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11320,1
    - Dst: dumpdone
      Src: /src/bind9/bin/named/server.c:11325,1
    - Dst: dumpcontext_destroy
      Src: /src/bind9/bin/named/server.c:11329,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11331
      start: 11230
    functionDepth: 3
    functionLinenumber: 11230
    functionLinenumberEnd: 11331
    functionName: named_server_dumpdb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dumpcontext_destroy
    - dumpdone
    - putnull
    - isc_mem_get
    - CHECKMF
    - isc_log_write
    - isc_stdio_open
    - REQUIRE
    - CHECK
    - ISC_LIST_FOREACH
    - strcmp
    - add_view_tolist
    - putstr
    - next_token
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_dumpdb(named_server_t *server, isc_lex_t
      *lex,\n\t\t    isc_buffer_t **text)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11343,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11346,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11349,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11355,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11356,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11357,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:11359,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11361,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11362,1
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:11363,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:11368,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:11369,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11370,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11370,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11371,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11371,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11372,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11372,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11373,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11376,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11377,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:11381,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:11383,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11388,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11389,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11389,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11392,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11392,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11393,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11393,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11394,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11394,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11395,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11396,1
    - Dst: dns_keytable_totext
      Src: /src/bind9/bin/named/server.c:11396,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:11399,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:11401,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11406,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11407,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11407,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11409,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11409,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11410,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11411,1
    - Dst: dns_ntatable_totext
      Src: /src/bind9/bin/named/server.c:11411,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11415,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:11421,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:11424,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11428,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11429,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11431,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11431,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:11432,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:11433,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:11434,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11435,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11436,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11440,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11443,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11445,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11448
      start: 11333
    functionDepth: 2
    functionLinenumber: 11333
    functionLinenumberEnd: 11448
    functionName: named_server_dumpsecroots
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - CHECKMF
    - isc_log_write
    - REQUIRE
    - dns_ntatable_totext
    - isc_time_formattimestamp
    - putnull
    - isc_time_now
    - fprintf
    - putstr
    - isc_stdio_close
    - isc_buffer_clear
    - dns_keytable_totext
    - isc_stdio_open
    - dns_ntatable_detach
    - ISC_LIST_FOREACH
    - dns_view_getsecroots
    - next_token
    - dns_view_getntatable
    - isc_result_totext
    - CHECK
    - isc_buffer_usedlength
    - strcmp
    - isc_buffer_base
    - dns_keytable_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_dumpsecroots(named_server_t *server, isc_lex_t
      *lex,\n\t\t\t  isc_buffer_t **text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:11455,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:11455,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11457,1
    - Dst: ns_interfacemgr_dumprecursing
      Src: /src/bind9/bin/named/server.c:11458,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11460,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11461,1
    - Dst: dns_resolver_dumpfetches
      Src: /src/bind9/bin/named/server.c:11463,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11467,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:11471,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11474,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11477,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11482
      start: 11450
    functionDepth: 1
    functionLinenumber: 11450
    functionLinenumberEnd: 11482
    functionName: named_server_dumprecursing
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_dumpfetches
    - isc_result_totext
    - CHECKMF
    - isc_log_write
    - isc_stdio_open
    - fprintf
    - ISC_LIST_FOREACH
    - ns_interfacemgr_dumprecursing
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_dumprecursing(named_server_t *server)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:11490,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11493,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11499,1
    - Dst: strtol
      Src: /src/bind9/bin/named/server.c:11505,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/server.c:11511,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - server
    - lex
    argTypes:
    - named_server_t*
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11516
      start: 11484
    functionDepth: 2
    functionLinenumber: 11484
    functionLinenumberEnd: 11516
    functionName: named_server_setdebuglevel
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_log_write
    - strtol
    - isc_log_setdebuglevel
    - next_token
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_setdebuglevel(named_server_t *server, isc_lex_t
      *lex)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11526,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11529,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11535,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11540,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11540,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11541,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11541,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11544,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11544,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11545,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11545,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11548,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11548,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11555,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11557,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11558,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11559,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11560,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11566,1
    - Dst: dns_view_flushcache
      Src: /src/bind9/bin/named/server.c:11566,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11571,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11571,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11573,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11573,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11574,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11574,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11577,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11577,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11578,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11578,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11579,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11579,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11583,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11583,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11593,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11595
      start: 11518
    functionDepth: 2
    functionLinenumber: 11518
    functionLinenumberEnd: 11595
    functionName: named_server_validation
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - next_token
    - isc_loopmgr_pause
    - putnull
    - dns_view_flushcache
    - CHECK
    - REQUIRE
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - putstr
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_validation(named_server_t *server, isc_lex_t
      *lex,\n\t\t\tisc_buffer_t **text)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11605,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11611,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11613,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11630,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11631,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11636,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11648,1
    - Dst: dns_view_flushcache
      Src: /src/bind9/bin/named/server.c:11653,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11656,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11660,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11673,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/server.c:11674,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11678,1
    - Dst: dns_view_flushcache
      Src: /src/bind9/bin/named/server.c:11682,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11685,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11690,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11696,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11702,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11707,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11714,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11724,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - server
    - lex
    argTypes:
    - named_server_t*
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11726
      start: 11597
    functionDepth: 2
    functionLinenumber: 11597
    functionLinenumberEnd: 11726
    functionName: named_server_flushcache
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - next_token
    - dns_view_iscacheshared
    - isc_loopmgr_pause
    - isc_result_totext
    - dns_view_flushcache
    - isc_log_write
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_flushcache(named_server_t *server, isc_lex_t
      *lex)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11740,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11746,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:11751,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:11752,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:11752,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:11753,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:11753,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:11754,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:11755,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11761,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11763,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11766,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11767,1
    - Dst: dns_view_flushnode
      Src: /src/bind9/bin/named/server.c:11776,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11779,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11784,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11789,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11795,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11804,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11812,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - server
    - lex
    - tree
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11814
      start: 11728
    functionDepth: 2
    functionLinenumber: 11728
    functionLinenumberEnd: 11814
    functionName: named_server_flushnode
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - strcasecmp
    - dns_view_flushnode
    - strlcpy
    - dns_fixedname_initname
    - isc_loopmgr_pause
    - isc_result_totext
    - strlen
    - isc_log_write
    - isc_loopmgr_resume
    - isc_buffer_add
    - ISC_LIST_FOREACH
    - next_token
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_flushnode(named_server_t *server, isc_lex_t
      *lex, bool tree)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11827,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11838,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11839,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11841,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11843,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11845,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11847,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:11850,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:11852,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11855,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11858,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11858,1
    - Dst: gethostname
      Src: /src/bind9/bin/named/server.c:11860,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:11861,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11863,1
    - Dst: named_os_uname
      Src: /src/bind9/bin/named/server.c:11864,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11865,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11865,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11867,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11868,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11868,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11870,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11871,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11871,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11874,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11877,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11880,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11880,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11882,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11883,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11883,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11885,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11886,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11886,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11888,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11890,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11890,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11892,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11893,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11893,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11895,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11896,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11896,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11898,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11899,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11899,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11901,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11903,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11903,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11905,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11907,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11907,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11909,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:11910,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11913,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11913,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11915,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:11916,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11919,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11919,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11921,1
    - Dst: named_server_getmemprof
      Src: /src/bind9/bin/named/server.c:11922,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11923,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11923,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11925,1
    - Dst: isc_quota_getused
      Src: /src/bind9/bin/named/server.c:11926,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/bin/named/server.c:11927,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/bin/named/server.c:11928,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11929,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11929,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11931,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/bin/named/server.c:11932,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11935,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11935,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11937,1
    - Dst: isc_quota_getused
      Src: /src/bind9/bin/named/server.c:11938,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/bin/named/server.c:11939,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11940,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11940,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11942,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/bin/named/server.c:11943,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11945,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11945,1
    - Dst: atomic_load
      Src: /src/bind9/bin/named/server.c:11947,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11949,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11952,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11952,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11955,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11955,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11956,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 2
    argNames:
    - server
    - text
    argTypes:
    - named_server_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11961
      start: 11816
    functionDepth: 2
    functionLinenumber: 11816
    functionLinenumberEnd: 11961
    functionName: named_server_status
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_server_getoption
    - named_os_uname
    - isc_quota_getsoft
    - strlcpy
    - isc_quota_getmax
    - dns_zonemgr_getcount
    - putnull
    - ns_stats_get_counter
    - CHECK
    - snprintf
    - REQUIRE
    - atomic_load
    - gethostname
    - named_server_getmemprof
    - putstr
    - isc_quota_getused
    - isc_time_formathttptimestamp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_status(named_server_t *server, isc_buffer_t
      **text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11971,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11974,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11979,1
    - Dst: strtoul
      Src: /src/bind9/bin/named/server.c:11983,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11986,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/named/server.c:11986,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11988,1
    - Dst: putuint8
      Src: /src/bind9/bin/named/server.c:11988,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11991,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - lex
    - text
    argTypes:
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11995
      start: 11963
    functionDepth: 2
    functionLinenumber: 11963
    functionLinenumberEnd: 11995
    functionName: named_server_testgen
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strtoul
    - isc_buffer_reserve
    - putuint8
    - putnull
    - CHECK
    - REQUIRE
    - next_token
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_testgen(isc_lex_t *lex, isc_buffer_t **text)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12009,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12011,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12016,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12020,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:12022,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:12030,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12032,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:12039,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:12042,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12045,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12047
      start: 12000
    functionDepth: 3
    functionLinenumber: 12000
    functionLinenumberEnd: 12047
    functionName: named_server_rekey
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_rekey
    - next_token
    - dns_zone_detach
    - dns_zone_getkasp
    - REQUIRE
    - zone_from_args
    - dns_zone_gettype
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_rekey(named_server_t *server, isc_lex_t
      *lex,\n\t\t   isc_buffer_t **text)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:12059,1
    - Dst: synczone
      Src: /src/bind9/bin/named/server.c:12061,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12062,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:12065,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:12070,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12077
      start: 12052
    functionDepth: 1
    functionLinenumber: 12052
    functionLinenumberEnd: 12077
    functionName: synczone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_zone_flush
    - synczone
    - dns_zone_getjournal
    - dns_zone_detach
    - isc_file_remove
    - dns_zone_getraw
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t synczone(dns_zone_t *zone, void *uap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12088,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12090,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12092,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12094,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12094,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12097,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12100,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:12102,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:12108,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:12110,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:12111,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12118,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12119,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12122,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:12126,1
    - Dst: synczone
      Src: /src/bind9/bin/named/server.c:12127,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12128,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:12130,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12131,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12132,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/server.c:12140,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/server.c:12140,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:12142,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:12142,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12143,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12147,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12150
      start: 12079
    functionDepth: 3
    functionLinenumber: 12079
    functionLinenumberEnd: 12150
    functionName: named_server_sync
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getview
    - dns_view_apply
    - isc_loopmgr_pause
    - synczone
    - dns_rdataclass_format
    - isc_result_totext
    - dns_zone_detach
    - isc_log_write
    - dns_zone_getclass
    - REQUIRE
    - zone_from_args
    - ISC_LIST_FOREACH
    - strcmp
    - isc_loopmgr_resume
    - dns_zone_getorigin
    - next_token
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_sync(named_server_t *server, isc_lex_t *lex,
      isc_buffer_t **text)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12167,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:12169,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:12174,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:12176,1
    - Dst: dns_view_freezezones
      Src: /src/bind9/bin/named/server.c:12177,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12183,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12184,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12187,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:12190,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12192,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:12193,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12194,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:12196,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12198,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/bin/named/server.c:12202,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12203,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:12207,1
    - Dst: dns_zone_getupdatedisabled
      Src: /src/bind9/bin/named/server.c:12208,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:12217,1
    - Dst: dns_zone_setupdatedisabled
      Src: /src/bind9/bin/named/server.c:12224,1
    - Dst: dns_zone_loadandthaw
      Src: /src/bind9/bin/named/server.c:12228,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12246,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12249,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:12250,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:12253,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12254,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12255,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/server.c:12263,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/server.c:12263,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:12265,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:12265,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12267,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12270,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12271,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 85
    argCount: 4
    argNames:
    - server
    - freeze
    - lex
    - text
    argTypes:
    - named_server_t*
    - bool
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12273
      start: 12155
    functionDepth: 3
    functionLinenumber: 12155
    functionLinenumberEnd: 12273
    functionName: named_server_freeze
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_flush
    - dns_zone_detach
    - isc_log_write
    - REQUIRE
    - dns_zone_getorigin
    - dns_zone_isdynamic
    - dns_zone_getraw
    - dns_rdataclass_format
    - putnull
    - zone_from_args
    - isc_loopmgr_resume
    - dns_zone_loadandthaw
    - dns_zone_gettype
    - dns_zone_getclass
    - dns_name_format
    - putstr
    - dns_zone_getupdatedisabled
    - dns_zone_getview
    - dns_view_freezezones
    - ISC_LIST_FOREACH
    - dns_zone_attach
    - isc_loopmgr_pause
    - isc_result_totext
    - strcmp
    - dns_zone_setupdatedisabled
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_freeze(named_server_t *server, bool freeze,
      isc_lex_t *lex,\n\t\t    isc_buffer_t **text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12282,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12285
      start: 12280
    functionDepth: 1
    functionLinenumber: 12280
    functionLinenumberEnd: 12285
    functionName: named_smf_add_message
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - putstr
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_smf_add_message(isc_buffer_t **text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12301,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12301,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12302,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12302,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12302,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12303,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fp
    - viewname
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12306
      start: 12298
    functionDepth: 1
    functionLinenumber: 12298
    functionLinenumberEnd: 12306
    functionName: add_comment
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - strlen
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_comment(FILE *fp, const char *viewname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12313
      start: 12308
    functionDepth: 1
    functionLinenumber: 12308
    functionLinenumberEnd: 12313
    functionName: dumpzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    linkageType: ''
    returnType: void
    signature: void dumpzone(void *arg, const char *buf, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:12322,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12324,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:12324,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12325,1
    - Dst: isc_stdio_seek
      Src: /src/bind9/bin/named/server.c:12325,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12327,1
    - Dst: isc_stdio_tell
      Src: /src/bind9/bin/named/server.c:12327,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12330,1
    - Dst: add_comment
      Src: /src/bind9/bin/named/server.c:12330,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12333,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12333,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12334,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12335,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12335,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12336,1
    - Dst: isc_stdio_flush
      Src: /src/bind9/bin/named/server.c:12336,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:12337,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:12342,1
    - Dst: isc_file_truncate
      Src: /src/bind9/bin/named/server.c:12346,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12349,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12356,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:12360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - view
    - zconfig
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12362
      start: 12315
    functionDepth: 2
    functionLinenumber: 12315
    functionLinenumberEnd: 12362
    functionName: nzf_append
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - cfg_printx
    - LOCK
    - add_comment
    - isc_stdio_flush
    - isc_stdio_seek
    - isc_result_totext
    - isc_file_truncate
    - UNLOCK
    - CHECK
    - isc_log_write
    - isc_stdio_open
    - isc_stdio_tell
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzf_append(dns_view_t *view, const cfg_obj_t *zconfig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_template
      Src: /src/bind9/bin/named/server.c:12372,1
    - Dst: isc_file_openunique
      Src: /src/bind9/bin/named/server.c:12375,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12381,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:12382,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12383,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:12386,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12388,1
    - Dst: add_comment
      Src: /src/bind9/bin/named/server.c:12388,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:12390,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:12391,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12393,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12393,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12394,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12395,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/named/server.c:12395,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12398,1
    - Dst: isc_stdio_flush
      Src: /src/bind9/bin/named/server.c:12398,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:12399,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12404,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/named/server.c:12404,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:12409,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - config
    - view
    argTypes:
    - cfg_obj_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12413
      start: 12364
    functionDepth: 2
    functionLinenumber: 12364
    functionLinenumberEnd: 12413
    functionName: nzf_writeconf
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - cfg_printx
    - cfg_obj_islist
    - add_comment
    - isc_file_rename
    - isc_stdio_flush
    - isc_file_remove
    - isc_file_template
    - CHECK
    - UNCONST
    - isc_file_openunique
    - ISC_LIST_FOREACH
    - cfg_map_get
    - cfg_listelt_value
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzf_writeconf(const cfg_obj_t *config, dns_view_t *view)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/server.c:12420,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/named/server.c:12428,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/server.c:12429,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12432,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - view
    - nzcfg
    argTypes:
    - dns_view_t*
    - ns_cfgctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12438
      start: 12415
    functionDepth: 1
    functionLinenumber: 12415
    functionLinenumberEnd: 12438
    functionName: load_nzf
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_parser_reset
    - cfg_parse_file
    - isc_result_totext
    - isc_log_write
    - isc_file_exists
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_nzf(dns_view_t *view, ns_cfgctx_t *nzcfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/server.c:12445,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/named/server.c:12446,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:12446,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:12447,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:12447,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key
    - name
    - namebuf
    - buflen
    argTypes:
    - MDB_val*
    - dns_name_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12451
      start: 12441
    functionDepth: 1
    functionLinenumber: 12441
    functionLinenumberEnd: 12451
    functionName: nzd_setkey
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_name
    - dns_name_downcase
    - strlen
    - dns_fixedname_init
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void nzd_setkey(MDB_val *key, dns_name_t *name, char *namebuf, size_t
      buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12458,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/bin/named/server.c:12458,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:12460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12464
      start: 12453
    functionDepth: 1
    functionLinenumber: 12453
    functionLinenumberEnd: 12464
    functionName: dumpzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_MAGIC_VALID
    - putmem
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dumpzone(void *arg, const char *buf, int len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:12478,1
    - Dst: nzd_setkey
      Src: /src/bind9/bin/named/server.c:12480,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:12480,1
    - Dst: mdb_del
      Src: /src/bind9/bin/named/server.c:12484,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12486,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12490,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12498,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:12500,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12502,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12513,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12515,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12519,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:12524,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12525,1
    - Dst: mdb_put
      Src: /src/bind9/bin/named/server.c:12527,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12529,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12533,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/server.c:12545,1
    - Dst: mdb_txn_commit
      Src: /src/bind9/bin/named/server.c:12547,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12549,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12553,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:12560,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 4
    argNames:
    - txnp
    - dbi
    - zone
    - zconfig
    argTypes:
    - MDB_txn**
    - MDB_dbi
    - dns_zone_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12564
      start: 12466
    functionDepth: 2
    functionLinenumber: 12466
    functionLinenumberEnd: 12564
    functionName: nzd_save
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_printx
    - mdb_del
    - dns_zone_getview
    - mdb_put
    - isc_result_totext
    - cfg_tuple_get
    - mdb_strerror
    - isc_buffer_free
    - isc_log_write
    - nzd_setkey
    - isc_buffer_allocate
    - dns_zone_getorigin
    - isc_buffer_usedlength
    - mdb_txn_commit
    - isc_buffer_base
    - mdb_txn_abort
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t nzd_save(MDB_txn **txnp, MDB_dbi dbi, dns_zone_t *zone,\n\t
      const cfg_obj_t *zconfig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12578,1
    - Dst: mdb_txn_begin
      Src: /src/bind9/bin/named/server.c:12580,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12582,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12584,1
    - Dst: mdb_dbi_open
      Src: /src/bind9/bin/named/server.c:12588,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12590,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12592,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/server.c:12596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12598
      start: 12571
    functionDepth: 1
    functionLinenumber: 12571
    functionLinenumberEnd: 12598
    functionName: nzd_writable
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - mdb_dbi_open
    - mdb_strerror
    - isc_log_write
    - REQUIRE
    - mdb_txn_abort
    - mdb_txn_begin
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzd_writable(dns_view_t *view)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12610,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12611,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12612,1
    - Dst: mdb_txn_begin
      Src: /src/bind9/bin/named/server.c:12614,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12616,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12618,1
    - Dst: mdb_dbi_open
      Src: /src/bind9/bin/named/server.c:12622,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12624,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12626,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/server.c:12635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - view
    - flags
    - txnp
    - dbi
    argTypes:
    - dns_view_t*
    - unsigned int
    - MDB_txn**
    - MDB_dbi*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12641
      start: 12605
    functionDepth: 1
    functionLinenumber: 12605
    functionLinenumberEnd: 12641
    functionName: nzd_open
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 2
    functionsReached:
    - mdb_dbi_open
    - mdb_strerror
    - isc_log_write
    - REQUIRE
    - mdb_txn_abort
    - mdb_txn_begin
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzd_open(dns_view_t *view, unsigned int flags, MDB_txn
      **txnp, MDB_dbi *dbi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_get_path
      Src: /src/bind9/bin/named/server.c:12659,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:12660,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:12661,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:12662,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/named/server.c:12663,1
    - Dst: chown
      Src: /src/bind9/bin/named/server.c:12668,1
    - Dst: named_os_uid
      Src: /src/bind9/bin/named/server.c:12668,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:12669,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12678
      start: 12648
    functionDepth: 1
    functionLinenumber: 12648
    functionLinenumberEnd: 12678
    functionName: nzd_env_close
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - named_os_uid
    - strlcpy
    - UNUSED
    - INSIST
    - isc_file_remove
    - mdb_env_get_path
    - mdb_env_close
    - snprintf
    - chown
    linkageType: ''
    returnType: void
    signature: void nzd_env_close(dns_view_t *view)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nzd_env_close
      Src: /src/bind9/bin/named/server.c:12690,1
    - Dst: mdb_env_create
      Src: /src/bind9/bin/named/server.c:12692,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12694,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12696,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12697,1
    - Dst: mdb_env_set_mapsize
      Src: /src/bind9/bin/named/server.c:12701,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12703,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12706,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12707,1
    - Dst: mdb_env_open
      Src: /src/bind9/bin/named/server.c:12711,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12713,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12715,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12716,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/named/server.c:12725,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12728
      start: 12680
    functionDepth: 2
    functionLinenumber: 12680
    functionLinenumberEnd: 12728
    functionName: nzd_env_reopen
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - mdb_env_create
    - mdb_env_set_mapsize
    - mdb_env_open
    - mdb_strerror
    - CHECK
    - isc_log_write
    - mdb_env_close
    - nzd_env_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzd_env_reopen(dns_view_t *view)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12742,1
    - Dst: mdb_txn_commit
      Src: /src/bind9/bin/named/server.c:12746,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/server.c:12751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - txnp
    - commit
    argTypes:
    - MDB_txn**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12757
      start: 12737
    functionDepth: 1
    functionLinenumber: 12737
    functionLinenumberEnd: 12757
    functionName: nzd_close
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 2
    functionsReached:
    - mdb_txn_abort
    - mdb_txn_commit
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzd_close(MDB_txn **txnp, bool commit)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:12779,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/server.c:12785,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12790,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/named/server.c:12801,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/server.c:12802,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12805,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12807,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12812,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12812,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:12813,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12814,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12817,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:12817,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:12819,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:12822,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12830,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12830,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:12837,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12837,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:12838,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12838,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:12839,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12840,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:12840,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:12842,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12845,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12847,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:12853,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12857,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12859,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12863,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:12868,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12869,1
    - Dst: mdb_put
      Src: /src/bind9/bin/named/server.c:12871,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12873,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12877,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:12892,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12893,1
    - Dst: strlcat
      Src: /src/bind9/bin/named/server.c:12894,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/named/server.c:12895,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:12900,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:12902,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:12906,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:12910,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 2
    argNames:
    - view
    - nzcfg
    argTypes:
    - dns_view_t*
    - ns_cfgctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12914
      start: 12765
    functionDepth: 2
    functionLinenumber: 12765
    functionLinenumberEnd: 12914
    functionName: load_nzf
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - strlcpy
    - mdb_put
    - strlcat
    - isc_log_write
    - isc_file_exists
    - isc_buffer_allocate
    - cfg_parser_reset
    - nzd_open
    - dns_fixedname_initname
    - cfg_obj_destroy
    - dns_name_format
    - isc_buffer_constinit
    - cfg_printx
    - isc_buffer_clear
    - dns_name_fromtext
    - cfg_obj_islist
    - UNUSED
    - mdb_strerror
    - strlen
    - isc_buffer_free
    - cfg_parse_file
    - isc_file_rename
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_tuple_get
    - nzd_close
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_buffer_base
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_nzf(dns_view_t *view, ns_cfgctx_t *nzcfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:12822,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12830,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12830,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:12837,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12837,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:12838,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12838,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:12839,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12840,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:12840,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:12842,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12845,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12847,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:12853,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12857,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12859,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12863,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:12868,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12869,1
    - Dst: mdb_put
      Src: /src/bind9/bin/named/server.c:12871,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12873,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:12877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12883
      start: 12821
    functionDepth: 1
    functionLinenumber: 12821
    functionLinenumberEnd: 12883
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_printx
    - isc_buffer_clear
    - dns_name_fromtext
    - dns_fixedname_initname
    - mdb_put
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - strlen
    - CHECK
    - isc_log_write
    - isc_buffer_usedlength
    - mdb_strerror
    - isc_buffer_add
    - dns_name_format
    - isc_buffer_base
    - cfg_listelt_value
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, element)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12934,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12935,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12936,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12937,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:12940,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12940,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:12941,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12941,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:12943,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:12945,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:12948,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/named/server.c:12955,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/named/server.c:12957,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12958,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:12958,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12960,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12960,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:12961,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12962,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:12966,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:12966,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12969,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12972,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12974,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12976,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12977,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12978,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12981,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12983,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12985,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12989,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12989,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12990,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12990,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12992,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12993,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12993,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12994,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12995,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12996,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12999,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12999,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13004,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13005,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:13005,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13008,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:13009,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:13010,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:13015,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13017,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13018,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13019,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:13034,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:13037,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 7
    argNames:
    - server
    - command
    - viewp
    - zoneconfp
    - zoneobjp
    - redirectp
    - text
    argTypes:
    - named_server_t*
    - char*
    - dns_view_t**
    - cfg_obj_t**
    - cfg_obj_t**
    - bool*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13041
      start: 12917
    functionDepth: 1
    functionLinenumber: 12917
    functionLinenumberEnd: 13041
    functionName: newzone_parse
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_viewlist_find
    - cfg_list_first
    - REQUIRE
    - cfg_parser_reset
    - UNREACHABLE
    - cfg_parse_buffer
    - cfg_obj_destroy
    - strcasecmp
    - putstr
    - cfg_obj_islist
    - cfg_obj_isstring
    - strlen
    - strncasecmp
    - named_config_getclass
    - isc_buffer_forward
    - cfg_tuple_get
    - isc_buffer_init
    - cfg_obj_asstring
    - CHECK
    - isc_buffer_add
    - cfg_map_get
    - cfg_listelt_value
    - dns_view_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t newzone_parse(named_server_t *server, char *command,
      dns_view_t **viewp,\n\t      cfg_obj_t **zoneconfp, const cfg_obj_t **zoneobjp,\n\t
      \     bool *redirectp, isc_buffer_t **text)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13049,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13050,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13051,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13052,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13054,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:13056,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:13058,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13059,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:13062,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:13063,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:13065,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:13066,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:13070,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13070,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:13071,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:13072,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:13076,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:13077,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:13078,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:13079,1
    - Dst: nzfwriter
      Src: /src/bind9/bin/named/server.c:13088,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13092,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - view
    - pctx
    - config
    - zname
    - nzfwriter
    argTypes:
    - dns_view_t*
    - cfg_parser_t*
    - cfg_obj_t*
    - dns_name_t*
    - nzfwriter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13094
      start: 13043
    functionDepth: 1
    functionLinenumber: 13043
    functionLinenumberEnd: 13094
    functionName: delete_zoneconf
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - LOCK
    - cfg_obj_islist
    - dns_fixedname_initname
    - dns_name_equal
    - nzfwriter
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_obj_destroy
    - CHECK
    - ISC_LIST_UNLINK
    - UNCONST
    - REQUIRE
    - dns_name_fromstring
    - ISC_LIST_FOREACH
    - isc_mem_put
    - cfg_map_get
    - cfg_listelt_value
    - UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_zoneconf(dns_view_t *view, cfg_parser_t *pctx,
      const cfg_obj_t *config,\n\t\tconst dns_name_t *zname, nzfwriter_t nzfwriter)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:13111,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:13119,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:13128,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:13134,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13136,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13137,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13137,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13138,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13138,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13139,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13139,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13140,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13140,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13140,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:13144,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13147,1
    - Dst: nzd_writable
      Src: /src/bind9/bin/named/server.c:13150,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13152,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13153,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13153,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13154,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13154,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13155,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13155,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13163,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/bin/named/server.c:13165,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13169,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:13174,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:13175,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:13179,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13181,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13184,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13184,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13185,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13185,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13185,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13192,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:13194,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:13196,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13198,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13201,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/bin/named/server.c:13213,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:13215,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13216,1
    - Dst: cfg_parser_mapadd
      Src: /src/bind9/bin/named/server.c:13216,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:13226,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13230,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13230,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13231,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13231,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13231,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13233,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13237,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13238,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:13239,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:13243,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/bin/named/server.c:13248,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13252,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:13252,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13253,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:13253,1
    - Dst: nzf_append
      Src: /src/bind9/bin/named/server.c:13256,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:13263,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13266,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:13268,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:13272,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13275,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13280,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 114
    argCount: 8
    argNames:
    - server
    - cfg
    - view
    - name
    - zoneconf
    - zoneobj
    - redirect
    - text
    argTypes:
    - named_server_t*
    - ns_cfgctx_t*
    - dns_view_t*
    - dns_name_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13284
      start: 13096
    functionDepth: 3
    functionLinenumber: 13096
    functionLinenumberEnd: 13284
    functionName: do_addzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_thaw
    - cfg_parser_mapadd
    - UNLOCK
    - dns_zone_detach
    - isc_log_write
    - dns_zone_load
    - dns_zone_unload
    - LOCK
    - dns_view_delzone
    - nzd_save
    - nzd_open
    - dns_db_detach
    - isc_loopmgr_resume
    - putstr
    - isc_stdio_close
    - cfg_obj_attach
    - dns_view_findzone
    - nzd_writable
    - dns_zone_setadded
    - RUNTIME_CHECK
    - configure_zone
    - UNUSED
    - nzf_append
    - delete_zoneconf
    - isc_stdio_open
    - UNCONST
    - isccfg_check_zoneconf
    - dns_zone_attach
    - TCHECK
    - isc_loopmgr_pause
    - isc_result_totext
    - cfg_tuple_get
    - dns_zone_getdb
    - CHECK
    - dns_view_freeze
    - nzd_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_addzone(named_server_t *server, ns_cfgctx_t *cfg,
      dns_view_t *view,\n\t   dns_name_t *name, cfg_obj_t *zoneconf, const cfg_obj_t
      *zoneobj,\n\t   bool redirect, isc_buffer_t **text)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:13306,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:13312,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:13318,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13319,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13324,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13324,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13325,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:13329,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:13333,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13335,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13335,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13336,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13336,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13337,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13337,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13338,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13338,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13338,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13339,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:13342,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13345,1
    - Dst: nzd_writable
      Src: /src/bind9/bin/named/server.c:13348,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13350,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13350,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13351,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13351,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13352,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13352,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13354,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13361,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/bin/named/server.c:13363,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13367,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:13372,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:13373,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:13377,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:13379,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13382,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13382,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13383,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13383,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13383,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13390,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:13392,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13394,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:13394,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13400,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13401,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13404,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13404,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13406,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13406,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13406,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13414,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13416,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13418,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13419,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13421,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13425,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13425,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13427,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13427,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13427,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:13433,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13445,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13445,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13446,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13446,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13447,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13447,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13448,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13448,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13448,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13449,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13449,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13450,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13450,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13451,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13451,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13453,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13457,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13458,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:13459,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:13463,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:13469,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13470,1
    - Dst: cfg_parser_mapadd
      Src: /src/bind9/bin/named/server.c:13470,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13475,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:13475,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13476,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:13476,1
    - Dst: nzf_append
      Src: /src/bind9/bin/named/server.c:13478,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13480,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13480,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13481,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13481,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13481,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13486,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13486,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13487,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13487,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13488,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13488,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13490,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13490,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13491,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13491,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13492,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13492,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13493,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13493,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:13500,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:13504,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13507,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13512,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 155
    argCount: 8
    argNames:
    - server
    - cfg
    - view
    - name
    - zname
    - zoneobj
    - redirect
    - text
    argTypes:
    - named_server_t*
    - ns_cfgctx_t*
    - dns_view_t*
    - dns_name_t*
    - char*
    - cfg_obj_t*
    - bool
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13516
      start: 13286
    functionDepth: 3
    functionLinenumber: 13286
    functionLinenumberEnd: 13516
    functionName: do_modzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_thaw
    - cfg_parser_mapadd
    - dns_zone_detach
    - UNLOCK
    - isc_log_write
    - dns_zone_getorigin
    - dns_zone_load
    - dns_zone_unload
    - LOCK
    - dns_view_delzone
    - nzd_save
    - nzd_open
    - dns_db_detach
    - dns_zone_getadded
    - isc_loopmgr_resume
    - putstr
    - isc_stdio_close
    - dns_view_findzone
    - nzd_writable
    - configure_zone
    - nzf_append
    - delete_zoneconf
    - isc_stdio_open
    - UNCONST
    - isccfg_check_zoneconf
    - dns_zone_attach
    - TCHECK
    - isc_loopmgr_pause
    - isc_result_totext
    - cfg_tuple_get
    - dns_zone_getdb
    - CHECK
    - dns_view_freeze
    - nzd_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_modzone(named_server_t *server, ns_cfgctx_t *cfg,
      dns_view_t *view,\n\t   dns_name_t *name, const char *zname, const cfg_obj_t
      *zoneobj,\n\t   bool redirect, isc_buffer_t **text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/server.c:13613,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13615,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13618,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13620,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - file
    - first
    - text
    argTypes:
    - char*
    - bool
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13625
      start: 13611
    functionDepth: 1
    functionLinenumber: 13611
    functionLinenumberEnd: 13625
    functionName: inuse
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - putnull
    - isc_file_exists
    - putstr
    linkageType: ''
    returnType: bool
    signature: bool inuse(const char *file, bool first, isc_buffer_t **text)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13651,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:13655,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:13657,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13657,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13659,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:13667,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:13668,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13673,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:13674,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13676,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:13681,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13685,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13688,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:13692,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13694,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13696,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13697,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13700,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13703,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13710,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13712,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13714,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:13716,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13718,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13721,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13724,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13729,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13730,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:13731,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:13735,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:13741,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:13742,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13744,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13747,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:13750,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:13751,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13753,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13756,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:13760,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:13761,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13763,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13767,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:13770,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:13771,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13773,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13777,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13783,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13785,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:13786,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13787
      start: 13635
    functionDepth: 3
    functionLinenumber: 13635
    functionLinenumberEnd: 13787
    functionName: rmzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - dns_zone_detach
    - isc_log_write
    - REQUIRE
    - dns_zone_getorigin
    - dns_zone_getraw
    - dns_zone_unload
    - LOCK
    - nzd_save
    - nzd_open
    - dns_db_detach
    - dns_zone_getadded
    - dns_name_format
    - dns_zone_getfile
    - dns_zone_getview
    - dns_zone_getjournal
    - dns_zone_get_parentcatz
    - delete_zoneconf
    - isc_result_totext
    - cfg_tuple_get
    - dns_zone_getdb
    - isc_file_remove
    - isc_mem_put
    - nzd_close
    linkageType: ''
    returnType: void
    signature: void rmzone(void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13806,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13809,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13815,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13820,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13820,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13822,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13825,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:13825,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:13831,1
    - Dst: dns_zone_get_rpz_num
      Src: /src/bind9/bin/named/server.c:13834,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13835,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13835,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13836,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13836,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13837,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13837,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:13843,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:13844,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13845,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13847,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:13847,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:13851,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:13855,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:13856,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/bin/named/server.c:13856,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:13859,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:13862,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13864,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13864,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13865,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13865,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13866,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13866,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13868,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13868,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13869,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13869,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13870,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13870,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13872,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13872,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13873,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13873,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13874,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13874,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:13875,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:13876,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:13877,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13882,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13882,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13883,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13883,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:13884,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13884,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:13886,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:13887,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:13889,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:13890,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:13893,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:13894,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:13896,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:13897,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13901,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:13906,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:13911,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13912,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13915,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13918,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 85
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13922
      start: 13792
    functionDepth: 3
    functionLinenumber: 13792
    functionLinenumberEnd: 13922
    functionName: named_server_delzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_zone_detach
    - isc_log_write
    - REQUIRE
    - dns_zone_getraw
    - dns_view_delzone
    - dns_zone_getloop
    - dns_zone_getadded
    - putnull
    - isc_time_now
    - zone_from_args
    - dns_zone_gettype
    - putstr
    - dns_zone_getfile
    - dns_zone_getview
    - INSIST
    - dns_zone_getjournal
    - isc_mem_get
    - next_token
    - dns_zone_attach
    - strcmp
    - TCHECK
    - inuse
    - CHECK
    - isc_buffer_usedlength
    - dns_zone_get_rpz_num
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_delzone(named_server_t *server, isc_lex_t
      *lex,\n\t\t     isc_buffer_t **text)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13934,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:13935,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:13936,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:13937,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:13939,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:13942,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:13946,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:13947,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:13948,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13948,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:13955,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:13958,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13961,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:13966,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:13968,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13972,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:13972,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13980,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - config
    - map_key_for_list
    - name
    - redirect
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13988
      start: 13924
    functionDepth: 2
    functionLinenumber: 13924
    functionLinenumberEnd: 13988
    functionName: find_name_in_list_from_map
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - dns_name_equal
    - INSIST
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_fromstring
    - named_config_findopt
    - strcmp
    - strcasecmp
    - cfg_map_get
    - cfg_listelt_value
    - named_zone_templateopts
    linkageType: ''
    returnType: cfg_obj_t
    signature: "cfg_obj_t *\nfind_name_in_list_from_map(const cfg_obj_t *config,\n\t\t\t
      \  const char *map_key_for_list, const char *name,\n\t\t\t   bool redirect)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:13946,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:13947,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:13948,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13948,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:13955,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:13958,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:13961,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:13966,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:13968,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13972,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:13972,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13980,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13985
      start: 13943
    functionDepth: 2
    functionLinenumber: 13943
    functionLinenumberEnd: 13985
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_name_equal
    - INSIST
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_name_fromstring
    - named_config_findopt
    - strcasecmp
    - cfg_listelt_value
    - named_zone_templateopts
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (list, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13995,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/bin/named/server.c:13995,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:13996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14000
      start: 13990
    functionDepth: 1
    functionLinenumber: 13990
    functionLinenumberEnd: 14000
    functionName: emitzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_MAGIC_VALID
    - putmem
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void emitzone(void *arg, const char *buf, int len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14021,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14024,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:14024,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:14030,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:14031,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:14032,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14033,1
    - Dst: find_name_in_list_from_map
      Src: /src/bind9/bin/named/server.c:14043,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:14048,1
    - Dst: find_name_in_list_from_map
      Src: /src/bind9/bin/named/server.c:14053,1
    - Dst: find_name_in_list_from_map
      Src: /src/bind9/bin/named/server.c:14059,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14065,1
    - Dst: get_newzone_config
      Src: /src/bind9/bin/named/server.c:14065,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14066,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:14066,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:14067,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14068,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:14071,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:14071,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14076,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14079,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14079,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:14083,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14084,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14086,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14086,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:14093,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14096,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14097,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14101
      start: 14005
    functionDepth: 3
    functionLinenumber: 14005
    functionLinenumberEnd: 14101
    functionName: named_server_showzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_list_first
    - dns_zone_detach
    - REQUIRE
    - cfg_obj_destroy
    - dns_zone_getadded
    - putnull
    - zone_from_args
    - find_name_in_list_from_map
    - dns_zone_gettype
    - putstr
    - cfg_printx
    - dns_zone_getview
    - cfg_obj_islist
    - get_newzone_config
    - cfg_tuple_get
    - CHECK
    - isc_buffer_usedlength
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_showzone(named_server_t *server, isc_lex_t
      *lex,\n\t\t      isc_buffer_t **text)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14107,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:14113,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:14116,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:14118,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/server.c:14122,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/server.c:14124,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/bin/named/server.c:14128,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:14131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - cfgp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14133
      start: 14103
    functionDepth: 1
    functionLinenumber: 14103
    functionLinenumberEnd: 14133
    functionName: newzone_cfgctx_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - cfg_obj_destroy
    - REQUIRE
    - cfg_parser_destroy
    - cfg_aclconfctx_detach
    linkageType: ''
    returnType: void
    signature: void newzone_cfgctx_destroy(void **cfgp)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14159,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:14161,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14164,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14170,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14175,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14177,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14178,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14181,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:14185,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14186,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14191,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14196,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:14199,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14201,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:14205,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14207,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:14211,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14212,1
    - Dst: sscanf
      Src: /src/bind9/bin/named/server.c:14217,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/named/server.c:14223,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14228,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14231,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:14240,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:14243,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14244,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:14244,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14245,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14248,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14249,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14253,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:14253,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14256,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14259,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:14259,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14261,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:14264,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14269,1
    - Dst: dns_zone_keydone
      Src: /src/bind9/bin/named/server.c:14269,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14270,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14271,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14273,1
    - Dst: dns_zone_setnsec3param
      Src: /src/bind9/bin/named/server.c:14273,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14276,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14277,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14279,1
    - Dst: dns_zone_setserial
      Src: /src/bind9/bin/named/server.c:14279,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14280,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14281,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/bin/named/server.c:14283,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:14284,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14285,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:14285,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14286,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/server.c:14286,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:14287,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/named/server.c:14289,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14293,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14294,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:14309,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:14311,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14312,1
    - Dst: dns_private_totext
      Src: /src/bind9/bin/named/server.c:14312,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14314,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14314,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14316,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14316,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14320,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14320,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14323,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14325,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/server.c:14329,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/server.c:14330,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:14333,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:14336,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14339,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14342,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 149
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14346
      start: 14135
    functionDepth: 3
    functionLinenumber: 14135
    functionLinenumberEnd: 14346
    functionName: named_server_signing
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_parse_uint32
    - strlcpy
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_zone_detach
    - isc_hex_decodestring
    - dns_zone_setserial
    - dns_rdataset_disassociate
    - snprintf
    - REQUIRE
    - dns_zone_getorigin
    - dns_nsec3_maxiterations
    - dns_rdataset_init
    - dns_db_findnode
    - dns_zone_setnsec3param
    - dns_db_detach
    - dns_rdataset_isassociated
    - putnull
    - zone_from_args
    - putstr
    - strcasecmp
    - dns_db_currentversion
    - dns_zone_keydone
    - next_token
    - dns_db_detachnode
    - dns_zone_getprivatetype
    - dns_zone_getdb
    - dns_zone_getkasp
    - isc_buffer_init
    - CHECK
    - isc_buffer_usedlength
    - strcmp
    - sscanf
    - dns_private_totext
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_signing(named_server_t *server, isc_lex_t
      *lex,\n\t\t     isc_buffer_t **text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:14309,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:14311,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14312,1
    - Dst: dns_private_totext
      Src: /src/bind9/bin/named/server.c:14312,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14314,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14314,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14316,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14318
      start: 14299
    functionDepth: 1
    functionLinenumber: 14299
    functionLinenumberEnd: 14318
    functionName: (&privset)
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - isc_buffer_init
    - CHECK
    - dns_private_totext
    - putstr
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&privset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:14357,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:14358,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:14358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cmd
    - full
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14363
      start: 14348
    functionDepth: 0
    functionLinenumber: 14348
    functionLinenumberEnd: 14363
    functionName: argcheck
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool argcheck(char *cmd, const char *full)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14390,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14393,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14399,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:14405,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/named/server.c:14406,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:14409,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14411,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14413,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14415,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14418,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14424,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14427,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:14428,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14430,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14433,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:14436,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/named/server.c:14437,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14441,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:14444,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14446,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14449,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14451,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/named/server.c:14451,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:14455,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14457,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14460,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14462,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/bin/named/server.c:14462,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14467,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14473,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14475,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14476,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14490,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14495,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14500,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:14500,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14503,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14507,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14510,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:14514,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14521,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:14521,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:14522,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:14523,1
    - Dst: dns_zone_getdnsseckeys
      Src: /src/bind9/bin/named/server.c:14524,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:14525,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:14537,1
    - Dst: dns_keymgr_status
      Src: /src/bind9/bin/named/server.c:14538,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:14540,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14541,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14541,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14543,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14543,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14552,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:14553,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:14556,1
    - Dst: dns_keymgr_checkds_id
      Src: /src/bind9/bin/named/server.c:14558,1
    - Dst: dns_keymgr_checkds
      Src: /src/bind9/bin/named/server.c:14562,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:14565,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:14573,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14577,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14578,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14578,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14579,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14579,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14580,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14580,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14582,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14582,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14584,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14584,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14586,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14586,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14588,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14588,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14589,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14589,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14592,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14592,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14598,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14598,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14600,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14600,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14600,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14608,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:14609,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:14612,1
    - Dst: dns_keymgr_rollover
      Src: /src/bind9/bin/named/server.c:14613,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:14615,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:14623,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14627,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14628,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14628,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14629,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14629,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14630,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14630,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14632,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14632,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14633,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14633,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14636,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14636,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14642,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14642,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14644,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14644,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14644,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14648,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14648,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14652,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14653,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:14657,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14660,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:14664,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/named/server.c:14665,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:14665,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14669,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 216
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14673
      start: 14365
    functionDepth: 3
    functionLinenumber: 14365
    functionLinenumberEnd: 14673
    functionName: named_server_dnssec
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_keymgr_checkds
    - isc_parse_uint16
    - argcheck
    - UNLOCK
    - dns_zone_detach
    - isc_time_seconds
    - snprintf
    - REQUIRE
    - dns_keymgr_rollover
    - isc_time_set
    - dns_zone_rekey
    - LOCK
    - dns_db_detach
    - isc_time_formattimestamp
    - putnull
    - isc_time_now
    - zone_from_args
    - dns_time32_fromtext
    - ISC_LIST_INIT
    - dns_dnsseckey_destroy
    - strcasecmp
    - putstr
    - dns_keymgr_checkds_id
    - dns_db_currentversion
    - dns_zone_getmctx
    - strlen
    - dns_zone_getdnsseckeys
    - ISC_LIST_UNLINK
    - next_token
    - dst_algorithm_fromtext
    - dns_zone_getdb
    - dns_zone_getkasp
    - isc_result_totext
    - CHECK
    - dns_keymgr_status
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_dnssec(named_server_t *server, isc_lex_t
      *lex,\n\t\t    isc_buffer_t **text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:14664,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/named/server.c:14665,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:14665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14666
      start: 14663
    functionDepth: 1
    functionLinenumber: 14663
    functionLinenumberEnd: 14666
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 22
    functionsReached:
    - dns_zone_getmctx
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keys, key, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/named/server.c:14679,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/named/server.c:14684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - str
    - len
    argTypes:
    - isc_buffer_t**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14686
      start: 14675
    functionDepth: 1
    functionLinenumber: 14675
    functionLinenumberEnd: 14686
    functionName: putmem
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 4
    functionsReached:
    - isc_buffer_reserve
    - isc_buffer_putmem
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putmem(isc_buffer_t **b, const char *str, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:14690,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:14690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14691
      start: 14688
    functionDepth: 0
    functionLinenumber: 14688
    functionLinenumberEnd: 14691
    functionName: putstr
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 30
    functionsReached:
    - putmem
    - strlen
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putstr(isc_buffer_t **b, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/named/server.c:14697,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/server.c:14702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - isc_buffer_t**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14704
      start: 14693
    functionDepth: 1
    functionLinenumber: 14693
    functionLinenumberEnd: 14704
    functionName: putuint8
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 6
    functionsReached:
    - isc_buffer_reserve
    - isc_buffer_putuint8
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putuint8(isc_buffer_t **b, uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putuint8
      Src: /src/bind9/bin/named/server.c:14708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14709
      start: 14706
    functionDepth: 2
    functionLinenumber: 14706
    functionLinenumberEnd: 14709
    functionName: putnull
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 18
    functionsReached:
    - putuint8
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putnull(isc_buffer_t **b)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14736,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:14738,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:14739,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:14740,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:14741,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:14742,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14744,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:14744,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14751,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:14751,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:14752,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:14756,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14757,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:14757,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:14760,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:14763,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/server.c:14766,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14773,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/server.c:14775,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14779,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/bin/named/server.c:14783,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14784,1
    - Dst: dns_db_issecure
      Src: /src/bind9/bin/named/server.c:14787,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:14788,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:14791,1
    - Dst: dns_zone_getincludes
      Src: /src/bind9/bin/named/server.c:14792,1
    - Dst: dns_zone_getloadtime
      Src: /src/bind9/bin/named/server.c:14795,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14796,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/bin/named/server.c:14802,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14803,1
    - Dst: dns_zone_getrefreshtime
      Src: /src/bind9/bin/named/server.c:14804,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14805,1
    - Dst: dns_zone_getrefreshkeytime
      Src: /src/bind9/bin/named/server.c:14812,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14813,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/bin/named/server.c:14819,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/bin/named/server.c:14820,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:14832,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/bin/named/server.c:14834,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/bin/named/server.c:14839,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:14841,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/named/server.c:14842,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/bin/named/server.c:14842,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14844,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14846,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14847,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14853,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14853,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14854,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14854,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14856,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14856,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14857,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14857,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14861,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14861,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14862,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14862,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14864,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14864,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14866,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14866,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14871,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14871,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14872,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14872,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14874,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14874,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14875,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14875,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14878,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14878,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14879,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14879,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:14881,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14882,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14882,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14883,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14883,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:14886,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14887,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14887,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14888,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14888,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:14891,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14892,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14892,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14893,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14893,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14897,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14897,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14899,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14899,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14901,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14901,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14904,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14904,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14908,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14908,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:14909,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14910,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14910,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14911,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14911,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14914,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14914,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:14917,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14918,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14918,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14919,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14919,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14920,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14920,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14921,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14921,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14925,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14925,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14927,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14927,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14929,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14929,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14932,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14932,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14935,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14935,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14936,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14936,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:14936,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14941,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14944,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14948,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14951,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:14955,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:14959,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:14962,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14965,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14968,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 172
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14971
      start: 14711
    functionDepth: 3
    functionLinenumber: 14711
    functionLinenumberEnd: 14971
    functionName: named_server_zonestatus
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getrefreshkeytime
    - dns_zone_detach
    - dns_zonetype_name
    - dns_zone_getincludes
    - snprintf
    - REQUIRE
    - dns_zone_getexpiretime
    - dns_zone_isdynamic
    - dns_zone_getraw
    - isc_time_set
    - dns_fixedname_initname
    - dns_db_detach
    - dns_zone_getadded
    - putnull
    - dns_db_getsigningtime
    - zone_from_args
    - dns_zone_gettype
    - dns_name_format
    - DNS_TYPEPAIR_COVERS
    - isc_time_settoepoch
    - dns_rdatatype_format
    - putstr
    - dns_zone_getfile
    - dns_zone_getrefreshtime
    - isc_time_isepoch
    - dns_zone_getmctx
    - isc_time_formathttptimestamp
    - dns_zone_getserial
    - dns_zone_getsigresigninginterval
    - isc_mem_free
    - dns_zone_getloadtime
    - dns_zone_getdb
    - dns_zone_getkasp
    - CHECK
    - dns_db_nodecount
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_zonestatus(named_server_t *server, isc_lex_t
      *lex,\n\t\t\tisc_buffer_t **text)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14994,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:14996,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:14998,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15001,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15008,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:15013,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:15015,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:15017,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:15020,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:15023,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15026,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15029,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:15033,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/bin/named/server.c:15034,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15037,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15042,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:15047,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15050,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15053,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:15057,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15058,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:15058,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15062,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15076,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:15078,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:15080,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:15085,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15086,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15086,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:15089,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15091,1
    - Dst: dns_ntatable_totext
      Src: /src/bind9/bin/named/server.c:15091,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15093,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:15093,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15099,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15103,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15108,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:15115,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:15117,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:15121,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:15121,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:15122,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:15122,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15123,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:15123,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15128,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:15130,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15134,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15135,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/named/server.c:15138,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:15140,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15141,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:15142,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:15160,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:15163,1
    - Dst: dns_view_flushnode
      Src: /src/bind9/bin/named/server.c:15169,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15170,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:15173,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15176,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/bin/named/server.c:15176,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15180,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:15181,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15184,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15184,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15188,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15188,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15189,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15189,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15190,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15190,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15191,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15191,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15192,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15192,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15193,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15193,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15195,1
    - Dst: dns_ntatable_delete
      Src: /src/bind9/bin/named/server.c:15202,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15212,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15212,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15216,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15216,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15217,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15217,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15219,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15219,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15220,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15220,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15221,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15221,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15224,1
    - Dst: dns_view_saventa
      Src: /src/bind9/bin/named/server.c:15232,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15234,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:15238,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:15246,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:15250,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15255,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:15256,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:15260,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 202
    argCount: 4
    argNames:
    - server
    - lex
    - readonly
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - bool
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15263
      start: 14973
    functionDepth: 3
    functionLinenumber: 14973
    functionLinenumberEnd: 15263
    functionName: named_server_nta
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_saventa
    - strlcpy
    - argcheck
    - isc_log_write
    - REQUIRE
    - isc_time_set
    - dns_ntatable_totext
    - dns_view_flushnode
    - dns_fixedname_initname
    - dns_ttl_fromtext
    - isc_time_formattimestamp
    - putnull
    - dns_ntatable_delete
    - isc_stdtime_now
    - isc_loopmgr_resume
    - dns_rdataclass_fromtext
    - dns_ntatable_add
    - putstr
    - dns_name_fromtext
    - UNUSED
    - strlen
    - dns_ntatable_detach
    - ISC_LIST_FOREACH
    - next_token
    - dns_view_getntatable
    - isc_loopmgr_pause
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_add
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_nta(named_server_t *server, isc_lex_t *lex,
      bool readonly,\n\t\t isc_buffer_t **text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15267,1
    - Dst: dns_view_saventa
      Src: /src/bind9/bin/named/server.c:15268,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15271,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:15275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15280
      start: 15265
    functionDepth: 1
    functionLinenumber: 15265
    functionLinenumberEnd: 15280
    functionName: named_server_saventa
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_view_saventa
    - isc_log_write
    - isc_result_totext
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_saventa(named_server_t *server)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15284,1
    - Dst: dns_view_loadnta
      Src: /src/bind9/bin/named/server.c:15285,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15291,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:15295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15300
      start: 15282
    functionDepth: 1
    functionLinenumber: 15282
    functionLinenumberEnd: 15300
    functionName: named_server_loadnta
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_view_loadnta
    - isc_log_write
    - isc_result_totext
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_loadnta(named_server_t *server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15307,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15309,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15309,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15310,1
    - Dst: dns_zone_synckeyzone
      Src: /src/bind9/bin/named/server.c:15310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15314
      start: 15302
    functionDepth: 1
    functionLinenumber: 15302
    functionLinenumberEnd: 15314
    functionName: mkey_refresh
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - CHECK
    - snprintf
    - dns_zone_synckeyzone
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mkey_refresh(dns_view_t *view, isc_buffer_t **text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15326,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15329,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15331,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15331,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:15333,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:15338,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:15341,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:15342,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:15343,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:15347,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:15348,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15352,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:15354,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:15357,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:15358,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:15362,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:15364,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15368,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15368,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15369,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:15372,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:15376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15378
      start: 15316
    functionDepth: 1
    functionLinenumber: 15316
    functionLinenumberEnd: 15378
    functionName: mkey_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getfile
    - dns_zone_flush
    - dns_db_detach
    - isc_loopmgr_pause
    - dns_zone_getdb
    - isc_file_remove
    - isc_result_totext
    - dns_zone_getjournal
    - CHECK
    - isc_log_write
    - snprintf
    - dns_zone_detach
    - isc_loopmgr_resume
    - putstr
    - dns_zone_unload
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mkey_destroy(dns_view_t *view, isc_buffer_t **text)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/named/server.c:15386,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15389,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:15389,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:15390,1
    - Dst: dns_rriterator_init
      Src: /src/bind9/bin/named/server.c:15391,1
    - Dst: dns_rriterator_first
      Src: /src/bind9/bin/named/server.c:15392,1
    - Dst: dns_rriterator_nextrrset
      Src: /src/bind9/bin/named/server.c:15393,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/bin/named/server.c:15401,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/server.c:15403,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:15410,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15411,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15412,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15412,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/named/server.c:15424,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:15425,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:15426,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:15427,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/named/server.c:15429,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/named/server.c:15430,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/named/server.c:15431,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15433,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15434,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15434,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/named/server.c:15436,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15437,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15438,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15438,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15441,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15446,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15446,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15448,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15449,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15450,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15452,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15452,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15455,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15456,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15458,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15460,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15460,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15463,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15464,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15466,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15468,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15470,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15473,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15476,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15476,1
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/bin/named/server.c:15486,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:15487,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:15490,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15494
      start: 15380
    functionDepth: 1
    functionLinenumber: 15380
    functionLinenumberEnd: 15494
    functionName: mkey_dumpzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dst_region_computeid
    - snprintf
    - isc_time_set
    - dns_rdata_reset
    - dns_rriterator_first
    - dns_rdata_tostruct
    - dns_rriterator_nextrrset
    - dns_db_detach
    - dns_secalg_format
    - dns_rdataset_isassociated
    - isc_stdtime_now
    - dns_name_format
    - putstr
    - dns_rriterator_destroy
    - dns_db_currentversion
    - dns_rriterator_current
    - RUNTIME_CHECK
    - isc_time_formathttptimestamp
    - dns_zone_getdb
    - CHECK
    - isc_region_consume
    - dns_rdata_toregion
    - dns_db_closeversion
    - dns_rriterator_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mkey_dumpzone(dns_view_t *view, isc_buffer_t **text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/named/server.c:15424,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:15425,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:15426,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:15427,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/named/server.c:15429,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/named/server.c:15430,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/named/server.c:15431,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15433,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15434,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15434,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/named/server.c:15436,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15437,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15438,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15438,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15441,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15446,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15446,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15448,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15449,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15450,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15452,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15452,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15455,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15456,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15458,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15460,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15460,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:15463,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15464,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15466,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15468,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15470,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15473,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15476,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15477
      start: 15415
    functionDepth: 1
    functionLinenumber: 15415
    functionLinenumberEnd: 15477
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_secalg_format
    - dst_region_computeid
    - CHECK
    - snprintf
    - isc_region_consume
    - isc_time_set
    - putstr
    - dns_rdata_toregion
    - isc_time_formathttptimestamp
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (kdset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15502,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15502,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15503,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15503,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15505,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15505,1
    - Dst: dns_zone_getrefreshkeytime
      Src: /src/bind9/bin/named/server.c:15507,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:15508,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15509,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15509,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:15511,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15512,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15512,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15515,1
    - Dst: mkey_dumpzone
      Src: /src/bind9/bin/named/server.c:15515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15519
      start: 15496
    functionDepth: 2
    functionLinenumber: 15496
    functionLinenumberEnd: 15519
    functionName: mkey_status
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_time_isepoch
    - mkey_dumpzone
    - dns_zone_getrefreshkeytime
    - CHECK
    - putstr
    - isc_time_formathttptimestamp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mkey_status(dns_view_t *view, isc_buffer_t **text)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:15532,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15535,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15541,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15546,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15548,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15550,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15552,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15555,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15556,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15562,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:15566,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:15567,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15569,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15571,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15574,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15577,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:15579,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15586,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15588,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15588,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15600,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15600,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15602,1
    - Dst: mkey_refresh
      Src: /src/bind9/bin/named/server.c:15602,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15606,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15606,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15608,1
    - Dst: mkey_status
      Src: /src/bind9/bin/named/server.c:15608,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15611,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:15611,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15615,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15615,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15617,1
    - Dst: mkey_destroy
      Src: /src/bind9/bin/named/server.c:15617,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:15620,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15630,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15630,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:15634,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:15635,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15639
      start: 15521
    functionDepth: 3
    functionLinenumber: 15521
    functionLinenumberEnd: 15639
    functionName: named_server_mkeys
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_flush
    - UNREACHABLE
    - next_token
    - dns_rdataclass_fromtext
    - mkey_status
    - putnull
    - strlen
    - CHECK
    - snprintf
    - REQUIRE
    - isc_buffer_usedlength
    - ISC_LIST_FOREACH
    - strcmp
    - putstr
    - strcasecmp
    - mkey_destroy
    - mkey_refresh
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_mkeys(named_server_t *server, isc_lex_t
      *lex,\n\t\t   isc_buffer_t **text)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:15650,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15657,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15663,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15666,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15672,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15674,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15676,1
    - Dst: sscanf
      Src: /src/bind9/bin/named/server.c:15679,1
    - Dst: dns_dt_reopen
      Src: /src/bind9/bin/named/server.c:15691,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:15694,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:15695,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:15696,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15699
      start: 15641
    functionDepth: 2
    functionLinenumber: 15641
    functionLinenumberEnd: 15699
    functionName: named_server_dnstap
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - next_token
    - dns_dt_reopen
    - UNUSED
    - REQUIRE
    - sscanf
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_dnstap(named_server_t *server, isc_lex_t
      *lex,\n\t\t    isc_buffer_t **text)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15709,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/bin/named/server.c:15714,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/bin/named/server.c:15715,1
    - Dst: isc_nm_getidletimeout
      Src: /src/bind9/bin/named/server.c:15716,1
    - Dst: isc_nm_getkeepalivetimeout
      Src: /src/bind9/bin/named/server.c:15717,1
    - Dst: isc_nm_getadvertisedtimeout
      Src: /src/bind9/bin/named/server.c:15718,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15721,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15723,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:15723,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15726,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15729,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15732,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15736,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:15736,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15739,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15742,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15745,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15749,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:15749,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15752,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15755,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15758,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15762,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:15762,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15765,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15768,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15772,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:15772,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15775,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15778,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/named/server.c:15781,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/named/server.c:15782,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/named/server.c:15783,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/named/server.c:15784,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/bin/named/server.c:15785,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15788,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15789,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15789,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15790,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15791,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15791,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15792,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15794,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15794,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15795,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15797,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15797,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15798,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15799,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15799,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:15802,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:15803,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - lex
    - text
    argTypes:
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15807
      start: 15701
    functionDepth: 3
    functionLinenumber: 15701
    functionLinenumberEnd: 15807
    functionName: named_server_tcptimeouts
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_nm_getkeepalivetimeout
    - isc_nm_setinitialtimeout
    - isc_parse_uint32
    - isc_nm_setprimariestimeout
    - isc_nm_getidletimeout
    - isc_nm_getinitialtimeout
    - isc_nm_getprimariestimeout
    - isc_nm_setidletimeout
    - CHECK
    - putnull
    - isc_nm_getadvertisedtimeout
    - isc_nm_setadvertisedtimeout
    - snprintf
    - isc_buffer_usedlength
    - isc_nm_setkeepalivetimeout
    - putstr
    - next_token
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_tcptimeouts(isc_lex_t *lex, isc_buffer_t
      **text)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:15820,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15823,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15828,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15833,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15833,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15834,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15834,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15837,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15837,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15838,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15838,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15841,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15843,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:15843,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15850,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15855,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:15861,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:15862,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15865,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15867,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:15876,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15878,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:15887,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/server.c:15898,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/bin/named/server.c:15899,1
    - Dst: dns_db_getservestalerefresh
      Src: /src/bind9/bin/named/server.c:15900,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:15901,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15903,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15903,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15905,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15905,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15906,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15906,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15910,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15910,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15914,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15914,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15921,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15921,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15925,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15925,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15932,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15932,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15936,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15936,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15940,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15940,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:15947,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:15953,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:15953,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:15963,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:15965,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:15966,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 106
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15970
      start: 15809
    functionDepth: 3
    functionLinenumber: 15809
    functionLinenumberEnd: 15970
    functionName: named_server_servestale
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - next_token
    - dns_db_getservestalettl
    - dns_db_getservestalerefresh
    - putstr
    - dns_db_detach
    - isc_loopmgr_pause
    - dns_db_attach
    - putnull
    - strlen
    - CHECK
    - snprintf
    - REQUIRE
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - strcmp
    - isc_buffer_usedlength
    - dns_rdataclass_fromtext
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_servestale(named_server_t *server, isc_lex_t
      *lex,\n\t\t\tisc_buffer_t **text)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:15980,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15983,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:15989,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:15990,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16000,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:16004,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16010,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16010,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16012,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16012,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16013,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16013,1
    - Dst: dns_adb_getquota
      Src: /src/bind9/bin/named/server.c:16015,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:16016,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16019,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16022,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16022,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:16023,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16024,1
    - Dst: dns_adb_dumpquota
      Src: /src/bind9/bin/named/server.c:16024,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:16025,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16026,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16026,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16029,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16029,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16030,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16030,1
    - Dst: dns_resolver_getfetchesperzone
      Src: /src/bind9/bin/named/server.c:16031,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:16032,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16035,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16037,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16037,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:16038,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16039,1
    - Dst: dns_resolver_dumpquota
      Src: /src/bind9/bin/named/server.c:16039,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:16040,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16041,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16041,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:16043,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:16047,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:16049,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:16050,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16054
      start: 15972
    functionDepth: 3
    functionLinenumber: 15972
    functionLinenumberEnd: 16054
    functionName: named_server_fetchlimit
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_dumpquota
    - next_token
    - dns_resolver_getfetchesperzone
    - dns_adb_detach
    - dns_adb_getquota
    - dns_view_getadb
    - putnull
    - CHECK
    - snprintf
    - REQUIRE
    - isc_buffer_usedlength
    - ISC_LIST_FOREACH
    - putstr
    - strcasecmp
    - dns_adb_dumpquota
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_fetchlimit(named_server_t *server, isc_lex_t
      *lex,\n\t\t\tisc_buffer_t **text)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:16065,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:16071,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16076,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16077,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:16080,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:16084,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16086,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:16086,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16088,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:16090,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16092,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16092,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16093,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:16093,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/bin/named/server.c:16097,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16098,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16098,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16099,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:16099,1
    - Dst: dns_zone_import_skr
      Src: /src/bind9/bin/named/server.c:16103,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16105,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16105,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16106,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:16106,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:16106,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:16107,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:16107,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:16110,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:16115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16119
      start: 16056
    functionDepth: 3
    functionLinenumber: 16056
    functionLinenumberEnd: 16119
    functionName: named_server_skr
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_rekey
    - next_token
    - isc_result_totext
    - dns_zone_getkasp
    - putnull
    - dns_zone_detach
    - CHECK
    - snprintf
    - dns_zone_import_skr
    - zone_from_args
    - dns_kasp_offlineksk
    - putstr
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_skr(named_server_t *server, isc_lex_t *lex,
      isc_buffer_t **text)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:16128,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:16133,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16136,1
    - Dst: memprof_dump
      Src: /src/bind9/bin/named/server.c:16137,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:16139,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:16144,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16150,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16150,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16151,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16151,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16154,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16154,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16155,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:16155,1
    - Dst: memprof_toggle
      Src: /src/bind9/bin/named/server.c:16162,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:16164,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:16168,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16175
      start: 16121
    functionDepth: 2
    functionLinenumber: 16121
    functionLinenumberEnd: 16175
    functionName: named_server_togglememprof
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - next_token
    - memprof_toggle
    - isc_log_write
    - strcasecmp
    - memprof_dump
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_togglememprof(isc_lex_t *lex)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:16184,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:16189,1
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:16196,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:16201,1
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:16209,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:16214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16222
      start: 16178
    functionDepth: 0
    functionLinenumber: 16178
    functionLinenumberEnd: 16222
    functionName: named_server_getmemprof
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - INSIST
    - mallctl
    linkageType: ''
    returnType: char
    signature: 'char *

      named_server_getmemprof(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16228
      start: 16225
    functionDepth: 0
    functionLinenumber: 16225
    functionLinenumberEnd: 16228
    functionName: named_server_getmemprof
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      named_server_getmemprof(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: RETERR
    functionSourceFile: /src/bind9/bin/named/tkeyconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: LOG
    functionSourceFile: /src/bind9/bin/named/tkeyconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG(msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_tkeyctx_create
      Src: /src/bind9/bin/named/tkeyconf.c:56,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tkeyconf.c:59,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tkeyconf.c:61,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/tkeyconf.c:62,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tkeyconf.c:62,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/tkeyconf.c:63,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tkeyconf.c:63,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/tkeyconf.c:64,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/tkeyconf.c:65,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/tkeyconf.c:65,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/tkeyconf.c:66,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/tkeyconf.c:67,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/tkeyconf.c:68,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tkeyconf.c:72,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tkeyconf.c:74,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/tkeyconf.c:76,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tkeyconf.c:76,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/tkeyconf.c:77,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tkeyconf.c:77,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/tkeyconf.c:78,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/tkeyconf.c:79,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/tkeyconf.c:79,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/tkeyconf.c:80,1
    - Dst: dst_gssapi_acquirecred
      Src: /src/bind9/bin/named/tkeyconf.c:80,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tkeyconf.c:84,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tkeyconf.c:86,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/tkeyconf.c:87,1
    - Dst: dns_tkeyctx_destroy
      Src: /src/bind9/bin/named/tkeyconf.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - options
    - mctx
    - tctxp
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_tkeyctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 96
    functionName: named_tkeyctx_fromconfig
    functionSourceFile: /src/bind9/bin/named/tkeyconf.c
    functionUses: 1
    functionsReached:
    - dns_name_dup
    - dns_name_fromtext
    - dns_name_init
    - dns_tkeyctx_create
    - dns_fixedname_initname
    - RETERR
    - cfg_obj_asstring
    - strlen
    - isc_mem_get
    - dns_tkeyctx_destroy
    - isc_mem_strdup
    - isc_buffer_add
    - cfg_map_get
    - dst_gssapi_acquirecred
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t
      *mctx,\n\t\t\t dns_tkeyctx_t **tctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/named/geoip.c:40,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/geoip.c:42,1
    - Dst: MMDB_open
      Src: /src/bind9/bin/named/geoip.c:49,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/geoip.c:51,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/geoip.c:57,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/geoip.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - dir
    - dbfile
    - mmdb
    argTypes:
    - char*
    - char*
    - MMDB_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 63
    functionName: open_geoip2
    functionSourceFile: /src/bind9/bin/named/geoip.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_log_write
    - snprintf
    - MMDB_open
    linkageType: ''
    returnType: MMDB_s
    signature: 'MMDB_s *

      open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: named_geoip_init
    functionSourceFile: /src/bind9/bin/named/geoip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void named_geoip_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/geoip.c:80,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/geoip.c:82,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:86,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:89,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:93,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:95,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:99,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:101,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:105,1
    - Dst: open_geoip2
      Src: /src/bind9/bin/named/geoip.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/geoip.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 113
    functionName: named_geoip_load
    functionSourceFile: /src/bind9/bin/named/geoip.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - UNUSED
    - REQUIRE
    - open_geoip2
    linkageType: ''
    returnType: void
    signature: void named_geoip_load(char *dir)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_close
      Src: /src/bind9/bin/named/geoip.c:119,1
    - Dst: MMDB_close
      Src: /src/bind9/bin/named/geoip.c:123,1
    - Dst: MMDB_close
      Src: /src/bind9/bin/named/geoip.c:127,1
    - Dst: MMDB_close
      Src: /src/bind9/bin/named/geoip.c:131,1
    - Dst: MMDB_close
      Src: /src/bind9/bin/named/geoip.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: named_geoip_unload
    functionSourceFile: /src/bind9/bin/named/geoip.c
    functionUses: 1
    functionsReached:
    - MMDB_close
    linkageType: ''
    returnType: void
    signature: void named_geoip_unload(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: named_geoip_unload
      Src: /src/bind9/bin/named/geoip.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: named_geoip_shutdown
    functionSourceFile: /src/bind9/bin/named/geoip.c
    functionUses: 1
    functionsReached:
    - named_geoip_unload
    linkageType: ''
    returnType: void
    signature: void named_geoip_shutdown(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/tsigconf.c:47,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/tsigconf.c:56,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:57,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/tsigconf.c:57,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tsigconf.c:61,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tsigconf.c:62,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/tsigconf.c:63,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/tsigconf.c:68,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:68,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/tsigconf.c:69,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:69,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/tsigconf.c:70,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:79,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/tsigconf.c:80,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/tsigconf.c:83,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:91,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:92,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/tsigconf.c:93,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/tsigconf.c:94,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/tsigconf.c:95,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/tsigconf.c:99,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/named/tsigconf.c:101,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/tsigconf.c:103,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/bin/named/tsigconf.c:105,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:109,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/named/tsigconf.c:116,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:117,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/tsigconf.c:124,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/tsigconf.c:126,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/tsigconf.c:127,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - list
    - ring
    - mctx
    argTypes:
    - cfg_obj_t*
    - dns_tsigkeyring_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 129
    functionName: add_initial_keys
    functionSourceFile: /src/bind9/bin/named/tsigconf.c
    functionUses: 0
    functionsReached:
    - dst_key_setbits
    - dns_tsigkeyring_add
    - cfg_map_getname
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - isc_base64_decodestring
    - isc_buffer_constinit
    - dns_name_fromtext
    - INSIST
    - strlen
    - isc_mem_get
    - cfg_obj_log
    - named_config_getkeyalgorithm
    - isc_result_totext
    - cfg_obj_asstring
    - isc_buffer_init
    - dns_tsigkey_create
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_mem_put
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_initial_keys(const cfg_obj_t *list, dns_tsigkeyring_t
      *ring,\n\t\t isc_mem_t *mctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/tsigconf.c:47,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/tsigconf.c:56,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:57,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/tsigconf.c:57,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tsigconf.c:61,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tsigconf.c:62,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/tsigconf.c:63,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/tsigconf.c:68,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:68,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/tsigconf.c:69,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:69,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/tsigconf.c:70,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:79,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/tsigconf.c:80,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/tsigconf.c:83,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:91,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:92,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/tsigconf.c:93,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/tsigconf.c:94,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/tsigconf.c:95,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/tsigconf.c:99,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/named/tsigconf.c:101,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/tsigconf.c:103,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/bin/named/tsigconf.c:105,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:109,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/named/tsigconf.c:116,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 118
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/tsigconf.c
    functionUses: 1
    functionsReached:
    - dst_key_setbits
    - dns_tsigkeyring_add
    - cfg_map_getname
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - isc_base64_decodestring
    - isc_buffer_constinit
    - dns_name_fromtext
    - INSIST
    - strlen
    - isc_mem_get
    - cfg_obj_log
    - named_config_getkeyalgorithm
    - cfg_obj_asstring
    - isc_buffer_init
    - dns_tsigkey_create
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_mem_put
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (list, element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/tsigconf.c:140,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/tsigconf.c:147,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/bin/named/tsigconf.c:151,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tsigconf.c:158,1
    - Dst: add_initial_keys
      Src: /src/bind9/bin/named/tsigconf.c:162,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/tsigconf.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - config
    - vconfig
    - mctx
    - ringp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    - dns_tsigkeyring_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 174
    functionName: named_tsigkeyring_fromconfig
    functionSourceFile: /src/bind9/bin/named/tsigconf.c
    functionUses: 1
    functionsReached:
    - add_initial_keys
    - dns_tsigkeyring_detach
    - dns_tsigkeyring_create
    - cfg_tuple_get
    - REQUIRE
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_tsigkeyring_fromconfig(const cfg_obj_t *config,
      const cfg_obj_t *vconfig,\n\t\t\t     isc_mem_t *mctx, dns_tsigkeyring_t **ringp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rcu_read_lock
      Src: /src/bind9/bin/named/log.c:39,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/named/log.c:40,1
    - Dst: named_log_setsafechannels
      Src: /src/bind9/bin/named/log.c:42,1
    - Dst: named_log_setdefaultchannels
      Src: /src/bind9/bin/named/log.c:44,1
    - Dst: named_log_setdefaultcategory
      Src: /src/bind9/bin/named/log.c:47,1
    - Dst: named_log_setdefaultsslkeylogfile
      Src: /src/bind9/bin/named/log.c:52,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/bin/named/log.c:53,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/bin/named/log.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - safe
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 61
    functionName: named_log_init
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 1
    functionsReached:
    - named_log_setdefaultsslkeylogfile
    - isc_logconfig_get
    - named_log_setdefaultcategory
    - rcu_read_unlock
    - named_log_setsafechannels
    - named_log_setdefaultchannels
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_log_init(bool safe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:77,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:86,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:97,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:106,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/log.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 114
    functionName: named_log_setdefaultchannels
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 3
    functionsReached:
    - isc_log_setdebuglevel
    - isc_log_createchannel
    linkageType: ''
    returnType: void
    signature: void named_log_setdefaultchannels(isc_logconfig_t *lcfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:121,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/log.c:128,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:136,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/log.c:140,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/log.c:142,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:150,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 162
    functionName: named_log_setsafechannels
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - isc_log_setdebuglevel
    - isc_log_createchannel
    linkageType: ''
    returnType: void
    signature: void named_log_setsafechannels(isc_logconfig_t *lcfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/bin/named/log.c:176,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/log.c:187,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/named/log.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: named_log_setdefaultsslkeylogfile
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 3
    functionsReached:
    - strcmp
    - isc_log_createandusechannel
    - getenv
    linkageType: ''
    returnType: void
    signature: void named_log_setdefaultsslkeylogfile(isc_logconfig_t *lcfg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:202,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:211,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 223
    functionName: named_log_setdefaultcategory
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 3
    functionsReached:
    - isc_log_usechannel
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_log_setdefaultcategory(isc_logconfig_t *lcfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: named_log_setunmatchedcategory
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 2
    functionsReached:
    - isc_log_usechannel
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_log_setunmatchedcategory(isc_logconfig_t *lcfg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/control.c:43,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/named/control.c:45,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/bin/named/control.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - lex
    - cmdp
    argTypes:
    - isc_lex_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: getcommand
    functionSourceFile: /src/bind9/bin/named/control.c
    functionUses: 0
    functionsReached:
    - isc_lex_ungettoken
    - isc_lex_gettoken
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getcommand(isc_lex_t *lex, char **cmdp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/control.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - command
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: command_compare
    functionSourceFile: /src/bind9/bin/named/control.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool command_compare(const char *str, const char *command)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/named/control.c:84,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/bin/named/control.c:85,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/bin/named/control.c:92,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/named/control.c:100,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:100,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/control.c:102,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:102,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/control.c:103,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:103,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/bin/named/control.c:104,1
    - Dst: getcommand
      Src: /src/bind9/bin/named/control.c:109,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:117,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:118,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:119,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/control.c:121,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:131,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:132,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:133,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:134,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:135,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:136,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/control.c:138,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/control.c:147,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:155,1
    - Dst: named_smf_add_message
      Src: /src/bind9/bin/named/control.c:163,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/control.c:179,1
    - Dst: named_os_shutdownmsg
      Src: /src/bind9/bin/named/control.c:180,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/control.c:181,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:183,1
    - Dst: named_smf_add_message
      Src: /src/bind9/bin/named/control.c:190,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/control.c:197,1
    - Dst: named_os_shutdownmsg
      Src: /src/bind9/bin/named/control.c:198,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/control.c:199,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:201,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:202,1
    - Dst: named_server_changezone
      Src: /src/bind9/bin/named/control.c:204,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:205,1
    - Dst: isc_log_closefilelogs
      Src: /src/bind9/bin/named/control.c:206,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:208,1
    - Dst: named_server_delzone
      Src: /src/bind9/bin/named/control.c:209,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:210,1
    - Dst: named_server_dnssec
      Src: /src/bind9/bin/named/control.c:211,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:212,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:213,1
    - Dst: named_server_dnstap
      Src: /src/bind9/bin/named/control.c:215,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:216,1
    - Dst: named_server_dumpdb
      Src: /src/bind9/bin/named/control.c:217,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:218,1
    - Dst: named_server_dumpstats
      Src: /src/bind9/bin/named/control.c:219,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:220,1
    - Dst: named_server_fetchlimit
      Src: /src/bind9/bin/named/control.c:221,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:222,1
    - Dst: named_server_flushcache
      Src: /src/bind9/bin/named/control.c:223,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:224,1
    - Dst: named_server_flushnode
      Src: /src/bind9/bin/named/control.c:225,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:226,1
    - Dst: named_server_flushnode
      Src: /src/bind9/bin/named/control.c:227,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:228,1
    - Dst: named_server_freeze
      Src: /src/bind9/bin/named/control.c:229,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:230,1
    - Dst: named_server_skr
      Src: /src/bind9/bin/named/control.c:231,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:232,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:233,1
    - Dst: named_server_rekey
      Src: /src/bind9/bin/named/control.c:235,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:236,1
    - Dst: named_server_togglememprof
      Src: /src/bind9/bin/named/control.c:237,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:238,1
    - Dst: named_server_mkeys
      Src: /src/bind9/bin/named/control.c:239,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:240,1
    - Dst: named_server_notifycommand
      Src: /src/bind9/bin/named/control.c:241,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:242,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/control.c:244,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:246,1
    - Dst: named_server_nta
      Src: /src/bind9/bin/named/control.c:247,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:248,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:250,1
    - Dst: named_server_setortoggle
      Src: /src/bind9/bin/named/control.c:251,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:254,1
    - Dst: named_server_reconfigcommand
      Src: /src/bind9/bin/named/control.c:255,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:256,1
    - Dst: named_server_dumprecursing
      Src: /src/bind9/bin/named/control.c:257,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:258,1
    - Dst: named_server_refreshcommand
      Src: /src/bind9/bin/named/control.c:259,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:260,1
    - Dst: named_server_reloadcommand
      Src: /src/bind9/bin/named/control.c:261,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:262,1
    - Dst: named_server_resetstatscommand
      Src: /src/bind9/bin/named/control.c:263,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:265,1
    - Dst: named_server_setortoggle
      Src: /src/bind9/bin/named/control.c:266,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:269,1
    - Dst: named_server_retransfercommand
      Src: /src/bind9/bin/named/control.c:270,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:272,1
    - Dst: named_server_scan_interfaces
      Src: /src/bind9/bin/named/control.c:273,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:275,1
    - Dst: named_server_dumpsecroots
      Src: /src/bind9/bin/named/control.c:276,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:277,1
    - Dst: named_server_servestale
      Src: /src/bind9/bin/named/control.c:278,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:279,1
    - Dst: named_server_showzone
      Src: /src/bind9/bin/named/control.c:280,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:281,1
    - Dst: named_server_signing
      Src: /src/bind9/bin/named/control.c:282,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:283,1
    - Dst: named_server_status
      Src: /src/bind9/bin/named/control.c:284,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:285,1
    - Dst: named_server_sync
      Src: /src/bind9/bin/named/control.c:286,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:287,1
    - Dst: named_server_tcptimeouts
      Src: /src/bind9/bin/named/control.c:288,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:289,1
    - Dst: named_server_testgen
      Src: /src/bind9/bin/named/control.c:290,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:291,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:292,1
    - Dst: named_server_freeze
      Src: /src/bind9/bin/named/control.c:294,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:295,1
    - Dst: named_server_setdebuglevel
      Src: /src/bind9/bin/named/control.c:296,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:297,1
    - Dst: named_server_validation
      Src: /src/bind9/bin/named/control.c:298,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:299,1
    - Dst: named_server_zonestatus
      Src: /src/bind9/bin/named/control.c:300,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/control.c:302,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/named/control.c:310,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 199
    argCount: 3
    argNames:
    - message
    - readonly
    - text
    argTypes:
    - isccc_sexpr_t*
    - bool
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 70
    functionDepth: 12
    functionLinenumber: 70
    functionLinenumberEnd: 314
    functionName: named_control_docommand
    functionSourceFile: /src/bind9/bin/named/control.c
    functionUses: 0
    functionsReached:
    - named_server_freeze
    - isc_loopmgr_shutdown
    - named_server_resetstatscommand
    - named_server_dumpsecroots
    - named_server_setortoggle
    - isc_log_write
    - named_server_sync
    - named_server_fetchlimit
    - named_server_flushcache
    - getcommand
    - named_server_retransfercommand
    - named_server_rekey
    - named_server_nta
    - named_server_signing
    - named_server_scan_interfaces
    - named_server_testgen
    - named_server_notifycommand
    - named_server_togglememprof
    - isc_log_setdebuglevel
    - named_server_refreshcommand
    - named_server_dnssec
    - named_server_zonestatus
    - isc_log_closefilelogs
    - named_server_setdebuglevel
    - named_server_dumpdb
    - named_server_tcptimeouts
    - ISC_LOG_DEBUG
    - named_server_skr
    - named_server_dumprecursing
    - strlen
    - named_os_shutdownmsg
    - named_server_servestale
    - named_server_changezone
    - named_server_dnstap
    - isccc_cc_lookupstring
    - named_server_flushonshutdown
    - named_server_validation
    - named_server_delzone
    - command_compare
    - named_server_reconfigcommand
    - isc_lex_destroy
    - named_server_status
    - named_smf_add_message
    - named_server_showzone
    - named_server_mkeys
    - isccc_alist_alistp
    - isc_buffer_init
    - named_server_dumpstats
    - named_server_flushnode
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - named_server_reloadcommand
    - isccc_alist_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_control_docommand(isccc_sexpr_t *message, bool
      readonly,\n\t\t\tisc_buffer_t **text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 97
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getoptions
      Src: /src/bind9/bin/named/statschannel.c:128,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/statschannel.c:132,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:133,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/statschannel.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 142
    functionName: user_zonetype
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_zone_getoptions
    - strcmp
    - dns_zone_getview
    - dns_zone_gettype
    linkageType: ''
    returnType: char
    signature: 'char *

      user_zonetype(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: TRY0
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY0(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:218,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:221,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:228,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - counter
    - maxcounter
    - fdesc
    - fdescs
    - xdesc
    - xdescs
    argTypes:
    - int
    - int
    - char*
    - char**
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: set_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void set_desc(int counter, int maxcounter, const char *fdesc, const
      char **fdescs,\n\t const char *xdesc, const char **xdescs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:244,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:246,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:248,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:250,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - prefix
    - i
    - inf
    - ext
    argTypes:
    - char*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 255
    functionName: get_histo_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - snprintf
    - INSIST
    linkageType: ''
    returnType: char
    signature: 'char *

      get_histo_desc(const char *prefix, int i, int inf, bool ext)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:279,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:280,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:281,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:282,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:285,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:286,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:287,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:289,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:290,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:292,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:293,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:294,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:295,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:296,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:297,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:299,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:300,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:301,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:302,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:304,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:306,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:309,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:311,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:312,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:313,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:314,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:315,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:316,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:317,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:318,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:319,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:320,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:322,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:324,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:325,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:326,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:327,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:330,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:332,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:333,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:334,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:336,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:338,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:340,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:341,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:342,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:343,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:344,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:345,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:346,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:347,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:348,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:349,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:351,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:354,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:357,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:358,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:359,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:361,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:363,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:364,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:365,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:366,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:367,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:368,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:369,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:370,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:371,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:372,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:375,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:379,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:380,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:382,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:384,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:386,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:389,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:393,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:394,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:395,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:398,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:400,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:421,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:422,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:423,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:424,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:425,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:426,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:427,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:428,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:429,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:430,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:431,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:432,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:433,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:434,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:436,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:438,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:439,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:440,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:441,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:442,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:443,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:445,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:447,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:448,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:449,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:451,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:452,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:455,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:459,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:463,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:467,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:471,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:474,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:475,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:476,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:477,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:479,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:481,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:482,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:483,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:484,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:485,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:486,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:488,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:490,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:491,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:492,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:495,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:514,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:515,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:516,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:517,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:519,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:540,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:541,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:542,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:543,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:544,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:545,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:546,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:547,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:548,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:549,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:550,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:551,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:553,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:554,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:575,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:576,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:577,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:578,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:579,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:581,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:583,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:585,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:587,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:588,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:589,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:590,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:591,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:593,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:595,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:597,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:599,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:601,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:603,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:605,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:607,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:609,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:611,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:613,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:615,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:617,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:619,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:621,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:623,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:624,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:625,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:626,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:627,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:628,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:629,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:630,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:631,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:632,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:633,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:634,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:635,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:637,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:639,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:660,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:664,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:668,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:670,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:671,1
    - Dst: SET_DNSTAPSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:691,1
    - Dst: SET_DNSTAPSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:692,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:693,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:705,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:707,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:710,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:713,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:716,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:720,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:723,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:726,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:729,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:732,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:735,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:738,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:741,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:745,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:748,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:751,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:754,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:757,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:760,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:763,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:766,1
    - Dst: get_histo_desc
      Src: /src/bind9/bin/named/statschannel.c:775,1
    - Dst: get_histo_desc
      Src: /src/bind9/bin/named/statschannel.c:779,1
    - Dst: get_histo_desc
      Src: /src/bind9/bin/named/statschannel.c:788,1
    - Dst: get_histo_desc
      Src: /src/bind9/bin/named/statschannel.c:797,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 324
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 803
    functionName: init_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - SET_DNSTAPSTATDESC
    - SET_RESSTATDESC
    - SET_SOCKSTATDESC
    - SET_DNSSECSTATDESC
    - SET_NSSTATDESC
    - INSIST
    - SET_GLUECACHESTATDESC
    - SET_ADBSTATDESC
    - get_histo_desc
    - SET_ZONESTATDESC
    linkageType: ''
    returnType: void
    signature: void init_desc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: SET_NSSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NSSTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: SET_RESSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RESSTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - id
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: SET_ADBSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_ADBSTATDESC(id, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: SET_ZONESTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_ZONESTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: SET_SOCKSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SOCKSTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 658
    functionName: SET_DNSSECSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DNSSECSTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 690
    functionName: SET_DNSTAPSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_DNSTAPSTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - counterid
    - ','
    - desc
    - ','
    - xmldesc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: SET_GLUECACHESTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_GLUECACHESTATDESC(counterid, desc, xmldesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - counter
    - val
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 820
    functionName: generalstat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void generalstat_dump(isc_statscounter_t counter, uint64_t val, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/bin/named/statschannel.c:833,1
    - Dst: isc_stats_dump
      Src: /src/bind9/bin/named/statschannel.c:834,1
    - Dst: dump_counters
      Src: /src/bind9/bin/named/statschannel.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - stats
    - type
    - arg
    - category
    - desc
    - ncounters
    - indices
    - values
    - options
    argTypes:
    - isc_stats_t*
    - isc_statsformat_t
    - void*
    - char*
    - char**
    - int
    - int*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 838
    functionName: dump_stats
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dump_counters
    - isc_stats_dump
    - memset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_stats(isc_stats_t *stats, isc_statsformat_t type,
      void *arg,\n\t   const char *category, const char **desc, int ncounters, int
      *indices,\n\t   uint64_t *values, int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_histomulti_merge
      Src: /src/bind9/bin/named/statschannel.c:847,1
    - Dst: isc_histo_get
      Src: /src/bind9/bin/named/statschannel.c:849,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/bin/named/statschannel.c:851,1
    - Dst: dump_counters
      Src: /src/bind9/bin/named/statschannel.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - hm
    - type
    - arg
    - category
    - desc
    - ncounters
    - indices
    - values
    - options
    argTypes:
    - isc_histomulti_t*
    - isc_statsformat_t
    - void*
    - char*
    - char**
    - int
    - int*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 855
    functionName: dump_histo
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_histo_destroy
    - isc_histomulti_merge
    - dump_counters
    - isc_histo_get
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_histo(isc_histomulti_t *hm, isc_statsformat_t type,
      void *arg,\n\t   const char *category, const char **desc, int ncounters, int
      *indices,\n\t   uint64_t *values, int options)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:874,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:881,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:885,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:901,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:913,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:913,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:917,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:917,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:921,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:921,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:923,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:923,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:926,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:926,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:928,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:928,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:931,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:931,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:933,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:933,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:936,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:936,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:938,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:938,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:946,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:950,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 8
    argNames:
    - type
    - arg
    - category
    - desc
    - ncounters
    - indices
    - values
    - options
    argTypes:
    - isc_statsformat_t
    - void*
    - char*
    - char**
    - int
    - int*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 962
    functionName: dump_counters
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 2
    functionsReached:
    - xmlTextWriterEndElement
    - xmlTextWriterStartElement
    - json_object_new_object
    - UNUSED
    - isc_log_write
    - TRY0
    - fprintf
    - json_object_new_int64
    - xmlTextWriterWriteAttribute
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_counters(isc_statsformat_t type, void *arg, const
      char *category,\n\t      const char **desc, int ncounters, int *indices, uint64_t
      *values,\n\t      int options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/bin/named/statschannel.c:978,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/named/statschannel.c:981,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/bin/named/statschannel.c:981,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:991,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:997,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:997,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:998,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:998,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1001,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1001,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1003,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1003,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1009,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1013,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1020,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - type
    - val
    - arg
    argTypes:
    - dns_rdatastatstype_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 1025
    functionName: rdtypestat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_BASE
    - xmlTextWriterEndElement
    - xmlTextWriterStartElement
    - DNS_RDATASTATSTYPE_ATTR
    - isc_log_write
    - TRY0
    - fprintf
    - json_object_new_int64
    - xmlTextWriterWriteAttribute
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void rdtypestat_dump(dns_rdatastatstype_t type, uint64_t val, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/bin/named/statschannel.c:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - attr
    argTypes:
    - dns_rdatastatstype_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1030
    functionName: rdatastatstype_attr
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_ATTR
    linkageType: ''
    returnType: bool
    signature: bool rdatastatstype_attr(dns_rdatastatstype_t type, unsigned int attr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/bin/named/statschannel.c:1050,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/bin/named/statschannel.c:1054,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/named/statschannel.c:1059,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/bin/named/statschannel.c:1059,1
    - Dst: rdatastatstype_attr
      Src: /src/bind9/bin/named/statschannel.c:1064,1
    - Dst: rdatastatstype_attr
      Src: /src/bind9/bin/named/statschannel.c:1065,1
    - Dst: rdatastatstype_attr
      Src: /src/bind9/bin/named/statschannel.c:1066,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1071,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1078,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1078,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1079,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1079,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1080,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1080,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1083,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1083,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1085,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1085,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1086,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1086,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1087,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1087,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1089,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1089,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:1095,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1097,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1101,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - type
    - val
    - arg
    argTypes:
    - dns_rdatastatstype_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1112
    functionName: rdatasetstats_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_BASE
    - xmlTextWriterEndElement
    - xmlTextWriterStartElement
    - DNS_RDATASTATSTYPE_ATTR
    - rdatastatstype_attr
    - isc_log_write
    - TRY0
    - fprintf
    - snprintf
    - json_object_new_int64
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void rdatasetstats_dump(dns_rdatastatstype_t type, uint64_t val, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/statschannel.c:1128,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/bin/named/statschannel.c:1129,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/statschannel.c:1130,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1135,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1140,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1140,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1141,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1141,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1143,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1143,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1144,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1144,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1150,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1154,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - code
    - val
    - arg
    argTypes:
    - dns_opcode_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1167
    functionName: opcodestat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - xmlTextWriterEndElement
    - dns_opcode_totext
    - xmlTextWriterStartElement
    - json_object_object_add
    - isc_buffer_init
    - isc_log_write
    - isc_buffer_usedlength
    - TRY0
    - fprintf
    - xmlTextWriterWriteAttribute
    - xmlTextWriterWriteFormatString
    - json_object_new_int64
    linkageType: ''
    returnType: void
    signature: void opcodestat_dump(dns_opcode_t code, uint64_t val, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/statschannel.c:1183,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/named/statschannel.c:1184,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/statschannel.c:1185,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1190,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1195,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1195,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1196,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1196,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1198,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1198,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1199,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1199,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1205,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1209,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - code
    - val
    - arg
    argTypes:
    - dns_rcode_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1222
    functionName: rcodestat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - xmlTextWriterEndElement
    - xmlTextWriterStartElement
    - json_object_object_add
    - isc_buffer_init
    - isc_log_write
    - TRY0
    - isc_buffer_usedlength
    - fprintf
    - xmlTextWriterWriteAttribute
    - xmlTextWriterWriteFormatString
    - json_object_new_int64
    - dns_rcode_totext
    linkageType: ''
    returnType: void
    signature: void rcodestat_dump(dns_rcode_t code, uint64_t val, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:1241,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1247,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1252,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1252,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1253,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1253,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1255,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1255,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1256,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1256,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1262,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1266,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - kval
    - val
    - arg
    argTypes:
    - uint32_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1278
    functionName: dnssecsignstat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - xmlTextWriterEndElement
    - xmlTextWriterStartElement
    - json_object_object_add
    - isc_log_write
    - TRY0
    - snprintf
    - fprintf
    - xmlTextWriterWriteAttribute
    - xmlTextWriterWriteFormatString
    - json_object_new_int64
    linkageType: ''
    returnType: void
    signature: void dnssecsignstat_dump(uint32_t kval, uint64_t val, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getstatlevel
      Src: /src/bind9/bin/named/statschannel.c:1307,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1315,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1315,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:1317,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1318,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1318,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:1321,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:1322,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1323,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1323,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1326,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1326,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:1327,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1331,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1331,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1333,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1333,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1335,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1335,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:1336,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1337,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1337,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1339,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1339,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1341,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1341,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1348,1
    - Dst: dns_zone_getloadtime
      Src: /src/bind9/bin/named/statschannel.c:1348,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:1350,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1351,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1351,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1353,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1353,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/statschannel.c:1355,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1356,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/bin/named/statschannel.c:1356,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:1357,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1358,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1358,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1360,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1360,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1362,1
    - Dst: dns_zone_getrefreshtime
      Src: /src/bind9/bin/named/statschannel.c:1362,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:1363,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1364,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1364,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1366,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1366,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/bin/named/statschannel.c:1377,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1379,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1379,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1381,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1381,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1385,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1385,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1390,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1390,1
    - Dst: dns_zone_getgluecachestats
      Src: /src/bind9/bin/named/statschannel.c:1393,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1395,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1395,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1397,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1397,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1401,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1401,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1408,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1408,1
    - Dst: dns_zone_getrcvquerystats
      Src: /src/bind9/bin/named/statschannel.c:1411,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1413,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1413,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1415,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1415,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1420,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1422,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1425,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1425,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/bin/named/statschannel.c:1428,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1431,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1431,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1433,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1433,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:1438,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1441,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1444,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1444,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1447,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1447,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1449,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1449,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:1454,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1457,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1460,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1460,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1464,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1464,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1468,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 87
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1471
    functionName: zone_xmlrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_zone_getstatlevel
    - isc_log_write
    - TRY0
    - dns_zone_getexpiretime
    - dns_zone_nameonly
    - dns_rdatatypestats_dump
    - xmlTextWriterEndElement
    - dns_zone_getgluecachestats
    - dns_zone_getrcvquerystats
    - xmlTextWriterStartElement
    - dns_dnssecsignstats_dump
    - dns_rdataclass_format
    - xmlTextWriterWriteAttribute
    - dns_zone_gettype
    - isc_time_formatISO8601
    - dns_zone_getclass
    - dump_stats
    - dns_zone_getrefreshtime
    - xmlTextWriterWriteString
    - xmlTextWriterWriteFormatString
    - user_zonetype
    - dns_zone_getserial
    - dns_zone_getloadtime
    - dns_zone_getdnssecsignstats
    - CHECK
    - dns_zone_getrequeststats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_xmlrender(dns_zone_t *zone, void *arg)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getstatlevel
      Src: /src/bind9/bin/named/statschannel.c:1495,1
    - Dst: dns_zone_getxfr
      Src: /src/bind9/bin/named/statschannel.c:1500,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:1516,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1527,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1527,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:1529,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1530,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1530,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:1533,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:1534,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1535,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1535,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1538,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1538,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:1539,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1543,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1543,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1545,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1545,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1547,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1547,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:1548,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1549,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1549,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1551,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1551,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1553,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1553,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1555,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1555,1
    - Dst: dns_xfrin_getendserial
      Src: /src/bind9/bin/named/statschannel.c:1557,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1559,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1559,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1562,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1562,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1565,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1565,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1567,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1567,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1569,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1569,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1570,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1570,1
    - Dst: ISC_XMLCHAR
      Src: /src/bind9/bin/named/statschannel.c:1571,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1572,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1572,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1574,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1574,1
    - Dst: dns_xfrin_getstate
      Src: /src/bind9/bin/named/statschannel.c:1578,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1582,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1582,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1584,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1584,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1587,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1587,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1589,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1589,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/statschannel.c:1592,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1594,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1594,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1596,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1596,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1597,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1597,1
    - Dst: ISC_XMLCHAR
      Src: /src/bind9/bin/named/statschannel.c:1599,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1600,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1600,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1602,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1602,1
    - Dst: dns_xfrin_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:1604,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1605,1
    - Dst: dns_zone_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:1608,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1609,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1612,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1612,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1614,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1614,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1616,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1616,1
    - Dst: dns_xfrin_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:1618,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1619,1
    - Dst: dns_zone_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:1622,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1623,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1627,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1627,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1630,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1630,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1632,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1632,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1634,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1634,1
    - Dst: dns_xfrin_getsoatransporttype
      Src: /src/bind9/bin/named/statschannel.c:1637,1
    - Dst: dns_zone_getrequesttransporttype
      Src: /src/bind9/bin/named/statschannel.c:1639,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1642,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1642,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1645,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1645,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1648,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1648,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1651,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1651,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1655,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1655,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1658,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1658,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1660,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1660,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1662,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1662,1
    - Dst: dns_xfrin_gettransporttype
      Src: /src/bind9/bin/named/statschannel.c:1664,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1666,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1666,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1669,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1669,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1673,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1673,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1676,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1676,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1678,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1678,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1680,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1680,1
    - Dst: dns_xfrin_gettsigkeyname
      Src: /src/bind9/bin/named/statschannel.c:1682,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:1686,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1692,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1692,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1694,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1694,1
    - Dst: dns_xfrin_getstarttime
      Src: /src/bind9/bin/named/statschannel.c:1696,1
    - Dst: dns_zone_getxfrintime
      Src: /src/bind9/bin/named/statschannel.c:1697,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:1698,1
    - Dst: isc_time_subtract
      Src: /src/bind9/bin/named/statschannel.c:1702,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/named/statschannel.c:1703,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1704,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1704,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1706,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1706,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1708,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1708,1
    - Dst: dns_xfrin_getstats
      Src: /src/bind9/bin/named/statschannel.c:1711,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1713,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1713,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1714,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1714,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1715,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1715,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1716,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1716,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1717,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1717,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1718,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1718,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1719,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1719,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1720,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1720,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1721,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1721,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1722,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1722,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1723,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1723,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1724,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1724,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1726,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1726,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1728,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1728,1
    - Dst: ISC_XMLCHAR
      Src: /src/bind9/bin/named/statschannel.c:1729,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1731,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1731,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1733,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1733,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1735,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1735,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:1738,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:1745,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1748,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 191
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1752
    functionName: xfrin_xmlrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_zone_getstatlevel
    - isc_sockaddr_format
    - dns_zone_getxfrintime
    - dns_xfrin_getprimaryaddr
    - TRY0
    - dns_xfrin_getsoatransporttype
    - isc_time_seconds
    - isc_log_write
    - dns_xfrin_gettransporttype
    - dns_zone_nameonly
    - ISC_XMLCHAR
    - dns_xfrin_detach
    - xmlTextWriterEndElement
    - dns_zone_getxfr
    - UNREACHABLE
    - dns_xfrin_getstarttime
    - xmlTextWriterStartElement
    - dns_rdataclass_format
    - dns_xfrin_getsourceaddr
    - isc_time_now
    - xmlTextWriterWriteAttribute
    - dns_name_format
    - dns_zone_getclass
    - dns_zone_getrequesttransporttype
    - xmlTextWriterWriteString
    - dns_zone_getprimaryaddr
    - isc_time_subtract
    - xmlTextWriterWriteFormatString
    - user_zonetype
    - dns_zone_getserial
    - dns_xfrin_getstate
    - dns_xfrin_getendserial
    - dns_xfrin_gettsigkeyname
    - dns_zone_getsourceaddr
    - dns_xfrin_getstats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfrin_xmlrender(dns_zone_t *zone, void *arg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:1760,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:1781,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:1782,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:1784,1
    - Dst: xmlNewTextWriterDoc
      Src: /src/bind9/bin/named/statschannel.c:1786,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1790,1
    - Dst: xmlTextWriterStartDocument
      Src: /src/bind9/bin/named/statschannel.c:1790,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1791,1
    - Dst: xmlTextWriterWritePI
      Src: /src/bind9/bin/named/statschannel.c:1791,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1794,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1794,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1795,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1795,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1803,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1803,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1804,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1804,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1806,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1806,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1807,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1807,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1809,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1809,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1810,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1810,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1812,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1812,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1813,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1813,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1815,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1815,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1820,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1820,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1821,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1821,1
    - Dst: dns_opcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1824,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1826,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1828,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1828,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1830,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1830,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1831,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1831,1
    - Dst: dns_rcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1834,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1836,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1838,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1838,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1840,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1840,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1841,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1841,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1845,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1847,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1849,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1849,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1851,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1851,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1852,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1852,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1855,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1855,1
    - Dst: ns_stats_get
      Src: /src/bind9/bin/named/statschannel.c:1855,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1861,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1861,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1863,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1863,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1864,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1864,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1867,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1867,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1872,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1872,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1878,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1878,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1879,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1879,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1881,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1881,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1886,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1886,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1891,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1891,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1893,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1893,1
    - Dst: dns_dt_getstats
      Src: /src/bind9/bin/named/statschannel.c:1896,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1897,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:1901,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1902,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1904,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1904,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1910,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1910,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1911,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1911,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1914,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1914,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1919,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1919,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1921,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1921,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1924,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1924,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1925,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1925,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1926,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1926,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1927,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1927,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1928,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1928,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1931,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:1931,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1936,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1936,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1938,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1938,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1939,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1939,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1942,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:1942,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1947,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1947,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1948,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1948,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1950,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1950,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1951,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1951,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1952,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1952,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1955,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:1955,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1960,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1960,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1961,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1961,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1962,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1962,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1965,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:1965,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1970,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1970,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1971,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1971,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1972,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1972,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1974,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1974,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1975,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1975,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1976,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1976,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1977,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1977,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1980,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:1980,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1985,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1985,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1987,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1987,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1988,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1988,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1991,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:1991,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1996,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1996,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1997,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1997,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1999,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1999,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2000,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2000,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2001,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2001,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2004,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2004,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2009,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2009,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2011,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2011,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2012,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2012,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2015,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2015,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2020,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2020,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2021,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2021,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2022,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2022,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2023,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2023,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/statschannel.c:2030,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2031,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2031,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2039,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2039,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2040,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2040,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2044,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2044,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2046,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/statschannel.c:2046,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2048,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2048,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2052,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2052,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2054,1
    - Dst: dns_zt_apply
      Src: /src/bind9/bin/named/statschannel.c:2054,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2056,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2056,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2060,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2060,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/statschannel.c:2061,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2065,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2065,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2066,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2066,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/statschannel.c:2069,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2072,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2074,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:2076,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2077,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2077,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2080,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2080,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2081,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2081,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/statschannel.c:2083,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2085,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2085,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:2091,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2092,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2092,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/named/statschannel.c:2094,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2096,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2096,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2098,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2098,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/statschannel.c:2100,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/bin/named/statschannel.c:2102,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2104,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2105,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2105,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2109,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2109,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2110,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2110,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/statschannel.c:2112,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2114,1
    - Dst: dns_adb_getstats
      Src: /src/bind9/bin/named/statschannel.c:2114,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/statschannel.c:2119,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2120,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2122,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2122,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2125,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2125,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2126,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2126,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2128,1
    - Dst: dns_cache_renderxml
      Src: /src/bind9/bin/named/statschannel.c:2128,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2129,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2129,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2131,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2131,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/statschannel.c:2133,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2135,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2135,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2138,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2138,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2139,1
    - Dst: isc_mem_renderxml
      Src: /src/bind9/bin/named/statschannel.c:2139,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2140,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2140,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2143,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2143,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2144,1
    - Dst: xmlTextWriterEndDocument
      Src: /src/bind9/bin/named/statschannel.c:2144,1
    - Dst: xmlDocDumpFormatMemoryEnc
      Src: /src/bind9/bin/named/statschannel.c:2146,1
    - Dst: xmlFreeTextWriter
      Src: /src/bind9/bin/named/statschannel.c:2151,1
    - Dst: xmlFreeDoc
      Src: /src/bind9/bin/named/statschannel.c:2152,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:2156,1
    - Dst: xmlFreeTextWriter
      Src: /src/bind9/bin/named/statschannel.c:2159,1
    - Dst: xmlFreeDoc
      Src: /src/bind9/bin/named/statschannel.c:2162,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 208
    argCount: 4
    argNames:
    - server
    - flags
    - buflen
    - buf
    argTypes:
    - named_server_t*
    - uint32_t
    - int*
    - xmlChar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 1754
    functionDepth: 2
    functionLinenumber: 1754
    functionLinenumberEnd: 2165
    functionName: generatexml
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_stats_detach
    - xmlTextWriterWritePI
    - dns_view_apply
    - xmlFreeDoc
    - dns_adb_detach
    - xmlTextWriterStartDocument
    - isc_log_write
    - TRY0
    - dns_rdatatypestats_dump
    - dns_db_getrrsetstats
    - xmlTextWriterEndElement
    - dns_cache_getname
    - ISC_LIST_HEAD
    - isc_time_formatISO8601ms
    - xmlTextWriterStartElement
    - ns_stats_get
    - dns_adb_getstats
    - xmlTextWriterEndDocument
    - dns_view_getadb
    - isc_time_now
    - xmlTextWriterWriteAttribute
    - dns_rdatasetstats_dump
    - dump_stats
    - ISC_LIST_NEXT
    - dns_opcodestats_dump
    - isc_mem_renderxml
    - dns_dt_getstats
    - xmlNewTextWriterDoc
    - xmlFreeTextWriter
    - dns_zt_apply
    - dns_resolver_getquerystats
    - dns_resolver_getstats
    - xmlDocDumpFormatMemoryEnc
    - dump_histo
    - dns_stats_detach
    - CHECK
    - dns_cache_renderxml
    - dns_rcodestats_dump
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t generatexml(named_server_t *server, uint32_t flags, int
      *buflen,\n\t    xmlChar **buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2169,1
    - Dst: xmlFree
      Src: /src/bind9/bin/named/statschannel.c:2171,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/statschannel.c:2171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - arg
    argTypes:
    - isc_buffer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2172
    functionName: wrap_xmlfree
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - UNUSED
    - xmlFree
    linkageType: ''
    returnType: void
    signature: void wrap_xmlfree(isc_buffer_t *buffer, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generatexml
      Src: /src/bind9/bin/named/statschannel.c:2183,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/bin/named/statschannel.c:2189,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/statschannel.c:2190,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:2194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - flags
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - uint32_t
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2174
    functionDepth: 3
    functionLinenumber: 2174
    functionLinenumberEnd: 2199
    functionName: render_xml
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - generatexml
    - isc_log_write
    - isc_buffer_reinit
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml(uint32_t flags, void *arg, unsigned int *retcode,\n\t
      \  const char **retmsg, const char **mimetype, isc_buffer_t *b,\n\t   isc_httpdfree_t
      **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2206,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2207,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2201
    functionDepth: 4
    functionLinenumber: 2201
    functionLinenumberEnd: 2210
    functionName: render_xml_all
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_all(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t       void *arg, unsigned int *retcode, const char **retmsg,\n\t
      \      const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb,\n\t
      \      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2217,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2218,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2212
    functionDepth: 4
    functionLinenumber: 2212
    functionLinenumberEnd: 2221
    functionName: render_xml_status
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_status(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t  void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \ const char **mimetype, isc_buffer_t *b,\n\t\t  isc_httpdfree_t **freecb, void
      **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2228,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2229,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2223
    functionDepth: 4
    functionLinenumber: 2223
    functionLinenumberEnd: 2232
    functionName: render_xml_server
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_server(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t  void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \ const char **mimetype, isc_buffer_t *b,\n\t\t  isc_httpdfree_t **freecb, void
      **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2239,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2240,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2234
    functionDepth: 4
    functionLinenumber: 2234
    functionLinenumberEnd: 2243
    functionName: render_xml_zones
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_zones(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      const char **mimetype, isc_buffer_t *b,\n\t\t isc_httpdfree_t **freecb, void
      **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2250,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2251,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2245
    functionDepth: 4
    functionLinenumber: 2245
    functionLinenumberEnd: 2254
    functionName: render_xml_xfrins
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_xfrins(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t  void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \ const char **mimetype, isc_buffer_t *b,\n\t\t  isc_httpdfree_t **freecb, void
      **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2261,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2262,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2256
    functionDepth: 4
    functionLinenumber: 2256
    functionLinenumberEnd: 2265
    functionName: render_xml_net
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_net(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t       void *arg, unsigned int *retcode, const char **retmsg,\n\t
      \      const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb,\n\t
      \      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2272,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2273,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2267
    functionDepth: 4
    functionLinenumber: 2267
    functionLinenumberEnd: 2276
    functionName: render_xml_mem
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_mem(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t       void *arg, unsigned int *retcode, const char **retmsg,\n\t
      \      const char **mimetype, isc_buffer_t *b, isc_httpdfree_t **freecb,\n\t
      \      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2283,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2284,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2278
    functionDepth: 4
    functionLinenumber: 2278
    functionLinenumberEnd: 2287
    functionName: render_xml_traffic
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - render_xml
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xml_traffic(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t   void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \  const char **mimetype, isc_buffer_t *b,\n\t\t   isc_httpdfree_t **freecb,
      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2304
    functionDepth: 0
    functionLinenumber: 2304
    functionLinenumberEnd: 2311
    functionName: CHECKMEM
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKMEM(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2314,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/statschannel.c:2314,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - arg
    argTypes:
    - isc_buffer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2318
    functionName: wrap_jsonfree
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - json_object_put
    linkageType: ''
    returnType: void
    signature: void wrap_jsonfree(isc_buffer_t *buffer, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2323,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2329,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2329,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2330,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2331,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2333,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2334,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2337,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - name
    - classname
    - ztype
    - serial
    - add_serial
    argTypes:
    - char*
    - char*
    - char*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2341
    functionName: addzone
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 5
    functionsReached:
    - json_object_object_add
    - json_object_new_string
    - json_object_new_object
    - json_object_new_int64
    linkageType: ''
    returnType: json_object
    signature: "json_object *\naddzone(char *name, char *classname, const char *ztype,
      uint32_t serial,\n\tbool add_serial)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getstatlevel
      Src: /src/bind9/bin/named/statschannel.c:2357,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:2362,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:2365,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:2366,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:2369,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2370,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2371,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2373,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2374,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2387,1
    - Dst: dns_zone_getloadtime
      Src: /src/bind9/bin/named/statschannel.c:2387,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:2389,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2390,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2390,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/statschannel.c:2392,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2393,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/bin/named/statschannel.c:2393,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:2394,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2395,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2396,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2398,1
    - Dst: dns_zone_getrefreshtime
      Src: /src/bind9/bin/named/statschannel.c:2398,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:2399,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2400,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2401,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/bin/named/statschannel.c:2412,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2414,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2420,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2425,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2429,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2430,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2433,1
    - Dst: dns_zone_getgluecachestats
      Src: /src/bind9/bin/named/statschannel.c:2437,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2439,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2445,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2451,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2455,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2456,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2459,1
    - Dst: dns_zone_getrcvquerystats
      Src: /src/bind9/bin/named/statschannel.c:2463,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2466,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2467,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2472,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2475,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2479,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2480,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2483,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/bin/named/statschannel.c:2487,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2490,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2491,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:2496,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2500,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2504,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2505,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2508,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2512,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2513,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:2518,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2522,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2526,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2529,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2533,1
    - Dst: json_object_array_add
      Src: /src/bind9/bin/named/statschannel.c:2538,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2544,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 129
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2343
    functionDepth: 2
    functionLinenumber: 2343
    functionLinenumberEnd: 2547
    functionName: zone_jsonrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - CHECKMEM
    - dns_zone_getstatlevel
    - json_object_new_object
    - addzone
    - dns_zone_getexpiretime
    - dns_zone_nameonly
    - dns_rdatatypestats_dump
    - dns_zone_getgluecachestats
    - dns_zone_getrcvquerystats
    - json_object_put
    - dns_dnssecsignstats_dump
    - json_object_get_object
    - dns_rdataclass_format
    - json_object_array_add
    - dns_zone_gettype
    - isc_time_formatISO8601
    - dns_zone_getclass
    - dump_stats
    - dns_zone_getrefreshtime
    - json_object_object_add
    - dns_zone_getserial
    - user_zonetype
    - dns_zone_getloadtime
    - json_object_new_string
    - dns_zone_getdnssecsignstats
    - CHECK
    - dns_zone_getrequeststats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_jsonrender(dns_zone_t *zone, void *arg)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getstatlevel
      Src: /src/bind9/bin/named/statschannel.c:2574,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:2579,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:2582,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:2583,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:2586,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2587,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2588,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2590,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2591,1
    - Dst: dns_zone_getxfr
      Src: /src/bind9/bin/named/statschannel.c:2599,1
    - Dst: dns_xfrin_getendserial
      Src: /src/bind9/bin/named/statschannel.c:2620,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2622,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2623,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2627,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2629,1
    - Dst: dns_xfrin_getstate
      Src: /src/bind9/bin/named/statschannel.c:2634,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2636,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2637,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2639,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2640,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2642,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2643,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2645,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2646,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2648,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2649,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/statschannel.c:2651,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2654,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2656,1
    - Dst: dns_xfrin_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:2660,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2661,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2662,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2663,1
    - Dst: dns_zone_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:2665,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2666,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2667,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2668,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2670,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2671,1
    - Dst: dns_xfrin_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:2675,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2676,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2677,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2678,1
    - Dst: dns_zone_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:2680,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2681,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2682,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2684,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2686,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2687,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2690,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2691,1
    - Dst: dns_xfrin_getsoatransporttype
      Src: /src/bind9/bin/named/statschannel.c:2696,1
    - Dst: dns_zone_getrequesttransporttype
      Src: /src/bind9/bin/named/statschannel.c:2698,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2702,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2703,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2705,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2706,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2708,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2709,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2711,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2712,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2715,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2716,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2719,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2720,1
    - Dst: dns_xfrin_gettransporttype
      Src: /src/bind9/bin/named/statschannel.c:2724,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2726,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2727,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2729,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2730,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2733,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2734,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2737,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2738,1
    - Dst: dns_xfrin_gettsigkeyname
      Src: /src/bind9/bin/named/statschannel.c:2742,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:2746,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2748,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2750,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2752,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2755,1
    - Dst: dns_xfrin_getstarttime
      Src: /src/bind9/bin/named/statschannel.c:2759,1
    - Dst: dns_zone_getxfrintime
      Src: /src/bind9/bin/named/statschannel.c:2760,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:2761,1
    - Dst: isc_time_subtract
      Src: /src/bind9/bin/named/statschannel.c:2765,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/named/statschannel.c:2766,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2767,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2768,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2770,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2771,1
    - Dst: dns_xfrin_getstats
      Src: /src/bind9/bin/named/statschannel.c:2775,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2777,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2778,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2779,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2780,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2781,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2783,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2785,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2786,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2791,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2793,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2795,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2796,1
    - Dst: json_object_array_add
      Src: /src/bind9/bin/named/statschannel.c:2799,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:2805,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2808,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 164
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2549
    functionDepth: 2
    functionLinenumber: 2549
    functionLinenumberEnd: 2811
    functionName: xfrin_jsonrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_zone_getstatlevel
    - isc_sockaddr_format
    - addzone
    - dns_zone_getxfrintime
    - dns_xfrin_getprimaryaddr
    - dns_xfrin_getsoatransporttype
    - isc_time_seconds
    - dns_xfrin_gettransporttype
    - dns_zone_nameonly
    - dns_xfrin_detach
    - dns_zone_getxfr
    - UNREACHABLE
    - dns_xfrin_getstarttime
    - json_object_put
    - dns_rdataclass_format
    - dns_xfrin_getsourceaddr
    - json_object_array_add
    - isc_time_now
    - dns_name_format
    - dns_zone_getclass
    - dns_zone_getrequesttransporttype
    - dns_zone_getprimaryaddr
    - isc_time_subtract
    - json_object_object_add
    - dns_zone_getserial
    - user_zonetype
    - dns_xfrin_getstate
    - dns_xfrin_getendserial
    - json_object_new_string
    - dns_xfrin_gettsigkeyname
    - dns_zone_getsourceaddr
    - dns_xfrin_getstats
    - json_object_new_int64
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfrin_jsonrender(dns_zone_t *zone, void *arg)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:2841,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:2842,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:2843,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2845,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2853,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2854,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2855,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:2857,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:2858,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:2859,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:2861,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2863,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2864,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2865,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2867,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2868,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2869,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2871,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2872,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2873,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2874,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2875,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2876,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2880,1
    - Dst: dns_opcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2886,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2889,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2893,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2894,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2896,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2900,1
    - Dst: dns_rcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2905,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2908,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2912,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2913,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2915,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2919,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2924,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2927,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2931,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2932,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2934,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2938,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2943,1
    - Dst: ns_stats_get
      Src: /src/bind9/bin/named/statschannel.c:2943,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2948,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2952,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2953,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2955,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2959,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2964,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2969,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2973,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2974,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2977,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2981,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2986,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2991,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2995,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2996,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2998,1
    - Dst: dns_dt_getstats
      Src: /src/bind9/bin/named/statschannel.c:3005,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3006,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3009,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:3014,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3016,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3020,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3021,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3024,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3033,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3034,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3036,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3038,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3039,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3042,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3043,1
    - Dst: json_object_new_array
      Src: /src/bind9/bin/named/statschannel.c:3045,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3046,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3049,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/statschannel.c:3049,1
    - Dst: json_object_array_length
      Src: /src/bind9/bin/named/statschannel.c:3053,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3054,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3056,1
    - Dst: json_object_new_array
      Src: /src/bind9/bin/named/statschannel.c:3059,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3060,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3063,1
    - Dst: dns_zt_apply
      Src: /src/bind9/bin/named/statschannel.c:3063,1
    - Dst: json_object_array_length
      Src: /src/bind9/bin/named/statschannel.c:3067,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3068,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3070,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3078,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3079,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3080,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/statschannel.c:3082,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3084,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3085,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3087,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3095,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3100,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:3102,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/statschannel.c:3105,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3108,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3109,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3113,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3117,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3122,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:3124,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/named/statschannel.c:3127,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3129,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3130,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/bin/named/statschannel.c:3134,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3138,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3143,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3147,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3148,1
    - Dst: dns_cache_renderjson
      Src: /src/bind9/bin/named/statschannel.c:3150,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3153,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3157,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/statschannel.c:3160,1
    - Dst: dns_adb_getstats
      Src: /src/bind9/bin/named/statschannel.c:3162,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/statschannel.c:3163,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3166,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3167,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3169,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3177,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3182,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3191,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3196,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3201,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3205,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3206,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3209,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3214,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3215,1
    - Dst: isc_mem_renderjson
      Src: /src/bind9/bin/named/statschannel.c:3217,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3219,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3223,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3227,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3228,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3230,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3231,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3233,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3234,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3236,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3237,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3239,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3240,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3242,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3243,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3245,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3246,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3248,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3249,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3251,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3252,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3254,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3254,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3260,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3260,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3266,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3266,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3272,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3272,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3278,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3278,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3284,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3284,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3290,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3290,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3296,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3296,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3302,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3305,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3307,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3310,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3312,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3315,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3317,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3320,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3322,1
    - Dst: json_object_to_json_string_ext
      Src: /src/bind9/bin/named/statschannel.c:3334,1
    - Dst: strlen
      Src: /src/bind9/bin/named/statschannel.c:3336,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3347,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3350,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3353,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3356,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3359,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3362,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3365,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3368,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3371,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3374,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 349
    argCount: 5
    argNames:
    - server
    - msglen
    - msg
    - rootp
    - flags
    argTypes:
    - named_server_t*
    - size_t*
    - char**
    - json_object**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 3378
    functionName: generatejson
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - CHECKMEM
    - isc_stats_detach
    - dns_view_apply
    - json_object_to_json_string_ext
    - dns_adb_detach
    - json_object_new_object
    - REQUIRE
    - dns_rdatatypestats_dump
    - dns_db_getrrsetstats
    - json_object_put
    - json_object_array_length
    - isc_time_formatISO8601ms
    - ns_stats_get
    - json_object_get_object
    - dns_adb_getstats
    - dns_view_getadb
    - isc_time_now
    - dns_rcodestats_dump
    - dns_cache_renderjson
    - dns_rdatasetstats_dump
    - dump_stats
    - dns_opcodestats_dump
    - dns_dt_getstats
    - strlen
    - ISC_LIST_FOREACH
    - json_object_object_add
    - dns_zt_apply
    - dns_resolver_getstats
    - dns_resolver_getquerystats
    - json_object_new_string
    - dump_histo
    - dns_stats_detach
    - CHECK
    - isc_mem_renderjson
    - json_object_new_array
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t generatejson(named_server_t *server, size_t *msglen,
      const char **msg,\n\t     json_object **rootp, uint32_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generatejson
      Src: /src/bind9/bin/named/statschannel.c:3391,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/statschannel.c:3396,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/bin/named/statschannel.c:3397,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/statschannel.c:3398,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 8
    argNames:
    - flags
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - uint32_t
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3380
    functionDepth: 3
    functionLinenumber: 3380
    functionLinenumberEnd: 3407
    functionName: render_json
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - generatejson
    - isc_log_write
    - UNCONST
    - isc_buffer_reinit
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json(uint32_t flags, void *arg, unsigned int *retcode,\n\t
      \   const char **retmsg, const char **mimetype, isc_buffer_t *b,\n\t    isc_httpdfree_t
      **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3414,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3415,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3409
    functionDepth: 4
    functionLinenumber: 3409
    functionLinenumberEnd: 3418
    functionName: render_json_all
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_all(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\tvoid *arg, unsigned int *retcode, const char **retmsg,\n\t\tconst
      char **mimetype, isc_buffer_t *b,\n\t\tisc_httpdfree_t **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3425,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3426,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3420
    functionDepth: 4
    functionLinenumber: 3420
    functionLinenumberEnd: 3429
    functionName: render_json_status
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_status(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t   void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \  const char **mimetype, isc_buffer_t *b,\n\t\t   isc_httpdfree_t **freecb,
      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3436,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3437,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3431
    functionDepth: 4
    functionLinenumber: 3431
    functionLinenumberEnd: 3440
    functionName: render_json_server
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_server(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t   void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \  const char **mimetype, isc_buffer_t *b,\n\t\t   isc_httpdfree_t **freecb,
      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3447,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3448,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3442
    functionDepth: 4
    functionLinenumber: 3442
    functionLinenumberEnd: 3451
    functionName: render_json_zones
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_zones(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t  void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \ const char **mimetype, isc_buffer_t *b,\n\t\t  isc_httpdfree_t **freecb, void
      **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3458,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3459,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3453
    functionDepth: 4
    functionLinenumber: 3453
    functionLinenumberEnd: 3462
    functionName: render_json_xfrins
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_xfrins(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t   void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \  const char **mimetype, isc_buffer_t *b,\n\t\t   isc_httpdfree_t **freecb,
      void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3469,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3470,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3464
    functionDepth: 4
    functionLinenumber: 3464
    functionLinenumberEnd: 3473
    functionName: render_json_mem
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_mem(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\tvoid *arg, unsigned int *retcode, const char **retmsg,\n\t\tconst
      char **mimetype, isc_buffer_t *b,\n\t\tisc_httpdfree_t **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3480,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3481,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3484
      start: 3475
    functionDepth: 4
    functionLinenumber: 3475
    functionLinenumberEnd: 3484
    functionName: render_json_net
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_net(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\tvoid *arg, unsigned int *retcode, const char **retmsg,\n\t\tconst
      char **mimetype, isc_buffer_t *b,\n\t\tisc_httpdfree_t **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3491,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3492,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3486
    functionDepth: 4
    functionLinenumber: 3486
    functionLinenumberEnd: 3495
    functionName: render_json_traffic
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_json
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_json_traffic(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo,\n\t\t    void *arg, unsigned int *retcode, const char **retmsg,\n\t\t
      \   const char **mimetype, isc_buffer_t *b,\n\t\t    isc_httpdfree_t **freecb,
      void **freecb_args)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3511,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3512,1
    - Dst: isc_httpdurl_isstatic
      Src: /src/bind9/bin/named/statschannel.c:3518,1
    - Dst: isc_httpd_if_modified_since
      Src: /src/bind9/bin/named/statschannel.c:3523,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/statschannel.c:3525,1
    - Dst: isc_time_secondsastimet
      Src: /src/bind9/bin/named/statschannel.c:3529,1
    - Dst: isc_httpdurl_loadtime
      Src: /src/bind9/bin/named/statschannel.c:3534,1
    - Dst: isc_time_secondsastimet
      Src: /src/bind9/bin/named/statschannel.c:3536,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/statschannel.c:3553,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/bin/named/statschannel.c:3554,1
    - Dst: strlen
      Src: /src/bind9/bin/named/statschannel.c:3554,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/statschannel.c:3555,1
    - Dst: strlen
      Src: /src/bind9/bin/named/statschannel.c:3555,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - args
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3558
      start: 3504
    functionDepth: 1
    functionLinenumber: 3504
    functionLinenumberEnd: 3558
    functionName: render_xsl
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_time_isepoch
    - isc_httpdurl_loadtime
    - isc_time_secondsastimet
    - isc_httpdurl_isstatic
    - UNUSED
    - isc_httpd_if_modified_since
    - strlen
    - UNCONST
    - isc_buffer_reinit
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_xsl(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo, void *args,\n\t   unsigned int *retcode, const char **retmsg, const
      char **mimetype,\n\t   isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:3564,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3565,1
    - Dst: isc_httpdmgr_shutdown
      Src: /src/bind9/bin/named/statschannel.c:3569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - listener
    argTypes:
    - named_statschannel_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3570
      start: 3561
    functionDepth: 1
    functionLinenumber: 3561
    functionLinenumberEnd: 3570
    functionName: shutdown_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_log_write
    - isc_httpdmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void shutdown_listener(named_statschannel_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/statschannel.c:3577,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:3582,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/statschannel.c:3584,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/statschannel.c:3586,1
    - Dst: dns_acl_match
      Src: /src/bind9/bin/named/statschannel.c:3587,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/statschannel.c:3591,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/statschannel.c:3594,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:3596,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fromaddr
    - arg
    argTypes:
    - isc_sockaddr_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3602
      start: 3573
    functionDepth: 1
    functionLinenumber: 3573
    functionLinenumberEnd: 3602
    functionName: client_ok
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - LOCK
    - isc_netaddr_fromsockaddr
    - isc_sockaddr_format
    - UNLOCK
    - isc_log_write
    - ns_interfacemgr_getaclenv
    - REQUIRE
    - dns_acl_match
    linkageType: ''
    returnType: bool
    signature: bool client_ok(const isc_sockaddr_t *fromaddr, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:3610,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:3611,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/named/statschannel.c:3611,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3614,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/statschannel.c:3616,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/statschannel.c:3617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3606
    functionDepth: 1
    functionLinenumber: 3606
    functionLinenumberEnd: 3618
    functionName: destroy_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - isc_mem_putanddetach
    - ISC_LINK_LINKED
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_listener(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3627,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3628,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3629,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3630,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3631,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3632,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3633,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/statschannel.c:3643,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/statschannel.c:3645,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/named/statschannel.c:3646,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/statschannel.c:3647,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3649,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/statschannel.c:3650,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/statschannel.c:3651,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/statschannel.c:3654,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3656,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/statschannel.c:3658,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3659,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/statschannel.c:3661,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/statschannel.c:3662,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/statschannel.c:3663,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3665,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3668,1
    - Dst: isc_httpdmgr_create
      Src: /src/bind9/bin/named/statschannel.c:3668,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3673,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3675,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3677,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3680,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3683,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3686,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3689,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3692,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3695,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3698,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3701,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3705,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3707,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3710,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3713,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3716,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3719,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3722,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3725,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3728,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3734,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3742,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/statschannel.c:3744,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/statschannel.c:3745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 7
    argNames:
    - server
    - listenerp
    - listen_params
    - config
    - addr
    - aclconfctx
    - socktext
    argTypes:
    - named_server_t*
    - named_statschannel_t**
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_sockaddr_t*
    - cfg_aclconfctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3621
    functionDepth: 1
    functionLinenumber: 3621
    functionLinenumberEnd: 3749
    functionName: add_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - isc_httpdmgr_addurl
    - isc_mem_putanddetach
    - isc_log_write
    - isc_mem_attach
    - isc_mutex_init
    - ISC_LINK_INIT
    - dns_acl_attach
    - isc_mutex_destroy
    - cfg_acl_fromconfig
    - cfg_obj_islist
    - UNUSED
    - isc_mem_get
    - isc_httpdmgr_create
    - isc_sockaddr_pf
    - isc_net_probeipv4
    - cfg_tuple_get
    - CHECK
    - dns_acl_any
    - isc_net_probeipv6
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_listener(named_server_t *server, named_statschannel_t
      **listenerp,\n\t     const cfg_obj_t *listen_params, const cfg_obj_t *config,\n\t
      \    isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx,\n\t     const char
      *socktext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3761,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/named/statschannel.c:3762,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3776,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/statschannel.c:3777,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/statschannel.c:3778,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/statschannel.c:3781,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/statschannel.c:3785,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3787,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/statschannel.c:3788,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3789,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/statschannel.c:3791,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:3793,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:3796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - server
    - listenerp
    - listen_params
    - config
    - addr
    - aclconfctx
    - socktext
    argTypes:
    - named_server_t*
    - named_statschannel_t**
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_sockaddr_t*
    - cfg_aclconfctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3800
      start: 3751
    functionDepth: 1
    functionLinenumber: 3751
    functionLinenumberEnd: 3800
    functionName: update_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - LOCK
    - cfg_obj_islist
    - UNLOCK
    - cfg_tuple_get
    - isc_result_totext
    - dns_acl_any
    - ISC_LIST_FOREACH
    - dns_acl_attach
    - isc_sockaddr_equal
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: void
    signature: "void update_listener(named_server_t *server, named_statschannel_t
      **listenerp,\n\t\tconst cfg_obj_t *listen_params, const cfg_obj_t *config,\n\t\tisc_sockaddr_t
      *addr, cfg_aclconfctx_t *aclconfctx,\n\t\tconst char *socktext)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_once_do
      Src: /src/bind9/bin/named/statschannel.c:3809,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/statschannel.c:3811,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/statschannel.c:3816,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3828,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3834,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3840,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:3851,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/statschannel.c:3852,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:3863,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3865,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/statschannel.c:3866,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/statschannel.c:3867,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/statschannel.c:3868,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:3873,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3876,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/statschannel.c:3878,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/statschannel.c:3883,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:3892,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/statschannel.c:3900,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:3905,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:3912,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/statschannel.c:3917,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3924,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:3925,1
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/statschannel.c:3926,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/named/statschannel.c:3929,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - server
    - config
    - aclconfctx
    argTypes:
    - named_server_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3931
      start: 3802
    functionDepth: 1
    functionLinenumber: 3802
    functionLinenumberEnd: 3931
    functionName: named_statschannels_configure
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_format
    - update_listener
    - isc_log_write
    - ISC_LIST_APPENDLIST
    - ISC_LIST_INIT
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - cfg_listelt_value
    - ISC_LOG_DEBUG
    - isc_once_do
    - add_listener
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - cfg_obj_log
    - ISC_LIST_APPEND
    - shutdown_listener
    - isc_result_totext
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_statschannels_configure(named_server_t *server,
      const cfg_obj_t *config,\n\t\t\t      cfg_aclconfctx_t *aclconfctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:3851,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/statschannel.c:3852,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:3863,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3865,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/statschannel.c:3866,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/statschannel.c:3867,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/statschannel.c:3868,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:3873,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3876,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/statschannel.c:3878,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/statschannel.c:3883,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:3892,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/statschannel.c:3900,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:3905,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:3912,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/statschannel.c:3917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3847
    functionDepth: 1
    functionLinenumber: 3847
    functionLinenumberEnd: 3921
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - cfg_listelt_value
    - ISC_LIST_APPEND
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - isc_result_totext
    - cfg_tuple_get
    - update_listener
    - isc_log_write
    - add_listener
    - ISC_LIST_UNLINK
    - cfg_map_get
    - cfg_obj_assockaddr
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (statschannellist, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:3863,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3865,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/statschannel.c:3866,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/statschannel.c:3867,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/statschannel.c:3868,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:3873,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3876,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/statschannel.c:3878,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/statschannel.c:3883,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:3892,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/statschannel.c:3900,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:3905,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:3912,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/statschannel.c:3917,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3857
    functionDepth: 1
    functionLinenumber: 3857
    functionLinenumberEnd: 3920
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - cfg_listelt_value
    - ISC_LIST_APPEND
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - isc_result_totext
    - cfg_tuple_get
    - update_listener
    - isc_log_write
    - add_listener
    - ISC_LIST_UNLINK
    - cfg_obj_assockaddr
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (listenercfg, element2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3935,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:3936,1
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/statschannel.c:3937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3939
      start: 3933
    functionDepth: 1
    functionLinenumber: 3933
    functionLinenumberEnd: 3939
    functionName: named_statschannels_shutdown
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - shutdown_listener
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void named_statschannels_shutdown(named_server_t *server)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/named/statschannel.c:3952,1
    - Dst: isc_once_do
      Src: /src/bind9/bin/named/statschannel.c:3954,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3960,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3962,1
    - Dst: dns_opcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3963,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3966,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3967,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3970,1
    - Dst: dns_rcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3971,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3974,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3975,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/statschannel.c:3977,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:3981,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3982,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3984,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3986,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:3987,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3990,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3991,1
    - Dst: ns_stats_get
      Src: /src/bind9/bin/named/statschannel.c:3991,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:3995,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3996,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4000,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4001,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4002,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4005,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/statschannel.c:4007,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4011,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4012,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4014,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4016,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:4019,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4022,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4023,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4024,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4025,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4027,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/statschannel.c:4028,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/statschannel.c:4033,1
    - Dst: dns_cache_dumpstats
      Src: /src/bind9/bin/named/statschannel.c:4036,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4039,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4040,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/named/statschannel.c:4043,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4047,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4048,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4050,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/statschannel.c:4051,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/statschannel.c:4053,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/bin/named/statschannel.c:4060,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4064,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4065,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/statschannel.c:4069,1
    - Dst: dns_adb_getstats
      Src: /src/bind9/bin/named/statschannel.c:4071,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/statschannel.c:4072,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4077,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4078,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4080,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4082,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4087,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4088,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4092,1
    - Dst: dns_zone_first
      Src: /src/bind9/bin/named/statschannel.c:4094,1
    - Dst: dns_zone_next
      Src: /src/bind9/bin/named/statschannel.c:4096,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/bin/named/statschannel.c:4098,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/statschannel.c:4101,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:4106,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/statschannel.c:4106,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4108,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4109,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4110,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4112,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4114,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4121,1
    - Dst: dns_zone_first
      Src: /src/bind9/bin/named/statschannel.c:4123,1
    - Dst: dns_zone_next
      Src: /src/bind9/bin/named/statschannel.c:4125,1
    - Dst: dns_zone_getgluecachestats
      Src: /src/bind9/bin/named/statschannel.c:4127,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/statschannel.c:4130,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:4135,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/statschannel.c:4135,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4137,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4138,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4139,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4141,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4143,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4151,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 126
    argCount: 2
    argNames:
    - server
    - fp
    argTypes:
    - named_server_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4154
      start: 3941
    functionDepth: 2
    functionLinenumber: 3941
    functionLinenumberEnd: 4154
    functionName: named_stats_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - isc_stats_detach
    - dns_adb_detach
    - dns_zone_getorigin
    - dns_rdatatypestats_dump
    - dns_db_getrrsetstats
    - dns_zone_getgluecachestats
    - dns_cache_getname
    - dns_zone_first
    - ns_stats_get
    - dns_adb_getstats
    - dns_view_getadb
    - fprintf
    - isc_stdtime_now
    - dns_name_format
    - dns_rdatasetstats_dump
    - dump_stats
    - dns_zone_getview
    - dns_view_iscacheshared
    - dns_opcodestats_dump
    - isc_once_do
    - dns_cache_dumpstats
    - ISC_LIST_FOREACH
    - dns_zone_next
    - dns_resolver_getquerystats
    - dns_resolver_getstats
    - dns_stats_detach
    - dns_zone_getrequeststats
    - strcmp
    - dns_rcodestats_dump
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_stats_dump(named_server_t *server, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/config.c:367,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/config.c:368,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/config.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - parser
    - conf
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: named_config_parsedefaults
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached:
    - isc_buffer_init
    - cfg_parse_buffer
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t
      **conf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:384,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:384,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/config.c:386,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/config.c:387,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:392,1
    - Dst: isc_file_ischdiridempotent
      Src: /src/bind9/bin/named/config.c:394,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:395,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/config.c:400,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/config.c:401,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/bin/named/config.c:407,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:409,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/config.c:411,1
    - Dst: getcwd
      Src: /src/bind9/bin/named/config.c:416,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/config.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - clausename
    - obj
    - arg
    argTypes:
    - char*
    - cfg_obj_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 423
    functionName: directory_callback
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached:
    - isc_file_isdirwritable
    - isc_file_ischdiridempotent
    - UNUSED
    - isc_result_totext
    - cfg_obj_asstring
    - getcwd
    - isc_log_write
    - REQUIRE
    - isc_dir_chdir
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t directory_callback(const char *clausename, const cfg_obj_t
      *obj, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:429,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:430,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/config.c:432,1
    - Dst: cfg_parser_setcallback
      Src: /src/bind9/bin/named/config.c:436,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/config.c:437,1
    - Dst: isccfg_check_namedconf
      Src: /src/bind9/bin/named/config.c:450,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/config.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - parser
    - conf
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 465
    functionName: named_config_parsefile
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - isccfg_check_namedconf
    - cfg_parse_file
    - cfg_obj_destroy
    - cfg_parser_setcallback
    - isc_log_write
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_config_parsefile(cfg_parser_t *parser, cfg_obj_t
      **conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: named_config_getdefault
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      named_config_getdefault(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - maps
    - name
    - obj
    argTypes:
    - cfg_obj_t**
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: named_config_get
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 15
    functionsReached:
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_get(cfg_obj_t const *const *maps, const
      char *name,\n\t\t const cfg_obj_t **obj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:490,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:493,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - opts1
    - opts2
    - name
    - objp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: named_config_findopt
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 9
    functionsReached:
    - cfg_map_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_findopt(const cfg_obj_t *opts1, const cfg_obj_t
      *opts2,\n\t\t     const char *name, const cfg_obj_t **objp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:511,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:512,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:516,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/config.c:522,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:527,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:528,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:531,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:531,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - maps
    - names
    - obj
    argTypes:
    - cfg_obj_t**
    - char*[]
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 543
    functionName: named_checknames_get
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached:
    - cfg_obj_islist
    - cfg_tuple_get
    - cfg_obj_asstring
    - REQUIRE
    - strcasecmp
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_checknames_get(const cfg_obj_t **maps, const char
      *const names[],\n\t\t     const cfg_obj_t **obj)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:527,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:528,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:531,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:531,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 539
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_tuple_get
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (checknames, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 554
    functionName: named_config_listcount
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int named_config_listcount(const cfg_obj_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (list, e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/config.c:562,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/config.c:566,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:566,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:567,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/config.c:568,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - classobj
    - defclass
    - classp
    argTypes:
    - cfg_obj_t*
    - dns_rdataclass_t
    - dns_rdataclass_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 574
    functionName: named_config_getclass
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 5
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isstring
    - strlen
    - UNCONST
    - dns_rdataclass_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t
      defclass,\n\t\t      dns_rdataclass_t *classp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/config.c:582,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/config.c:586,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:586,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:587,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/config.c:588,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - typeobj
    - deftype
    - typep
    argTypes:
    - cfg_obj_t*
    - dns_rdatatype_t
    - dns_rdatatype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 594
    functionName: named_config_gettype
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isstring
    - strlen
    - UNCONST
    - dns_rdatatype_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t
      deftype,\n\t\t     dns_rdatatype_t *typep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:601,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:602,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:602,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:604,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:605,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:608,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:610,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:612,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:614,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/config.c:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - zonetypeobj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 620
    functionName: named_config_getzonetype
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - strcasecmp
    - cfg_obj_asstring
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t named_config_getzonetype(const cfg_obj_t *zonetypeobj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:628,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:629,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:630,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:632,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:637,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:638,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:638,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cctx
    - list
    - name
    - ret
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 647
    functionName: named_config_getremotesdef
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_tuple_get
    - REQUIRE
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_getremotesdef(const cfg_obj_t *cctx, const
      char *list,\n\t\t\t   const char *name, const cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:637,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:638,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:638,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 644
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:652,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/config.c:659,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/config.c:664,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/config.c:665,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:667,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/config.c:668,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:668,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/config.c:669,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:669,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/config.c:670,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/config.c:671,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/config.c:671,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/config.c:674,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/config.c:677,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/config.c:677,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - mctx
    - obj
    - namep
    argTypes:
    - isc_mem_t*
    - cfg_obj_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 680
    functionName: named_config_getname
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached:
    - isc_buffer_constinit
    - dns_name_fromtext
    - dns_fixedname_name
    - cfg_obj_asstring
    - cfg_obj_isstring
    - isc_mem_get
    - strlen
    - REQUIRE
    - isc_buffer_add
    - dns_fixedname_init
    - isc_mem_put
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_getname(isc_mem_t *mctx, const cfg_obj_t
      *obj,\n\t\t     dns_name_t **namep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mctx
    - ','
    - array
    - ','
    - newlen
    - ','
    - oldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: grow_array
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: grow_array(mctx, array, newlen, oldlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mctx
    - ','
    - array
    - ','
    - newlen
    - ','
    - oldlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: shrink_array
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shrink_array(mctx, array, newlen, oldlen)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:734,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:735,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:736,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:737,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:738,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:739,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:740,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/config.c:745,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/config.c:750,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:756,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:757,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:758,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:759,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/config.c:761,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:762,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:764,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/config.c:772,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/config.c:773,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/named/config.c:775,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/config.c:778,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/config.c:779,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/named/config.c:781,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/config.c:784,1
    - Dst: cfg_list_next
      Src: /src/bind9/bin/named/config.c:786,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:791,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:791,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:793,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:793,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:794,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:794,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/config.c:796,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:797,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:802,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:806,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/named/config.c:815,1
    - Dst: named_config_getremotesdef
      Src: /src/bind9/bin/named/config.c:816,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:824,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:834,1
    - Dst: cfg_list_next
      Src: /src/bind9/bin/named/config.c:839,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:847,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:848,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:849,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:850,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/config.c:852,1
    - Dst: named_config_getname
      Src: /src/bind9/bin/named/config.c:854,1
    - Dst: named_config_getname
      Src: /src/bind9/bin/named/config.c:861,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/config.c:869,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/config.c:881,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/config.c:884,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:909,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:910,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:911,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:912,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:915,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:918,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:921,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:922,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:923,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:936,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/named/config.c:943,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/config.c:944,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/config.c:946,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:948,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/named/config.c:955,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/config.c:956,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/config.c:958,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:960,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:963,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:966,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:969,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 196
    argCount: 4
    argNames:
    - config
    - list
    - mctx
    - ipkl
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    - dns_ipkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 972
    functionName: named_config_getipandkeylist
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached:
    - dns_name_dynamic
    - dns_name_free
    - cfg_list_first
    - REQUIRE
    - cfg_list_next
    - isc_sockaddr_any6
    - strcasecmp
    - isc_sockaddr_setport
    - cfg_obj_asuint32
    - named_config_getname
    - isc_sockaddr_getport
    - ARRAY_SIZE
    - named_config_getremotesdef
    - INSIST
    - isc_sockaddr_any
    - shrink_array
    - cfg_obj_assockaddr
    - cfg_obj_log
    - cfg_obj_isuint32
    - isc_sockaddr_pf
    - cfg_obj_issockaddr
    - named_config_getport
    - grow_array
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_mem_put
    - isc_mem_cput
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_getipandkeylist(const cfg_obj_t *config,
      const cfg_obj_t *list,\n\t\t\t     isc_mem_t *mctx, dns_ipkeylist_t *ipkl)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:983,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/config.c:991,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:992,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:993,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:994,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:995,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - config
    - type
    - portp
    argTypes:
    - cfg_obj_t*
    - char*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1000
    functionName: named_config_getport
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 6
    functionsReached:
    - cfg_obj_asuint32
    - named_config_get
    - INSIST
    - cfg_map_get
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_getport(const cfg_obj_t *config, const char
      *type,\n\t\t     in_port_t *portp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:1034,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/config.c:1035,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/named/config.c:1046,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/named/config.c:1058,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/named/config.c:1059,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - str
    - typep
    - digestbits
    argTypes:
    - char*
    - unsigned int*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1061
    functionName: named_config_getkeyalgorithm
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 3
    functionsReached:
    - strlen
    - SET_IF_NOT_NULL
    - isc_parse_uint16
    - strncasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_config_getkeyalgorithm(const char *str, unsigned
      int *typep,\n\t\t\t     uint16_t *digestbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bdbl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: VALID_BDBNODE
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_BDBNODE(bdbl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: VALID_BDB
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_BDB(bdb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/builtin.c:107,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/builtin.c:112,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:116,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/builtin.c:117,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/builtin.c:121,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:126,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/builtin.c:128,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/builtin.c:129,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/bin/named/builtin.c:131,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/builtin.c:132,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/builtin.c:133,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/builtin.c:134,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/builtin.c:136,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/builtin.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 5
    argNames:
    - node
    - typeval
    - ttl
    - rdatap
    - rdlen
    argTypes:
    - bdbnode_t*
    - dns_rdatatype_t
    - dns_ttl_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 140
    functionName: putrdata
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - ISC_LIST_HEAD
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_rdata_fromregion
    - isc_buffer_copyregion
    - isc_mem_get
    - UNCONST
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t putrdata(bdbnode_t *node, dns_rdatatype_t typeval, dns_ttl_t
      ttl,\n\t const unsigned char *rdatap, unsigned int rdlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:152,1
    - Dst: VALID_BDBNODE
      Src: /src/bind9/bin/named/builtin.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:154,1
    - Dst: strlen
      Src: /src/bind9/bin/named/builtin.c:159,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/builtin.c:160,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/named/builtin.c:165,1
    - Dst: strlen
      Src: /src/bind9/bin/named/builtin.c:167,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/builtin.c:168,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/builtin.c:169,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/bin/named/builtin.c:171,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/builtin.c:176,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/named/builtin.c:177,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/named/builtin.c:179,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:182,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/builtin.c:182,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/builtin.c:183,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/builtin.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - node
    - type
    - ttl
    - data
    argTypes:
    - bdbnode_t*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 189
    functionName: putrr
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - putrdata
    - strlen
    - dns_rdata_fromtext
    - isc_buffer_free
    - isc_buffer_usedlength
    - REQUIRE
    - VALID_BDBNODE
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_buffer_allocate
    - isc_lex_destroy
    - dns_rdatatype_fromtext
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putrr(bdbnode_t *node, const char *type, dns_ttl_t ttl,
      const char *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:204,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/builtin.c:206,1
    - Dst: putrr
      Src: /src/bind9/bin/named/builtin.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - node
    - mname
    - rname
    - serial
    argTypes:
    - bdbnode_t*
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 213
    functionName: putsoa
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - snprintf
    - REQUIRE
    - putrr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putsoa(bdbnode_t *node, const char *mname, const char
      *rname, uint32_t serial)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/named/builtin.c:218,1
    - Dst: memmove
      Src: /src/bind9/bin/named/builtin.c:224,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - text
    argTypes:
    - bdbnode_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 226
    functionName: puttxt
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - strlen
    - memmove
    - putrdata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t puttxt(bdbnode_t *node, const char *text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/bin/named/builtin.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - v
    - start
    - rdata
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 283
    functionName: dns64_rdata
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: size_t
    signature: size_t dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/bin/named/builtin.c:319,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/builtin.c:321,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:343,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:358,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:360,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:375,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:377,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:392,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:394,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:409,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:411,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:426,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:428,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:436,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:452,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:456,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 3
    argNames:
    - zone
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 458
    functionName: dns64_cname
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - memset
    - dns64_rdata
    - INSIST
    - putrdata
    - ZLEN
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns64_cname(const dns_name_t *zone, const dns_name_t *name,
      bdbnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: ZLEN
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZLEN(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bdb_t*::lookup
      Src: /src/bind9/bin/named/builtin.c:463,1
    - Dst: dns64_cname
      Src: /src/bind9/bin/named/builtin.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - bdb
    - name
    - node
    argTypes:
    - bdb_t*
    - dns_name_t*
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: builtin_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - bdb_t*::lookup
    - dns64_cname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t builtin_lookup(bdb_t *bdb, const dns_name_t *name, bdbnode_t
      *node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: putsoa
      Src: /src/bind9/bin/named/builtin.c:484,1
    - Dst: putrr
      Src: /src/bind9/bin/named/builtin.c:489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - bdb
    - node
    argTypes:
    - bdb_t*
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 495
    functionName: builtin_authority
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - putrr
    - putsoa
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t builtin_authority(bdb_t *bdb, bdbnode_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:503,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 508
    functionName: version_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - puttxt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t version_lookup(bdbnode_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:516,1
    - Dst: gethostname
      Src: /src/bind9/bin/named/builtin.c:520,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 525
    functionName: hostname_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - gethostname
    - puttxt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hostname_lookup(bdbnode_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 527
    functionDepth: 3
    functionLinenumber: 527
    functionLinenumberEnd: 559
    functionName: authors_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - puttxt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t authors_lookup(bdbnode_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gethostname
      Src: /src/bind9/bin/named/builtin.c:565,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:568,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 574
    functionName: id_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - gethostname
    - puttxt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t id_lookup(bdbnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 581
    functionName: empty_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t empty_lookup(bdbnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 595
    functionName: ipv4only_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - putrdata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ipv4only_lookup(bdbnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: ipv4reverse_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - putrdata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ipv4reverse_lookup(bdbnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attachnode
      Src: /src/bind9/bin/named/builtin.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 631
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - attachnode
    linkageType: ''
    returnType: void
    signature: void rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/builtin.c:647,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/bin/named/builtin.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rdatalist
    - db
    - node
    - rdataset
    argTypes:
    - dns_rdatalist_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: new_rdataset
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_attachnode
    linkageType: ''
    returnType: void
    signature: "void new_rdataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t
      *node,\n\t     dns_rdataset_t *rdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_rdataset
      Src: /src/bind9/bin/named/builtin.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_rdatasetiter_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 698
    functionName: rdatasetiter_current
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - new_rdataset
    linkageType: ''
    returnType: void
    signature: "void rdatasetiter_current(dns_rdatasetiter_t *iterator,\n\t\t     dns_rdataset_t
      *rdataset DNS__DB_FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/named/builtin.c:711,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:714,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:717,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/builtin.c:723,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/builtin.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 726
    functionName: destroy
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 39
    functionsReached:
    - dns_name_free
    - isc_refcount_destroy
    - isc_mem_free
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:739,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 743
    functionName: currentversion
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 4
    functionsReached:
    - VALID_BDB
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void currentversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:750,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:750,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:751,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - db
    - source
    - targetp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: attachversion
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - VALID_BDB
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void attachversion(dns_db_t *db, dns_dbversion_t *source,\n\t      dns_dbversion_t
      **targetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:763,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:763,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:764,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - db
    - versionp
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 768
    functionName: closeversion
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 7
    functionsReached:
    - VALID_BDB
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void closeversion(dns_db_t *db, dns_dbversion_t **versionp,\n\t     bool
      commit DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:774,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:774,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:776,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/builtin.c:783,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/bin/named/builtin.c:784,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/builtin.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - bdb
    - nodep
    argTypes:
    - bdb_t*
    - bdbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 791
    functionName: createnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - VALID_BDB
    - dns_rdatacallbacks_init
    - dns_db_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t createnode(bdb_t *bdb, bdbnode_t **nodep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:801,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:802,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/builtin.c:803,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:804,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/builtin.c:806,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:807,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:810,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/builtin.c:811,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/builtin.c:812,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/builtin.c:816,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:817,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:821,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/builtin.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 823
    functionName: destroynode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - dns_db_detach
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void destroynode(bdbnode_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:833,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:833,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:834,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/builtin.c:836,1
    - Dst: createnode
      Src: /src/bind9/bin/named/builtin.c:839,1
    - Dst: builtin_lookup
      Src: /src/bind9/bin/named/builtin.c:844,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:846,1
    - Dst: builtin_authority
      Src: /src/bind9/bin/named/builtin.c:850,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 825
    functionDepth: 5
    functionLinenumber: 825
    functionLinenumberEnd: 858
    functionName: getoriginnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - VALID_BDB
    - destroynode
    - builtin_authority
    - REQUIRE
    - builtin_lookup
    - createnode
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:870,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:870,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:871,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:873,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/builtin.c:875,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:877,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:877,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/builtin.c:878,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/named/builtin.c:879,1
    - Dst: createnode
      Src: /src/bind9/bin/named/builtin.c:882,1
    - Dst: builtin_lookup
      Src: /src/bind9/bin/named/builtin.c:887,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:890,1
    - Dst: builtin_authority
      Src: /src/bind9/bin/named/builtin.c:895,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 860
    functionDepth: 5
    functionLinenumber: 860
    functionLinenumberEnd: 904
    functionName: findnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 4
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - VALID_BDB
    - destroynode
    - builtin_authority
    - UNUSED
    - dns_name_equal
    - REQUIRE
    - builtin_lookup
    - createnode
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create,\n\t
      dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:920,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:920,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:921,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:922,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/builtin.c:924,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:928,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:929,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/builtin.c:931,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/builtin.c:934,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/named/builtin.c:944,1
    - Dst: findnode
      Src: /src/bind9/bin/named/builtin.c:945,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:972,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:986,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/builtin.c:992,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/builtin.c:994,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/builtin.c:997,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:1012,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:1029,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:1039,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/builtin.c:1052,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/builtin.c:1053,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/named/builtin.c:1057,1
    - Dst: detachnode
      Src: /src/bind9/bin/named/builtin.c:1063,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 93
    argCount: 10
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 1067
    functionName: find
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 14
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - VALID_BDB
    - findrdataset
    - dns_name_issubdomain
    - destroynode
    - dns_name_copy
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - detachnode
    - dns_rdataset_disassociate
    - REQUIRE
    - findnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n     dns_rdatatype_t type, unsigned int options, isc_stdtime_t now,\n
      \    dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset,\n
      \    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1075,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:1075,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/named/builtin.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - db
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1080
    functionName: attachnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment
    - VALID_BDB
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void attachnode(dns_db_t *db, dns_dbnode_t *source,\n\t   dns_dbnode_t
      **targetp DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1087,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:1087,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1088,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/named/builtin.c:1093,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1096
    functionName: detachnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 6
    functionsReached:
    - VALID_BDB
    - REQUIRE
    - isc_refcount_decrement
    - destroynode
    linkageType: ''
    returnType: void
    signature: void detachnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1105,1
    - Dst: VALID_BDBNODE
      Src: /src/bind9/bin/named/builtin.c:1105,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1107,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1108,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1109,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1110,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:1116,1
    - Dst: new_rdataset
      Src: /src/bind9/bin/named/builtin.c:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 8
    argNames:
    - db
    - node
    - version
    - type
    - covers
    - now
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1124
    functionName: findrdataset
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - REQUIRE
    - VALID_BDBNODE
    - ISC_LIST_FOREACH
    - new_rdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t
      now,\n\t     dns_rdataset_t *rdataset,\n\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1132,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:1134,1
    - Dst: attachnode
      Src: /src/bind9/bin/named/builtin.c:1144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - db
    - node
    - version
    - options
    - now
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int
    - isc_stdtime_t
    - dns_rdatasetiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1149
    functionName: allrdatasets
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - attachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     unsigned int options, isc_stdtime_t now,\n\t     dns_rdatasetiter_t
      **iteratorp DNS__DB_FLARG)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1173,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:1179,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/builtin.c:1185,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/builtin.c:1186,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/builtin.c:1187,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/builtin.c:1188,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/builtin.c:1190,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1191,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1193,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1195,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1197,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1199,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1202,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1205,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/builtin.c:1219,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/builtin.c:1220,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/builtin.c:1234,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:1236,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:1239,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/builtin.c:1242,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 8
    argNames:
    - mctx
    - origin
    - type
    - rdclass
    - argc
    - argv
    - implementation
    - dbp
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_dbtype_t
    - dns_rdataclass_t
    - unsigned int
    - char*[]
    - void*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1244
    functionName: create
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 36
    functionsReached:
    - isc_mem_attach
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - INSIST
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - isc_mem_strdup
    - strcmp
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t
      type,\n       dns_rdataclass_t rdclass, unsigned int argc, char *argv[],\n       void
      *implementation, dns_db_t **dbp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_register
      Src: /src/bind9/bin/named/builtin.c:1256,1
    - Dst: dns_db_register
      Src: /src/bind9/bin/named/builtin.c:1262,1
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/named/builtin.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1270
    functionName: named_builtin_init
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 1
    functionsReached:
    - dns_db_unregister
    - dns_db_register
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_builtin_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/named/builtin.c:1275,1
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/named/builtin.c:1278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1280
    functionName: named_builtin_deinit
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 1
    functionsReached:
    - dns_db_unregister
    linkageType: ''
    returnType: void
    signature: void named_builtin_deinit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: MAYBE_LOCK
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_LOCK(cd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: MAYBE_UNLOCK
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_UNLOCK(cd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:82,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:83,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:84,1
    - Dst: va_end
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: dlopen_log
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void dlopen_log(int level, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:98,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:104,1
    - Dst: dlopen_data_t*::dlz_allnodes
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:105,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - zone
    - driverarg
    - dbdata
    - allnodes
    argTypes:
    - char*
    - void*
    - void*
    - dns_sdlzallnodes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: dlopen_dlz_allnodes
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_allnodes
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_allnodes(const char *zone, void *driverarg,
      void *dbdata,\n\t\t    dns_sdlzallnodes_t *allnodes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:116,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:122,1
    - Dst: dlopen_data_t*::dlz_allowzonexfr
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:123,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - driverarg
    - dbdata
    - name
    - client
    argTypes:
    - void*
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 126
    functionName: dlopen_dlz_allowzonexfr
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_allowzonexfr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_allowzonexfr(void *driverarg, void *dbdata,
      const char *name,\n\t\t\tconst char *client)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:134,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:140,1
    - Dst: dlopen_data_t*::dlz_authority
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:141,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - zone
    - driverarg
    - dbdata
    - lookup
    argTypes:
    - char*
    - void*
    - void*
    - dns_sdlzlookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: dlopen_dlz_authority
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_authority
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_authority(const char *zone, void *driverarg,
      void *dbdata,\n\t\t     dns_sdlzlookup_t *lookup)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:153,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:155,1
    - Dst: dlopen_data_t*::dlz_findzonedb
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:156,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - driverarg
    - dbdata
    - name
    - methods
    - clientinfo
    argTypes:
    - void*
    - void*
    - char*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: dlopen_dlz_findzonedb
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_findzonedb
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_findzonedb(void *driverarg, void *dbdata,
      const char *name,\n\t\t      dns_clientinfomethods_t *methods,\n\t\t      dns_clientinfo_t
      *clientinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:169,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:171,1
    - Dst: dlopen_data_t*::dlz_lookup
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:172,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - zone
    - name
    - driverarg
    - dbdata
    - lookup
    - methods
    - clientinfo
    argTypes:
    - char*
    - char*
    - void*
    - void*
    - dns_sdlzlookup_t*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: dlopen_dlz_lookup
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_lookup(const char *zone, const char *name,
      void *driverarg,\n\t\t  void *dbdata, dns_sdlzlookup_t *lookup,\n\t\t  dns_clientinfomethods_t
      *methods,\n\t\t  dns_clientinfo_t *clientinfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_dlsym
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:184,1
    - Dst: uv_dlerror
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:186,1
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cd
    - symbol
    - mandatory
    argTypes:
    - dlopen_data_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: dl_load_symbol
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - uv_dlerror
    - dlopen_log
    - uv_dlsym
    linkageType: ''
    returnType: void
    signature: 'void *

      dl_load_symbol(dlopen_data_t *cd, const char *symbol, bool mandatory)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:215,1
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:218,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:225,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:226,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:229,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:230,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:234,1
    - Dst: uv_dlopen
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:236,1
    - Dst: uv_dlerror
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:238,1
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:242,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:251,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:252,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:254,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:256,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:267,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:269,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:271,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:273,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:275,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:277,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:279,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:281,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:283,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:285,1
    - Dst: dl_load_symbol
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:287,1
    - Dst: dlopen_data_t*::dlz_version
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:291,1
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:295,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:310,1
    - Dst: dlopen_data_t*::dlz_create
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:311,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:315,1
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:325,1
    - Dst: dlopen_dlz_destroy
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:327,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 5
    argNames:
    - dlzname
    - argc
    - argv
    - driverarg
    - dbdata
    argTypes:
    - char*
    - unsigned int
    - char*[]
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 330
    functionName: dlopen_dlz_create
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - uv_dlopen
    - isc_mutex_init
    - UNUSED
    - isc_mem_get
    - dlopen_data_t*::dlz_version
    - MAYBE_LOCK
    - isc_mem_strdup
    - dlopen_data_t*::dlz_create
    - MAYBE_UNLOCK
    - uv_dlerror
    - isc_mem_create
    - dl_load_symbol
    - dlopen_log
    - dlopen_dlz_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_create(const char *dlzname, unsigned int argc,
      char *argv[],\n\t\t  void *driverarg, void **dbdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:339,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:342,1
    - Dst: dlopen_data_t*::dlz_destroy
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:343,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:344,1
    - Dst: uv_dlclose
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:347,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:348,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:349,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:350,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - driverarg
    - dbdata
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 352
    functionName: dlopen_dlz_destroy
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 1
    functionsReached:
    - isc_mutex_destroy
    - isc_mem_free
    - isc_mem_putanddetach
    - UNUSED
    - MAYBE_LOCK
    - uv_dlclose
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_destroy
    linkageType: ''
    returnType: void
    signature: void dlopen_dlz_destroy(void *driverarg, void *dbdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:363,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:369,1
    - Dst: dlopen_data_t*::dlz_newversion
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:370,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - zone
    - driverarg
    - dbdata
    - versionp
    argTypes:
    - char*
    - void*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: dlopen_dlz_newversion
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_newversion
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_newversion(const char *zone, void *driverarg,
      void *dbdata,\n\t\t      void **versionp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:383,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:390,1
    - Dst: dlopen_data_t*::dlz_closeversion
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:391,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - zone
    - commit
    - driverarg
    - dbdata
    - versionp
    argTypes:
    - char*
    - bool
    - void*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 393
    functionName: dlopen_dlz_closeversion
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_closeversion
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: void
    signature: "void dlopen_dlz_closeversion(const char *zone, bool commit, void *driverarg,\n\t\t\tvoid
      *dbdata, void **versionp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:404,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:410,1
    - Dst: dlopen_data_t*::dlz_configure
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:412,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - view
    - dlzdb
    - driverarg
    - dbdata
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 417
    functionName: dlopen_dlz_configure
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_configure
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb,
      void *driverarg,\n\t\t     void *dbdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:429,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:435,1
    - Dst: dlopen_data_t*::dlz_ssumatch
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:436,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 9
    argNames:
    - signer
    - name
    - tcpaddr
    - type
    - key
    - keydatalen
    - keydata
    - driverarg
    - dbdata
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint32_t
    - unsigned char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 441
    functionName: dlopen_dlz_ssumatch
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_ssumatch
    linkageType: ''
    returnType: bool
    signature: "bool dlopen_dlz_ssumatch(const char *signer, const char *name, const
      char *tcpaddr,\n\t\t    const char *type, const char *key, uint32_t keydatalen,\n\t\t
      \   unsigned char *keydata, void *driverarg, void *dbdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:452,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:458,1
    - Dst: dlopen_data_t*::dlz_addrdataset
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:459,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - name
    - rdatastr
    - driverarg
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 463
    functionName: dlopen_dlz_addrdataset
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_addrdataset
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_addrdataset(const char *name, const char *rdatastr,
      void *driverarg,\n\t\t       void *dbdata, void *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:474,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:480,1
    - Dst: dlopen_data_t*::dlz_subrdataset
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:481,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - name
    - rdatastr
    - driverarg
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 485
    functionName: dlopen_dlz_subrdataset
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_subrdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_subrdataset(const char *name, const char *rdatastr,
      void *driverarg,\n\t\t       void *dbdata, void *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:496,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:502,1
    - Dst: dlopen_data_t*::dlz_delrdataset
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:503,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - name
    - type
    - driverarg
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 507
    functionName: dlopen_dlz_delrdataset
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 0
    functionsReached:
    - dlopen_data_t*::dlz_delrdataset
    - MAYBE_LOCK
    - UNUSED
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlopen_dlz_delrdataset(const char *name, const char *type,
      void *driverarg,\n\t\t       void *dbdata, void *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:524,1
    - Dst: dns_sdlzregister
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:526,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:533,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: dlz_dlopen_init
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 1
    functionsReached:
    - isc_result_totext
    - dns_sdlzregister
    - dlopen_log
    - UNEXPECTED_ERROR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlz_dlopen_init(isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen_log
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:546,1
    - Dst: dns_sdlzunregister
      Src: /src/bind9/bin/named/dlz_dlopen_driver.c:548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: dlz_dlopen_clear
    functionSourceFile: /src/bind9/bin/named/dlz_dlopen_driver.c
    functionUses: 1
    functionsReached:
    - dlopen_log
    - dns_sdlzunregister
    linkageType: ''
    returnType: void
    signature: void dlz_dlopen_clear(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: create_name
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: create_name(id, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - map
    - ','
    - transport
    - ','
    - name
    - ','
    - setter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: parse_transport_option
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_transport_option(map, transport, name, setter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - map
    - ','
    - transport
    - ','
    - name
    - ','
    - setter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 80
    functionName: parse_transport_tls_versions
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_transport_tls_versions(map, transport, name, setter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - map
    - ','
    - transport
    - ','
    - name
    - ','
    - setter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: parse_transport_bool_option
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: parse_transport_bool_option(map, transport, name, setter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/transportconf.c:100,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/transportconf.c:101,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/transportconf.c:101,1
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:103,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:105,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:108,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:109,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:111,1
    - Dst: parse_transport_tls_versions
      Src: /src/bind9/bin/named/transportconf.c:113,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:115,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:117,1
    - Dst: parse_transport_bool_option
      Src: /src/bind9/bin/named/transportconf.c:119,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:122,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:124,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/transportconf.c:130,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/transportconf.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - transportlist
    - list
    argTypes:
    - cfg_obj_t*
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 134
    functionName: add_doh_transports
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - dns_transport_new
    - cfg_map_getname
    - isc_result_totext
    - cfg_obj_asstring
    - create_name
    - parse_transport_bool_option
    - parse_transport_option
    - dns_transport_set_tlsname
    - parse_transport_tls_versions
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_doh_transports(const cfg_obj_t *transportlist, dns_transport_list_t
      *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/transportconf.c:100,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/transportconf.c:101,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/transportconf.c:101,1
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:103,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:105,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:108,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:109,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:111,1
    - Dst: parse_transport_tls_versions
      Src: /src/bind9/bin/named/transportconf.c:113,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:115,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:117,1
    - Dst: parse_transport_bool_option
      Src: /src/bind9/bin/named/transportconf.c:119,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:122,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 1
    functionsReached:
    - dns_transport_new
    - cfg_map_getname
    - cfg_obj_asstring
    - create_name
    - parse_transport_bool_option
    - parse_transport_option
    - dns_transport_set_tlsname
    - parse_transport_tls_versions
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (transportlist, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/transportconf.c:146,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/transportconf.c:147,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/transportconf.c:147,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/transportconf.c:149,1
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:154,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:156,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:158,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:159,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:161,1
    - Dst: parse_transport_tls_versions
      Src: /src/bind9/bin/named/transportconf.c:163,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:165,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:167,1
    - Dst: parse_transport_bool_option
      Src: /src/bind9/bin/named/transportconf.c:169,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:172,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:174,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/transportconf.c:180,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/transportconf.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - transportlist
    - list
    argTypes:
    - cfg_obj_t*
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 184
    functionName: add_tls_transports
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_getname
    - dns_transport_new
    - isc_result_totext
    - cfg_obj_asstring
    - create_name
    - parse_transport_bool_option
    - parse_transport_option
    - dns_transport_set_tlsname
    - strcmp
    - parse_transport_tls_versions
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_tls_transports(const cfg_obj_t *transportlist, dns_transport_list_t
      *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/transportconf.c:146,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/transportconf.c:147,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/transportconf.c:147,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/transportconf.c:149,1
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:154,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:156,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:158,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:159,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:161,1
    - Dst: parse_transport_tls_versions
      Src: /src/bind9/bin/named/transportconf.c:163,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:165,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:167,1
    - Dst: parse_transport_bool_option
      Src: /src/bind9/bin/named/transportconf.c:169,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:172,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 176
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 1
    functionsReached:
    - cfg_map_getname
    - dns_transport_new
    - cfg_obj_asstring
    - create_name
    - parse_transport_bool_option
    - parse_transport_option
    - dns_transport_set_tlsname
    - strcmp
    - parse_transport_tls_versions
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (transportlist, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/transportconf.c:197,1
    - Dst: add_tls_transports
      Src: /src/bind9/bin/named/transportconf.c:199,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/transportconf.c:204,1
    - Dst: add_doh_transports
      Src: /src/bind9/bin/named/transportconf.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - config
    - list
    argTypes:
    - cfg_obj_t*
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: transport_list_fromconfig
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - add_tls_transports
    - add_doh_transports
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t transport_list_fromconfig(const cfg_obj_t *config, dns_transport_list_t
      *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:219,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:221,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:222,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/transportconf.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: transport_list_add_ephemeral
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - create_name
    - dns_transport_set_tlsname
    - dns_transport_new
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void transport_list_add_ephemeral(dns_transport_list_t *list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_list_new
      Src: /src/bind9/bin/named/transportconf.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/transportconf.c:235,1
    - Dst: transport_list_add_ephemeral
      Src: /src/bind9/bin/named/transportconf.c:237,1
    - Dst: transport_list_fromconfig
      Src: /src/bind9/bin/named/transportconf.c:240,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/transportconf.c:247,1
    - Dst: transport_list_fromconfig
      Src: /src/bind9/bin/named/transportconf.c:248,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/bin/named/transportconf.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - config
    - vconfig
    - mctx
    - listp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    - dns_transport_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: named_transports_fromconfig
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 1
    functionsReached:
    - dns_transport_list_detach
    - transport_list_add_ephemeral
    - cfg_tuple_get
    - transport_list_fromconfig
    - REQUIRE
    - dns_transport_list_new
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_transports_fromconfig(const cfg_obj_t *config,
      const cfg_obj_t *vconfig,\n\t\t\t    isc_mem_t *mctx, dns_transport_list_t **listp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: controllistener_ref
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controllistener_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: controllistener_unref
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controllistener_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: controllistener_attach
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controllistener_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: controllistener_detach
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controllistener_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: controlconnection_ref
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controlconnection_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: controlconnection_unref
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controlconnection_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: controlconnection_attach
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controlconnection_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: controlconnection_detach
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: controlconnection_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/controlconf.c:163,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:166,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - mctx
    argTypes:
    - controlkey_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: free_controlkey
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void free_controlkey(controlkey_t *key, isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/controlconf.c:173,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:174,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - keylist
    - mctx
    argTypes:
    - controlkeylist_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: free_controlkeylist
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - free_controlkey
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void free_controlkeylist(controlkeylist_t *keylist, isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:182,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/controlconf.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:183,1
    - Dst: free_controlkeylist
      Src: /src/bind9/bin/named/controlconf.c:185,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:188,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/controlconf.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - listener
    argTypes:
    - controllistener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 192
    functionName: free_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - REQUIRE
    - free_controlkeylist
    linkageType: ''
    returnType: void
    signature: void free_listener(controllistener_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/controlconf.c:210,1
    - Dst: conn_shutdown
      Src: /src/bind9/bin/named/controlconf.c:211,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:214,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:217,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:218,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/bin/named/controlconf.c:222,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/bin/named/controlconf.c:223,1
    - Dst: controllistener_detach
      Src: /src/bind9/bin/named/controlconf.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - listener
    argTypes:
    - controllistener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 225
    functionName: shutdown_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 2
    functionsReached:
    - isc_sockaddr_format
    - conn_shutdown
    - controllistener_detach
    - isc_log_write
    - isc_nm_stoplistening
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - isc_nmsocket_close
    linkageType: ''
    returnType: void
    signature: void shutdown_listener(controllistener_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/controlconf.c:230,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/controlconf.c:235,1
    - Dst: dns_acl_match
      Src: /src/bind9/bin/named/controlconf.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sockaddr
    - listener
    argTypes:
    - isc_sockaddr_t*
    - controllistener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: address_ok
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - dns_acl_match
    - ns_interfacemgr_getaclenv
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: bool address_ok(isc_sockaddr_t *sockaddr, controllistener_t *listener)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isccc_ccmsg_readmessage
      Src: /src/bind9/bin/named/controlconf.c:253,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:256,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/named/controlconf.c:262,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:264,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:265,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:268,1
    - Dst: conn_shutdown
      Src: /src/bind9/bin/named/controlconf.c:272,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 276
    functionName: control_senddone
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isccc_ccmsg_readmessage
    - conn_shutdown
    - isc_result_totext
    - isc_nmhandle_peeraddr
    - controlconnection_detach
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void control_senddone(isc_nmhandle_t *handle, isc_result_t result,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/named/controlconf.c:281,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:283,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:284,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccmsg
    - result
    argTypes:
    - isccc_ccmsg_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: log_invalid
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_log_write
    - isc_result_totext
    - isc_nmhandle_peeraddr
    linkageType: ''
    returnType: void
    signature: void log_invalid(isccc_ccmsg_t *ccmsg, isc_result_t result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/named/controlconf.c:294,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/named/controlconf.c:297,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:300,1
    - Dst: REGION_SIZE
      Src: /src/bind9/bin/named/controlconf.c:301,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/controlconf.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 306
    functionName: conn_cleanup
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    - isc_mem_put
    - REGION_SIZE
    - isccc_sexpr_free
    linkageType: ''
    returnType: void
    signature: void conn_cleanup(controlconnection_t *conn)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isccc_cc_createresponse
      Src: /src/bind9/bin/named/controlconf.c:316,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/named/controlconf.c:328,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/bin/named/controlconf.c:330,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:337,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/bin/named/controlconf.c:338,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/controlconf.c:344,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/controlconf.c:346,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/bin/named/controlconf.c:347,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/named/controlconf.c:353,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/bin/named/controlconf.c:355,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/controlconf.c:361,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/controlconf.c:364,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/controlconf.c:366,1
    - Dst: isccc_cc_towire
      Src: /src/bind9/bin/named/controlconf.c:368,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/controlconf.c:374,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/named/controlconf.c:375,1
    - Dst: controlconnection_ref
      Src: /src/bind9/bin/named/controlconf.c:381,1
    - Dst: isccc_ccmsg_sendmessage
      Src: /src/bind9/bin/named/controlconf.c:382,1
    - Dst: conn_cleanup
      Src: /src/bind9/bin/named/controlconf.c:385,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 386
    functionName: control_respond
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isccc_cc_defineuint32
    - isc_buffer_clear
    - isccc_ccmsg_sendmessage
    - conn_cleanup
    - isc_result_totext
    - isccc_cc_createresponse
    - isc_buffer_init
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - isccc_cc_towire
    - isc_buffer_add
    - isccc_cc_definestring
    - isc_buffer_base
    - isc_buffer_putuint32
    - controlconnection_ref
    - isccc_alist_lookup
    linkageType: ''
    returnType: void
    signature: void control_respond(controlconnection_t *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: named_control_docommand
      Src: /src/bind9/bin/named/controlconf.c:394,1
    - Dst: control_respond
      Src: /src/bind9/bin/named/controlconf.c:396,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 13
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: control_command
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - named_control_docommand
    - controlconnection_detach
    - control_respond
    linkageType: ''
    returnType: void
    signature: void control_command(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isccc_ccmsg_disconnect
      Src: /src/bind9/bin/named/controlconf.c:415,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 419
    functionName: conn_shutdown
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 2
    functionsReached:
    - isccc_ccmsg_disconnect
    - controlconnection_detach
    linkageType: ''
    returnType: void
    signature: void conn_shutdown(controlconnection_t *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:560,1
    - Dst: isccc_ccmsg_invalidate
      Src: /src/bind9/bin/named/controlconf.c:564,1
    - Dst: conn_cleanup
      Src: /src/bind9/bin/named/controlconf.c:566,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/controlconf.c:569,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:572,1
    - Dst: named_fuzz_notify
      Src: /src/bind9/bin/named/controlconf.c:575,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:579,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:580,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:582,1
    - Dst: controllistener_detach
      Src: /src/bind9/bin/named/controlconf.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 585
    functionName: conn_free
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - named_fuzz_notify
    - isc_buffer_free
    - controllistener_detach
    - isc_log_write
    - REQUIRE
    - ISC_LIST_UNLINK
    - isccc_ccmsg_invalidate
    - isc_mem_put
    - conn_cleanup
    linkageType: ''
    returnType: void
    signature: void conn_free(controlconnection_t *conn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:591,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:592,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:594,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:598,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:599,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:600,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/bin/named/controlconf.c:604,1
    - Dst: controllistener_ref
      Src: /src/bind9/bin/named/controlconf.c:605,1
    - Dst: isccc_ccmsg_init
      Src: /src/bind9/bin/named/controlconf.c:610,1
    - Dst: isccc_ccmsg_setmaxsize
      Src: /src/bind9/bin/named/controlconf.c:613,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:615,1
    - Dst: isccc_ccmsg_readmessage
      Src: /src/bind9/bin/named/controlconf.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - listener
    - handle
    argTypes:
    - controllistener_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 619
    functionName: newconnection
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_LOG_DEBUG
    - isccc_ccmsg_setmaxsize
    - isccc_ccmsg_readmessage
    - controllistener_ref
    - isc_result_totext
    - isccc_ccmsg_init
    - isc_mem_get
    - isc_log_write
    - ISC_REFCOUNT_INITIALIZER
    linkageType: ''
    returnType: void
    signature: void newconnection(controllistener_t *listener, isc_nmhandle_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/controlconf.c:628,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/named/controlconf.c:633,1
    - Dst: address_ok
      Src: /src/bind9/bin/named/controlconf.c:634,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:636,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:637,1
    - Dst: newconnection
      Src: /src/bind9/bin/named/controlconf.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 646
    functionName: control_newconn
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - address_ok
    - newconnection
    - isc_sockaddr_format
    - shutdown_listener
    - isc_nmhandle_peeraddr
    - isc_log_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t control_newconn(isc_nmhandle_t *handle, isc_result_t result,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/controlconf.c:650,1
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/controlconf.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - controls
    argTypes:
    - named_controls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 656
    functionName: controls_shutdown
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - shutdown_listener
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void controls_shutdown(named_controls_t *controls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: controls_shutdown
      Src: /src/bind9/bin/named/controlconf.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - controls
    argTypes:
    - named_controls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 674
    functionName: named_controls_shutdown
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - controls_shutdown
    linkageType: ''
    returnType: void
    signature: void named_controls_shutdown(named_controls_t *controls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:683,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:684,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/controlconf.c:684,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/controlconf.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - keylist
    - keyname
    - objp
    argTypes:
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 692
    functionName: cfgkeylist_find
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfgkeylist_find(const cfg_obj_t *keylist, const char
      *keyname,\n\t\tconst cfg_obj_t **objp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:683,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:684,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/controlconf.c:684,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/controlconf.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:703,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:704,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/controlconf.c:705,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:706,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/controlconf.c:711,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - keylist
    - mctx
    - keyids
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - controlkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 714
    functionName: controlkeylist_fromcfg
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - cfg_obj_asstring
    - isc_mem_get
    - isc_mem_strdup
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: "void controlkeylist_fromcfg(const cfg_obj_t *keylist, isc_mem_t *mctx,\n\t\t
      \      controlkeylist_t *keyids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:703,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:704,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/controlconf.c:705,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:706,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/controlconf.c:711,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 713
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - cfg_obj_asstring
    - isc_mem_get
    - isc_mem_strdup
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/controlconf.c:727,1
    - Dst: cfgkeylist_find
      Src: /src/bind9/bin/named/controlconf.c:728,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:730,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:734,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:735,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:743,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:744,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/controlconf.c:745,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:747,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:748,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/controlconf.c:750,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:753,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:758,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:759,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/controlconf.c:764,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/controlconf.c:765,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:768,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:772,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:773,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:774,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/controlconf.c:778,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:779,1
    - Dst: memmove
      Src: /src/bind9/bin/named/controlconf.c:781,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/controlconf.c:781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - control
    - keylist
    - keyids
    - mctx
    - socktext
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - controlkeylist_t*
    - isc_mem_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 785
    functionName: register_keys
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - free_controlkey
    - memmove
    - named_config_getkeyalgorithm
    - INSIST
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_result_totext
    - isc_mem_get
    - isc_base64_decodestring
    - isc_buffer_usedlength
    - ISC_LIST_UNLINK
    - cfgkeylist_find
    - isc_buffer_base
    - ISC_LIST_FOREACH
    - cfg_map_get
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: "void register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist,\n\t
      \     controlkeylist_t *keyids, isc_mem_t *mctx, const char *socktext)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:802,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/controlconf.c:805,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:809,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/named/controlconf.c:809,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:810,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/controlconf.c:810,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:812,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:812,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:814,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/controlconf.c:819,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:820,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/controlconf.c:820,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:822,1
    - Dst: isccfg_check_key
      Src: /src/bind9/bin/named/controlconf.c:822,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:824,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:825,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/controlconf.c:826,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:828,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:829,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/controlconf.c:831,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:833,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/controlconf.c:842,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/controlconf.c:843,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:846,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:848,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/controlconf.c:852,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:853,1
    - Dst: memmove
      Src: /src/bind9/bin/named/controlconf.c:854,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/controlconf.c:854,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:855,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:861,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/named/controlconf.c:864,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/named/controlconf.c:867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 2
    argNames:
    - mctx
    - keyids
    argTypes:
    - isc_mem_t*
    - controlkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 870
    functionName: get_rndckey
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - memmove
    - cfg_parser_create
    - isc_file_exists
    - isc_log_write
    - isccfg_check_key
    - cfg_map_getname
    - cfg_obj_destroy
    - isc_base64_decodestring
    - cfg_parser_destroy
    - free_controlkey
    - INSIST
    - isc_mem_get
    - isc_mem_strdup
    - cfg_obj_log
    - ISC_LIST_APPEND
    - cfg_parse_file
    - named_config_getkeyalgorithm
    - isc_result_totext
    - cfg_obj_asstring
    - isc_buffer_init
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_base
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:884,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:885,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:887,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/controlconf.c:889,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/controlconf.c:890,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:892,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - config
    - control
    - global_keylistp
    - control_keylistp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t**
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 899
    functionName: get_key_info
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - cfg_list_first
    - cfg_obj_isvoid
    - cfg_tuple_get
    - REQUIRE
    - cfg_map_get
    linkageType: ''
    returnType: void
    signature: "void get_key_info(const cfg_obj_t *config, const cfg_obj_t *control,\n\t
      \    const cfg_obj_t **global_keylistp,\n\t     const cfg_obj_t **control_keylistp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/controlconf.c:914,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/named/controlconf.c:915,1
    - Dst: get_key_info
      Src: /src/bind9/bin/named/controlconf.c:947,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/controlconf.c:952,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:954,1
    - Dst: controlkeylist_fromcfg
      Src: /src/bind9/bin/named/controlconf.c:955,1
    - Dst: free_controlkeylist
      Src: /src/bind9/bin/named/controlconf.c:956,1
    - Dst: register_keys
      Src: /src/bind9/bin/named/controlconf.c:958,1
    - Dst: free_controlkeylist
      Src: /src/bind9/bin/named/controlconf.c:961,1
    - Dst: get_rndckey
      Src: /src/bind9/bin/named/controlconf.c:962,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:973,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:976,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:978,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:982,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:990,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/controlconf.c:991,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/controlconf.c:994,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1000,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/controlconf.c:1001,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/controlconf.c:1002,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:1007,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/controlconf.c:1008,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:1009,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1012,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1015,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1017,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1021,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 8
    argNames:
    - cp
    - listenerp
    - control
    - config
    - addr
    - aclconfctx
    - socktext
    - type
    argTypes:
    - named_controls_t*
    - controllistener_t**
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_sockaddr_t*
    - cfg_aclconfctx_t*
    - char*
    - isc_socktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 1025
    functionName: update_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 3
    functionsReached:
    - dns_acl_detach
    - isc_log_write
    - free_controlkeylist
    - controlkeylist_fromcfg
    - register_keys
    - ISC_LIST_INIT
    - dns_acl_attach
    - cfg_acl_fromconfig
    - INSIST
    - cfg_obj_isvoid
    - ISC_LIST_FOREACH
    - isc_sockaddr_equal
    - get_key_info
    - cfg_obj_log
    - isc_result_totext
    - cfg_tuple_get
    - dns_acl_any
    - get_rndckey
    - cfg_obj_asboolean
    linkageType: ''
    returnType: void
    signature: "void update_listener(named_controls_t *cp, controllistener_t **listenerp,\n\t\tconst
      cfg_obj_t *control, const cfg_obj_t *config,\n\t\tisc_sockaddr_t *addr, cfg_aclconfctx_t
      *aclconfctx,\n\t\tconst char *socktext, isc_socktype_t type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:1047,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/controlconf.c:1051,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/controlconf.c:1052,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1053,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1054,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/controlconf.c:1055,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1063,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1064,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/controlconf.c:1064,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1067,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/controlconf.c:1068,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/controlconf.c:1069,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1072,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/controlconf.c:1072,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/controlconf.c:1075,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:1076,1
    - Dst: get_key_info
      Src: /src/bind9/bin/named/controlconf.c:1079,1
    - Dst: controlkeylist_fromcfg
      Src: /src/bind9/bin/named/controlconf.c:1084,1
    - Dst: register_keys
      Src: /src/bind9/bin/named/controlconf.c:1086,1
    - Dst: get_rndckey
      Src: /src/bind9/bin/named/controlconf.c:1089,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1091,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1094,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/controlconf.c:1098,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/controlconf.c:1099,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/controlconf.c:1100,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1102,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1105,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/bin/named/controlconf.c:1105,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1109,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/named/controlconf.c:1116,1
    - Dst: free_listener
      Src: /src/bind9/bin/named/controlconf.c:1118,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1122,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1124,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1126,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 8
    argNames:
    - cp
    - listenerp
    - control
    - config
    - addr
    - aclconfctx
    - socktext
    - type
    argTypes:
    - named_controls_t*
    - controllistener_t**
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_sockaddr_t*
    - cfg_aclconfctx_t*
    - char*
    - isc_socktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1027
    functionDepth: 4
    functionLinenumber: 1027
    functionLinenumberEnd: 1133
    functionName: add_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 3
    functionsReached:
    - dns_acl_detach
    - isc_log_write
    - isc_mem_attach
    - ISC_LINK_INIT
    - isc_refcount_init
    - controlkeylist_fromcfg
    - register_keys
    - ISC_LIST_INIT
    - dns_acl_attach
    - cfg_acl_fromconfig
    - cfg_obj_isvoid
    - isc_mem_get
    - isc_nm_listentcp
    - free_listener
    - get_key_info
    - cfg_obj_log
    - isc_sockaddr_pf
    - isc_net_probeipv4
    - isc_result_totext
    - cfg_tuple_get
    - isc_refcount_decrement
    - CHECK
    - dns_acl_any
    - get_rndckey
    - isc_net_probeipv6
    - cfg_obj_asboolean
    linkageType: ''
    returnType: void
    signature: "void add_listener(named_controls_t *cp, controllistener_t **listenerp,\n\t
      \    const cfg_obj_t *control, const cfg_obj_t *config,\n\t     isc_sockaddr_t
      *addr, cfg_aclconfctx_t *aclconfctx,\n\t     const char *socktext, isc_socktype_t
      type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1143,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1148,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1164,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1166,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1168,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1174,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1189,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1191,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/controlconf.c:1192,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/controlconf.c:1193,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1194,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1198,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1201,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:1203,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1207,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1216,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1222,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1229,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/controlconf.c:1243,1
    - Dst: htonl
      Src: /src/bind9/bin/named/controlconf.c:1246,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/named/controlconf.c:1247,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/controlconf.c:1249,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/named/controlconf.c:1252,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1255,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1257,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1259,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1267,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1272,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1277,1
    - Dst: controls_shutdown
      Src: /src/bind9/bin/named/controlconf.c:1288,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/named/controlconf.c:1295,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 3
    argNames:
    - cp
    - config
    - aclconfctx
    argTypes:
    - named_controls_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1297
    functionName: named_controls_configure
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - controls_shutdown
    - isc_sockaddr_format
    - update_listener
    - isc_log_write
    - ISC_LIST_APPENDLIST
    - isc_sockaddr_fromin
    - ISC_LIST_INIT
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - htonl
    - cfg_listelt_value
    - ISC_LOG_DEBUG
    - add_listener
    - ISC_LIST_UNLINK
    - cfg_obj_log
    - ISC_LIST_APPEND
    - isc_net_probeipv4
    - cfg_tuple_get
    - isc_sockaddr_fromin6
    - isc_net_probeipv6
    - cfg_map_get
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_controls_configure(named_controls_t *cp, const
      cfg_obj_t *config,\n\t\t\t cfg_aclconfctx_t *aclconfctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1164,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1166,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1168,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1174,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1189,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1191,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/controlconf.c:1192,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/controlconf.c:1193,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1194,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1198,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1201,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:1203,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1207,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1216,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1222,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1233
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - ISC_LIST_APPEND
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - cfg_tuple_get
    - update_listener
    - isc_log_write
    - add_listener
    - ISC_LIST_UNLINK
    - cfg_obj_assockaddr
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (controlslist, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1189,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1191,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/controlconf.c:1192,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/controlconf.c:1193,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1194,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1198,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1201,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:1203,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1207,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1216,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1222,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1232
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_getport
    - cfg_listelt_value
    - ISC_LIST_APPEND
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - cfg_tuple_get
    - update_listener
    - isc_log_write
    - add_listener
    - ISC_LIST_UNLINK
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (inetcontrols, element2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:1302,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1308,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/named/controlconf.c:1310,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/controlconf.c:1311,1
    - Dst: isccc_cc_createsymtab
      Src: /src/bind9/bin/named/controlconf.c:1312,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/controlconf.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - server
    - ctrlsp
    argTypes:
    - named_server_t*
    - named_controls_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1317
    functionName: named_controls_create
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - LOCK
    - isc_mutex_init
    - isccc_cc_createsymtab
    - UNLOCK
    - isc_mem_get
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_controls_create(named_server_t *server, named_controls_t
      **ctrlsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:1324,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:1325,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/controlconf.c:1325,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/controlconf.c:1327,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/bin/named/controlconf.c:1328,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/controlconf.c:1329,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/controlconf.c:1330,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctrlsp
    argTypes:
    - named_controls_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1332
    functionName: named_controls_destroy
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - LOCK
    - ISC_LIST_EMPTY
    - isc_symtab_destroy
    - UNLOCK
    - REQUIRE
    - isc_mem_put
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void named_controls_destroy(named_controls_t **ctrlsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: INIT
    functionSourceFile: /src/bind9/bin/named/include/named/globals.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - argc
    - ','
    - argv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: main
    functionSourceFile: /src/bind9/bin/named/include/named/main.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: main(argc, argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: NAMED_SERVER_VALID
    functionSourceFile: /src/bind9/bin/named/include/named/server.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAMED_SERVER_VALID(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: INIT
    functionSourceFile: /src/bind9/bin/named/include/named/smf_globals.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_client.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: parse_port
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 1
    functionsReached:
    - strtol
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_port(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/tests/test_client.c:88,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/test_client.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: parse_protocol
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_protocol(const char *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/test_client.c:103,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/test_client.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: parse_address
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_address(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_client.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: parse_workers
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int parse_workers(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_client.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: parse_timeout
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_timeout(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/tests/test_client.c:150,1
    - Dst: open
      Src: /src/bind9/bin/tests/test_client.c:153,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:155,1
    - Dst: read
      Src: /src/bind9/bin/tests/test_client.c:157,1
    - Dst: close
      Src: /src/bind9/bin/tests/test_client.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 162
    functionName: parse_input
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - open
    - close
    - read
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_input(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/tests/test_client.c:166,1
    - Dst: open
      Src: /src/bind9/bin/tests/test_client.c:169,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: parse_output
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - strcmp
    - RUNTIME_CHECK
    - open
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_output(const char *input)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:182,1
    - Dst: parse_protocol
      Src: /src/bind9/bin/tests/test_client.c:182,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:183,1
    - Dst: parse_port
      Src: /src/bind9/bin/tests/test_client.c:183,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:184,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_client.c:184,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/tests/test_client.c:185,1
    - Dst: getopt_long
      Src: /src/bind9/bin/tests/test_client.c:201,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:209,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_client.c:209,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:213,1
    - Dst: parse_port
      Src: /src/bind9/bin/tests/test_client.c:213,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:217,1
    - Dst: parse_protocol
      Src: /src/bind9/bin/tests/test_client.c:217,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:221,1
    - Dst: parse_workers
      Src: /src/bind9/bin/tests/test_client.c:221,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:225,1
    - Dst: parse_timeout
      Src: /src/bind9/bin/tests/test_client.c:225,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:229,1
    - Dst: parse_input
      Src: /src/bind9/bin/tests/test_client.c:229,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:233,1
    - Dst: parse_output
      Src: /src/bind9/bin/tests/test_client.c:233,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_client.c:237,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:248,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:249,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:253,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/bin/tests/test_client.c:253,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:257,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:267,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:268,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:272,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/bin/tests/test_client.c:272,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:276,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tests/test_client.c:279,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_client.c:281,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tests/test_client.c:283,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_client.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 286
    functionName: parse_options
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_sockaddr_fromsockaddr
    - RUNTIME_CHECK
    - isc_sockaddr_format
    - freeaddrinfo
    - parse_address
    - getopt_long
    - parse_input
    - parse_output
    - parse_protocol
    - parse_port
    - parse_workers
    - printf
    - isc_os_ncpus
    - parse_timeout
    - getaddrinfo
    linkageType: ''
    returnType: void
    signature: void parse_options(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_managers_create
      Src: /src/bind9/bin/tests/test_client.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: setup
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 2
    functionsReached:
    - isc_managers_create
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bind9/bin/tests/test_client.c:296,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/bin/tests/test_client.c:300,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tests/test_client.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 304
    functionName: teardown
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 1
    functionsReached:
    - close
    - isc_managers_destroy
    - isc_tlsctx_free
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:311,1
    - Dst: sigemptyset
      Src: /src/bind9/bin/tests/test_client.c:311,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:312,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_client.c:312,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:313,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_client.c:313,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:314,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_client.c:314,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:315,1
    - Dst: sigwait
      Src: /src/bind9/bin/tests/test_client.c:315,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_client.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: waitforsignal
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - sigemptyset
    - sigwait
    - fprintf
    - sigaddset
    linkageType: ''
    returnType: void
    signature: void waitforsignal(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:326,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:328,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_client.c:330,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/test_client.c:331,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_client.c:334,1
    - Dst: write
      Src: /src/bind9/bin/tests/test_client.c:336,1
    - Dst: close
      Src: /src/bind9/bin/tests/test_client.c:337,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:338,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/tests/test_client.c:342,1
    - Dst: kill
      Src: /src/bind9/bin/tests/test_client.c:343,1
    - Dst: getpid
      Src: /src/bind9/bin/tests/test_client.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 344
    functionName: read_cb
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - getpid
    - isc_nmhandle_detach
    - close
    - isc_result_totext
    - printf
    - fprintf
    - REQUIRE
    - kill
    - write
    linkageType: ''
    returnType: void
    signature: "void read_cb(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\tvoid *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:348,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: send_cb
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void send_cb(isc_nmhandle_t *handle, isc_result_t eresult, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:358,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/test_client.c:359,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_client.c:361,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/test_client.c:362,1
    - Dst: kill
      Src: /src/bind9/bin/tests/test_client.c:365,1
    - Dst: getpid
      Src: /src/bind9/bin/tests/test_client.c:365,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/tests/test_client.c:369,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/tests/test_client.c:370,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/tests/test_client.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 372
    functionName: connect_cb
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - getpid
    - isc_nm_read
    - isc_nm_send
    - UNUSED
    - isc_result_totext
    - isc_nmhandle_attach
    - kill
    - fprintf
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void connect_cb(isc_nmhandle_t *handle, isc_result_t eresult, void
      *cbarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/bin/tests/test_client.c:378,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/tests/test_client.c:382,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/bin/tests/test_client.c:388,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/tests/test_client.c:390,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/bin/tests/test_client.c:406,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/bin/tests/test_client.c:410,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/bin/tests/test_client.c:412,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_client.c:419,1
    - Dst: waitforsignal
      Src: /src/bind9/bin/tests/test_client.c:422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 423
    functionName: run
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 10
    functionsReached:
    - waitforsignal
    - isc_nm_http_makeuri
    - UNREACHABLE
    - isc_tlsctx_createclient
    - isc_nm_udpconnect
    - isc_nm_streamdnsconnect
    - isc_nm_httpconnect
    linkageType: ''
    returnType: void
    signature: void run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/bind9/bin/tests/test_client.c:427,1
    - Dst: setup
      Src: /src/bind9/bin/tests/test_client.c:429,1
    - Dst: run
      Src: /src/bind9/bin/tests/test_client.c:431,1
    - Dst: teardown
      Src: /src/bind9/bin/tests/test_client.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 436
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 5
    functionsReached:
    - run
    - parse_options
    - setup
    - teardown
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_server.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: parse_port
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 2
    functionsReached:
    - strtol
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_port(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/tests/test_server.c:70,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/test_server.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: parse_protocol
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_protocol(const char *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/test_server.c:85,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/bin/tests/test_server.c:86,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/test_server.c:90,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/bin/tests/test_server.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: parse_address
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_fromin6
    - isc_netaddr_fromin
    - inet_pton
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_address(const char *input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_server.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: parse_workers
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - strtol
    linkageType: ''
    returnType: int
    signature: int parse_workers(const char *input)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:117,1
    - Dst: parse_protocol
      Src: /src/bind9/bin/tests/test_server.c:117,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:118,1
    - Dst: parse_port
      Src: /src/bind9/bin/tests/test_server.c:118,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:119,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_server.c:119,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/tests/test_server.c:120,1
    - Dst: getopt_long
      Src: /src/bind9/bin/tests/test_server.c:133,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:141,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_server.c:141,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:145,1
    - Dst: parse_port
      Src: /src/bind9/bin/tests/test_server.c:145,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:149,1
    - Dst: parse_protocol
      Src: /src/bind9/bin/tests/test_server.c:149,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:153,1
    - Dst: parse_workers
      Src: /src/bind9/bin/tests/test_server.c:153,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_server.c:157,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/bin/tests/test_server.c:161,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tests/test_server.c:163,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_server.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 167
    functionName: parse_options
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - UNREACHABLE
    - RUNTIME_CHECK
    - isc_sockaddr_format
    - parse_address
    - getopt_long
    - parse_protocol
    - parse_port
    - parse_workers
    - printf
    - isc_os_ncpus
    linkageType: ''
    returnType: void
    signature: void parse_options(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_managers_create
      Src: /src/bind9/bin/tests/test_server.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: setup
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 3
    functionsReached:
    - isc_managers_create
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_tlsctx_free
      Src: /src/bind9/bin/tests/test_server.c:177,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tests/test_server.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: teardown
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 2
    functionsReached:
    - isc_managers_destroy
    - isc_tlsctx_free
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:188,1
    - Dst: sigemptyset
      Src: /src/bind9/bin/tests/test_server.c:188,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:189,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_server.c:189,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:190,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_server.c:190,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:191,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_server.c:191,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:192,1
    - Dst: sigwait
      Src: /src/bind9/bin/tests/test_server.c:192,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_server.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: test_server_yield
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - sigemptyset
    - sigwait
    - fprintf
    - sigaddset
    linkageType: ''
    returnType: void
    signature: void test_server_yield(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:202,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/test_server.c:204,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_server.c:206,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/test_server.c:213,1
    - Dst: memmove
      Src: /src/bind9/bin/tests/test_server.c:216,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/tests/test_server.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: read_cb
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_nm_send
    - UNUSED
    - isc_mem_get
    - fprintf
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void read_cb(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\tvoid *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:226,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:227,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/test_server.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: send_cb
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void send_cb(isc_nmhandle_t *handle, isc_result_t eresult, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:234,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:235,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/test_server.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 239
    functionName: accept_cb
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t accept_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenudp
      Src: /src/bind9/bin/tests/test_server.c:248,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/bin/tests/test_server.c:252,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/bin/tests/test_server.c:258,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/bin/tests/test_server.c:260,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/bin/tests/test_server.c:272,1
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/bin/tests/test_server.c:274,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/bin/tests/test_server.c:275,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/bin/tests/test_server.c:279,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/bin/tests/test_server.c:283,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_server.c:287,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:289,1
    - Dst: test_server_yield
      Src: /src/bind9/bin/tests/test_server.c:291,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/bin/tests/test_server.c:293,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/bin/tests/test_server.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 295
    functionName: run
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 11
    functionsReached:
    - UNREACHABLE
    - isc_nm_http_endpoints_add
    - isc_nm_listenhttp
    - isc_nm_http_endpoints_detach
    - isc_nm_listenstreamdns
    - isc_tlsctx_createserver
    - isc_nm_listenudp
    - test_server_yield
    - isc_nm_stoplistening
    - REQUIRE
    - isc_nmsocket_close
    - isc_nm_http_endpoints_new
    linkageType: ''
    returnType: void
    signature: void run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/bind9/bin/tests/test_server.c:299,1
    - Dst: setup
      Src: /src/bind9/bin/tests/test_server.c:301,1
    - Dst: run
      Src: /src/bind9/bin/tests/test_server.c:303,1
    - Dst: teardown
      Src: /src/bind9/bin/tests/test_server.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 5
    functionsReached:
    - run
    - parse_options
    - setup
    - teardown
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/tests/system/wire-test.c:43,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/wire-test.c:43,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: CHECKRESULT
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void CHECKRESULT(isc_result_t result, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:59,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: fromhex
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: int fromhex(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:65,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:66,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:67,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:68,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:69,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:70,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:71,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:72,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: usage
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/wire-test.c:84,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/wire-test.c:86,1
    - Dst: dns_message_totext
      Src: /src/bind9/bin/tests/system/wire-test.c:87,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/wire-test.c:90,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/wire-test.c:93,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tests/system/wire-test.c:93,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/wire-test.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 102
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_mem_get
    - dns_message_totext
    - isc_buffer_usedlength
    - printf
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t printmessage(dns_message_t *msg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:119,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/wire-test.c:122,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/wire-test.c:126,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/wire-test.c:130,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/tests/system/wire-test.c:141,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:143,1
    - Dst: usage
      Src: /src/bind9/bin/tests/system/wire-test.c:166,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:167,1
    - Dst: fopen
      Src: /src/bind9/bin/tests/system/wire-test.c:175,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:177,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:178,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tests/system/wire-test.c:185,1
    - Dst: fread
      Src: /src/bind9/bin/tests/system/wire-test.c:188,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/tests/system/wire-test.c:189,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/wire-test.c:190,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tests/system/wire-test.c:191,1
    - Dst: fgets
      Src: /src/bind9/bin/tests/system/wire-test.c:196,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:216,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:218,1
    - Dst: fromhex
      Src: /src/bind9/bin/tests/system/wire-test.c:223,1
    - Dst: fromhex
      Src: /src/bind9/bin/tests/system/wire-test.c:225,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/tests/system/wire-test.c:226,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/wire-test.c:227,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tests/system/wire-test.c:228,1
    - Dst: fclose
      Src: /src/bind9/bin/tests/system/wire-test.c:234,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/tests/system/wire-test.c:238,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/tests/system/wire-test.c:241,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:242,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:243,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/bin/tests/system/wire-test.c:245,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/tests/system/wire-test.c:247,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:248,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:249,1
    - Dst: process_message
      Src: /src/bind9/bin/tests/system/wire-test.c:251,1
    - Dst: process_message
      Src: /src/bind9/bin/tests/system/wire-test.c:254,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tests/system/wire-test.c:257,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/tests/system/wire-test.c:260,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/tests/system/wire-test.c:262,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 265
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 5
    functionsReached:
    - isc_buffer_allocate
    - fprintf
    - usage
    - strcasecmp
    - RUNTIME_CHECK
    - process_message
    - fopen
    - fclose
    - isc_buffer_remaininglength
    - fgets
    - isc_buffer_free
    - isc_buffer_putuint8
    - isc_buffer_getuint16
    - fread
    - isc_mem_detach
    - isc_commandline_parse
    - isc_buffer_reserve
    - fromhex
    - exit
    - isc_mem_stats
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/wire-test.c:274,1
    - Dst: dns_message_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:276,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:280,1
    - Dst: printmessage
      Src: /src/bind9/bin/tests/system/wire-test.c:282,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:283,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/tests/system/wire-test.c:286,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/wire-test.c:294,1
    - Dst: dns_compress_init
      Src: /src/bind9/bin/tests/system/wire-test.c:307,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/bin/tests/system/wire-test.c:309,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:310,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:312,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:314,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:317,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:319,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:321,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:323,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:326,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:328,1
    - Dst: dns_message_renderend
      Src: /src/bind9/bin/tests/system/wire-test.c:331,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/bin/tests/system/wire-test.c:333,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/wire-test.c:336,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/wire-test.c:338,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/tests/system/wire-test.c:340,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/wire-test.c:343,1
    - Dst: dns_message_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:346,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:347,1
    - Dst: printmessage
      Src: /src/bind9/bin/tests/system/wire-test.c:349,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:350,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/wire-test.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - source
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 353
    functionName: process_message
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - dns_message_parse
    - CHECKRESULT
    - dns_message_detach
    - isc_buffer_init
    - isc_mem_stats
    - dns_message_renderbegin
    - printf
    - dns_message_renderend
    - printmessage
    - dns_compress_init
    - dns_message_create
    - dns_message_rendersection
    linkageType: ''
    returnType: void
    signature: void process_message(isc_buffer_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:41,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:42,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:43,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:44,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:45,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:46,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:47,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:48,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:49,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:50,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:51,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:52,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:53,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:54,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:55,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:56,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:57,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:58,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:59,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:60,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:61,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:62,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: usage
    functionSourceFile: /src/bind9/bin/tests/system/feature-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/bind9/bin/tests/system/feature-test.c:69,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:73,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/feature-test.c:75,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/feature-test.c:77,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:82,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:90,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/feature-test.c:98,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/feature-test.c:106,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/bind9/bin/tests/system/feature-test.c:108,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/bin/tests/system/feature-test.c:110,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:118,1
    - Dst: gethostname
      Src: /src/bind9/bin/tests/system/feature-test.c:122,1
    - Dst: perror
      Src: /src/bind9/bin/tests/system/feature-test.c:124,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:127,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:131,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:139,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/tests/system/feature-test.c:147,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:158,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/tests/system/feature-test.c:162,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:166,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:174,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:182,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:190,1
    - Dst: __has_feature
      Src: /src/bind9/bin/tests/system/feature-test.c:192,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:203,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/tests/system/feature-test.c:204,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:210,1
    - Dst: socket
      Src: /src/bind9/bin/tests/system/feature-test.c:217,1
    - Dst: getsockopt
      Src: /src/bind9/bin/tests/system/feature-test.c:219,1
    - Dst: close
      Src: /src/bind9/bin/tests/system/feature-test.c:221,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/feature-test.c:229,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/tests/system/feature-test.c:230,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:237,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:245,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:253,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:261,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:269,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:277,1
    - Dst: usage
      Src: /src/bind9/bin/tests/system/feature-test.c:278,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 116
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 280
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/feature-test.c
    functionUses: 5
    functionsReached:
    - socket
    - getsockopt
    - __has_feature
    - dst_algorithm_supported
    - close
    - OSSL_PROVIDER_load
    - isc_crypto_fips_mode
    - OSSL_PROVIDER_unload
    - printf
    - fprintf
    - usage
    - strcmp
    - perror
    - gethostname
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:97,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:98,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hooktable
    - mctx
    - inst
    argTypes:
    - ns_hooktable_t*
    - isc_mem_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 100
    functionName: install_hooks
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - ns_hook_add
    linkageType: ''
    returnType: void
    signature: "void install_hooks(ns_hooktable_t *hooktable, isc_mem_t *mctx,\n\t
      \     async_instance_t *inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:106,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:107,1
    - Dst: va_end
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: logmsg
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void logmsg(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:133,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:135,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:139,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:141,1
    - Dst: isc_ht_init
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:143,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:144,1
    - Dst: install_hooks
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 8
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    - hooktable
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - UNUSED
    - install_hooks
    - isc_mem_get
    - isc_log_write
    - isc_ht_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_register(const char *parameters, const void *cfg,
      const char *cfg_file,\n\t\tunsigned long cfg_line, isc_mem_t *mctx, void *actx,\n\t\tns_hooktable_t
      *hooktable, void **instp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:159,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:160,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:161,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:162,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_check(const char *parameters, const void *cfg,
      const char *cfg_file,\n\t     unsigned long cfg_line, isc_mem_t *mctx, void
      *actx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_destroy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:178,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:179,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_ht_destroy
    - isc_mutex_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void plugin_destroy(void **instp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: plugin_version
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plugin_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:201,1
    - Dst: isc_ht_find
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:202,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: client_state_get
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: state_t
    signature: 'state_t *

      client_state_get(const query_ctx_t *qctx, async_instance_t *inst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:214,1
    - Dst: LOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:217,1
    - Dst: isc_ht_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:218,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:220,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: client_state_create
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - LOCK
    - RUNTIME_CHECK
    - UNLOCK
    - isc_mem_get
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: void client_state_create(const query_ctx_t *qctx, async_instance_t
      *inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:226,1
    - Dst: LOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:233,1
    - Dst: isc_ht_delete
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:234,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:236,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:237,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 240
    functionName: client_state_destroy
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - LOCK
    - RUNTIME_CHECK
    - isc_ht_delete
    - client_state_get
    - UNLOCK
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void client_state_destroy(const query_ctx_t *qctx, async_instance_t
      *inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:248,1
    - Dst: client_state_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:251,1
    - Dst: client_state_create
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: async_qctx_initialize
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - client_state_create
    - logmsg
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t async_qctx_initialize(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:261,1
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hctx
    argTypes:
    - ns_hookasync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cancelasync
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - logmsg
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void cancelasync(ns_hookasync_t *hctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:269,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - ns_hookasync_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: destroyasync
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - logmsg
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroyasync(ns_hookasync_t **ctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:277,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:278,1
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:281,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:286,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - qctx
    - mctx
    - arg
    - loop
    - cb
    - evarg
    - ctxp
    argTypes:
    - query_ctx_t*
    - isc_mem_t*
    - void*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - ns_hookasync_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 303
    functionName: doasync
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - logmsg
    - isc_async_run
    - isc_mem_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t doasync(query_ctx_t *qctx, isc_mem_t *mctx, void *arg,
      isc_loop_t *loop,\n\tisc_job_cb cb, void *evarg, ns_hookasync_t **ctxp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:311,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:312,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:313,1
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:315,1
    - Dst: ns_query_hookasync
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: async_query_done_begin
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - logmsg
    - UNUSED
    - client_state_get
    - ns_query_hookasync
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t async_query_done_begin(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:335,1
    - Dst: client_state_destroy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: async_qctx_destroy
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - logmsg
    - client_state_destroy
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t async_qctx_destroy(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(str, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: RUNCHECK
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNCHECK(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:72,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:77,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:79,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:80,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:81,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:84,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:87,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:89,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:92,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:93,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:94,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:95,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:98,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:102,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:103,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:106,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:107,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:107,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:108,1
    - Dst: fflush
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:109,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:111,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:112,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:113,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 119
    functionName: recvresponse
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_message_sectiontotext
    - dns_request_getarg
    - exit
    - isc_result_totext
    - dns_request_getresponse
    - isc_buffer_init
    - CHECK
    - dns_request_getresult
    - isc_buffer_usedlength
    - fprintf
    - printf
    - fflush
    - dns_request_destroy
    - isc_buffer_base
    - dns_message_detach
    - dns_message_create
    - dns_result_fromrcode
    linkageType: ''
    returnType: void
    signature: void recvresponse(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scanf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:133,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:140,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:141,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:141,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:142,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:142,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:143,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:143,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:145,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:147,1
    - Dst: random
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:153,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:155,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:157,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:159,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:159,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:160,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:162,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:163,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:165,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:168,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 172
    functionName: sendquery
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - ISC_LIST_APPEND
    - random
    - dns_message_addname
    - dns_fixedname_name
    - dns_rdataset_makequestion
    - scanf
    - strlen
    - isc_buffer_init
    - CHECK
    - dns_message_gettempname
    - dns_message_gettemprdataset
    - dns_name_clone
    - isc_buffer_add
    - dns_fixedname_init
    - dns_request_create
    - dns_message_create
    - isc_loop_main
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t sendquery(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:178,1
    - Dst: sendquery
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:181,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: sendqueries
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - UNUSED
    - sendquery
    linkageType: ''
    returnType: void
    signature: void sendqueries(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: teardown_view
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void teardown_view(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:200,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: teardown_requestmgr
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_requestmgr_shutdown
    - dns_requestmgr_detach
    linkageType: ''
    returnType: void
    signature: void teardown_requestmgr(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: teardown_dispatchv4
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    linkageType: ''
    returnType: void
    signature: void teardown_dispatchv4(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: teardown_dispatchmgr
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_dispatchmgr_detach
    linkageType: ''
    returnType: void
    signature: void teardown_dispatchmgr(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:229,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:232,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:235,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:237,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:241,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:244,1
    - Dst: POST
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:254,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:260,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:263,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:264,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:266,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:269,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:270,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:272,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:274,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:276,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:276,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:278,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:278,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:280,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:280,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:283,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:285,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:286,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:287,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:288,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:289,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:291,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 296
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 6
    functionsReached:
    - isc_loopmgr_teardown
    - isc_parse_uint16
    - dns_view_create
    - dns_dispatch_createudp
    - isc_managers_destroy
    - dns_requestmgr_create
    - isc_loopmgr_run
    - fprintf
    - isc_sockaddr_fromin
    - isc_sockaddr_any
    - inet_pton
    - RUNCHECK
    - isc_managers_create
    - isc_commandline_parse
    - isc_loopmgr_setup
    - exit
    - CHECK
    - POST
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: loginfo
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: loginfo(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: logerr
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: logerr(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: single_valued
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool single_valued(const char *type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: single_valued
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:120,1
    - Dst: INSIST
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:124,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:125,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:128,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:131,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:134,1
    - Dst: logerr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:143,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:147,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:148,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:149,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:154,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:157,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 6
    argNames:
    - state
    - list
    - name
    - type
    - ttl
    - data
    argTypes:
    - struct dlz_example_data*
    - struct record*
    - char*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 166
    functionName: add_name
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strncpy
    - INSIST
    - strlen
    - single_valued
    - logerr
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_name(struct dlz_example_data *state, struct record
      *list, const char *name,\n\t const char *type, dns_ttl_t ttl, const char *data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:176,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:179,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:180,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:181,1
    - Dst: memset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - state
    - list
    - name
    - type
    - ttl
    - data
    argTypes:
    - struct dlz_example_data*
    - struct record*
    - char*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 191
    functionName: del_name
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - UNUSED
    - memset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t del_name(struct dlz_example_data *state, struct record
      *list, const char *name,\n\t const char *type, dns_ttl_t ttl, const char *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:201,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:202,1
    - Dst: ntohs
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:206,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:207,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - addr
    - buffer
    - size
    argTypes:
    - isc_sockaddr_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 220
    functionName: fmt_address
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - ntohs
    - inet_ntop
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fmt_address(isc_sockaddr_t *addr, char *buffer, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: dlz_version
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int dlz_version(unsigned int *flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:237,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:240,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:243,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - state
    - helper_name
    - ptr
    argTypes:
    - struct dlz_example_data*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: b9_add_helper
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void b9_add_helper(struct dlz_example_data *state, const char *helper_name,\n\t
      \     void *ptr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:264,1
    - Dst: calloc
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:266,1
    - Dst: va_start
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:272,1
    - Dst: va_arg
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:273,1
    - Dst: va_end
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:276,1
    - Dst: logerr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:279,1
    - Dst: dlz_destroy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:280,1
    - Dst: malloc
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:285,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:285,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:287,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:290,1
    - Dst: strcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:291,1
    - Dst: sprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:293,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:299,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:300,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:304,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:309,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:312,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:314,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:316,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:319,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 4
    argNames:
    - dlzname
    - argc
    - argv
    - dbdata
    argTypes:
    - char*
    - unsigned int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 327
    functionName: dlz_create
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - va_end
    - loginfo
    - malloc
    - va_arg
    - strlcpy
    - strcpy
    - add_name
    - UNUSED
    - sprintf
    - va_start
    - calloc
    - strlen
    - CHECK
    - free
    - strcmp
    - logerr
    - dlz_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlz_create(const char *dlzname, unsigned int argc, char
      *argv[], void **dbdata,\n\t   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:336,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:337,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: dlz_destroy
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 3
    functionsReached:
    - loginfo
    - free
    linkageType: ''
    returnType: void
    signature: void dlz_destroy(void *dbdata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:352,1
    - Dst: dns_clientinfomethods_t*::sourceip
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:357,1
    - Dst: fmt_address
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:358,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:361,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:372,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:380,1
    - Dst: strncmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:381,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:391,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:399,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:403,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - dbdata
    - name
    - methods
    - clientinfo
    argTypes:
    - void*
    - char*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 409
    functionName: dlz_findzonedb
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - strncmp
    - loginfo
    - strcpy
    - dns_clientinfomethods_t*::sourceip
    - snprintf
    - fmt_address
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlz_findzonedb(void *dbdata, const char *name, dns_clientinfomethods_t
      *methods,\n\t       dns_clientinfo_t *clientinfo)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:435,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:441,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:442,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:444,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:445,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:447,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:460,1
    - Dst: memcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:464,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:466,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:486,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:490,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:492,1
    - Dst: dns_clientinfomethods_t*::sourceip
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:498,1
    - Dst: fmt_address
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:499,1
    - Dst: dns_ecs_format
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:503,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:506,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:510,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:511,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:513,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:516,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:522,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:523,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:530,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:537,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:537,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:538,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:545,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:546,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:548,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:557,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:559,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 6
    argNames:
    - zone
    - name
    - dbdata
    - lookup
    - methods
    - clientinfo
    argTypes:
    - char*
    - char*
    - void*
    - dns_sdlzlookup_t*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 573
    functionName: dlz_lookup
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - dns_ecs_format
    - strncpy
    - loginfo
    - UNUSED
    - strlen
    - dns_clientinfomethods_t*::sourceip
    - snprintf
    - struct dlz_example_data*::putrr
    - strcmp
    - fmt_address
    - strcasecmp
    - memcpy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlz_lookup(const char *zone, const char *name, void *dbdata,\n\t
      \  dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods,\n\t   dns_clientinfo_t
      *clientinfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:583,1
    - Dst: dlz_findzonedb
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:585,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:587,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:588,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:596,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:597,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:605,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:606,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - dbdata
    - name
    - client
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 613
    functionName: dlz_allowzonexfr
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - strcmp
    - dlz_findzonedb
    - loginfo
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlz_allowzonexfr(void *dbdata, const char *name, const
      char *client)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:623,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:631,1
    - Dst: struct dlz_example_data*::putnamedrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - zone
    - dbdata
    - allnodes
    argTypes:
    - char*
    - void*
    - dns_sdlzallnodes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 644
    functionName: dlz_allnodes
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - struct dlz_example_data*::putnamedrr
    - strlen
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlz_allnodes(const char *zone, void *dbdata, dns_sdlzallnodes_t
      *allnodes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - zone
    - dbdata
    - versionp
    argTypes:
    - char*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 663
    functionName: dlz_newversion
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - loginfo
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlz_newversion(const char *zone, void *dbdata, void **versionp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:673,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:685,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:687,1
    - Dst: del_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:688,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:696,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:697,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:705,1
    - Dst: memset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:707,1
    - Dst: memset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - zone
    - commit
    - dbdata
    - versionp
    argTypes:
    - char*
    - bool
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 709
    functionName: dlz_closeversion
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - memset
    - loginfo
    - del_name
    - add_name
    - strlen
    linkageType: ''
    returnType: void
    signature: void dlz_closeversion(const char *zone, bool commit, void *dbdata,
      void **versionp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:719,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:722,1
    - Dst: struct dlz_example_data*::writeable_zone
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:726,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:728,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - view
    - dlzdb
    - dbdata
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 735
    functionName: dlz_configure
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - loginfo
    - struct dlz_example_data*::writeable_zone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, void
      *dbdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:746,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:747,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:748,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:749,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:750,1
    - Dst: strncmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:752,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:753,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 8
    argNames:
    - signer
    - name
    - tcpaddr
    - type
    - key
    - keydatalen
    - keydata
    - dbdata
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - uint32_t
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 759
    functionName: dlz_ssumatch
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - loginfo
    - strncmp
    linkageType: ''
    returnType: bool
    signature: "bool dlz_ssumatch(const char *signer, const char *name, const char
      *tcpaddr,\n\t     const char *type, const char *key, uint32_t keydatalen,\n\t
      \    unsigned char *keydata, void *dbdata)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:769,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:782,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:787,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:792,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:797,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:802,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:807,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:808,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:812,1
    - Dst: strtoul
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:812,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:814,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:818,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - state
    - name
    - rdatastr
    - list
    argTypes:
    - struct dlz_example_data*
    - char*
    - char*
    - struct record*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 820
    functionName: modrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strdup
    - strtoul
    - add_name
    - strlen
    - snprintf
    - free
    - strtok_r
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t modrdataset(struct dlz_example_data *state, const char
      *name,\n\t    const char *rdatastr, struct record *list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:831,1
    - Dst: modrdataset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - rdatastr
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 834
    functionName: dlz_addrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - modrdataset
    - loginfo
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlz_addrdataset(const char *name, const char *rdatastr,
      void *dbdata,\n\t\tvoid *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:845,1
    - Dst: modrdataset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - rdatastr
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 848
    functionName: dlz_subrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - modrdataset
    - loginfo
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlz_subrdataset(const char *name, const char *rdatastr,
      void *dbdata,\n\t\tvoid *version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - type
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 862
    functionName: dlz_delrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - loginfo
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dlz_delrdataset(const char *name, const char *type, void
      *dbdata,\n\t\tvoid *version)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:77,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:79,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:81,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:83,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:87,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:89,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:91,1
    - Dst: dns_diff_apply
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:94,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:96,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:98,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:105,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:107,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:109,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:110,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 112
    functionName: syncptr_write
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_db_closeversion
    - dns_db_detach
    - isc_result_totext
    - dns_zone_getdb
    - dns_zone_detach
    - log_write
    - dns_diff_clear
    - dns_diff_apply
    - dns_db_newversion
    linkageType: ''
    returnType: void
    signature: void syncptr_write(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:136,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:140,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:140,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:141,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:145,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:145,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:146,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:150,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:160,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:162,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:164,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:169,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:173,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:175,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:181,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:182,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:188,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:190,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - inst
    - rdata
    - name
    - zone
    argTypes:
    - sample_instance_t*
    - dns_rdata_t*
    - dns_name_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 194
    functionName: syncptr_find_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - isc_netaddr_fromin
    - FATAL_ERROR
    - isc_result_totext
    - dns_zone_detach
    - dns_rdata_freestruct
    - CHECK
    - REQUIRE
    - log_write
    - isc_netaddr_fromin6
    - dns_byaddr_createptrname
    - dns_view_findzone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t syncptr_find_zone(sample_instance_t *inst, dns_rdata_t
      *rdata, dns_name_t *name,\n\t\t  dns_zone_t **zone)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:225,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:226,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:227,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:229,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:231,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:232,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:233,1
    - Dst: syncptr_find_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:236,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:237,1
    - Dst: log_error_r
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:239,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:246,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:247,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:247,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:248,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:248,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:250,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:251,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:255,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:257,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:262,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:262,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:264,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:270,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:270,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:275,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:278,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 5
    argNames:
    - inst
    - name
    - addr_rdata
    - ttl
    - op
    argTypes:
    - sample_instance_t*
    - dns_name_t*
    - dns_rdata_t*
    - dns_ttl_t
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 285
    functionName: syncptr
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - log_error_r
    - isc_async_run
    - dns_zone_detach
    - dns_diff_init
    - dns_difftuple_free
    - isc_mem_attach
    - dns_zone_getloop
    - dns_fixedname_init
    - dns_name_copy
    - dns_rdata_fromstruct
    - dns_difftuple_create
    - dns_fixedname_name
    - isc_mem_get
    - dns_zone_attach
    - dns_diff_append
    - isc_result_totext
    - isc_buffer_init
    - dns_name_clone
    - DNS_RDATACOMMON_INIT
    - log_write
    - isc_mem_put
    - syncptr_find_zone
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t syncptr(sample_instance_t *inst, dns_name_t *name, dns_rdata_t
      *addr_rdata,\n\tdns_ttl_t ttl, dns_diffop_t op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:301,1
    - Dst: syncptr
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - inst
    - name
    - rdataset
    - op
    argTypes:
    - sample_instance_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: syncptrs
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - syncptr
    - dns_rdataset_current
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t syncptrs(sample_instance_t *inst, dns_name_t *name, dns_rdataset_t
      *rdataset,\n\t dns_diffop_t op)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:301,1
    - Dst: syncptr
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - syncptr
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: log_error_r
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_error_r(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: log_error
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_error(format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: log_info
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/log.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log_info(format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sampledb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: VALID_SAMPLEDB
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SAMPLEDB(sampledb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:82,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:82,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:84,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:85,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: destroy
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 50
    functionsReached:
    - isc_mem_putanddetach
    - dns_name_free
    - dns_db_detach
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: void destroy(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:94,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:94,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: currentversion
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 5
    functionsReached:
    - dns_db_currentversion
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: void currentversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:103,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:103,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: newversion
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - dns_db_newversion
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t newversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:113,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:113,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - db
    - source
    - targetp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: attachversion
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns_db_attachversion
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: "void attachversion(dns_db_t *db, dns_dbversion_t *source,\n\t      dns_dbversion_t
      **targetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:123,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:123,1
    - Dst: dns__db_closeversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - db
    - versionp
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: closeversion
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - dns__db_closeversion
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: "void closeversion(dns_db_t *db, dns_dbversion_t **versionp,\n\t     bool
      commit DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:133,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:133,1
    - Dst: dns__db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: findnode
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 6
    functionsReached:
    - dns__db_findnode
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create,\n\t
      dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:146,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:146,1
    - Dst: dns__db_find
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: find
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 17
    functionsReached:
    - dns__db_find
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n     dns_rdatatype_t type, unsigned int options, isc_stdtime_t now,\n
      \    dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset,\n
      \    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:160,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:160,1
    - Dst: dns__db_findzonecut
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - db
    - name
    - options
    - now
    - nodep
    - foundname
    - dcname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: findzonecut
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns__db_findzonecut
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findzonecut(dns_db_t *db, const dns_name_t *name, unsigned
      int options,\n\t    isc_stdtime_t now, dns_dbnode_t **nodep, dns_name_t *foundname,\n\t
      \   dns_name_t *dcname, dns_rdataset_t *rdataset,\n\t    dns_rdataset_t *sigrdataset
      DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:172,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:172,1
    - Dst: dns__db_attachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - db
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: attachnode
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 4
    functionsReached:
    - dns__db_attachnode
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: "void attachnode(dns_db_t *db, dns_dbnode_t *source,\n\t   dns_dbnode_t
      **targetp DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:181,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:181,1
    - Dst: dns__db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: detachnode
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 7
    functionsReached:
    - dns__db_detachnode
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: void detachnode(dns_db_t *db, dns_dbnode_t **targetp DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:191,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:191,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - db
    - options
    - iteratorp
    argTypes:
    - dns_db_t*
    - unsigned int
    - dns_dbiterator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: createiterator
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns_db_createiterator
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t createiterator(dns_db_t *db, unsigned int options,\n\t
      \      dns_dbiterator_t **iteratorp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:203,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:203,1
    - Dst: dns__db_findrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - db
    - node
    - version
    - type
    - covers
    - now
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: findrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 3
    functionsReached:
    - dns__db_findrdataset
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t
      now,\n\t     dns_rdataset_t *rdataset,\n\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:216,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:216,1
    - Dst: dns__db_allrdatasets
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - db
    - node
    - version
    - options
    - now
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int
    - isc_stdtime_t
    - dns_rdatasetiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: allrdatasets
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns__db_allrdatasets
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     unsigned int options, isc_stdtime_t now,\n\t     dns_rdatasetiter_t
      **iteratorp DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:230,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:230,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:232,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:233,1
    - Dst: dns__db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:233,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:235,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:236,1
    - Dst: dns_db_nodefullname
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:236,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:237,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:238,1
    - Dst: syncptrs
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:238,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - db
    - node
    - version
    - now
    - rdataset
    - options
    - addedrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: addrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 5
    functionsReached:
    - syncptrs
    - dns_rdatatype_isaddr
    - dns__db_addrdataset
    - dns_fixedname_name
    - dns_db_nodefullname
    - CHECK
    - REQUIRE
    - dns_fixedname_init
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t    isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options,\n\t
      \   dns_rdataset_t *addedrdataset DNS__DB_FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:254,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:254,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:256,1
    - Dst: dns__db_subtractrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:257,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:264,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:265,1
    - Dst: dns_db_nodefullname
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:265,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:266,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:267,1
    - Dst: syncptrs
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:267,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - db
    - node
    - version
    - rdataset
    - options
    - newrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 273
    functionName: subtractrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - syncptrs
    - dns_rdatatype_isaddr
    - dns__db_subtractrdataset
    - dns_fixedname_name
    - dns_db_nodefullname
    - CHECK
    - REQUIRE
    - dns_fixedname_init
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t\t dns_rdataset_t *rdataset, unsigned int options,\n\t\t dns_rdataset_t
      *newrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:284,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:284,1
    - Dst: dns__db_deleterdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - db
    - node
    - version
    - type
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: deleterdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns__db_deleterdataset
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t       dns_rdatatype_t type, dns_rdatatype_t covers DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:294,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:294,1
    - Dst: dns_db_issecure
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: issecure
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_issecure
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: bool
    signature: bool issecure(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:303,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:303,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - tree
    argTypes:
    - dns_db_t*
    - dns_dbtree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: nodecount
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns_db_nodecount
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db, dns_dbtree_t tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:312,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:312,1
    - Dst: dns_db_setloop
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - loop
    argTypes:
    - dns_db_t*
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: setloop
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns_db_setloop
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: void
    signature: void setloop(dns_db_t *db, isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:321,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:321,1
    - Dst: dns__db_getoriginnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: getoriginnode
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns__db_getoriginnode
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:332,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:332,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - db
    - version
    - hash
    - flags
    - iterations
    - salt
    - salt_length
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_hash_t*
    - uint8_t*
    - uint16_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: getnsec3parameters
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns_db_getnsec3parameters
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getnsec3parameters(dns_db_t *db, dns_dbversion_t *version,
      dns_hash_t *hash,\n\t\t   uint8_t *flags, uint16_t *iterations, unsigned char
      *salt,\n\t\t   size_t *salt_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:343,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:343,1
    - Dst: dns__db_findnsec3node
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: findnsec3node
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns__db_findnsec3node
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnsec3node(dns_db_t *db, const dns_name_t *name, bool
      create,\n\t      dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:353,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:353,1
    - Dst: dns_db_setsigningtime
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - db
    - rdataset
    - resign
    argTypes:
    - dns_db_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: setsigningtime
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns_db_setsigningtime
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset,
      isc_stdtime_t resign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:363,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:363,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - resign
    - name
    - type
    argTypes:
    - dns_db_t*
    - isc_stdtime_t*
    - dns_name_t*
    - dns_typepair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: getsigningtime
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns_db_getsigningtime
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getsigningtime(dns_db_t *db, isc_stdtime_t *resign, dns_name_t
      *name,\n\t       dns_typepair_t *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:372,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:372,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: getrrsetstats
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 4
    functionsReached:
    - dns_db_getrrsetstats
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: dns_stats_t
    signature: 'dns_stats_t *

      getrrsetstats(dns_db_t *db)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:383,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:383,1
    - Dst: dns__db_findnodeext
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - db
    - name
    - create
    - methods
    - clientinfo
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: findnodeext
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns__db_findnodeext
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnodeext(dns_db_t *db, const dns_name_t *name, bool
      create,\n\t    dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo,\n\t
      \   dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:397,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:397,1
    - Dst: dns__db_findext
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 12
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - methods
    - clientinfo
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: findext
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns__db_findext
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n\tdns_rdatatype_t type, unsigned int options, isc_stdtime_t now,\n\tdns_dbnode_t
      **nodep, dns_name_t *foundname,\n\tdns_clientinfomethods_t *methods, dns_clientinfo_t
      *clientinfo,\n\tdns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:408,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:408,1
    - Dst: dns_db_setcachestats
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: setcachestats
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - dns_db_setcachestats
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setcachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:417,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:417,1
    - Dst: dns_db_nodefullname
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - db
    - node
    - name
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 420
    functionName: nodefullname
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 3
    functionsReached:
    - dns_db_nodefullname
    - REQUIRE
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:479,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:480,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:481,1
    - Dst: dns_soa_buildrdata
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:481,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:481,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:487,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:488,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:489,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:489,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:490,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:490,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - db
    - version
    - name
    - origin
    - contact
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 496
    functionName: add_soa
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_db_class
    - ISC_LIST_APPEND
    - dns_db_findnode
    - dns_soa_buildrdata
    - dns_db_addrdataset
    - CHECK
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_soa(dns_db_t *db, dns_dbversion_t *version, const
      dns_name_t *name,\n\tconst dns_name_t *origin, const dns_name_t *contact)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:510,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:512,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:513,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:515,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:517,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:518,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:519,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:519,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:519,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:525,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:526,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:527,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:527,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:528,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:528,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 4
    argNames:
    - db
    - version
    - name
    - nsname
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 534
    functionName: add_ns
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_db_class
    - dns_rdata_fromstruct
    - ISC_LIST_APPEND
    - dns_db_findnode
    - dns_db_addrdataset
    - isc_buffer_init
    - dns_name_clone
    - CHECK
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_ns(dns_db_t *db, dns_dbversion_t *version, const
      dns_name_t *name,\n       const dns_name_t *nsname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:548,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:550,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:551,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:553,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:555,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:555,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:555,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:561,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:562,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:563,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:563,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:564,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:564,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - db
    - version
    - name
    - addr
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - struct in_addr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 570
    functionName: add_a
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_db_class
    - dns_rdata_fromstruct
    - ISC_LIST_APPEND
    - dns_db_findnode
    - dns_db_addrdataset
    - isc_buffer_init
    - CHECK
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_a(dns_db_t *db, dns_dbversion_t *version, const dns_name_t
      *name,\n      struct in_addr addr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:587,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:588,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:589,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:590,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:591,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:592,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:594,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:598,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:606,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:607,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:609,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:611,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:617,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:617,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:621,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:621,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:622,1
    - Dst: add_soa
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:622,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:623,1
    - Dst: add_ns
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:623,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:624,1
    - Dst: add_a
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:624,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:625,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:632,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:633,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 8
    argNames:
    - mctx
    - origin
    - type
    - rdclass
    - argc
    - argv
    - driverarg
    - dbp
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_dbtype_t
    - dns_rdataclass_t
    - unsigned int
    - char*[]
    - void*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 640
    functionName: create_db
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 0
    functionsReached:
    - add_soa
    - isc_mem_attach
    - dns_name_dynamic
    - isc_mem_putanddetach
    - dns_name_free
    - add_ns
    - dns_db_closeversion
    - UNUSED
    - isc_mem_get
    - isc_refcount_init
    - CHECK
    - REQUIRE
    - dns_db_newversion
    - add_a
    - dns_name_dup
    - dns_db_create
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_db(isc_mem_t *mctx, const dns_name_t *origin,
      dns_dbtype_t type,\n\t  dns_rdataclass_t rdclass, unsigned int argc, char *argv[],\n\t
      \ void *driverarg, dns_db_t **dbp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - result_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: CLEANUP_WITH
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_WITH(result_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/util.h
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:71,1
    - Dst: log_info
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:74,1
    - Dst: log_info
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:76,1
    - Dst: log_error
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:79,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:84,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:86,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:88,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:91,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:93,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - mctx
    - argc
    - argv
    - z1
    - z2
    argTypes:
    - isc_mem_t*
    - int
    - char**
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: parse_params
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 0
    functionsReached:
    - log_info
    - isc_result_totext
    - dns_name_fromstring
    - log_write
    - REQUIRE
    - log_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_params(isc_mem_t *mctx, int argc, char **argv,
      dns_name_t *z1,\n\t     dns_name_t *z2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:115,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:117,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:120,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:122,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:123,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:124,1
    - Dst: parse_params
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:126,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:129,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:131,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:135,1
    - Dst: dns_zonemgr_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:136,1
    - Dst: dns_db_register
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:140,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:142,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:144,1
    - Dst: destroy_sample_instance
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - mctx
    - db_name
    - argc
    - argv
    - dctx
    - sample_instp
    argTypes:
    - isc_mem_t*
    - char*
    - int
    - char**
    - dns_dyndbctx_t*
    - sample_instance_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 156
    functionName: new_sample_instance
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_view_attach
    - dns_fixedname_initname
    - parse_params
    - destroy_sample_instance
    - isc_result_totext
    - dns_db_register
    - isc_mem_get
    - isc_mem_strdup
    - REQUIRE
    - log_write
    - dns_zonemgr_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t new_sample_instance(isc_mem_t *mctx, const char *db_name,
      int argc, char **argv,\n\t\t    const dns_dyndbctx_t *dctx,\n\t\t    sample_instance_t
      **sample_instp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: create_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:166,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:168,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:170,1
    - Dst: activate_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:173,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:175,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:177,1
    - Dst: create_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:181,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:183,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:185,1
    - Dst: activate_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:188,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:190,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - inst
    argTypes:
    - sample_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 198
    functionName: load_sample_instance_zones
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 0
    functionsReached:
    - create_zone
    - log_write
    - isc_result_totext
    - activate_zone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_sample_instance_zones(sample_instance_t *inst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:203,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:212,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:215,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:218,1
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:221,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:224,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:225,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - instp
    argTypes:
    - sample_instance_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 228
    functionName: destroy_sample_instance
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 1
    functionsReached:
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_zone_detach
    - REQUIRE
    - dns_zonemgr_detach
    - dns_db_unregister
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void destroy_sample_instance(sample_instance_t **instp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:65,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:69,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:71,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:72,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:73,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:74,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:76,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:78,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:80,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:85,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:87,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:88,1
    - Dst: dns_zone_setupdateacl
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:91,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:92,1
    - Dst: dns_zone_setxfracl
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:93,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:94,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:100,1
    - Dst: log_error_r
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:101,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:104,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:105,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:107,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - inst
    - name
    - rawp
    argTypes:
    - sample_instance_t*
    - dns_name_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 114
    functionName: create_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - dns_zone_setupdateacl
    - log_error_r
    - dns_zone_detach
    - REQUIRE
    - dns_zonemgr_managezone
    - dns_zone_getmgr
    - dns_zone_setdbtype
    - dns_name_format
    - dns_zone_setqueryacl
    - dns_zone_settype
    - dns_zone_create
    - dns_zone_setclass
    - dns_zone_setorigin
    - dns_zonemgr_releasezone
    - isc_result_totext
    - dns_zone_setxfracl
    - log_write
    - dns_acl_any
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_zone(sample_instance_t *const inst, dns_name_t
      *const name,\n\t    dns_zone_t **const rawp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:128,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:131,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:131,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:137,1
    - Dst: CLEANUP_WITH
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:142,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:149,1
    - Dst: CLEANUP_WITH
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:152,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:157,1
    - Dst: CLEANUP_WITH
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:160,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:165,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:168,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:169,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:171,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:173,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:179,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:182,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - inst
    - zone
    argTypes:
    - sample_instance_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 186
    functionName: publish_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_getview
    - dns_view_thaw
    - isc_result_totext
    - CLEANUP_WITH
    - dns_zone_setview
    - dns_zone_detach
    - dns_view_freeze
    - dns_view_addzone
    - REQUIRE
    - dns_zone_getorigin
    - log_write
    - dns_zone_log
    - dns_view_findzone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t publish_zone(sample_instance_t *inst, dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_load
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:198,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:206,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:208,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:210,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:213,1
    - Dst: dns_zone_notify
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 221
    functionName: load_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_getserial
    - dns_zone_notify
    - isc_result_totext
    - log_write
    - dns_zone_log
    - dns_zone_load
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_zone(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: publish_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:235,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:237,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:238,1
    - Dst: load_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:242,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:244,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - inst
    - raw
    argTypes:
    - sample_instance_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: activate_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 1
    functionsReached:
    - isc_result_totext
    - publish_zone
    - load_zone
    - log_write
    - dns_zone_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t activate_zone(sample_instance_t *inst, dns_zone_t *raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/tests/system/dyndb/driver/log.c:39,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/tests/system/dyndb/driver/log.c:40,1
    - Dst: va_end
      Src: /src/bind9/bin/tests/system/dyndb/driver/log.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: log_write
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/log.c
    functionUses: 123
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void log_write(int level, const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:96,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:98,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:100,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:102,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:104,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:108,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:108,1
    - Dst: new_sample_instance
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:112,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:115,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:117,1
    - Dst: load_sample_instance_zones
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:125,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:127,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:129,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:136,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 7
    argNames:
    - mctx
    - name
    - parameters
    - file
    - line
    - dctx
    - instp
    argTypes:
    - isc_mem_t*
    - char*
    - char*
    - char*
    - unsigned long
    - dns_dyndbctx_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 142
    functionName: dyndb_init
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/driver.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - ISC_LOG_DEBUG
    - isc_result_totext
    - isc_mem_strdup
    - log_write
    - REQUIRE
    - isc_commandline_strtoargv
    - new_sample_instance
    - isc_mem_cput
    - load_sample_instance_zones
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dyndb_init(isc_mem_t *mctx, const char *name, const char
      *parameters,\n\t   const char *file, unsigned long line, const dns_dyndbctx_t
      *dctx,\n\t   void **instp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_sample_instance
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: dyndb_destroy
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/driver.c
    functionUses: 0
    functionsReached:
    - destroy_sample_instance
    linkageType: ''
    returnType: void
    signature: void dyndb_destroy(void **instp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dyndb/driver/driver.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: dyndb_version
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/driver.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int dyndb_version(unsigned int *flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c
    functionUses: 125
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op, msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:77,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:78,1
    - Dst: RSA_new
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:80,1
    - Dst: BN_new
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:81,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:82,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:85,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:87,1
    - Dst: ERR_clear_error
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:88,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:89,1
    - Dst: BN_set_bit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:93,1
    - Dst: BN_set_bit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:94,1
    - Dst: RSA_generate_key_ex
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:96,1
    - Dst: BN_free
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:97,1
    - Dst: RSA_free
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:98,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:100,1
    - Dst: ERR_clear_error
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:104,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:105,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:108,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:110,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:111,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:113,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:119,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:120,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:120,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:121,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:121,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:122,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:122,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:127,1
    - Dst: dst_key_buildinternal
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:127,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:132,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:132,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:134,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:135,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:136,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:136,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:138,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:139,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c
    functionUses: 6
    functionsReached:
    - EVP_PKEY_new
    - BN_free
    - isc_log_settag
    - RSA_free
    - printf
    - BN_new
    - EVP_PKEY_set1_RSA
    - isc_logconfig_get
    - dns_fixedname_initname
    - RSA_new
    - fprintf
    - ERR_clear_error
    - isc_log_createandusechannel
    - dst_key_buildinternal
    - isc_buffer_constinit
    - isc_buffer_clear
    - dns_name_fromtext
    - RSA_generate_key_ex
    - UNUSED
    - strlen
    - dst_key_buildfilename
    - dst_key_tofile
    - dst_key_free
    - isc_mem_detach
    - BN_set_bit
    - exit
    - isc_buffer_init
    - CHECK
    - isc_buffer_add
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - count
    - start
    argTypes:
    - char*
    - ssize_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 40
    functionName: check
    functionSourceFile: /src/bind9/bin/tests/system/rndc/gencheck.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check(const char *buf, ssize_t count, size_t *start)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/rndc/gencheck.c:56,1
    - Dst: open
      Src: /src/bind9/bin/tests/system/rndc/gencheck.c:60,1
    - Dst: read
      Src: /src/bind9/bin/tests/system/rndc/gencheck.c:66,1
    - Dst: check
      Src: /src/bind9/bin/tests/system/rndc/gencheck.c:71,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/rndc/gencheck.c:81,1
    - Dst: close
      Src: /src/bind9/bin/tests/system/rndc/gencheck.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 88
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/rndc/gencheck.c
    functionUses: 6
    functionsReached:
    - open
    - check
    - close
    - read
    - fprintf
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:38,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:39,1
    - Dst: mdb_env_create
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:44,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:46,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:47,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:48,1
    - Dst: mdb_env_open
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:51,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:53,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:54,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:55,1
    - Dst: mdb_txn_begin
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:58,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:60,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:61,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:62,1
    - Dst: mdb_dbi_open
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:65,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:67,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:68,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:69,1
    - Dst: mdb_cursor_open
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:72,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:74,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:75,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:76,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:79,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:81,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:86,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:90,1
    - Dst: printf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:94,1
    - Dst: mdb_cursor_close
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:99,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:100,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 104
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-nzd2nzf.c
    functionUses: 6
    functionsReached:
    - mdb_env_create
    - mdb_env_open
    - mdb_dbi_open
    - mdb_cursor_close
    - exit
    - mdb_strerror
    - mdb_env_close
    - fprintf
    - printf
    - mdb_txn_abort
    - mdb_cursor_get
    - mdb_cursor_open
    - mdb_txn_begin
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: UNUSED
    functionSourceFile: /src/bind9/bin/tools/arpaname.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tools/arpaname.c:26,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/arpaname.c:29,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/arpaname.c:31,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/arpaname.c:34,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/arpaname.c:38,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/arpaname.c:39,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/arpaname.c:46,1
    - Dst: ferror
      Src: /src/bind9/bin/tools/arpaname.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/arpaname.c
    functionUses: 6
    functionsReached:
    - UNUSED
    - ferror
    - fprintf
    - inet_pton
    - fflush
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:40,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-makejournal.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/named-makejournal.c:51,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tools/named-makejournal.c:53,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/tools/named-makejournal.c:58,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/tools/named-makejournal.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - db
    - origin
    - filename
    argTypes:
    - dns_db_t**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 69
    functionName: loadzone
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - dns_db_load
    - dns_name_fromstring
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadzone(dns_db_t **db, const char *origin, const char
      *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_open
      Src: /src/bind9/bin/tools/named-makejournal.c:76,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:80,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:81,1
    - Dst: dns_journal_empty
      Src: /src/bind9/bin/tools/named-makejournal.c:85,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/tools/named-makejournal.c:86,1
    - Dst: dns_journal_rollforward
      Src: /src/bind9/bin/tools/named-makejournal.c:90,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:100,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:105,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:106,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/tools/named-makejournal.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - db
    - file
    argTypes:
    - dns_db_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 111
    functionName: loadjournal
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 0
    functionsReached:
    - dns_journal_destroy
    - isc_result_totext
    - dns_journal_rollforward
    - fprintf
    - dns_journal_open
    - dns_journal_empty
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadjournal(dns_db_t *db, const char *file)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/tools/named-makejournal.c:124,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/named-makejournal.c:126,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-makejournal.c:129,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-makejournal.c:135,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-makejournal.c:141,1
    - Dst: snprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:151,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/tools/named-makejournal.c:155,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/tools/named-makejournal.c:157,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/tools/named-makejournal.c:158,1
    - Dst: loadzone
      Src: /src/bind9/bin/tools/named-makejournal.c:163,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:165,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:166,1
    - Dst: loadzone
      Src: /src/bind9/bin/tools/named-makejournal.c:170,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:172,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:173,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/bin/tools/named-makejournal.c:177,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:179,1
    - Dst: loadjournal
      Src: /src/bind9/bin/tools/named-makejournal.c:183,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/bin/tools/named-makejournal.c:188,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tools/named-makejournal.c:189,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/bin/tools/named-makejournal.c:191,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:193,1
    - Dst: isc_serial_eq
      Src: /src/bind9/bin/tools/named-makejournal.c:197,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:198,1
    - Dst: isc_serial_eq
      Src: /src/bind9/bin/tools/named-makejournal.c:202,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:203,1
    - Dst: dns_db_diff
      Src: /src/bind9/bin/tools/named-makejournal.c:208,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:210,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:211,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tools/named-makejournal.c:216,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tools/named-makejournal.c:219,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/tools/named-makejournal.c:223,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 227
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 6
    functionsReached:
    - dns_db_getsoaserial
    - loadzone
    - dns_db_diff
    - loadjournal
    - isc_logconfig_get
    - RUNTIME_CHECK
    - isc_commandline_parse
    - dns_db_detach
    - isc_mem_detach
    - isc_commandline_init
    - isc_result_totext
    - snprintf
    - fprintf
    - isc_serial_eq
    - usage
    - isc_log_createandusechannel
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(str, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: RUNCHECK
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNCHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ADD_STRING
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_STRING(b, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/tools/mdig.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: rcode_totext
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      rcode_totext(dns_rcode_t rcode)'
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/tools/mdig.c:203,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/tools/mdig.c:205,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:207,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:208,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:212,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tools/mdig.c:216,1
    - Dst: dns_request_getanswer
      Src: /src/bind9/bin/tools/mdig.c:225,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/tools/mdig.c:226,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:227,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/tools/mdig.c:271,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/tools/mdig.c:275,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/tools/mdig.c:279,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:283,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/mdig.c:294,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:302,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:303,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:308,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:310,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:313,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:314,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/tools/mdig.c:316,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:318,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:321,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/tools/mdig.c:324,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tools/mdig.c:325,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:326,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:330,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:331,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/tools/mdig.c:335,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tools/mdig.c:336,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:337,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:341,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:342,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:345,1
    - Dst: dns_message_headertotext
      Src: /src/bind9/bin/tools/mdig.c:346,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:347,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:349,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:352,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/tools/mdig.c:355,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:356,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:358,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:361,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:364,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:367,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:370,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:373,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:376,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:379,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:382,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:392,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/tools/mdig.c:401,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/mdig.c:406,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/mdig.c:407,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:410,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:414,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:419,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:423,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:428,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tools/mdig.c:440,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/tools/mdig.c:443,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tools/mdig.c:446,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/mdig.c:447,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:454,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:455,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/tools/mdig.c:456,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/mdig.c:460,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:467,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:472,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:476,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:481,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/tools/mdig.c:488,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:493,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/tools/mdig.c:494,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:499,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:504,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:507,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:507,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/mdig.c:508,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/mdig.c:509,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/mdig.c:512,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/tools/mdig.c:514,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tools/mdig.c:517,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tools/mdig.c:520,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/tools/mdig.c:522,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tools/mdig.c:525,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 258
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 528
    functionName: recvresponse
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_sockaddr_format
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_buffer_allocate
    - printf
    - fflush
    - dns_message_headertotext
    - rcode_totext
    - dns_request_getresponse
    - dns_message_pseudosectiontotext
    - dns_master_stylecreate
    - fprintf
    - dns_message_create
    - dns_request_getanswer
    - isc_sockaddr_getport
    - dns_message_sectiontotext
    - dns_master_styledestroy
    - strchr
    - isc_buffer_free
    - strlen
    - dns_request_getresult
    - ISC_LIST_FOREACH
    - dns_message_detach
    - isc_buffer_availablelength
    - isc_sockaddr_pf
    - dns_rdata_tofmttext
    - dns_request_getarg
    - exit
    - isc_result_totext
    - dns_request_destroy
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_base
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void recvresponse(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/tools/mdig.c:443,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tools/mdig.c:446,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/mdig.c:447,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:454,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:455,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/tools/mdig.c:456,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/mdig.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 463
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tofmttext
    - dns_rdataset_current
    - isc_buffer_putstr
    - strlen
    - CHECK
    - ISC_LIST_FOREACH
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (response, DNS_SECTION_ANSWER, name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tools/mdig.c:446,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/mdig.c:447,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:454,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:455,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/tools/mdig.c:456,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/mdig.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tofmttext
    - dns_rdataset_current
    - isc_buffer_putstr
    - strlen
    - CHECK
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_buildopt
      Src: /src/bind9/bin/tools/mdig.c:541,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:543,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/tools/mdig.c:544,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - msg
    - udpsize
    - edns
    - flags
    - opts
    - count
    argTypes:
    - dns_message_t*
    - uint16_t
    - uint16_t
    - unsigned int
    - dns_ednsopt_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 546
    functionName: add_opt
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - dns_message_buildopt
    - CHECK
    - dns_message_setopt
    linkageType: ''
    returnType: void
    signature: "void add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns,
      unsigned int flags,\n\tdns_ednsopt_t *opts, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:551,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cookie
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: compute_cookie
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    linkageType: ''
    returnType: void
    signature: void compute_cookie(unsigned char *cookie, size_t len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tools/mdig.c:568,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:569,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:569,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tools/mdig.c:570,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:570,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tools/mdig.c:571,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tools/mdig.c:571,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:573,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tools/mdig.c:575,1
    - Dst: random
      Src: /src/bind9/bin/tools/mdig.c:595,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/tools/mdig.c:597,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/tools/mdig.c:599,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tools/mdig.c:601,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tools/mdig.c:601,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/tools/mdig.c:602,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tools/mdig.c:603,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/tools/mdig.c:604,1
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:623,1
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:645,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:648,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:649,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:653,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:661,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/bin/tools/mdig.c:670,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tools/mdig.c:672,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tools/mdig.c:674,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/tools/mdig.c:677,1
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:686,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:691,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/tools/mdig.c:692,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:694,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/mdig.c:695,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:696,1
    - Dst: compute_cookie
      Src: /src/bind9/bin/tools/mdig.c:698,1
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:706,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:714,1
    - Dst: add_opt
      Src: /src/bind9/bin/tools/mdig.c:724,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/tools/mdig.c:731,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/tools/mdig.c:734,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:736,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 119
    argCount: 1
    argNames:
    - query
    argTypes:
    - struct query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 739
    functionName: sendquery
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_buffer_putmem
    - isc_hex_decodestring
    - dns_message_gettempname
    - isc_loop_main
    - random
    - dns_request_create
    - dns_message_gettemprdataset
    - dns_fixedname_init
    - dns_message_create
    - dns_name_fromtext
    - dns_message_addname
    - dns_fixedname_name
    - INSIST
    - strlen
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - compute_cookie
    - ISC_LIST_APPEND
    - dns_rdataset_makequestion
    - isc_buffer_init
    - dns_name_clone
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_buffer_base
    - add_opt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t sendquery(struct query *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/tools/mdig.c:746,1
    - Dst: sendquery
      Src: /src/bind9/bin/tools/mdig.c:748,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tools/mdig.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 755
    functionName: sendqueries
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - sendquery
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void sendqueries(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:762,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 4
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 863
    functionName: help
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void help(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/tools/mdig.c:872,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:873,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/mdig.c:874,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/mdig.c:875,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/mdig.c:876,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:877,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/mdig.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 879
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 16
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - fflush
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/tools/mdig.c:885,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:890,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - uip
    - value
    - max
    - desc
    - base
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 896
    functionName: parse_uint_helper
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_parse_uint32
    - printf
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_uint_helper(uint32_t *uip, const char *value, uint32_t
      max,\n\t\t  const char *desc, int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_helper
      Src: /src/bind9/bin/tools/mdig.c:900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - uip
    - value
    - max
    - desc
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 901
    functionName: parse_uint
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - parse_uint_helper
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_uint(uint32_t *uip, const char *value, uint32_t
      max, const char *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_helper
      Src: /src/bind9/bin/tools/mdig.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - uip
    - value
    - max
    - desc
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: parse_xint
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - parse_uint_helper
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_xint(uint32_t *uip, const char *value, uint32_t
      max, const char *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - query
    argTypes:
    - struct query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: newopts
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: void newopts(struct query *query)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: newopts
      Src: /src/bind9/bin/tools/mdig.c:929,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:933,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:936,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:938,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:947,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:947,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:948,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:948,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/tools/mdig.c:949,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:950,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/mdig.c:951,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - query
    - code
    - value
    argTypes:
    - struct query*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 957
    functionName: save_opt
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - newopts
    - isc_buffer_init
    - strlen
    - fatal
    - isc_hex_decodestring
    - CHECK
    - isc_buffer_usedlength
    - isc_mem_allocate
    - isc_buffer_base
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void save_opt(struct query *query, char *code, char *value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:969,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:970,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:973,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/tools/mdig.c:977,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:979,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:980,1
    - Dst: strcmp
      Src: /src/bind9/bin/tools/mdig.c:982,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:986,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:987,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/tools/mdig.c:989,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:993,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tools/mdig.c:995,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1002,1
    - Dst: strlcat
      Src: /src/bind9/bin/tools/mdig.c:1003,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:1004,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tools/mdig.c:1006,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1017,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - sap
    - value
    argTypes:
    - isc_sockaddr_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 1024
    functionName: parse_netprefix
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_parse_uint32
    - strlcpy
    - strchr
    - isc_sockaddr_fromin
    - strlcat
    - isc_result_totext
    - isc_mem_allocate
    - isc_sockaddr_fromin6
    - strlen
    - fatal
    - inet_pton
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_netprefix(isc_sockaddr_t **sap, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - len
    - p
    - end
    argTypes:
    - char*
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1038
    functionName: append
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 5
    functionsReached:
    - memmove
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t append(const char *text, int len, char **p, char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:1042,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/tools/mdig.c:1046,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1047,1
    - Dst: append
      Src: /src/bind9/bin/tools/mdig.c:1048,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1049,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1052,1
    - Dst: append
      Src: /src/bind9/bin/tools/mdig.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - p
    - end
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1055
    functionName: reverse_octets
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - strchr
    - strlen
    - CHECK
    - append
    - reverse_octets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t reverse_octets(const char *in, char **p, char *end)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:1064,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/mdig.c:1070,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/tools/mdig.c:1071,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1072,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/tools/mdig.c:1073,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/tools/mdig.c:1085,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1086,1
    - Dst: append
      Src: /src/bind9/bin/tools/mdig.c:1088,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - reverse
    - len
    - value
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1092
    functionName: get_reverse
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - CHECK
    - inet_pton
    - dns_name_format
    - dns_byaddr_createptrname
    - append
    - reverse_octets
    linkageType: ''
    returnType: void
    signature: void get_reverse(char *reverse, size_t len, const char *value)
  - BBCount: 120
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:1109,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1111,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:1112,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/tools/mdig.c:1115,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1120,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/tools/mdig.c:1145,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1151,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1156,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1164,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1165,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1174,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1175,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1179,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1180,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1190,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1191,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1197,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1204,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1206,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1210,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1211,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1228,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1236,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1237,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1243,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1244,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1248,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1249,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1253,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:1259,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1262,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1274,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1275,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1285,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1304,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1313,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1316,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1321,1
    - Dst: parse_xint
      Src: /src/bind9/bin/tools/mdig.c:1330,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1333,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1341,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1348,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1353,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1357,1
    - Dst: save_opt
      Src: /src/bind9/bin/tools/mdig.c:1359,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1374,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1382,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1383,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1387,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1394,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1395,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1403,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/tools/mdig.c:1407,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1414,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1416,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1423,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1424,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1434,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1435,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1447,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1448,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1459,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1464,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1480,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1483,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:1489,1
    - Dst: parse_netprefix
      Src: /src/bind9/bin/tools/mdig.c:1496,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1497,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1506,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1507,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1511,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1518,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1520,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1526,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1533,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1535,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/tools/mdig.c:1546,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1547,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1551,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1552,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1571,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1578,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1580,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1583,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1591,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1592,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1596,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1603,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1607,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1612,1
    - Dst: usage
      Src: /src/bind9/bin/tools/mdig.c:1613,1
    CyclomaticComplexity: 161
    EdgeCount: 161
    ICount: 490
    argCount: 3
    argNames:
    - option
    - query
    - global
    argTypes:
    - char*
    - struct query*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1616
    functionName: plus_option
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - GLOBAL
    - save_opt
    - isc_mem_free
    - strlcpy
    - usage
    - INSIST
    - FULLCHECK
    - CHECK
    - fatal
    - printf
    - fprintf
    - parse_xint
    - parse_netprefix
    - FULLCHECK2
    - strtok_r
    - strncasecmp
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void plus_option(char *option, struct query *query, bool global)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1128
    functionName: FULLCHECK
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULLCHECK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1135
    functionName: FULLCHECK2
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULLCHECK2(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1140
    functionName: GLOBAL
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLOBAL()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/tools/mdig.c:1640,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1649,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/tools/mdig.c:1651,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1654,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tools/mdig.c:1655,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1660,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/tools/mdig.c:1662,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1665,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tools/mdig.c:1666,1
    - Dst: help
      Src: /src/bind9/bin/tools/mdig.c:1671,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:1672,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1675,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:1682,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:1683,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1686,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1693,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1705,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:1706,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1708,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1710,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:1716,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/tools/mdig.c:1717,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/tools/mdig.c:1718,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:1719,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tools/mdig.c:1720,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/tools/mdig.c:1721,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1726,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1735,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/tools/mdig.c:1736,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1738,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1745,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1746,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1747,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1752,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/tools/mdig.c:1753,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/mdig.c:1755,1
    - Dst: get_reverse
      Src: /src/bind9/bin/tools/mdig.c:1759,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:1760,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1766,1
    - Dst: usage
      Src: /src/bind9/bin/tools/mdig.c:1767,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1770,1
    - Dst: usage
      Src: /src/bind9/bin/tools/mdig.c:1771,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tools/mdig.c:1773,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 129
    argCount: 5
    argNames:
    - option
    - next
    - query
    - global
    - setname
    argTypes:
    - char*
    - char*
    - struct query*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1775
    functionName: dash_option
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - fatal
    - printf
    - parse_uint
    - UNREACHABLE
    - fprintf
    - usage
    - isc_sockaddr_fromin
    - dns_rdataclass_fromtext
    - GLOBAL
    - strchr
    - strpbrk
    - strlen
    - isc_net_disableipv6
    - inet_pton
    - get_reverse
    - exit
    - isc_sockaddr_fromin6
    - CHECK
    - help
    - isc_net_disableipv4
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: bool
    signature: "bool dash_option(const char *option, char *next, struct query *query,
      bool global,\n\t    bool *setname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:1781,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:1782,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:1786,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:1787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1795
    functionName: clone_default_query
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - memmove
    linkageType: ''
    returnType: struct query
    signature: 'struct query *

      clone_default_query(void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/tools/mdig.c:1820,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1828,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1834,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1841,1
    - Dst: strpbrk
      Src: /src/bind9/bin/tools/mdig.c:1845,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1846,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1858
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - strlen
    - fatal
    - strpbrk
    linkageType: ''
    returnType: void
    signature: void preparse_args(int argc, char **argv)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/tools/mdig.c:1905,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1910,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/mdig.c:1919,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1924,1
    - Dst: plus_option
      Src: /src/bind9/bin/tools/mdig.c:1928,1
    - Dst: dash_option
      Src: /src/bind9/bin/tools/mdig.c:1933,1
    - Dst: dash_option
      Src: /src/bind9/bin/tools/mdig.c:1940,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1949,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tools/mdig.c:1951,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1954,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1962,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:1964,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tools/mdig.c:1966,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1968,1
    - Dst: strcmp
      Src: /src/bind9/bin/tools/mdig.c:1978,1
    - Dst: fopen
      Src: /src/bind9/bin/tools/mdig.c:1981,1
    - Dst: perror
      Src: /src/bind9/bin/tools/mdig.c:1984,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1985,1
    - Dst: fgets
      Src: /src/bind9/bin/tools/mdig.c:1987,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1993,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1996,1
    - Dst: parse_args
      Src: /src/bind9/bin/tools/mdig.c:2002,1
    - Dst: fclose
      Src: /src/bind9/bin/tools/mdig.c:2005,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2010,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2012,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 3
    argNames:
    - is_batchfile
    - argc
    - argv
    argTypes:
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1860
    functionDepth: 2
    functionLinenumber: 1860
    functionLinenumberEnd: 2014
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - parse_args
    - plus_option
    - strncmp
    - ISC_LIST_APPEND
    - strtok_r
    - strlcpy
    - isc_mem_free
    - ISC_LINK_INIT
    - fopen
    - fclose
    - fgets
    - fatal
    - strcmp
    - perror
    - clone_default_query
    - dash_option
    linkageType: ''
    returnType: void
    signature: void parse_args(bool is_batchfile, int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_portset_create
      Src: /src/bind9/bin/tools/mdig.c:2025,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/bin/tools/mdig.c:2026,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2028,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/tools/mdig.c:2031,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/tools/mdig.c:2033,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/bin/tools/mdig.c:2034,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2036,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/tools/mdig.c:2039,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/bin/tools/mdig.c:2041,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2043,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/tools/mdig.c:2046,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/tools/mdig.c:2047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - manager
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2048
    functionName: set_source_ports
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_net_getudpportrange
    - dns_dispatchmgr_setavailports
    - isc_portset_addrange
    - fatal
    - isc_portset_destroy
    - isc_portset_create
    linkageType: ''
    returnType: void
    signature: void set_source_ports(dns_dispatchmgr_t *manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_detach
      Src: /src/bind9/bin/tools/mdig.c:2052,1
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/tools/mdig.c:2053,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/tools/mdig.c:2054,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/tools/mdig.c:2055,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/tools/mdig.c:2056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2057
    functionName: teardown
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 4
    functionsReached:
    - dns_dispatch_detach
    - dns_dispatchmgr_detach
    - dns_requestmgr_shutdown
    - dns_requestmgr_detach
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void teardown(void *arg ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tools/mdig.c:2061,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/tools/mdig.c:2061,1
    - Dst: set_source_ports
      Src: /src/bind9/bin/tools/mdig.c:2063,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/tools/mdig.c:2066,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/tools/mdig.c:2068,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tools/mdig.c:2070,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/tools/mdig.c:2070,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tools/mdig.c:2073,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/tools/mdig.c:2073,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/tools/mdig.c:2077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2059
    functionDepth: 1
    functionLinenumber: 2059
    functionLinenumberEnd: 2078
    functionName: setup
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 5
    functionsReached:
    - isc_sockaddr_any6
    - set_source_ports
    - dns_view_create
    - dns_dispatch_createudp
    - isc_sockaddr_any
    - dns_dispatchmgr_create
    - RUNCHECK
    - dns_requestmgr_create
    linkageType: ''
    returnType: void
    signature: void setup(void *arg ISC_ATTR_UNUSED)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/tools/mdig.c:2087,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/tools/mdig.c:2090,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2094,1
    - Dst: preparse_args
      Src: /src/bind9/bin/tools/mdig.c:2097,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/tools/mdig.c:2099,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/tools/mdig.c:2101,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/tools/mdig.c:2103,1
    - Dst: parse_args
      Src: /src/bind9/bin/tools/mdig.c:2104,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2106,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/tools/mdig.c:2110,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2112,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:2113,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/tools/mdig.c:2116,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/tools/mdig.c:2117,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/tools/mdig.c:2119,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/tools/mdig.c:2120,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2124,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/tools/mdig.c:2127,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/tools/mdig.c:2128,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/tools/mdig.c:2128,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tools/mdig.c:2129,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/tools/mdig.c:2136,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/tools/mdig.c:2142,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/tools/mdig.c:2143,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/tools/mdig.c:2143,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/bin/tools/mdig.c:2146,1
    - Dst: usleep
      Src: /src/bind9/bin/tools/mdig.c:2149,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/tools/mdig.c:2157,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2163,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2167,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2170,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2172,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2176,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tools/mdig.c:2179,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2081
    functionDepth: 1
    functionLinenumber: 2081
    functionLinenumberEnd: 2181
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 7
    functionsReached:
    - isc_loopmgr_teardown
    - fatal
    - isc_time_seconds
    - preparse_args
    - usleep
    - isc_managers_destroy
    - ISC_LIST_HEAD
    - isc_loopmgr_run
    - isc_time_now
    - ISC_LIST_INIT
    - isc_nonce_buf
    - isc_net_disableipv6
    - isc_getaddresses
    - isc_managers_create
    - parse_args
    - isc_sockaddr_pf
    - isc_mem_free
    - isc_net_probeipv4
    - isc_loopmgr_setup
    - isc_result_totext
    - isc_net_disableipv4
    - isc_net_probeipv6
    - isc_time_nanoseconds
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2163,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2167,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2170,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2159
    functionDepth: 1
    functionLinenumber: 2159
    functionLinenumberEnd: 2173
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 42
    functionsReached:
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (queries, query, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:45,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/nsec3hash.c:46,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:47,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/nsec3hash.c:48,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:49,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/nsec3hash.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 24
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:56,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - message
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: check_result
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - fatal
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void check_result(isc_result_t result, const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:62,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:64,1
    - Dst: exit
      Src: /src/bind9/bin/tools/nsec3hash.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 6
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/tools/nsec3hash.c:91,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/nsec3hash.c:95,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/tools/nsec3hash.c:96,1
    - Dst: check_result
      Src: /src/bind9/bin/tools/nsec3hash.c:97,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/nsec3hash.c:98,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:100,1
    - Dst: atoi
      Src: /src/bind9/bin/tools/nsec3hash.c:106,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:108,1
    - Dst: atoi
      Src: /src/bind9/bin/tools/nsec3hash.c:110,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:112,1
    - Dst: atoi
      Src: /src/bind9/bin/tools/nsec3hash.c:114,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:116,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/nsec3hash.c:119,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/tools/nsec3hash.c:120,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/nsec3hash.c:120,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tools/nsec3hash.c:121,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/nsec3hash.c:121,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tools/nsec3hash.c:122,1
    - Dst: check_result
      Src: /src/bind9/bin/tools/nsec3hash.c:123,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/tools/nsec3hash.c:125,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/bin/tools/nsec3hash.c:126,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:129,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/nsec3hash.c:133,1
    - Dst: isc_base32hexnp_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:134,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tools/nsec3hash.c:135,1
    - Dst: nsec3print
      Src: /src/bind9/bin/tools/nsec3hash.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 6
    argNames:
    - nsec3print
    - algostr
    - flagstr
    - iterstr
    - saltstr
    - domain
    argTypes:
    - nsec3printer*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 138
    functionName: nsec3hash
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - nsec3print
    - dns_fixedname_initname
    - atoi
    - isc_base32hexnp_totext
    - isc_buffer_init
    - isc_hex_decodestring
    - check_result
    - fatal
    - isc_buffer_usedlength
    - strlen
    - dns_name_downcase
    - isc_buffer_add
    - strcmp
    - isc_iterated_hash
    - isc_buffer_putuint8
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: "void nsec3hash(nsec3printer *nsec3print, const char *algostr, const
      char *flagstr,\n\t  const char *iterstr, const char *saltstr, const char *domain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tools/nsec3hash.c:143,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tools/nsec3hash.c:144,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - algo
    - flags
    - iters
    - saltstr
    - domain
    - digest
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: nsec3hash_print
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void nsec3hash_print(unsigned int algo, unsigned int flags, unsigned
      int iters,\n\t\tconst char *saltstr, const char *domain, const char *digest)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - algo
    - flags
    - iters
    - saltstr
    - domain
    - digest
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: nsec3hash_rdata_print
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void nsec3hash_rdata_print(unsigned int algo, unsigned int flags,
      unsigned int iters,\n\t\t      const char *saltstr, const char *domain,\n\t\t
      \     const char *digest)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/tools/nsec3hash.c:163,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/nsec3hash.c:165,1
    - Dst: usage
      Src: /src/bind9/bin/tools/nsec3hash.c:184,1
    - Dst: nsec3hash
      Src: /src/bind9/bin/tools/nsec3hash.c:186,1
    - Dst: usage
      Src: /src/bind9/bin/tools/nsec3hash.c:190,1
    - Dst: nsec3hash
      Src: /src/bind9/bin/tools/nsec3hash.c:192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 196
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 7
    functionsReached:
    - isc_commandline_parse
    - nsec3hash
    - isc_commandline_init
    - usage
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: CHECKM
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKM(op, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:83,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/dnstap-read.c:84,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:85,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/dnstap-read.c:86,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:87,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/dnstap-read.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 26
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:93,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:94,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:95,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:96,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:98,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/dnstap-read.c:107,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:109,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:112,1
    - Dst: dns_dt_datatotext
      Src: /src/bind9/bin/tools/dnstap-read.c:112,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:113,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/dnstap-read.c:113,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/dnstap-read.c:114,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dns_dtdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: print_dtdata
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - dns_dt_datatotext
    - isc_buffer_free
    - fatal
    - isc_buffer_usedlength
    - printf
    - isc_buffer_allocate
    - CHECKM
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void print_dtdata(dns_dtdata_t *dt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/dnstap-read.c:133,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:135,1
    - Dst: isc_hex_totext
      Src: /src/bind9/bin/tools/dnstap-read.c:138,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:139,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:141,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/dnstap-read.c:141,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/dnstap-read.c:142,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dns_dtdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: print_hex
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - isc_buffer_free
    - fatal
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - printf
    - CHECKM
    - isc_hex_totext
    linkageType: ''
    returnType: void
    signature: void print_hex(dns_dtdata_t *dt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/dnstap-read.c:158,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:160,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/tools/dnstap-read.c:164,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:166,1
    - Dst: dns_message_totext
      Src: /src/bind9/bin/tools/dnstap-read.c:169,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/tools/dnstap-read.c:171,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:175,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/dnstap-read.c:175,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/dnstap-read.c:176,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:177,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:179,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:180,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - dt
    - style
    argTypes:
    - dns_dtdata_t*
    - dns_master_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 190
    functionName: print_packet
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - isc_buffer_reserve
    - isc_buffer_free
    - dns_message_totext
    - fatal
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - printf
    - CHECKM
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void print_packet(dns_dtdata_t *dt, const dns_master_style_t *style)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/bin/tools/dnstap-read.c:199,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:206,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:211,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:214,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:219,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:227,1
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/bin/tools/dnstap-read.c:229,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:235,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/tools/dnstap-read.c:237,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/tools/dnstap-read.c:240,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/tools/dnstap-read.c:242,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:244,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/tools/dnstap-read.c:247,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/tools/dnstap-read.c:250,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/tools/dnstap-read.c:252,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:254,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:258,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:260,1
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/bin/tools/dnstap-read.c:265,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:269,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:273,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tools/dnstap-read.c:280,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:282,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tools/dnstap-read.c:289,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:291,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:299,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/dnstap-read.c:308,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/dnstap-read.c:310,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tools/dnstap-read.c:311,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/bin/tools/dnstap-read.c:313,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:316,1
    - Dst: dns_name_print
      Src: /src/bind9/bin/tools/dnstap-read.c:317,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:318,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:325,1
    - Dst: print_packet
      Src: /src/bind9/bin/tools/dnstap-read.c:329,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:331,1
    - Dst: print_packet
      Src: /src/bind9/bin/tools/dnstap-read.c:334,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dns_dtdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 336
    functionName: print_yaml
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - isc_time_isepoch
    - dns_name_fromwire
    - isc_time_formatISO8601ms
    - dns_fixedname_initname
    - dns_name_print
    - inet_ntop
    - isc_buffer_init
    - printf
    - isc_buffer_add
    - isc_time_formatISO8601
    - print_packet
    - protobuf_c_enum_descriptor_get_value
    linkageType: ''
    returnType: void
    signature: void print_yaml(dns_dtdata_t *dt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/tools/dnstap-read.c:346,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/dnstap-read.c:348,1
    - Dst: usage
      Src: /src/bind9/bin/tools/dnstap-read.c:367,1
    - Dst: exit
      Src: /src/bind9/bin/tools/dnstap-read.c:368,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:376,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/tools/dnstap-read.c:379,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:381,1
    - Dst: dns_dt_open
      Src: /src/bind9/bin/tools/dnstap-read.c:381,1
    - Dst: dns_dt_getframe
      Src: /src/bind9/bin/tools/dnstap-read.c:389,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:393,1
    - Dst: dns_dt_parse
      Src: /src/bind9/bin/tools/dnstap-read.c:399,1
    - Dst: print_yaml
      Src: /src/bind9/bin/tools/dnstap-read.c:405,1
    - Dst: print_dtdata
      Src: /src/bind9/bin/tools/dnstap-read.c:407,1
    - Dst: print_hex
      Src: /src/bind9/bin/tools/dnstap-read.c:408,1
    - Dst: print_dtdata
      Src: /src/bind9/bin/tools/dnstap-read.c:410,1
    - Dst: print_packet
      Src: /src/bind9/bin/tools/dnstap-read.c:411,1
    - Dst: print_dtdata
      Src: /src/bind9/bin/tools/dnstap-read.c:413,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/bin/tools/dnstap-read.c:416,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/bin/tools/dnstap-read.c:421,1
    - Dst: dns_dt_close
      Src: /src/bind9/bin/tools/dnstap-read.c:424,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tools/dnstap-read.c:427,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/tools/dnstap-read.c:429,1
    - Dst: exit
      Src: /src/bind9/bin/tools/dnstap-read.c:431,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 432
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 7
    functionsReached:
    - dns_dt_open
    - print_dtdata
    - print_hex
    - print_yaml
    - CHECKM
    - dns_dtdata_free
    - isc_mem_detach
    - isc_commandline_parse
    - dns_message_detach
    - exit
    - isc_commandline_init
    - fatal
    - dns_dt_getframe
    - usage
    - dns_dt_parse
    - isc_mem_create
    - print_packet
    - dns_dt_close
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-journalprint.c:31,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-journalprint.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/named-journalprint.c
    functionUses: 8
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/tools/named-journalprint.c:40,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/tools/named-journalprint.c:41,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/tools/named-journalprint.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errout
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/tools/named-journalprint.c
    functionUses: 0
    functionsReached:
    - isc_log_createandusechannel
    - ISC_LOGDESTINATION_FILE
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void setup_logging(FILE *errout)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/tools/named-journalprint.c:60,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/named-journalprint.c:62,1
    - Dst: strtoul
      Src: /src/bind9/bin/tools/named-journalprint.c:66,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-journalprint.c:68,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-journalprint.c:70,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-journalprint.c:83,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-journalprint.c:91,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/tools/named-journalprint.c:95,1
    - Dst: setup_logging
      Src: /src/bind9/bin/tools/named-journalprint.c:96,1
    - Dst: dns_journal_compact
      Src: /src/bind9/bin/tools/named-journalprint.c:100,1
    - Dst: dns_journal_compact
      Src: /src/bind9/bin/tools/named-journalprint.c:103,1
    - Dst: dns_journal_compact
      Src: /src/bind9/bin/tools/named-journalprint.c:106,1
    - Dst: dns_journal_print
      Src: /src/bind9/bin/tools/named-journalprint.c:108,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-journalprint.c:110,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-journalprint.c:110,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/tools/named-journalprint.c:113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 115
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-journalprint.c
    functionUses: 7
    functionsReached:
    - setup_logging
    - strtoul
    - isc_mem_detach
    - isc_commandline_parse
    - dns_journal_compact
    - exit
    - isc_commandline_init
    - isc_result_totext
    - fprintf
    - dns_journal_print
    - usage
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:45,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:46,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:47,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:49,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:50,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:51,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:52,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:53,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_close
      Src: /src/bind9/bin/tools/named-rrchecker.c:60,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/tools/named-rrchecker.c:61,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/tools/named-rrchecker.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 5
    functionsReached:
    - isc_mem_detach
    - isc_lex_close
    - isc_lex_destroy
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:75,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/named-rrchecker.c:76,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:77,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/named-rrchecker.c:78,1
    - Dst: fputc
      Src: /src/bind9/bin/tools/named-rrchecker.c:79,1
    - Dst: cleanup
      Src: /src/bind9/bin/tools/named-rrchecker.c:80,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 30
    functionsReached:
    - va_end
    - _exit
    - cleanup
    - fputc
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/named-rrchecker.c:106,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:122,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/tools/named-rrchecker.c:125,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/named-rrchecker.c:126,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:127,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:130,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:134,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/tools/named-rrchecker.c:137,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/named-rrchecker.c:138,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:139,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:147,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/tools/named-rrchecker.c:150,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/named-rrchecker.c:151,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:152,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-rrchecker.c:161,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:164,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:166,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:170,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/tools/named-rrchecker.c:173,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/tools/named-rrchecker.c:174,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/bin/tools/named-rrchecker.c:183,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/bin/tools/named-rrchecker.c:185,1
    - Dst: isc_lex_openstream
      Src: /src/bind9/bin/tools/named-rrchecker.c:187,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/named-rrchecker.c:190,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tools/named-rrchecker.c:191,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:194,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:195,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/tools/named-rrchecker.c:199,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:209,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:217,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:220,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:221,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/tools/named-rrchecker.c:225,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:228,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:229,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:231,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:232,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:237,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/tools/named-rrchecker.c:240,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:258,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:261,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:262,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/tools/named-rrchecker.c:266,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:269,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:270,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:272,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:273,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:278,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/named-rrchecker.c:281,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/tools/named-rrchecker.c:282,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:285,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:286,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:291,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:294,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/named-rrchecker.c:298,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:299,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:301,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:302,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:304,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:305,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:307,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:308,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:310,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:311,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:313,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:314,1
    - Dst: printf
      Src: /src/bind9/bin/tools/named-rrchecker.c:317,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/named-rrchecker.c:318,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/named-rrchecker.c:322,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/bin/tools/named-rrchecker.c:323,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:325,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:326,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:328,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/bin/tools/named-rrchecker.c:329,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:331,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:332,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:334,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/named-rrchecker.c:335,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:339,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:340,1
    - Dst: printf
      Src: /src/bind9/bin/tools/named-rrchecker.c:343,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/named-rrchecker.c:344,1
    - Dst: cleanup
      Src: /src/bind9/bin/tools/named-rrchecker.c:347,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 187
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 349
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 7
    functionsReached:
    - isc_buffer_putstr
    - dns_rdataclass_totext
    - dns_rdata_totext
    - fatal
    - dns_name_fromstring
    - printf
    - fflush
    - cleanup
    - dns_fixedname_initname
    - isc_lex_setcomments
    - dns_rdataclass_format
    - isc_lex_openstream
    - fprintf
    - usage
    - dns_rdatatype_format
    - dns_rdataclass_fromtext
    - dns_rdatatype_tounknowntext
    - dns_rdatatype_ismeta
    - isc_lex_setspecials
    - dns_rdata_fromtext
    - dns_rdataclass_ismeta
    - dns_rdatatype_totext
    - isc_lex_gettoken
    - dns_rdata_tofmttext
    - strncmp
    - isc_commandline_parse
    - exit
    - isc_result_totext
    - isc_buffer_init
    - dns_rdataclass_tounknowntext
    - isc_lex_create
    - isc_mem_create
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - result
    - ','
    - function
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: ERRRET
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERRRET(result, function)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:69,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: usage
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 10
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/check/named-checkzone.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: destroy
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 55
    functionsReached:
    - dns_zone_detach
    linkageType: ''
    returnType: void
    signature: void destroy(void)
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/check/named-checkzone.c:120,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:122,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:124,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkzone.c:129,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/check/named-checkzone.c:144,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:158,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:164,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:170,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:176,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:182,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:189,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:191,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:213,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:216,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:219,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:223,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:225,1
    - Dst: strtol
      Src: /src/bind9/bin/check/named-checkzone.c:232,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:234,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:236,1
    - Dst: strtol
      Src: /src/bind9/bin/check/named-checkzone.c:243,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:245,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:247,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:252,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:255,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:258,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:262,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:264,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:269,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:272,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:275,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:279,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:281,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:294,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:297,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:300,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:304,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:306,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:311,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:313,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:316,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:318,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:323,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:325,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:328,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:331,1
    - Dst: isc_dir_chroot
      Src: /src/bind9/bin/check/named-checkzone.c:336,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:338,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkzone.c:340,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:341,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkzone.c:346,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:347,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:354,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:356,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:359,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:361,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:370,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:373,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:376,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:380,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:382,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:387,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:390,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:393,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:397,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:399,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:404,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:406,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:409,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:411,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:416,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:418,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:425,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:431,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:434,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:437,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/bin/check/named-checkzone.c:442,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:444,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkzone.c:445,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:446,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:451,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:453,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:455,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:457,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:460,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:462,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:467,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:469,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:471,1
    - Dst: strtol
      Src: /src/bind9/bin/check/named-checkzone.c:475,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:479,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:480,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:483,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:485,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:493,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:495,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkzone.c:508,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkzone.c:509,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkzone.c:510,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:519,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/check/named-checkzone.c:522,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/check/named-checkzone.c:524,1
    - Dst: setup_logging
      Src: /src/bind9/bin/check/named-checkzone.c:524,1
    - Dst: load_zone
      Src: /src/bind9/bin/check/named-checkzone.c:538,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/bin/check/named-checkzone.c:542,1
    - Dst: dns_zone_setrawdata
      Src: /src/bind9/bin/check/named-checkzone.c:545,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:550,1
    - Dst: fflush
      Src: /src/bind9/bin/check/named-checkzone.c:551,1
    - Dst: dump_zone
      Src: /src/bind9/bin/check/named-checkzone.c:553,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:556,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:561,1
    - Dst: destroy
      Src: /src/bind9/bin/check/named-checkzone.c:563,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/check/named-checkzone.c:564,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 369
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 567
    functionName: main
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 7
    functionsReached:
    - isc_commandline_init
    - printf
    - fflush
    - UNREACHABLE
    - dump_zone
    - load_zone
    - fprintf
    - isc_dir_chdir
    - usage
    - strcasecmp
    - setup_logging
    - RUNTIME_CHECK
    - ARGCMP
    - destroy
    - isc_dir_chroot
    - strtol
    - strncasecmp
    - dns_master_initrawheader
    - isc_mem_detach
    - isc_commandline_parse
    - exit
    - isc_result_totext
    - dns_zone_setrawdata
    - strcmp
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: ARGCMP
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGCMP(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:59,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkconf.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: usage
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 11
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/check/named-checkconf.c:72,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:72,1
    - Dst: UNUSED
      Src: /src/bind9/bin/check/named-checkconf.c:74,1
    - Dst: UNUSED
      Src: /src/bind9/bin/check/named-checkconf.c:75,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:80,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/bin/check/named-checkconf.c:81,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/check/named-checkconf.c:83,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkconf.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - clausename
    - obj
    - arg
    argTypes:
    - char*
    - cfg_obj_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: directory_callback
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_result_totext
    - cfg_obj_asstring
    - REQUIRE
    - isc_dir_chdir
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t directory_callback(const char *clausename, const cfg_obj_t
      *obj, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - maps
    - name
    - obj
    argTypes:
    - cfg_obj_t**
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: get_maps
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    linkageType: ''
    returnType: bool
    signature: bool get_maps(const cfg_obj_t **maps, const char *name, const cfg_obj_t
      **obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:118,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/check/named-checkconf.c:122,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:127,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:128,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:129,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:129,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:131,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:131,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - maps
    - obj
    argTypes:
    - cfg_obj_t**
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 139
    functionName: get_checknames
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - cfg_obj_islist
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool get_checknames(const cfg_obj_t **maps, const cfg_obj_t **obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:127,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:128,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:129,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:129,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:131,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:131,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_tuple_get
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (checknames, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/check/named-checkconf.c:152,1
    - Dst: strlen
      Src: /src/bind9/bin/check/named-checkconf.c:153,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/check/named-checkconf.c:154,1
    - Dst: dns_rootns_create
      Src: /src/bind9/bin/check/named-checkconf.c:159,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/check/named-checkconf.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - zfile
    - zclass
    - mctx
    argTypes:
    - char*
    - char*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 166
    functionName: configure_hint
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - strlen
    - UNCONST
    - dns_rootns_create
    - dns_rdataclass_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_hint(const char *zfile, const char *zclass,
      isc_mem_t *mctx)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:194,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:194,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:195,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/check/named-checkconf.c:196,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:199,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:202,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:205,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:208,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:215,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:217,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkconf.c:218,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:224,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:230,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkconf.c:231,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:238,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkconf.c:240,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:240,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:245,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:250,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:252,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:260,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:260,1
    - Dst: configure_hint
      Src: /src/bind9/bin/check/named-checkconf.c:261,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:262,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:262,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:263,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:263,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:264,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:264,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:272,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:272,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:273,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:275,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:288,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:289,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:289,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:292,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:292,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:295,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:295,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:299,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:307,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:308,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:308,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:311,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:311,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:314,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:314,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:318,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:326,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:327,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:337,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:338,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:338,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:341,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:341,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:344,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:344,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:348,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:356,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:357,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:357,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:360,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:360,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:363,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:363,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:367,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:375,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:376,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:384,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:385,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:385,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:387,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:387,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:390,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:397,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:398,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:408,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:409,1
    - Dst: get_checknames
      Src: /src/bind9/bin/check/named-checkconf.c:419,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:420,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:420,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:423,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:423,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:426,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:426,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:430,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:439,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:440,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:441,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:443,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:446,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:451,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/check/named-checkconf.c:452,1
    - Dst: load_zone
      Src: /src/bind9/bin/check/named-checkconf.c:456,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:459,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkconf.c:460,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 239
    argCount: 7
    argNames:
    - vclass
    - view
    - zconfig
    - vconfig
    - config
    - mctx
    - list
    argTypes:
    - char*
    - char*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 463
    functionName: configure_zone
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 9
    functionsReached:
    - configure_hint
    - UNREACHABLE
    - cfg_obj_asduration
    - get_checknames
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_isstring
    - cfg_obj_asstring
    - load_zone
    - printf
    - fprintf
    - strcmp
    - cfg_obj_asboolean
    - cfg_map_get
    - strcasecmp
    - get_maps
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_zone(const char *vclass, const char *view,
      const cfg_obj_t *zconfig,\n\t       const cfg_obj_t *vconfig, const cfg_obj_t
      *config,\n\t       isc_mem_t *mctx, bool list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:476,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:481,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:483,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:487,1
    - Dst: configure_zone
      Src: /src/bind9/bin/check/named-checkconf.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - vclass
    - view
    - config
    - vconfig
    - mctx
    - list
    argTypes:
    - char*
    - char*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 495
    functionName: configure_view
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 3
    functionsReached:
    - configure_zone
    - cfg_map_get
    - cfg_listelt_value
    - cfg_tuple_get
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_view(const char *vclass, const char *view,
      const cfg_obj_t *config,\n\t       const cfg_obj_t *vconfig, isc_mem_t *mctx,
      bool list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:487,1
    - Dst: configure_zone
      Src: /src/bind9/bin/check/named-checkconf.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 493
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 1
    functionsReached:
    - configure_zone
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zonelist, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/check/named-checkconf.c:502,1
    - Dst: UNCONST
      Src: /src/bind9/bin/check/named-checkconf.c:506,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:506,1
    - Dst: strlen
      Src: /src/bind9/bin/check/named-checkconf.c:507,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/check/named-checkconf.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - classobj
    - defclass
    - classp
    argTypes:
    - cfg_obj_t*
    - dns_rdataclass_t
    - dns_rdataclass_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 509
    functionName: config_getclass
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 5
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isstring
    - strlen
    - UNCONST
    - dns_rdataclass_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t
      defclass,\n\t\tdns_rdataclass_t *classp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:522,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:529,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:534,1
    - Dst: config_getclass
      Src: /src/bind9/bin/check/named-checkconf.c:535,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:538,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/check/named-checkconf.c:541,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:542,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/check/named-checkconf.c:545,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:546,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:546,1
    - Dst: configure_view
      Src: /src/bind9/bin/check/named-checkconf.c:547,1
    - Dst: configure_view
      Src: /src/bind9/bin/check/named-checkconf.c:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - config
    - mctx
    - list_zones
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 564
    functionName: load_zones_fromconfig
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - dns_rdataclass_ismeta
    - configure_view
    - dns_rdataclass_format
    - cfg_tuple_get
    - cfg_obj_asstring
    - CHECK
    - config_getclass
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_zones_fromconfig(const cfg_obj_t *config, isc_mem_t
      *mctx,\n\t\t      bool list_zones)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:529,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:534,1
    - Dst: config_getclass
      Src: /src/bind9/bin/check/named-checkconf.c:535,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:538,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/check/named-checkconf.c:541,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:542,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/check/named-checkconf.c:545,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:546,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:546,1
    - Dst: configure_view
      Src: /src/bind9/bin/check/named-checkconf.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 552
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 1
    functionsReached:
    - dns_rdataclass_ismeta
    - configure_view
    - dns_rdataclass_format
    - cfg_tuple_get
    - cfg_obj_asstring
    - CHECK
    - config_getclass
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (views, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bind9/bin/check/named-checkconf.c:568,1
    - Dst: perror
      Src: /src/bind9/bin/check/named-checkconf.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - closure
    - text
    - textlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: output
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 1
    functionsReached:
    - perror
    - fwrite
    linkageType: ''
    returnType: void
    signature: void output(void *closure, const char *text, int textlen)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/check/named-checkconf.c:592,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/check/named-checkconf.c:600,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:603,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:607,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:611,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/check/named-checkconf.c:622,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/check/named-checkconf.c:624,1
    - Dst: isc_dir_chroot
      Src: /src/bind9/bin/check/named-checkconf.c:658,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:660,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkconf.c:661,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:662,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkconf.c:671,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:688,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/check/named-checkconf.c:694,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkconf.c:695,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:698,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:701,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:706,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:708,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:711,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:713,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/check/named-checkconf.c:717,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkconf.c:718,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:727,1
    - Dst: setup_logging
      Src: /src/bind9/bin/check/named-checkconf.c:727,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:729,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/check/named-checkconf.c:729,1
    - Dst: cfg_parser_setflags
      Src: /src/bind9/bin/check/named-checkconf.c:732,1
    - Dst: cfg_parser_setflags
      Src: /src/bind9/bin/check/named-checkconf.c:735,1
    - Dst: cfg_parser_setcallback
      Src: /src/bind9/bin/check/named-checkconf.c:737,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:739,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/check/named-checkconf.c:739,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:740,1
    - Dst: isccfg_check_namedconf
      Src: /src/bind9/bin/check/named-checkconf.c:740,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:742,1
    - Dst: load_zones_fromconfig
      Src: /src/bind9/bin/check/named-checkconf.c:742,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/check/named-checkconf.c:746,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/check/named-checkconf.c:751,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/check/named-checkconf.c:755,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/check/named-checkconf.c:759,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 763
    functionName: main
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 7
    functionsReached:
    - cfg_parser_create
    - isc_commandline_init
    - printf
    - cfg_parser_setflags
    - cfg_obj_destroy
    - cfg_parser_setcallback
    - fprintf
    - usage
    - cfg_parser_destroy
    - strcasecmp
    - cfg_printx
    - setup_logging
    - isc_dir_chroot
    - isccfg_check_namedconf
    - load_zones_fromconfig
    - cfg_parse_file
    - isc_mem_detach
    - isc_commandline_parse
    - isc_result_totext
    - CHECK
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 142
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/check/check-tool.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/bin/check/check-tool.c:101,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/check/check-tool.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - type
    - value
    - userarg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: freekey
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freekey(char *key, unsigned int type, isc_symvalue_t value, void
      *userarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/bin/check/check-tool.c:111,1
    - Dst: isc_symtab_create
      Src: /src/bind9/bin/check/check-tool.c:115,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/check/check-tool.c:118,1
    - Dst: isc_symtab_define
      Src: /src/bind9/bin/check/check-tool.c:121,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/check/check-tool.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 126
    functionName: add
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 60
    functionsReached:
    - isc_symtab_create
    - isc_mem_free
    - isc_symtab_define
    - isc_mem_strdup
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: void add(char *key, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_lookup
      Src: /src/bind9/bin/check/check-tool.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: logged
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    linkageType: ''
    returnType: bool
    signature: bool logged(char *key, int value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:163,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:167,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:168,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:170,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:190,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:196,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:197,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/check/check-tool.c:197,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:199,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:200,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:204,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:208,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:209,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/check/check-tool.c:209,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:211,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:212,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:214,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - zone
    - type
    - name
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 219
    functionName: checkisservedby
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - freeaddrinfo
    - logged
    - strlcat
    - dns_zone_log
    - add
    - dns_zone_getorigin
    - dns_name_format
    - gai_strerror
    - getaddrinfo
    linkageType: ''
    returnType: bool
    signature: "bool checkisservedby(dns_zone_t *zone, dns_rdatatype_t type,\n\t\tconst
      dns_name_t *name)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/check/check-tool.c:241,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:241,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/check/check-tool.c:243,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:243,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:250,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:254,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:255,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:257,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:259,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:260,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/check-tool.c:274,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:275,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:277,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:283,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:290,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:291,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:295,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:301,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:302,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:304,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:305,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:313,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:319,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:326,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:331,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:332,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:336,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:338,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:345,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:350,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:358,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:363,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:364,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:368,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:370,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:380,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:400,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:403,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:404,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:414,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:418,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:427,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:431,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 122
    argCount: 5
    argNames:
    - zone
    - name
    - owner
    - a
    - aaaa
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 434
    functionName: checkns
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - freeaddrinfo
    - logged
    - strlcat
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - inet_ntop
    - dns_zone_log
    - add
    - memcmp
    - REQUIRE
    - dns_name_format
    - strcasecmp
    - gai_strerror
    - getaddrinfo
    linkageType: ''
    returnType: bool
    signature: "bool checkns(dns_zone_t *zone, const dns_name_t *name, const dns_name_t
      *owner,\n\tdns_rdataset_t *a, dns_rdataset_t *aaaa)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:319,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:326,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:331,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:332,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:336,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - inet_ntop
    - logged
    - memcmp
    - add
    - dns_zone_log
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:350,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:358,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:363,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:364,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:368,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 374
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - inet_ntop
    - logged
    - memcmp
    - add
    - dns_zone_log
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (aaaa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:403,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:451,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:455,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:456,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:458,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:460,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:461,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/check-tool.c:475,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:481,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:482,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:488,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:496,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:504,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:505,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:509,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:515,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:516,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:518,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:519,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - zone
    - name
    - owner
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 523
    functionName: checkmx
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - freeaddrinfo
    - logged
    - strlcat
    - dns_zone_log
    - add
    - getaddrinfo
    - dns_name_format
    - gai_strerror
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool checkmx(dns_zone_t *zone, const dns_name_t *name, const dns_name_t
      *owner)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:540,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:544,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:545,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:547,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:549,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:550,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/check-tool.c:564,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:570,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:571,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:577,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:585,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:593,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:594,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:598,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:604,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:605,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:607,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:608,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 3
    argNames:
    - zone
    - name
    - owner
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 612
    functionName: checksrv
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - freeaddrinfo
    - logged
    - strlcat
    - dns_zone_log
    - add
    - getaddrinfo
    - dns_name_format
    - gai_strerror
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool checksrv(dns_zone_t *zone, const dns_name_t *name, const dns_name_t
      *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/check/check-tool.c:616,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/check/check-tool.c:617,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/check/check-tool.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - errout
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 3
    functionsReached:
    - isc_log_createandusechannel
    - ISC_LOGDESTINATION_FILE
    - isc_logconfig_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setup_logging(FILE *errout)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/check/check-tool.c:638,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:641,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/check/check-tool.c:645,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/check/check-tool.c:647,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/check/check-tool.c:649,1
    - Dst: strlen
      Src: /src/bind9/bin/check/check-tool.c:649,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/check/check-tool.c:650,1
    - Dst: strlen
      Src: /src/bind9/bin/check/check-tool.c:650,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/check/check-tool.c:651,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/check-tool.c:652,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/check/check-tool.c:652,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/check/check-tool.c:653,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/check/check-tool.c:654,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/check-tool.c:655,1
    - Dst: dns_zone_setstream
      Src: /src/bind9/bin/check/check-tool.c:656,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/check/check-tool.c:659,1
    - Dst: dns_zone_setjournal
      Src: /src/bind9/bin/check/check-tool.c:663,1
    - Dst: UNCONST
      Src: /src/bind9/bin/check/check-tool.c:666,1
    - Dst: strlen
      Src: /src/bind9/bin/check/check-tool.c:667,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/check-tool.c:668,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/check/check-tool.c:668,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/check/check-tool.c:670,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/check/check-tool.c:671,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/check/check-tool.c:672,1
    - Dst: dns_zone_setmaxttl
      Src: /src/bind9/bin/check/check-tool.c:674,1
    - Dst: dns_zone_setcheckmx
      Src: /src/bind9/bin/check/check-tool.c:677,1
    - Dst: dns_zone_setcheckns
      Src: /src/bind9/bin/check/check-tool.c:680,1
    - Dst: dns_zone_setcheckisservedby
      Src: /src/bind9/bin/check/check-tool.c:681,1
    - Dst: dns_zone_setchecksrv
      Src: /src/bind9/bin/check/check-tool.c:684,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/check-tool.c:687,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/check/check-tool.c:687,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/check/check-tool.c:696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 7
    argNames:
    - mctx
    - zonename
    - filename
    - fileformat
    - classname
    - maxttl
    - zonep
    argTypes:
    - isc_mem_t*
    - char*
    - char*
    - dns_masterformat_t
    - char*
    - dns_ttl_t
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 699
    functionName: load_zone
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 3
    functionsReached:
    - dns_zone_setcheckns
    - dns_zone_detach
    - REQUIRE
    - dns_zone_load
    - dns_fixedname_initname
    - dns_zone_setcheckisservedby
    - dns_zone_setfile
    - dns_zone_setjournal
    - dns_zone_setdbtype
    - fprintf
    - dns_zone_setcheckmx
    - dns_rdataclass_fromtext
    - dns_zone_setchecksrv
    - isc_buffer_constinit
    - dns_name_fromtext
    - dns_zone_settype
    - dns_zone_setmaxttl
    - strlen
    - UNCONST
    - dns_zone_setstream
    - dns_zone_create
    - dns_zone_setclass
    - dns_zone_setorigin
    - dns_zone_setoption
    - CHECK
    - isc_buffer_add
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_zone(isc_mem_t *mctx, const char *zonename, const
      char *filename,\n\t  dns_masterformat_t fileformat, const char *classname,\n\t
      \ dns_ttl_t maxttl, dns_zone_t **zonep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/check/check-tool.c:713,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:714,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:717,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/check-tool.c:721,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/check/check-tool.c:722,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:725,1
    - Dst: dns_zone_dumptostream
      Src: /src/bind9/bin/check/check-tool.c:733,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/check/check-tool.c:736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - zonename
    - zone
    - filename
    - fileformat
    - style
    - rawversion
    argTypes:
    - char*
    - dns_zone_t*
    - char*
    - dns_masterformat_t
    - dns_master_style_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 740
    functionName: dump_zone
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 1
    functionsReached:
    - dns_zone_dumptostream
    - isc_stdio_open
    - fprintf
    - strcmp
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_zone(const char *zonename, dns_zone_t *zone, const
      char *filename,\n\t  dns_masterformat_t fileformat, const dns_master_style_t
      *style,\n\t  const uint32_t rawversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 143
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:178,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 261
    functionName: usage
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 12
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/delv/delv.c:270,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:271,1
    - Dst: va_start
      Src: /src/bind9/bin/delv/delv.c:272,1
    - Dst: vfprintf
      Src: /src/bind9/bin/delv/delv.c:273,1
    - Dst: va_end
      Src: /src/bind9/bin/delv/delv.c:274,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:275,1
    - Dst: _exit
      Src: /src/bind9/bin/delv/delv.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: fatal
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 31
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - fflush
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/delv/delv.c:286,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:287,1
    - Dst: va_start
      Src: /src/bind9/bin/delv/delv.c:288,1
    - Dst: vfprintf
      Src: /src/bind9/bin/delv/delv.c:289,1
    - Dst: va_end
      Src: /src/bind9/bin/delv/delv.c:290,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: warn
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - fprintf
    - fflush
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void warn(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/bin/delv/delv.c:302,1
    - Dst: va_start
      Src: /src/bind9/bin/delv/delv.c:306,1
    - Dst: vsnprintf
      Src: /src/bind9/bin/delv/delv.c:308,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/delv/delv.c:309,1
    - Dst: va_end
      Src: /src/bind9/bin/delv/delv.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: delv_log
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void delv_log(int level, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/delv/delv.c:320,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/delv/delv.c:322,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/delv/delv.c:324,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:326,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:328,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:333,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:335,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:335,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:341,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:343,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:343,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:352,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:354,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - errout
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 358
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 3
    functionsReached:
    - isc_logconfig_get
    - ISC_LOG_DEBUG
    - ISC_LOGDESTINATION_FILE
    - isc_log_settag
    - isc_log_createandusechannel
    - isc_log_setdebuglevel
    linkageType: ''
    returnType: void
    signature: void setup_logging(FILE *errout)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/delv/delv.c:364,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:366,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:373,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:374,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:379,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:382,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:384,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:386,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:389,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:391,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:393,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:396,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:399,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:403,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:405,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:409,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:412,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:415,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:418,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:432,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:434,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 436
    functionName: print_status
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - printf
    - strlcat
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void print_status(dns_rdataset_t *rdataset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:448,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/delv/delv.c:450,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:451,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:451,1
    - Dst: putchar
      Src: /src/bind9/bin/delv/delv.c:462,1
    - Dst: print_status
      Src: /src/bind9/bin/delv/delv.c:464,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:470,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:472,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/delv/delv.c:481,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/delv/delv.c:482,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/delv/delv.c:489,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/delv/delv.c:494,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/delv/delv.c:499,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/delv/delv.c:501,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:507,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:512,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/delv/delv.c:516,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:517,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:521,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - rdataset
    - owner
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 523
    functionName: printdata
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_master_rdatasettotext
    - putchar
    - dns_rdata_tofmttext
    - ISC_LOG_DEBUG
    - print_status
    - dns_rdataset_current
    - isc_buffer_putstr
    - dns_rdataset_isassociated
    - isc_buffer_init
    - isc_mem_get
    - CHECK
    - printf
    - dns_name_format
    - isc_mem_put
    - delv_log
    - isc_buffer_usedregion
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void printdata(dns_rdataset_t *rdataset, dns_name_t *owner)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/delv/delv.c:481,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/delv/delv.c:482,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/delv/delv.c:489,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/delv/delv.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 495
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tofmttext
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/delv/delv.c:558,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/delv/delv.c:561,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/delv/delv.c:564,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 569
    functionName: setup_style
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_master_stylecreate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setup_style(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/delv/delv.c:578,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:579,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/delv/delv.c:581,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/delv/delv.c:582,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/delv/delv.c:583,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/delv/delv.c:585,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:587,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fn
    - name
    - text
    argTypes:
    - dns_fixedname_t*
    - dns_name_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 594
    functionName: convert_name
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_result_totext
    - strlen
    - REQUIRE
    - isc_buffer_add
    - delv_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t convert_name(dns_fixedname_t *fn, dns_name_t **name, const
      char *text)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/delv/delv.c:620,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:622,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:622,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:623,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:623,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/delv/delv.c:630,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:641,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:641,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/delv/delv.c:644,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:644,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/delv/delv.c:647,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:647,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/delv/delv.c:650,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:650,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:653,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/delv/delv.c:654,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:661,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:662,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:664,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:666,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:668,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:671,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:679,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:680,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:683,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:686,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:689,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:700,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:706,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:706,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:707,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/delv/delv.c:707,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/delv/delv.c:708,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:712,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/delv/delv.c:712,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:716,1
    - Dst: dns_client_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:716,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:720,1
    - Dst: dns_view_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:720,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:731,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:737,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:737,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:738,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/delv/delv.c:738,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/delv/delv.c:739,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:744,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:749,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:754,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:762,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/delv/delv.c:762,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:765,1
    - Dst: dns_client_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:765,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:769,1
    - Dst: dns_view_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:769,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/delv/delv.c:778,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:780,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/delv/delv.c:783,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:785,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 129
    argCount: 3
    argNames:
    - key
    - client
    - toview
    argTypes:
    - cfg_obj_t*
    - dns_client_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 790
    functionName: key_fromconfig
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - REQUIRE
    - isc_buffer_usedregion
    - ISC_LINK_INIT
    - isc_base64_decodestring
    - delv_log
    - strcasecmp
    - cfg_obj_asuint32
    - dns_rdata_fromstruct
    - ISC_LOG_DEBUG
    - cfg_obj_isvoid
    - dns_view_addtrustedkey
    - cfg_obj_log
    - dns_client_addtrustedkey
    - dns_name_equal
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_buffer_init
    - CHECK
    - convert_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t key_fromconfig(const cfg_obj_t *key, dns_client_t *client,
      dns_view_t *toview)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:798,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:800,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:801,1
    - Dst: key_fromconfig
      Src: /src/bind9/bin/delv/delv.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - keys
    - client
    - toview
    argTypes:
    - cfg_obj_t*
    - dns_client_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 792
    functionDepth: 4
    functionLinenumber: 792
    functionLinenumberEnd: 807
    functionName: load_keys
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - CHECK
    - cfg_listelt_value
    - key_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_keys(const cfg_obj_t *keys, dns_client_t *client,
      dns_view_t *toview)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:798,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:800,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:801,1
    - Dst: key_fromconfig
      Src: /src/bind9/bin/delv/delv.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 797
    functionDepth: 4
    functionLinenumber: 797
    functionLinenumberEnd: 803
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - CHECK
    - cfg_listelt_value
    - key_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keys, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:800,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:801,1
    - Dst: key_fromconfig
      Src: /src/bind9/bin/delv/delv.c:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 4
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - CHECK
    - cfg_listelt_value
    - key_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, elt2)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:821,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:825,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:825,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:828,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/delv/delv.c:828,1
    - Dst: access
      Src: /src/bind9/bin/delv/delv.c:831,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:832,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/delv/delv.c:835,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:838,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:843,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/delv/delv.c:844,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/bin/delv/delv.c:845,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/delv/delv.c:846,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:849,1
    - Dst: INSIST
      Src: /src/bind9/bin/delv/delv.c:853,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/delv/delv.c:854,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:856,1
    - Dst: load_keys
      Src: /src/bind9/bin/delv/delv.c:856,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:861,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/delv/delv.c:866,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/delv/delv.c:869,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:872,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - client
    - toview
    argTypes:
    - dns_client_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 809
    functionDepth: 5
    functionLinenumber: 809
    functionLinenumberEnd: 876
    functionName: setup_dnsseckeys
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - cfg_parser_reset
    - cfg_parse_buffer
    - cfg_parse_file
    - cfg_parser_create
    - cfg_parser_destroy
    - delv_log
    - access
    - INSIST
    - cfg_obj_destroy
    - isc_buffer_init
    - isc_result_totext
    - CHECK
    - fatal
    - convert_name
    - isc_mem_strdup
    - isc_buffer_add
    - load_keys
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setup_dnsseckeys(dns_client_t *client, dns_view_t *toview)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/delv/delv.c:889,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:891,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:893,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:895,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:896,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:897,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:898,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:899,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:901,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:903,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:904,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/delv/delv.c:905,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:906,1
    - Dst: memset
      Src: /src/bind9/bin/delv/delv.c:908,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/delv/delv.c:918,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:920,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/delv/delv.c:921,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:932,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:936,1
    - Dst: memmove
      Src: /src/bind9/bin/delv/delv.c:937,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:938,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/delv/delv.c:940,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:941,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:944,1
    - Dst: dns_client_setservers
      Src: /src/bind9/bin/delv/delv.c:944,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:947,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/delv/delv.c:948,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:949,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:953,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 1
    argNames:
    - client
    argTypes:
    - dns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 958
    functionName: addserver
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - fatal
    - freeaddrinfo
    - ISC_LINK_INIT
    - isc_sockaddr_fromin
    - ISC_LIST_INIT
    - delv_log
    - gai_strerror
    - dns_client_setservers
    - isc_mem_get
    - inet_pton
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    - isc_result_totext
    - isc_sockaddr_fromin6
    - CHECK
    - isc_mem_put
    - getaddrinfo
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t addserver(dns_client_t *client)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: irs_resconf_load
      Src: /src/bind9/bin/delv/delv.c:966,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:968,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:969,1
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/bin/delv/delv.c:974,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:975,1
    - Dst: htons
      Src: /src/bind9/bin/delv/delv.c:978,1
    - Dst: htons
      Src: /src/bind9/bin/delv/delv.c:982,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/delv/delv.c:987,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:988,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/delv/delv.c:992,1
    - Dst: htonl
      Src: /src/bind9/bin/delv/delv.c:995,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:996,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:997,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:999,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:1000,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:1004,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/delv/delv.c:1005,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:1007,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:1008,1
    - Dst: dns_client_setservers
      Src: /src/bind9/bin/delv/delv.c:1012,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:1015,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1016,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/bin/delv/delv.c:1021,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - client
    argTypes:
    - dns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 960
    functionDepth: 2
    functionLinenumber: 960
    functionLinenumberEnd: 1024
    functionName: findserver
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - irs_resconf_getnameservers
    - irs_resconf_destroy
    - htonl
    - ISC_LIST_EMPTY
    - htons
    - ISC_LIST_APPEND
    - dns_client_setservers
    - irs_resconf_load
    - ISC_LINK_INIT
    - isc_result_totext
    - isc_sockaddr_fromin6
    - isc_mem_get
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - isc_sockaddr_fromin
    - isc_mem_put
    - delv_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t findserver(dns_client_t *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/delv/delv.c:1029,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1034,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - uip
    - value
    - max
    - desc
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1040
    functionName: parse_uint
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 3
    functionsReached:
    - isc_parse_uint32
    - printf
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_uint(uint32_t *uip, const char *value, uint32_t
      max, const char *desc)
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/delv/delv.c:1048,1
    - Dst: strtok_r
      Src: /src/bind9/bin/delv/delv.c:1050,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1052,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/delv/delv.c:1055,1
    - Dst: strtok_r
      Src: /src/bind9/bin/delv/delv.c:1060,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1071,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1079,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1083,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1087,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1091,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1101,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1113,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1129,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1136,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1139,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1142,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1146,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1153,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1156,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1159,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1168,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1175,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1185,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1199,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:1201,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:1204,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1208,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1220,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1227,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1229,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1232,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1236,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1242,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1246,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1250,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1260,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1270,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1281,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1284,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1299,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1303,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1314,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1320,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1326,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1327,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1331,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1339,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1347,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1354,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:1363,1
    - Dst: usage
      Src: /src/bind9/bin/delv/delv.c:1364,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 314
    argCount: 1
    argNames:
    - option
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1367
    functionName: plus_option
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - warn
    - usage
    - INSIST
    - FULLCHECK
    - fatal
    - printf
    - isc_mem_strdup
    - fprintf
    - strtok_r
    - strcasecmp
    - strncasecmp
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void plus_option(char *option)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1068
    functionName: FULLCHECK
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULLCHECK(A)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/delv/delv.c:1390,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/delv/delv.c:1399,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1400,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/delv/delv.c:1403,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/delv/delv.c:1408,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1409,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/delv/delv.c:1412,1
    - Dst: usage
      Src: /src/bind9/bin/delv/delv.c:1420,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:1421,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1430,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:1431,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/delv/delv.c:1433,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1435,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1442,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1454,1
    - Dst: strchr
      Src: /src/bind9/bin/delv/delv.c:1457,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1459,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1461,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1469,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1471,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:1474,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1476,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1478,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/delv/delv.c:1481,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1487,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1495,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1500,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/delv/delv.c:1501,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1506,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1508,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1512,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1514,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1520,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1522,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1527,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:1528,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1530,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1535,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/delv/delv.c:1536,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1540,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1545,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1550,1
    - Dst: get_reverse
      Src: /src/bind9/bin/delv/delv.c:1554,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:1557,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1558,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1560,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1562,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:1567,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:1568,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:1573,1
    - Dst: usage
      Src: /src/bind9/bin/delv/delv.c:1574,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/delv/delv.c:1576,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 178
    argCount: 3
    argNames:
    - option
    - next
    - open_type_class
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1578
    functionName: dash_option
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - fatal
    - printf
    - parse_uint
    - UNREACHABLE
    - fprintf
    - usage
    - isc_sockaddr_fromin
    - dns_rdataclass_fromtext
    - warn
    - strchr
    - strpbrk
    - strlen
    - isc_net_disableipv6
    - isc_mem_strdup
    - inet_pton
    - isc_mem_free
    - isc_net_probeipv4
    - get_reverse
    - exit
    - isc_sockaddr_fromin6
    - isc_net_disableipv4
    - isc_net_probeipv6
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: bool
    signature: bool dash_option(char *option, char *next, bool *open_type_class)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/delv/delv.c:1595,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/delv/delv.c:1598,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1599,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1608,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1614,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1622,1
    - Dst: strpbrk
      Src: /src/bind9/bin/delv/delv.c:1627,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1628,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1643
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - strlen
    - isc_crypto_fips_enable
    - fatal
    - strpbrk
    linkageType: ''
    returnType: void
    signature: void preparse_args(int argc, char **argv)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: plus_option
      Src: /src/bind9/bin/delv/delv.c:1663,1
    - Dst: dash_option
      Src: /src/bind9/bin/delv/delv.c:1666,1
    - Dst: dash_option
      Src: /src/bind9/bin/delv/delv.c:1673,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1686,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/delv/delv.c:1687,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1691,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1696,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/delv/delv.c:1702,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1706,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1709,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1717,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1724,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1736,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1744
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached:
    - plus_option
    - warn
    - strlen
    - fatal
    - isc_mem_strdup
    - dns_rdataclass_fromtext
    - dash_option
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: void
    signature: void parse_args(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/bin/delv/delv.c:1751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - len
    - p
    - end
    argTypes:
    - char*
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1746
    functionDepth: 0
    functionLinenumber: 1746
    functionLinenumberEnd: 1754
    functionName: append_str
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t append_str(const char *text, int len, char **p, char *end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/bin/delv/delv.c:1758,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/delv/delv.c:1762,1
    - Dst: append_str
      Src: /src/bind9/bin/delv/delv.c:1766,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1772,1
    - Dst: append_str
      Src: /src/bind9/bin/delv/delv.c:1774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - in
    - p
    - end
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1756
    functionDepth: 1
    functionLinenumber: 1756
    functionLinenumberEnd: 1775
    functionName: reverse_octets
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 3
    functionsReached:
    - strlen
    - strchr
    - append_str
    - reverse_octets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t reverse_octets(const char *in, char **p, char *end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1784,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/delv/delv.c:1790,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/delv/delv.c:1791,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/delv/delv.c:1795,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1808,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/delv/delv.c:1811,1
    - Dst: append_str
      Src: /src/bind9/bin/delv/delv.c:1815,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - reverse
    - len
    - value
    - strict
    argTypes:
    - char*
    - size_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1821
    functionName: get_reverse
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached:
    - dns_fixedname_initname
    - inet_pton
    - dns_name_format
    - dns_byaddr_createptrname
    - append_str
    - reverse_octets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_reverse(char *reverse, size_t len, char *value, bool
      strict)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:1829,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1830,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1834,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/delv/delv.c:1835,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1836,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1837,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1837,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1838,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1841,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1842,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:1843,1
    - Dst: dns_client_freeresanswer
      Src: /src/bind9/bin/delv/delv.c:1847,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:1848,1
    - Dst: dns_client_detach
      Src: /src/bind9/bin/delv/delv.c:1850,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - client
    - query_name
    - namelist
    - result
    argTypes:
    - dns_client_t*
    - dns_name_t*
    - dns_namelist_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1823
    functionDepth: 3
    functionLinenumber: 1823
    functionLinenumberEnd: 1853
    functionName: resolve_cb
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_result_totext
    - dns_client_detach
    - printdata
    - dns_client_freeresanswer
    - printf
    - ISC_LIST_FOREACH
    - dns_name_format
    - isc_mem_put
    - delv_log
    linkageType: ''
    returnType: void
    signature: "void resolve_cb(dns_client_t *client, const dns_name_t *query_name,\n\t
      \  dns_namelist_t *namelist, isc_result_t result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:1863,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:1865,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/delv/delv.c:1866,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:1869,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:1869,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:1887,1
    - Dst: dns_client_create
      Src: /src/bind9/bin/delv/delv.c:1887,1
    - Dst: dns_client_setmaxrestarts
      Src: /src/bind9/bin/delv/delv.c:1889,1
    - Dst: dns_client_setmaxqueries
      Src: /src/bind9/bin/delv/delv.c:1890,1
    - Dst: addserver
      Src: /src/bind9/bin/delv/delv.c:1894,1
    - Dst: findserver
      Src: /src/bind9/bin/delv/delv.c:1896,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:1899,1
    - Dst: setup_dnsseckeys
      Src: /src/bind9/bin/delv/delv.c:1899,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:1902,1
    - Dst: dns_client_resolve
      Src: /src/bind9/bin/delv/delv.c:1902,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:1907,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1908,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:1911,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1912,1
    - Dst: dns_client_detach
      Src: /src/bind9/bin/delv/delv.c:1914,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1855
    functionDepth: 6
    functionLinenumber: 1855
    functionLinenumberEnd: 1915
    functionName: run_resolve
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_client_setmaxqueries
    - setup_dnsseckeys
    - UNUSED
    - delv_log
    - isc_result_totext
    - dns_client_detach
    - addserver
    - isc_mem_get
    - CHECK
    - dns_client_create
    - convert_name
    - findserver
    - ISC_LIST_INIT
    - isc_mem_put
    - dns_client_setmaxrestarts
    - dns_client_resolve
    linkageType: ''
    returnType: void
    signature: void run_resolve(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1920,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/delv/delv.c:1921,1
    - Dst: ns_interfacemgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1924,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/bin/delv/delv.c:1925,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/delv/delv.c:1928,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/delv/delv.c:1931,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/delv/delv.c:1934,1
    - Dst: ns_server_detach
      Src: /src/bind9/bin/delv/delv.c:1937,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1941
    functionName: shutdown_server
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    - ns_interfacemgr_detach
    - isc_loopmgr_shutdown
    - ns_interfacemgr_shutdown
    - dns_dispatchmgr_detach
    - ns_server_detach
    - dns_requestmgr_shutdown
    - dns_requestmgr_detach
    linkageType: ''
    returnType: void
    signature: void shutdown_server(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/delv/delv.c:1946,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/delv/delv.c:1947,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1952,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1952,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/delv/delv.c:1955,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/delv/delv.c:1958,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1961,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1961,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/bin/delv/delv.c:1964,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:1965,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1966,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1973,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:1984,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/delv/delv.c:1996,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2011,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2012,1
    - Dst: dns_view_simplefind
      Src: /src/bind9/bin/delv/delv.c:2017,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2021,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2022,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:2023,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2024,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2025,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/delv/delv.c:2032,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/delv/delv.c:2033,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/delv/delv.c:2034,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/delv/delv.c:2036,1
    - Dst: shutdown_server
      Src: /src/bind9/bin/delv/delv.c:2037,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 1943
    functionDepth: 3
    functionLinenumber: 1943
    functionLinenumberEnd: 2038
    functionName: recvresponse
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_view_simplefind
    - fatal
    - printdata
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdataset_isassociated
    - dns_request_getresponse
    - delv_log
    - dns_message_create
    - shutdown_server
    - dns_request_getresult
    - ISC_LIST_FOREACH
    - dns_message_detach
    - dns_result_fromrcode
    - dns_request_getarg
    - dns_name_equal
    - isc_result_totext
    - dns_request_destroy
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void recvresponse(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1973,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:1984,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/delv/delv.c:1996,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2011,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2012,1
    - Dst: dns_view_simplefind
      Src: /src/bind9/bin/delv/delv.c:2017,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2021,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2022,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:2023,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2024,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2025,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 1970
    functionDepth: 3
    functionLinenumber: 1970
    functionLinenumberEnd: 2029
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_view_simplefind
    - dns_name_equal
    - dns_rdataset_isassociated
    - printdata
    - dns_rdataset_disassociate
    - ISC_LIST_FOREACH
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (response, DNS_SECTION_ANSWER, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2042,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2046
    functionName: accept_cb
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t accept_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmsocket_getaddr
      Src: /src/bind9/bin/delv/delv.c:2051,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2060,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:2060,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/delv/delv.c:2062,1
    - Dst: isc_random16
      Src: /src/bind9/bin/delv/delv.c:2070,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/delv/delv.c:2072,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/delv/delv.c:2073,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/delv/delv.c:2074,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/delv/delv.c:2075,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:2076,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/delv/delv.c:2077,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2081,1
    - Dst: dns_message_buildopt
      Src: /src/bind9/bin/delv/delv.c:2081,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2083,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/delv/delv.c:2083,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2085,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/delv/delv.c:2085,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/delv/delv.c:2088,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/bin/delv/delv.c:2090,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2092,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/delv/delv.c:2092,1
    - Dst: isc_loop
      Src: /src/bind9/bin/delv/delv.c:2094,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/delv/delv.c:2100,1
    - Dst: shutdown_server
      Src: /src/bind9/bin/delv/delv.c:2103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2048
    functionDepth: 3
    functionLinenumber: 2048
    functionLinenumberEnd: 2104
    functionName: sendquery
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached:
    - dns_message_gettempname
    - dns_requestmgr_create
    - dns_view_attach
    - dns_request_create
    - dns_message_gettemprdataset
    - dns_message_buildopt
    - dns_message_create
    - dns_message_addname
    - shutdown_server
    - dns_message_detach
    - isc_nmsocket_getaddr
    - dns_message_setopt
    - ISC_LIST_APPEND
    - isc_random16
    - isc_nm_getinitialtimeout
    - dns_rdataset_makequestion
    - dns_name_clone
    - CHECK
    - convert_name
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void sendquery(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2112,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2113,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2114,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2115,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2116,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2117,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2118,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2119,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 11
    argNames:
    - srcaddr
    - destaddr
    - message
    - env
    - lsctx
    - loop
    - cb
    - cbarg
    - sigresultp
    - viewpatchresultp
    - viewp
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    - dns_message_t*
    - dns_aclenv_t*
    - ns_server_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_result_t*
    - isc_result_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2125
    functionName: matchview
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t matchview(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr,\n\t
      \ dns_message_t *message, dns_aclenv_t *env, ns_server_t *lsctx,\n\t  isc_loop_t
      *loop, isc_job_cb cb, void *cbarg,\n\t  isc_result_t *sigresultp, isc_result_t
      *viewpatchresultp,\n\t  dns_view_t **viewp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2134,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/delv/delv.c:2136,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:2136,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:2137,1
    - Dst: ns_server_create
      Src: /src/bind9/bin/delv/delv.c:2139,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2141,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/delv/delv.c:2141,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/delv/delv.c:2144,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2146,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/delv/delv.c:2146,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/delv/delv.c:2150,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2152,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/delv/delv.c:2152,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2155,1
    - Dst: ns_interfacemgr_create
      Src: /src/bind9/bin/delv/delv.c:2155,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/delv/delv.c:2158,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2160,1
    - Dst: dns_cache_create
      Src: /src/bind9/bin/delv/delv.c:2160,1
    - Dst: dns_view_setcache
      Src: /src/bind9/bin/delv/delv.c:2161,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/delv/delv.c:2162,1
    - Dst: dns_view_setdstport
      Src: /src/bind9/bin/delv/delv.c:2163,1
    - Dst: dns_view_setmaxrestarts
      Src: /src/bind9/bin/delv/delv.c:2164,1
    - Dst: dns_view_setmaxqueries
      Src: /src/bind9/bin/delv/delv.c:2165,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2167,1
    - Dst: dns_rootns_create
      Src: /src/bind9/bin/delv/delv.c:2167,1
    - Dst: dns_view_sethints
      Src: /src/bind9/bin/delv/delv.c:2168,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/delv/delv.c:2169,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/bin/delv/delv.c:2174,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2175,1
    - Dst: setup_dnsseckeys
      Src: /src/bind9/bin/delv/delv.c:2175,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2177,1
    - Dst: dns_view_createresolver
      Src: /src/bind9/bin/delv/delv.c:2177,1
    - Dst: dns_resolver_setmaxqueries
      Src: /src/bind9/bin/delv/delv.c:2179,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/delv/delv.c:2181,1
    - Dst: dns_resolver_setstats
      Src: /src/bind9/bin/delv/delv.c:2182,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/delv/delv.c:2183,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/bin/delv/delv.c:2185,1
    - Dst: dns_resolver_setquerystats
      Src: /src/bind9/bin/delv/delv.c:2186,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/delv/delv.c:2187,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/delv/delv.c:2189,1
    - Dst: ns_interface_create
      Src: /src/bind9/bin/delv/delv.c:2191,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2193,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/bin/delv/delv.c:2193,1
    - Dst: isc_async_current
      Src: /src/bind9/bin/delv/delv.c:2198,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/delv/delv.c:2204,1
    - Dst: shutdown_server
      Src: /src/bind9/bin/delv/delv.c:2206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2127
    functionDepth: 6
    functionLinenumber: 2127
    functionLinenumberEnd: 2207
    functionName: run_server
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_view_setcache
    - dns_view_sethints
    - isc_stats_detach
    - setup_dnsseckeys
    - dns_view_create
    - dns_dispatch_createudp
    - dns_view_setdstport
    - ns_server_create
    - dns_view_setmaxrestarts
    - ns_interface_create
    - isc_sockaddr_any6
    - ns_interfacemgr_create
    - dns_view_initsecroots
    - dns_db_detach
    - isc_nm_listenstreamdns
    - dns_cache_create
    - dns_view_setmaxqueries
    - dns_resolver_setstats
    - isc_sockaddr_fromin
    - dns_rdatatypestats_create
    - RUNTIME_CHECK
    - UNUSED
    - isc_async_current
    - isc_sockaddr_any
    - isc_stats_create
    - dns_resolver_setquerystats
    - shutdown_server
    - inet_pton
    - dns_resolver_setmaxqueries
    - dns_view_createresolver
    - dns_stats_detach
    - CHECK
    - dns_view_freeze
    - dns_cache_detach
    - dns_rootns_create
    - dns_dispatchmgr_create
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void run_server(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/delv/delv.c:2214,1
    - Dst: preparse_args
      Src: /src/bind9/bin/delv/delv.c:2218,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/delv/delv.c:2223,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/delv/delv.c:2224,1
    - Dst: parse_args
      Src: /src/bind9/bin/delv/delv.c:2226,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2228,1
    - Dst: setup_style
      Src: /src/bind9/bin/delv/delv.c:2228,1
    - Dst: setup_logging
      Src: /src/bind9/bin/delv/delv.c:2230,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:2233,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:2239,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/delv/delv.c:2245,1
    - Dst: isc_loop_setup
      Src: /src/bind9/bin/delv/delv.c:2247,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/delv/delv.c:2248,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/delv/delv.c:2252,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:2255,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:2258,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:2261,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/delv/delv.c:2264,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/delv/delv.c:2267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2209
    functionDepth: 2
    functionLinenumber: 2209
    functionLinenumberEnd: 2270
    functionName: main
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 8
    functionsReached:
    - parse_args
    - setup_logging
    - isc_mem_free
    - dns_master_styledestroy
    - isc_managers_destroy
    - isc_tlsctx_cache_detach
    - isc_commandline_init
    - isc_tlsctx_cache_create
    - CHECK
    - isc_loopmgr_run
    - setup_style
    - preparse_args
    - delv_log
    - isc_loop_main
    - isc_managers_create
    - isc_loop_setup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: primary_from_servers
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void primary_from_servers(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: getzoneclass
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_rdataclass_t
    signature: dns_rdataclass_t getzoneclass(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rdclass
    argTypes:
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: setzoneclass
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool setzoneclass(dns_rdataclass_t rdclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:276,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:277,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:278,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:279,1
    - Dst: _exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: fatal
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 38
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:287,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:288,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:289,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: error
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 22
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void error(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:298,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:299,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:300,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: debug
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void debug(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:310,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:311,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:312,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: ddebug
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void ddebug(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:320,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: check_result
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - fatal
    - isc_result_totext
    linkageType: ''
    returnType: ISC_NO_SANITIZE_ADDRESS
    signature: ISC_NO_SANITIZE_ADDRESS check_result(isc_result_t result, const char
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 359
    functionName: nsu_strsep
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      nsu_strsep(char **stringp, const char *delim)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:363,1
    - Dst: dns_message_reset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:366,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:368,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:374,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 380
    functionName: reset_system
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_tsigkey_detach
    - dns_tsigkeyring_detach
    - ddebug
    - dns_message_reset
    - dns_message_create
    linkageType: ''
    returnType: void
    signature: void reset_system(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/nsupdate/nsupdate.c:389,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/nsupdate/nsupdate.c:390,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:393,1
    - Dst: strlcpy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:398,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/nsupdate/nsupdate.c:398,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:400,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:402,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:404,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:406,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:410,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:412,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:414,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:416,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:420,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:422,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:424,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:426,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:430,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:432,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:434,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:436,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:440,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:442,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:444,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:446,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:450,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:452,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:454,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:456,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:461,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 4
    argNames:
    - hmacstr
    - len
    - hmac_alg
    - digestbitsp
    argTypes:
    - char*
    - size_t
    - dst_algorithm_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 465
    functionName: parse_hmac
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - ISC_MIN
    - isc_parse_uint16
    - REQUIRE
    - error
    - strcasecmp
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: "bool parse_hmac(const char *hmacstr, size_t len, dst_algorithm_t *hmac_alg,\n\t
      \  uint16_t *digestbitsp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:469,1
    - Dst: strcmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:473,1
    - Dst: strcmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: basenamelen
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int basenamelen(const char *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:496,1
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:498,1
    - Dst: strchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:500,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:502,1
    - Dst: strchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:505,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:508,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/nsupdate/nsupdate.c:512,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:513,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:521,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:522,1
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:524,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:525,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:526,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:528,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:529,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:531,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:532,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:534,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:535,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:539,1
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:541,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:542,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:545,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:546,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/nsupdate/nsupdate.c:548,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 554
    functionName: setup_keystr
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - debug
    - dst_key_setbits
    - check_result
    - fatal
    - parse_hmac
    - dns_fixedname_initname
    - isc_base64_decodestring
    - fprintf
    - isc_mem_allocate
    - dns_name_fromtext
    - strchr
    - strlen
    - isc_mem_free
    - exit
    - isc_result_totext
    - isc_buffer_init
    - dns_tsigkey_create
    - isc_buffer_usedlength
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void setup_keystr(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/nsupdate/nsupdate.c:572,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:576,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/nsupdate/nsupdate.c:581,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:587,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:592,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:593,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:595,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:598,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:598,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:599,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:600,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:602,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:602,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:602,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:603,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:604,1
    - Dst: setup_keystr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:605,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:610,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:612,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:616,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 620
    functionName: read_sessionkey
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - cfg_parse_file
    - cfg_map_getname
    - cfg_parser_create
    - isc_mem_free
    - setup_keystr
    - cfg_obj_asstring
    - cfg_obj_destroy
    - strlen
    - fatal
    - isc_file_exists
    - snprintf
    - isc_mem_allocate
    - cfg_parser_destroy
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t read_sessionkey(isc_mem_t *mctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:628,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:631,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:635,1
    - Dst: read_sessionkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:640,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:647,1
    - Dst: basenamelen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:650,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:651,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:655,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:662,1
    - Dst: dst_key_attach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:665,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:666,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:670,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:670,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:673,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:675,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 678
    functionName: setup_keyfile
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - debug
    - dst_key_free
    - dst_key_alg
    - dns_tsigkey_createfromkey
    - dst_key_fromnamedfile
    - isc_result_totext
    - fprintf
    - dst_key_attach
    - dst_key_name
    - basenamelen
    - read_sessionkey
    linkageType: ''
    returnType: void
    signature: void setup_keyfile(isc_mem_t *mctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:688,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:693,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:697,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:701,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:705,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:706,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:710,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:711,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:715,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:718,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:719,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:721,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:723,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:726,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:729,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:730,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 731
    functionName: doshutdown
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    - dst_key_free
    - dns_tsigkey_detach
    - dns_requestmgr_detach
    - ddebug
    - dns_dispatchmgr_detach
    - isc_mem_put
    - dns_message_detach
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void doshutdown(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:740,1
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:741,1
    - Dst: doshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 748
    functionName: maybeshutdown
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_requestmgr_shutdown
    - doshutdown
    - ddebug
    linkageType: ''
    returnType: void
    signature: void maybeshutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/nsupdate/nsupdate.c:752,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:754,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 3
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: shutdown_program
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - maybeshutdown
    - ddebug
    linkageType: ''
    returnType: void
    signature: void shutdown_program(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_portset_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:769,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:770,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:771,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:772,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:774,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:775,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:776,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:777,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/bin/nsupdate/nsupdate.c:779,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:780,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:782,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - manager
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 784
    functionName: set_source_ports
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_net_getudpportrange
    - dns_dispatchmgr_setavailports
    - isc_portset_addrange
    - check_result
    - isc_portset_destroy
    - isc_portset_create
    linkageType: ''
    returnType: void
    signature: void set_source_ports(dns_dispatchmgr_t *manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:790,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:790,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:791,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:791,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - name
    argTypes:
    - char*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 795
    functionName: create_name
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 5
    functionsReached:
    - strlen
    - isc_buffer_add
    - dns_name_fromtext
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_name(const char *str, dns_name_t *name)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:805,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:807,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:809,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/nsupdate/nsupdate.c:810,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/nsupdate/nsupdate.c:814,1
    - Dst: irs_resconf_load
      Src: /src/bind9/bin/nsupdate/nsupdate.c:816,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:818,1
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/bin/nsupdate/nsupdate.c:821,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:827,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:831,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:842,1
    - Dst: memset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:845,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:847,1
    - Dst: htonl
      Src: /src/bind9/bin/nsupdate/nsupdate.c:850,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/nsupdate/nsupdate.c:851,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:863,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:876,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:881,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:884,1
    - Dst: htons
      Src: /src/bind9/bin/nsupdate/nsupdate.c:888,1
    - Dst: htons
      Src: /src/bind9/bin/nsupdate/nsupdate.c:896,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:902,1
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:904,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:909,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:911,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:912,1
    - Dst: set_source_ports
      Src: /src/bind9/bin/nsupdate/nsupdate.c:914,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:917,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:918,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:920,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/nsupdate/nsupdate.c:924,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:925,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:927,1
    - Dst: dns_transport_list_new
      Src: /src/bind9/bin/nsupdate/nsupdate.c:929,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:931,1
    - Dst: create_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:934,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:935,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/nsupdate/nsupdate.c:936,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:938,1
    - Dst: create_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:940,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:941,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/nsupdate/nsupdate.c:942,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:944,1
    - Dst: dns_transport_set_keyfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:945,1
    - Dst: dns_transport_set_certfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:946,1
    - Dst: dns_transport_set_cafile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:948,1
    - Dst: dns_transport_set_remote_hostname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:949,1
    - Dst: dns_transport_set_always_verify_remote
      Src: /src/bind9/bin/nsupdate/nsupdate.c:950,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:953,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:955,1
    - Dst: setup_keystr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:958,1
    - Dst: read_sessionkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:960,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:962,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:963,1
    - Dst: setup_keyfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:966,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:969,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 124
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 797
    functionDepth: 4
    functionLinenumber: 797
    functionLinenumberEnd: 970
    functionName: setup_system
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - memset
    - dns_dispatch_createudp
    - check_result
    - isc_tlsctx_cache_create
    - fatal
    - create_name
    - dns_transport_set_cafile
    - dns_requestmgr_create
    - isc_mutex_init
    - dns_transport_new
    - isc_logconfig_get
    - isc_sockaddr_any6
    - dns_fixedname_initname
    - setup_keystr
    - dns_transport_set_remote_hostname
    - isc_sockaddr_fromin
    - isc_log_createandusechannel
    - isc_log_setdebuglevel
    - dns_transport_list_new
    - read_sessionkey
    - irs_resconf_getnameservers
    - irs_resconf_destroy
    - htonl
    - ISC_LIST_EMPTY
    - irs_resconf_load
    - INSIST
    - isc_sockaddr_any
    - dns_transport_set_keyfile
    - ISC_LIST_FOREACH
    - setup_keyfile
    - htons
    - isc_mem_cget
    - set_source_ports
    - ddebug
    - dns_transport_set_always_verify_remote
    - isc_sockaddr_fromin6
    - isc_result_totext
    - dns_transport_set_certfile
    - dns_transport_set_tlsname
    - isc_mem_cput
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: void
    signature: void setup_system(void *arg ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:978,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/nsupdate/nsupdate.c:979,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:980,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:982,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - host
    - port
    - sockaddr
    - naddrs
    argTypes:
    - char*
    - in_port_t
    - isc_sockaddr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 986
    functionName: get_addresses
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - isc_loopmgr_nonblocking
    - error
    - isc_loopmgr_blocking
    - isc_getaddresses
    linkageType: ''
    returnType: int
    signature: "int get_addresses(char *host, in_port_t port, isc_sockaddr_t *sockaddr,\n\t
      \     int naddrs)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:998,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1010,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1017,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1025,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1028,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1035,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1039,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1042,1
    - Dst: strncmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1043,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1044,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1052,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1055,1
    - Dst: strncmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1056,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1057,1
    - Dst: printf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1064,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1073,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1077
    functionName: pre_parse_args
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strncmp
    - isc_commandline_parse
    - dns_rdatatype_ismeta
    - exit
    - fatal
    - fprintf
    - printf
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void pre_parse_args(int argc, char **argv)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1086,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1087,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1091,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1094,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1099,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1102,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1141,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1144,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1148,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1172,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1175,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1179,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1186,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1189,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1191,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1198,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1201,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1203,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1207,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1210,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1212,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1217,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1221,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1223,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1227,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1228,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1233,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1235,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1239,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1243,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1252,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1256,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1259,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1263,1
    - Dst: strcmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1268,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1271,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1274,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1276,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1277,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 161
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1284
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 3
    functionsReached:
    - debug
    - isc_parse_uint32
    - isc_commandline_parse
    - isc_parse_uint16
    - exit
    - isc_result_totext
    - isc_net_disableipv6
    - fatal
    - isc_stdio_open
    - isc_net_disableipv4
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void parse_args(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1292,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1294,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1298,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1299,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1299,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1300,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1300,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1301,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1303,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1303,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1304,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1305,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - cmdlinep
    - msg
    - namep
    argTypes:
    - char**
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1310
    functionName: parse_name
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - isc_buffer_invalidate
    - nsu_strsep
    - isc_result_totext
    - isc_buffer_init
    - strlen
    - dns_message_gettempname
    - fprintf
    - isc_buffer_add
    - error
    - dns_message_puttempname
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t
      **namep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1327,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1332,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1333,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1333,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1334,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1334,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1335,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1335,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1336,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1337,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1338,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1339,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1342,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1344,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1345,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1346,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1347,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1348,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1349,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1350,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1352,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1353,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 5
    argNames:
    - cmdlinep
    - rdataclass
    - rdatatype
    - msg
    - rdata
    argTypes:
    - char**
    - dns_rdataclass_t
    - dns_rdatatype_t
    - dns_message_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1362
    functionName: parse_rdata
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdatacallbacks_init
    - isc_buffer_putmem
    - isc_result_totext
    - isc_buffer_init
    - strlen
    - check_result
    - dns_rdata_fromtext
    - isc_buffer_free
    - isc_buffer_allocate
    - dns_message_takebuffer
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - fprintf
    - isspace
    - isc_buffer_usedregion
    - isc_lex_destroy
    - dns_rdata_fromregion
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass,\n\t
      \   dns_rdatatype_t rdatatype, dns_message_t *msg, dns_rdata_t *rdata)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1377,1
    - Dst: parse_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1382,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1391,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1393,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1397,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1398,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1400,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1401,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1407,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1409,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1413,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1414,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1416,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1420,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1421,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1423,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1431,1
    - Dst: parse_rdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1434,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1443,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1444,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1457,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1458,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1459,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1460,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1461,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1466,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 3
    argNames:
    - cmdline
    - ispositive
    - isrrset
    argTypes:
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1469
    functionName: make_prereq
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - parse_rdata
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - dns_message_addname
    - nsu_strsep
    - ddebug
    - parse_name
    - strlen
    - dns_message_gettemprdataset
    - getzoneclass
    - fprintf
    - setzoneclass
    - ISC_LIST_INIT
    - dns_rdataclass_fromtext
    - dns_message_puttempname
    - dns_rdatatype_fromtext
    - dns_message_gettemprdata
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t make_prereq(char *cmdline, bool ispositive, bool isrrset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1476,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1477,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1479,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1482,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1485,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1488,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1491,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1495,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1499
    functionName: evaluate_prereq
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - nsu_strsep
    - ddebug
    - make_prereq
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_prereq(char *cmdline)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1510,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1510,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1516,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1517,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1518,1
    - Dst: dns_message_buildopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1523,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1526,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1527,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1528,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1530,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1533
    functionName: updateopt
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - dns_message_setopt
    - INSIST
    - isc_buffer_init
    - check_result
    - dns_message_buildopt
    - isc_buffer_putuint32
    linkageType: ''
    returnType: void
    signature: void updateopt(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1541,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1543,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1547,1
    - Dst: updateopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1552,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1556,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1561,1
    - Dst: updateopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1567,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1571,1
    - Dst: updateopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1583
    functionName: evaluate_lease
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - updateopt
    - isc_parse_uint32
    - nsu_strsep
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_lease(char *cmdline)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1591,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1595,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1597,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1602,1
    - Dst: strtol
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1607,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1609,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1612,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1624,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1631,1
    - Dst: get_addresses
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1632,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1638
    functionName: evaluate_server
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - get_addresses
    - nsu_strsep
    - strtol
    - fprintf
    - isc_mem_cput
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_server(char *cmdline)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1647,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1649,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1654,1
    - Dst: strtol
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1659,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1661,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1664,1
    - Dst: inet_pton
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1672,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1674,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1676,1
    - Dst: inet_pton
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1677,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1679,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1681,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1683,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1688
    functionName: evaluate_local
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - nsu_strsep
    - isc_sockaddr_fromin6
    - isc_mem_get
    - strtol
    - inet_pton
    - fprintf
    - isc_sockaddr_fromin
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_local(char *cmdline)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1705,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1707,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1711,1
    - Dst: strchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1713,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1715,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1723,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1723,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1724,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1724,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1725,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1727,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1731,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1733,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1736,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1737,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1739,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1740,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1742,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1743,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1744,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1747,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1750,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1752,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1754,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1756,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1757,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1762
    functionName: evaluate_key
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - parse_hmac
    - dns_name_fromtext
    - dst_key_setbits
    - isc_mem_free
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - strchr
    - nsu_strsep
    - isc_result_totext
    - isc_buffer_init
    - strlen
    - dns_tsigkey_create
    - isc_base64_decodestring
    - fprintf
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_mem_allocate
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_key(char *cmdline)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1770,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1772,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1776,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1777,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1777,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1778,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1778,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1779,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1764
    functionDepth: 1
    functionLinenumber: 1764
    functionLinenumberEnd: 1787
    functionName: evaluate_zone
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - nsu_strsep
    - isc_buffer_init
    - strlen
    - fprintf
    - isc_buffer_add
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_zone(char *cmdline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1797,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1800,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1805,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1807,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1810,1
    - Dst: UNUSED
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1816
    functionName: evaluate_realm
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - UNUSED
    - nsu_strsep
    - snprintf
    - isc_mem_strdup
    - error
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_realm(char *cmdline)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1824,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1826,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1830,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1836,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1850
    functionName: evaluate_ttl
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_parse_uint32
    - fprintf
    - strcasecmp
    - nsu_strsep
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_ttl(char *cmdline)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1859,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1861,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1866,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1867,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1869,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1852
    functionDepth: 1
    functionLinenumber: 1852
    functionLinenumberEnd: 1883
    functionName: evaluate_class
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strlen
    - dns_rdataclass_fromtext
    - fprintf
    - nsu_strsep
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_class(char *cmdline)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1899,1
    - Dst: parse_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1904,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1909,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1915,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1918,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1928,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1937,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1938,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1946,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1954,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1963,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1968,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1970,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1972,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1973,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1979,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1987,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1992,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1993,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1995,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1996,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2000,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2001,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2003,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2006,1
    - Dst: parse_rdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2011,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2024,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2033,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2038,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2039,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2044,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2045,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2048,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2049,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2056,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2058,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2059,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2067,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2068,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2069,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2070,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2072,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2079,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2080,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2085,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2086,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2087,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2088,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2089,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2094,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2096,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 175
    argCount: 2
    argNames:
    - cmdline
    - isdelete
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 2098
    functionName: update_addordelete
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - isc_parse_uint32
    - nsu_strsep
    - check_result
    - setzoneclass
    - dns_nsec3_maxiterations
    - dns_message_puttempname
    - dns_rdata_tostruct
    - dns_message_puttemprdata
    - dns_fixedname_initname
    - dns_message_gettemprdataset
    - getzoneclass
    - fprintf
    - dns_name_format
    - ISC_LIST_INIT
    - dns_rdataclass_fromtext
    - dns_message_gettemprdata
    - parse_rdata
    - dns_message_addname
    - parse_name
    - strlen
    - dns_rdata_checknames
    - dns_rdata_checkowner
    - dns_rdata_checksvcb
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - ddebug
    - isc_result_totext
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t update_addordelete(char *cmdline, bool isdelete)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2105,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2106,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2108,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2111,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2113,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2115,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2118,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2100
    functionDepth: 3
    functionLinenumber: 2100
    functionLinenumberEnd: 2122
    functionName: evaluate_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - nsu_strsep
    - update_addordelete
    - ddebug
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_update(char *cmdline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2128,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2129,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2131,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2134,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2134,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2135,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2138,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2139,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2140,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2144,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2148
    functionName: evaluate_checknames
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcasecmp
    - nsu_strsep
    - ddebug
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_checknames(char *cmdline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2154,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2155,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2157,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2160,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2160,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2161,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2164,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2165,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2166,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2174
    functionName: evaluate_checksvcb
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strcasecmp
    - nsu_strsep
    - ddebug
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_checksvcb(char *cmdline)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2181,1
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2182,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2184,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2185,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2187,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2188,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2189,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2190,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2192,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2198,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2199,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2200,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2201,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2201,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2203,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2204,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - zonename
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2176
    functionDepth: 1
    functionLinenumber: 2176
    functionLinenumberEnd: 2207
    functionName: setzone
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - dns_message_addname
    - INSIST
    - dns_rdataset_makequestion
    - dns_name_clone
    - ISC_LIST_UNLINK
    - dns_rdataset_disassociate
    - dns_message_gettempname
    - dns_message_gettemprdataset
    - getzoneclass
    - ISC_LIST_FOREACH
    - ISC_LIST_INIT
    - dns_message_puttempname
    - dns_message_puttemprdataset
    linkageType: ''
    returnType: void
    signature: void setzone(dns_name_t *zonename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2215,1
    - Dst: setzone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2217,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2222,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2224,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2227,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2229,1
    - Dst: dns_message_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2230,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2234,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2235,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2238,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2239,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2239,1
    - Dst: fflush
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2240,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - msg
    - description
    argTypes:
    - FILE*
    - dns_message_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2209
    functionDepth: 2
    functionLinenumber: 2209
    functionLinenumberEnd: 2242
    functionName: show_message
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - setzone
    - exit
    - ddebug
    - isc_buffer_free
    - dns_message_totext
    - isc_buffer_usedlength
    - fprintf
    - isc_buffer_allocate
    - fflush
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void show_message(FILE *stream, dns_message_t *msg, const char *description)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2248,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2249,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2257,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2260,1
    - Dst: evaluate_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2261,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2263,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2264,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2266,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2267,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2269,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2270,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2272,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2273,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2275,1
    - Dst: evaluate_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2276,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2278,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2279,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2281,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2282,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2284,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2285,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2287,1
    - Dst: evaluate_lease
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2288,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2290,1
    - Dst: evaluate_server
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2291,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2293,1
    - Dst: evaluate_local
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2294,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2296,1
    - Dst: evaluate_zone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2297,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2299,1
    - Dst: evaluate_class
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2300,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2302,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2305,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2313,1
    - Dst: evaluate_ttl
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2314,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2316,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2317,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2320,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2321,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2323,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2325,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2328,1
    - Dst: evaluate_key
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2330,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2332,1
    - Dst: evaluate_realm
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2333,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2335,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2336,1
    - Dst: evaluate_checknames
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2338,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2340,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2341,1
    - Dst: evaluate_checksvcb
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2343,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2345,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2349,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2353,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2357,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2361,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2362,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2401,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2402,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2405,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 113
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2244
    functionDepth: 4
    functionLinenumber: 2244
    functionLinenumberEnd: 2407
    functionName: do_next_command
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - evaluate_checksvcb
    - evaluate_class
    - nsu_strsep
    - update_addordelete
    - UNLOCK
    - evaluate_zone
    - show_message
    - evaluate_prereq
    - evaluate_realm
    - evaluate_ttl
    - evaluate_lease
    - LOCK
    - evaluate_key
    - evaluate_local
    - fprintf
    - strcasecmp
    - make_prereq
    - evaluate_update
    - ddebug
    - evaluate_server
    - evaluate_checknames
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t do_next_command(char *cmdline)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readline
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2416,1
    - Dst: add_history
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2418,1
    - Dst: fgets
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2421,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2431,1
    - Dst: do_next_command
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2432,1
    - Dst: free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2409
    functionDepth: 1
    functionLinenumber: 2409
    functionLinenumberEnd: 2439
    functionName: get_next_command
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - do_next_command
    - nsu_strsep
    - fgets
    - free
    - readline
    - add_history
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_next_command(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2445,1
    - Dst: get_next_command
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2447,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2441
    functionDepth: 2
    functionLinenumber: 2441
    functionLinenumberEnd: 2456
    functionName: user_interaction
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - fatal
    - get_next_command
    - ddebug
    linkageType: ''
    returnType: bool
    signature: bool user_interaction(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2460,1
    - Dst: isc_async_current
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2458
    functionDepth: 1
    functionLinenumber: 2458
    functionLinenumberEnd: 2463
    functionName: done_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_async_current
    - ddebug
    linkageType: ''
    returnType: void
    signature: void done_update(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2471,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2472,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2473,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2474,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2475,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2477,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2478,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2481,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2482,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2483,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2484,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2485,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rdataset
    - b
    argTypes:
    - dns_rdataset_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2465
    functionDepth: 1
    functionLinenumber: 2465
    functionLinenumberEnd: 2490
    functionName: check_tsig_error
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_buffer_remaininglength
    - check_result
    - dns_rdataset_first
    - dns_tsigrcode_totext
    linkageType: ''
    returnType: void
    signature: void check_tsig_error(dns_rdataset_t *rdataset, isc_buffer_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2496,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2497,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2498,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - caller
    - addr
    - eresult
    argTypes:
    - char*
    - isc_sockaddr_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2492
    functionDepth: 1
    functionLinenumber: 2492
    functionLinenumberEnd: 2504
    functionName: next_primary
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - fprintf
    - isc_result_totext
    - ddebug
    linkageType: ''
    returnType: bool
    signature: bool next_primary(const char *caller, isc_sockaddr_t *addr, isc_result_t
      eresult)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2511,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2516,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2517,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2521,1
    - Dst: next_primary
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2523,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2530,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2531,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2532,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2533,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2534,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2538,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2539,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2540,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2545,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2562,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2563,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2567,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2571,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2581,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2582,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2583,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2584,1
    - Dst: check_tsig_error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2586,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2588,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2589,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2593,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2595,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2598,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2600,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2601,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2602,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2603,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2605,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2506
    functionDepth: 3
    functionLinenumber: 2506
    functionLinenumberEnd: 2606
    functionName: update_completed
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_message_gettsig
    - dns_name_free
    - next_primary
    - UNLOCK
    - done_update
    - check_result
    - fatal
    - show_message
    - maybeshutdown
    - LOCK
    - dns_request_getresponse
    - fprintf
    - dns_message_renderreset
    - dns_message_create
    - send_update
    - dns_request_getresult
    - dns_message_settsigkey
    - ddebug
    - dns_request_destroy
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_usedlength
    - dns_rcode_totext
    - check_tsig_error
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void update_completed(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2617,1
    - Dst: setzone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2619,1
    - Dst: dns_message_setsig0key
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2630,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2631,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2636,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2637,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2640,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2651,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2654,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2656,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - zone
    - primary
    argTypes:
    - dns_name_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2608
    functionDepth: 3
    functionLinenumber: 2608
    functionLinenumberEnd: 2663
    functionName: send_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_pf
    - setzone
    - isc_sockaddr_format
    - ddebug
    - dns_request_create
    - check_result
    - show_message
    - fprintf
    - dns_message_setsig0key
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void send_update(dns_name_t *zone, isc_sockaddr_t *primary)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2669,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2670,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2671,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2673,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - caller
    - addr
    - eresult
    argTypes:
    - char*
    - isc_sockaddr_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2665
    functionDepth: 1
    functionLinenumber: 2665
    functionLinenumberEnd: 2677
    functionName: next_server
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_result_totext
    - ddebug
    - fatal
    - fprintf
    linkageType: ''
    returnType: void
    signature: void next_server(const char *caller, isc_sockaddr_t *addr, isc_result_t
      eresult)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2682,1
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2683,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2699,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2704,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2705,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2706,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2707,1
    - Dst: next_server
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2712,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2713,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2714,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2715,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2716,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2717,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2718,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2719,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2723,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2725,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2726,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2727,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2734,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2735,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2736,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2737,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2740,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2741,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2751,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2757,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2760,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2762,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2766,1
    - Dst: next_server
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2769,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2770,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2771,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2772,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2773,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2774,1
    - Dst: POST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2779,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2781,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2785,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2791,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2796,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2797,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2798,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2799,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2800,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2801,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2803,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2816,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2821,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2823,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2830,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2832,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2853,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2854,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2857,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2858,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2860,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2861,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2862,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2863,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2865,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2866,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2875,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2876,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2881,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2882,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2889,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2890,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2891,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2892,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2895,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2899,1
    - Dst: get_addresses
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2901,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2905,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2906,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2907,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2908,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2909,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2910,1
    - Dst: primary_from_servers
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2915,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2917,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2921,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2922,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2923,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2924,1
    - Dst: start_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2925,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2927,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2928,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2931,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2932,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2935,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2936,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2939,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2940,1
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2944,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2944,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2945,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2946,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2948,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2950,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2951,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2952,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2953,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2954,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2955,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2956,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 207
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2958
      start: 2679
    functionDepth: 3
    functionLinenumber: 2679
    functionLinenumberEnd: 2958
    functionName: recvsoa
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_name_totext
    - dns_rdataset_current
    - done_update
    - check_result
    - primary_from_servers
    - show_message
    - fatal
    - dns_rdataset_first
    - setzoneclass
    - dns_name_dup
    - maybeshutdown
    - isc_loop_main
    - dns_rdata_tostruct
    - dns_name_countlabels
    - ISC_LIST_HEAD
    - dns_message_findtype
    - dns_fixedname_initname
    - dns_request_create
    - dns_request_getresponse
    - dns_rdata_freestruct
    - start_gssrequest
    - fprintf
    - dns_message_renderreset
    - dns_name_format
    - dns_name_copy
    - dns_message_create
    - send_update
    - ISC_LIST_EMPTY
    - INSIST
    - next_server
    - isc_mem_get
    - dns_request_getresult
    - ISC_LIST_FOREACH
    - dns_message_detach
    - error
    - dns_name_getlabelsequence
    - isc_sockaddr_pf
    - dns_request_getarg
    - dns_message_settsigkey
    - isc_mem_cget
    - get_addresses
    - ddebug
    - dns_request_destroy
    - sendrequest
    - dns_name_clone
    - isc_buffer_init
    - isc_buffer_usedlength
    - POST
    - isc_mem_put
    - isc_mem_cput
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void recvsoa(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2978,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2982,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2988,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2992,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - destaddr
    - msg
    - request
    argTypes:
    - isc_sockaddr_t*
    - dns_message_t*
    - dns_request_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2960
    functionDepth: 1
    functionLinenumber: 2960
    functionLinenumberEnd: 2995
    functionName: sendrequest
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_pf
    - dns_request_create
    - check_result
    - isc_mem_get
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: "void sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,\n\t
      \   dns_request_t **request)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: krb5_init_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3011,1
    - Dst: krb5_cc_default
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3016,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3018,1
    - Dst: krb5_cc_get_principal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3022,1
    - Dst: krb5_cc_close
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3024,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3025,1
    - Dst: krb5_unparse_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3029,1
    - Dst: krb5_free_principal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3031,1
    - Dst: krb5_cc_close
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3032,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3033,1
    - Dst: strrchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3037,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3039,1
    - Dst: free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3042,1
    - Dst: krb5_free_principal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3043,1
    - Dst: krb5_cc_close
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3044,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3045,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3049
    functionName: get_ticket_realm
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - krb5_init_context
    - krb5_unparse_name
    - krb5_cc_get_principal
    - krb5_free_context
    - krb5_cc_close
    - strrchr
    - krb5_free_principal
    - isc_mem_strdup
    - free
    - fprintf
    - krb5_cc_default
    linkageType: ''
    returnType: void
    signature: void get_ticket_realm(isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3055,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3056,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3057,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3058,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3051
    functionDepth: 2
    functionLinenumber: 3051
    functionLinenumberEnd: 3061
    functionName: failed_gssrequest
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - done_update
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void failed_gssrequest(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3077,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3081,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3084,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3086,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3088,1
    - Dst: memmove
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3091,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3094,1
    - Dst: get_ticket_realm
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3097,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3100,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3102,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3103,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3103,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3104,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3104,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3105,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3107,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3108,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3111,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3113,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3115,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3117,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3119,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3119,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3120,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3120,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3122,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3124,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3125,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3132,1
    - Dst: dns_tkey_buildgssquery
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3136,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3139,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3144,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3145,1
    - Dst: send_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3148,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3153,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3156,1
    - Dst: failed_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - primary
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3063
    functionDepth: 3
    functionLinenumber: 3063
    functionLinenumberEnd: 3159
    functionName: start_gssrequest
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - debug
    - memmove
    - dns_tsigkeyring_detach
    - fatal
    - snprintf
    - get_ticket_realm
    - dns_fixedname_initname
    - send_gssrequest
    - fprintf
    - dns_name_format
    - dns_message_create
    - dns_name_fromtext
    - RUNTIME_CHECK
    - isc_nonce_buf
    - dns_tsigkeyring_create
    - isc_mem_get
    - strlen
    - dns_message_detach
    - failed_gssrequest
    - isc_mem_free
    - isc_result_totext
    - isc_buffer_init
    - dns_tkey_buildgssquery
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void start_gssrequest(dns_name_t *primary)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3176,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3177,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3179,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3186,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3192,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3195,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3197,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - destaddr
    - msg
    - request
    - context
    argTypes:
    - isc_sockaddr_t*
    - dns_message_t*
    - dns_request_t**
    - gss_ctx_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3161
    functionDepth: 3
    functionLinenumber: 3161
    functionLinenumberEnd: 3202
    functionName: send_gssrequest
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_pf
    - debug
    - dns_request_create
    - check_result
    - isc_mem_get
    - show_message
    - REQUIRE
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: "void send_gssrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,\n\t\tdns_request_t
      **request, gss_ctx_id_t context)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3207,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3208,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3218,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3223,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3224,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3225,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3226,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3231,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3232,1
    - Dst: next_primary
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3233,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3234,1
    - Dst: failed_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3235,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3237,1
    - Dst: memmove
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3238,1
    - Dst: send_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3240,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3242,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3245,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3247,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3248,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3250,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3252,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3255,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3260,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3269,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3270,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3271,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3272,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3274,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3278,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3279,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3279,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3280,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3280,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3281,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3282,1
    - Dst: dns_tkey_gssnegotiate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3284,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3288,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3289,1
    - Dst: send_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3290,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3291,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3312,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3313,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3317,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3317,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3321,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3322,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3324,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3204
    functionDepth: 4
    functionLinenumber: 3204
    functionLinenumberEnd: 3326
    functionName: recvgss
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - memmove
    - next_primary
    - check_result
    - show_message
    - fatal
    - setzoneclass
    - maybeshutdown
    - dns_fixedname_initname
    - send_gssrequest
    - dns_request_getresponse
    - dns_message_renderreset
    - dns_message_create
    - send_update
    - dns_name_fromtext
    - strlen
    - dns_request_getresult
    - dns_message_detach
    - dns_tkey_gssnegotiate
    - failed_gssrequest
    - dns_request_getarg
    - ddebug
    - dns_request_destroy
    - isc_buffer_init
    - isc_result_totext
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_mem_put
    - dns_rcode_totext
    linkageType: ''
    returnType: void
    signature: void recvgss(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3336,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3338,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3340,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3342,1
    - Dst: primary_from_servers
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3350,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3351,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3352,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3356,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3363,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3365,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3367,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3367,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3370,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3377,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3379,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3384,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3385,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3386,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3387,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3388,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3393,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3394,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3402,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3404,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3407,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3408,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3412,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3413,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3414,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3329
    functionDepth: 2
    functionLinenumber: 3329
    functionLinenumberEnd: 3418
    functionName: start_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - done_update
    - UNLOCK
    - primary_from_servers
    - dns_rdataset_disassociate
    - dns_message_gettempname
    - setzoneclass
    - dns_message_puttempname
    - dns_name_countlabels
    - ISC_LIST_HEAD
    - LOCK
    - dns_message_gettemprdataset
    - getzoneclass
    - ISC_LIST_INIT
    - dns_message_create
    - send_update
    - dns_message_puttemprdataset
    - ISC_LIST_EMPTY
    - dns_message_addname
    - dns_message_detach
    - dns_name_getlabelsequence
    - ISC_LIST_APPEND
    - dns_name_equal
    - ddebug
    - dns_rdataset_makequestion
    - sendrequest
    - dns_name_clone
    linkageType: ''
    returnType: void
    signature: void start_update(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3422,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3425,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3429,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3432,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3434,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3436,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3440,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3441,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3444,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3445,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3450,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3455,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3458,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3460,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3461,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3463,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3464,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3468,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3470,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3473,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3475,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3420
    functionDepth: 1
    functionLinenumber: 3420
    functionLinenumberEnd: 3477
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 7
    functionsReached:
    - LOCK
    - dst_key_free
    - isc_mem_free
    - dns_tsigkey_detach
    - dns_name_dynamic
    - dns_name_free
    - dns_transport_list_detach
    - isc_tlsctx_cache_detach
    - ddebug
    - UNLOCK
    - dns_tsigkeyring_detach
    - isc_mem_stats
    - isc_mem_put
    - dns_message_detach
    - isc_mutex_destroy
    - isc_managers_destroy
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3483,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3486,1
    - Dst: reset_system
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3490,1
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3491,1
    - Dst: user_interaction
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3492,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3493,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3495,1
    - Dst: start_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3501
      start: 3479
    functionDepth: 3
    functionLinenumber: 3479
    functionLinenumberEnd: 3501
    functionName: getinput
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - start_update
    - isc_loopmgr_shutdown
    - user_interaction
    - UNUSED
    - isc_loopmgr_nonblocking
    - reset_system
    - isc_loopmgr_blocking
    - maybeshutdown
    linkageType: ''
    returnType: void
    signature: void getinput(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3511,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3513,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3516,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3520,1
    - Dst: pre_parse_args
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3523,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3525,1
    - Dst: parse_args
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3527,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3530,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3531,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3532,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3533,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3534,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3536,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3537,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3538,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3539,1
    - Dst: cleanup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3548
      start: 3503
    functionDepth: 1
    functionLinenumber: 3503
    functionLinenumberEnd: 3548
    functionName: main
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 12
    functionsReached:
    - parse_args
    - isc_loopmgr_teardown
    - isc_nm_setinitialtimeout
    - isc_nm_setprimariestimeout
    - cleanup
    - isc_net_probeipv4
    - isc_loopmgr_setup
    - isc_nm_setidletimeout
    - pre_parse_args
    - fatal
    - isc_nm_setkeepalivetimeout
    - isc_nm_setadvertisedtimeout
    - isc_loopmgr_run
    - isc_net_probeipv6
    - isatty
    - isc_managers_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 156
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: WANTDNSSEC
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTDNSSEC(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: RECURSIONOK
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECURSIONOK(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:159,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:160,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:161,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:163,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:165,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - hooktable
    - mctx
    - inst
    argTypes:
    - ns_hooktable_t*
    - isc_mem_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 167
    functionName: install_hooks
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - ns_hook_add
    linkageType: ''
    returnType: void
    signature: "void install_hooks(ns_hooktable_t *hooktable, isc_mem_t *mctx,\n\t
      \     filter_instance_t *inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/bin/plugins/filter-a.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: parse_filter_a
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_filter_a(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/bin/plugins/filter-a.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: doc_filter_a
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_filter_a(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-a.c:211,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/plugins/filter-a.c:216,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/plugins/filter-a.c:217,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/plugins/filter-a.c:222,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/plugins/filter-a.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - param_obj
    - param_name
    - dstp
    argTypes:
    - cfg_obj_t*
    - char*
    - filter_a_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 229
    functionName: parse_filter_a_on
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isboolean
    - cfg_obj_asboolean
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_filter_a_on(const cfg_obj_t *param_obj, const char
      *param_name,\n\t\t  filter_a_t *dstp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-a.c:238,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:243,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-a.c:243,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:246,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:246,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:247,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:247,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-a.c:249,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-a.c:250,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-a.c:255,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-a.c:256,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-a.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - fmap
    - cfg
    - mctx
    - actx
    argTypes:
    - cfg_obj_t*
    - void*
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 269
    functionName: check_syntax
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - dns_acl_isnone
    - parse_filter_a_on
    - CHECK
    - cfg_map_get
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_syntax(cfg_obj_t *fmap, const void *cfg, isc_mem_t
      *mctx, void *actx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:281,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/plugins/filter-a.c:281,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-a.c:283,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:283,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-a.c:284,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:284,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:285,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-a.c:285,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:288,1
    - Dst: check_syntax
      Src: /src/bind9/bin/plugins/filter-a.c:288,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:290,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:290,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:291,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:291,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-a.c:293,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:295,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-a.c:295,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:299,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/plugins/filter-a.c:299,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:304,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 7
    argNames:
    - inst
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    argTypes:
    - filter_instance_t*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 310
    functionName: parse_parameters
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_parse_buffer
    - cfg_parser_create
    - parse_filter_a_on
    - cfg_obj_destroy
    - strlen
    - CHECK
    - check_syntax
    - cfg_acl_fromconfig
    - dns_acl_any
    - isc_buffer_add
    - cfg_parser_destroy
    - cfg_map_get
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_parameters(filter_instance_t *inst, const char
      *parameters,\n\t\t const void *cfg, const char *cfg_file, unsigned long cfg_line,\n\t\t
      isc_mem_t *mctx, void *actx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/filter-a.c:332,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/filter-a.c:337,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/plugins/filter-a.c:339,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:342,1
    - Dst: parse_parameters
      Src: /src/bind9/bin/plugins/filter-a.c:342,1
    - Dst: isc_ht_init
      Src: /src/bind9/bin/plugins/filter-a.c:346,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/plugins/filter-a.c:347,1
    - Dst: install_hooks
      Src: /src/bind9/bin/plugins/filter-a.c:352,1
    - Dst: plugin_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    - hooktable
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 362
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - plugin_destroy
    - isc_mutex_init
    - parse_parameters
    - install_hooks
    - isc_mem_get
    - CHECK
    - isc_log_write
    - isc_ht_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_register(const char *parameters, const void *cfg,
      const char *cfg_file,\n\t\tunsigned long cfg_line, isc_mem_t *mctx, void *actx,\n\t\tns_hooktable_t
      *hooktable, void **instp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:372,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/plugins/filter-a.c:372,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-a.c:374,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:374,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-a.c:375,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:375,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:376,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-a.c:376,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:379,1
    - Dst: check_syntax
      Src: /src/bind9/bin/plugins/filter-a.c:379,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:383,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 389
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_parse_buffer
    - cfg_parser_create
    - cfg_obj_destroy
    - strlen
    - CHECK
    - check_syntax
    - isc_buffer_add
    - cfg_parser_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_check(const char *parameters, const void *cfg,
      const char *cfg_file,\n\t     unsigned long cfg_line, isc_mem_t *mctx, void
      *actx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:400,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:401,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-a.c:404,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/plugins/filter-a.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - isc_ht_destroy
    - isc_mutex_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void plugin_destroy(void **instp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: plugin_version
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plugin_version(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-a.c:442,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-a.c:445,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-a.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: is_v4_client
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: bool
    signature: bool is_v4_client(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-a.c:458,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-a.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: is_v6_client
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: bool
    signature: bool is_v6_client(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-a.c:471,1
    - Dst: isc_ht_find
      Src: /src/bind9/bin/plugins/filter-a.c:472,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-a.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: client_state_get
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 3
    functionsReached:
    - isc_ht_find
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: filter_data_t
    signature: 'filter_data_t *

      client_state_get(const query_ctx_t *qctx, filter_instance_t *inst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/filter-a.c:484,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-a.c:489,1
    - Dst: isc_ht_add
      Src: /src/bind9/bin/plugins/filter-a.c:490,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-a.c:492,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 494
    functionName: client_state_create
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - LOCK
    - RUNTIME_CHECK
    - UNLOCK
    - isc_mem_get
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: void client_state_create(const query_ctx_t *qctx, filter_instance_t
      *inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:498,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-a.c:505,1
    - Dst: isc_ht_delete
      Src: /src/bind9/bin/plugins/filter-a.c:506,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-a.c:508,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:509,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/plugins/filter-a.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 512
    functionName: client_state_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - LOCK
    - RUNTIME_CHECK
    - isc_ht_delete
    - client_state_get
    - UNLOCK
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void client_state_destroy(const query_ctx_t *qctx, filter_instance_t
      *inst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-a.c:520,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-a.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - sigrdataset
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: mark_as_rendered
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void mark_as_rendered(dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/plugins/filter-a.c:543,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:546,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-a.c:546,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-a.c:549,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-a.c:550,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-a.c:553,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-a.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - qctx
    - mode
    - name
    - type
    - only_if_aaaa_exists
    argTypes:
    - query_ctx_t*
    - filter_a_t
    - dns_name_t*
    - dns_rdatatype_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 573
    functionName: process_name
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - dns_message_findtype
    - mark_as_rendered
    - WANTDNSSEC
    - CHECK
    - UNCONST
    linkageType: ''
    returnType: bool
    signature: "bool process_name(query_ctx_t *qctx, filter_a_t mode, const dns_name_t
      *name,\n\t     dns_rdatatype_t type, bool only_if_aaaa_exists)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/plugins/filter-a.c:596,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-a.c:603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - section_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 616
    functionName: process_section
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - process_name
    - dns_name_equal
    linkageType: ''
    returnType: void
    signature: void process_section(const section_filter_t *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/plugins/filter-a.c:596,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-a.c:603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - process_name
    - dns_name_equal
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, section, cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:632,1
    - Dst: client_state_create
      Src: /src/bind9/bin/plugins/filter-a.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 638
    functionName: filter_qctx_initialize
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - client_state_create
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_qctx_initialize(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:649,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/bin/plugins/filter-a.c:659,1
    - Dst: is_v4_client
      Src: /src/bind9/bin/plugins/filter-a.c:662,1
    - Dst: is_v6_client
      Src: /src/bind9/bin/plugins/filter-a.c:666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 673
    functionName: filter_prep_response_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - ns_client_checkaclsilent
    - is_v6_client
    - is_v4_client
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_prep_response_begin(void *arg, void *cbdata,
      isc_result_t *resp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:686,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-a.c:697,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-a.c:698,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/bin/plugins/filter-a.c:705,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/plugins/filter-a.c:706,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-a.c:709,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/plugins/filter-a.c:710,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/bin/plugins/filter-a.c:712,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-a.c:730,1
    - Dst: RECURSIONOK
      Src: /src/bind9/bin/plugins/filter-a.c:733,1
    - Dst: ns_query_recurse
      Src: /src/bind9/bin/plugins/filter-a.c:745,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:765,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/filter-a.c:769,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 778
    functionName: filter_respond_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - ns_client_newrdataset
    - mark_as_rendered
    - WANTDNSSEC
    - dns_db_findrdataset
    - ns_client_putrdataset
    - client_state_get
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - ns_query_recurse
    - RECURSIONOK
    - process_section
    - ns_query_done
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_respond_begin(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:787,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 811
    functionName: filter_respond_any_found
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - process_section
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_respond_any_found(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:822,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:834,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 848
    functionName: filter_query_done_send
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - process_section
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_query_done_send(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 868
    functionName: filter_qctx_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - client_state_destroy
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_qctx_destroy(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 163
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: WANTDNSSEC
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTDNSSEC(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: RECURSIONOK
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECURSIONOK(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:159,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:160,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:161,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:163,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:165,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - hooktable
    - mctx
    - inst
    argTypes:
    - ns_hooktable_t*
    - isc_mem_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 167
    functionName: install_hooks
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - ns_hook_add
    linkageType: ''
    returnType: void
    signature: "void install_hooks(ns_hooktable_t *hooktable, isc_mem_t *mctx,\n\t
      \     filter_instance_t *inst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/bin/plugins/filter-aaaa.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: parse_filter_aaaa
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_filter_aaaa(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/bin/plugins/filter-aaaa.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: doc_filter_aaaa
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_filter_aaaa(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:212,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/plugins/filter-aaaa.c:217,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/plugins/filter-aaaa.c:218,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/plugins/filter-aaaa.c:223,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/plugins/filter-aaaa.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - param_obj
    - param_name
    - dstp
    argTypes:
    - cfg_obj_t*
    - char*
    - filter_aaaa_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 230
    functionName: parse_filter_aaaa_on
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isboolean
    - cfg_obj_asboolean
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_filter_aaaa_on(const cfg_obj_t *param_obj, const
      char *param_name,\n\t\t     filter_aaaa_t *dstp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:239,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:244,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-aaaa.c:244,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:247,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:247,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:248,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:248,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-aaaa.c:250,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-aaaa.c:251,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-aaaa.c:256,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-aaaa.c:257,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - fmap
    - cfg
    - mctx
    - actx
    argTypes:
    - cfg_obj_t*
    - void*
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 270
    functionName: check_syntax
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - dns_acl_isnone
    - parse_filter_aaaa_on
    - CHECK
    - cfg_map_get
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_syntax(cfg_obj_t *fmap, const void *cfg, isc_mem_t
      *mctx, void *actx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:282,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/plugins/filter-aaaa.c:282,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-aaaa.c:284,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:284,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:285,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:285,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:286,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-aaaa.c:286,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:289,1
    - Dst: check_syntax
      Src: /src/bind9/bin/plugins/filter-aaaa.c:289,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:291,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:291,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:293,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:293,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:296,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:298,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-aaaa.c:298,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:302,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/plugins/filter-aaaa.c:302,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:307,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 7
    argNames:
    - inst
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    argTypes:
    - filter_instance_t*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 313
    functionName: parse_parameters
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - cfg_parse_buffer
    - cfg_parser_create
    - parse_filter_aaaa_on
    - cfg_obj_destroy
    - strlen
    - CHECK
    - check_syntax
    - cfg_acl_fromconfig
    - dns_acl_any
    - isc_buffer_add
    - cfg_parser_destroy
    - cfg_map_get
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_parameters(filter_instance_t *inst, const char
      *parameters,\n\t\t const void *cfg, const char *cfg_file, unsigned long cfg_line,\n\t\t
      isc_mem_t *mctx, void *actx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/filter-aaaa.c:335,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:340,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:343,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:346,1
    - Dst: parse_parameters
      Src: /src/bind9/bin/plugins/filter-aaaa.c:346,1
    - Dst: isc_ht_init
      Src: /src/bind9/bin/plugins/filter-aaaa.c:350,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/plugins/filter-aaaa.c:351,1
    - Dst: install_hooks
      Src: /src/bind9/bin/plugins/filter-aaaa.c:356,1
    - Dst: plugin_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    - hooktable
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 366
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - plugin_destroy
    - isc_mutex_init
    - parse_parameters
    - install_hooks
    - isc_mem_get
    - CHECK
    - isc_log_write
    - isc_ht_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_register(const char *parameters, const void *cfg,
      const char *cfg_file,\n\t\tunsigned long cfg_line, isc_mem_t *mctx, void *actx,\n\t\tns_hooktable_t
      *hooktable, void **instp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:376,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/plugins/filter-aaaa.c:376,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-aaaa.c:378,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:378,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:379,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:379,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:380,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-aaaa.c:380,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:383,1
    - Dst: check_syntax
      Src: /src/bind9/bin/plugins/filter-aaaa.c:383,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:387,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 393
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - cfg_parse_buffer
    - cfg_parser_create
    - cfg_obj_destroy
    - strlen
    - CHECK
    - check_syntax
    - isc_buffer_add
    - cfg_parser_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_check(const char *parameters, const void *cfg,
      const char *cfg_file,\n\t     unsigned long cfg_line, isc_mem_t *mctx, void
      *actx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:404,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:405,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:408,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 415
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - isc_ht_destroy
    - isc_mutex_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void plugin_destroy(void **instp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: plugin_version
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plugin_version(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-aaaa.c:446,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-aaaa.c:449,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-aaaa.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: is_v4_client
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_pf
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: bool
    signature: bool is_v4_client(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-aaaa.c:462,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-aaaa.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: is_v6_client
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_pf
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: bool
    signature: bool is_v6_client(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:475,1
    - Dst: isc_ht_find
      Src: /src/bind9/bin/plugins/filter-aaaa.c:476,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: client_state_get
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 9
    functionsReached:
    - isc_ht_find
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: filter_data_t
    signature: 'filter_data_t *

      client_state_get(const query_ctx_t *qctx, filter_instance_t *inst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:488,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:493,1
    - Dst: isc_ht_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:494,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:496,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: client_state_create
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - LOCK
    - RUNTIME_CHECK
    - UNLOCK
    - isc_mem_get
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: void client_state_create(const query_ctx_t *qctx, filter_instance_t
      *inst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:502,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:509,1
    - Dst: isc_ht_delete
      Src: /src/bind9/bin/plugins/filter-aaaa.c:510,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:512,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:513,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/plugins/filter-aaaa.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 516
    functionName: client_state_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - LOCK
    - RUNTIME_CHECK
    - isc_ht_delete
    - client_state_get
    - UNLOCK
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void client_state_destroy(const query_ctx_t *qctx, filter_instance_t
      *inst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-aaaa.c:524,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-aaaa.c:527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - sigrdataset
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: mark_as_rendered
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void mark_as_rendered(dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/plugins/filter-aaaa.c:547,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:550,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-aaaa.c:550,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-aaaa.c:553,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-aaaa.c:554,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-aaaa.c:557,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-aaaa.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - qctx
    - mode
    - name
    - type
    - only_if_a_exists
    argTypes:
    - query_ctx_t*
    - filter_aaaa_t
    - dns_name_t*
    - dns_rdatatype_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 577
    functionName: process_name
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - dns_message_findtype
    - mark_as_rendered
    - WANTDNSSEC
    - CHECK
    - UNCONST
    linkageType: ''
    returnType: bool
    signature: "bool process_name(query_ctx_t *qctx, filter_aaaa_t mode, const dns_name_t
      *name,\n\t     dns_rdatatype_t type, bool only_if_a_exists)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/plugins/filter-aaaa.c:600,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-aaaa.c:607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - section_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 620
    functionName: process_section
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 3
    functionsReached:
    - process_name
    - dns_name_equal
    linkageType: ''
    returnType: void
    signature: void process_section(const section_filter_t *filter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/plugins/filter-aaaa.c:600,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-aaaa.c:607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 619
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - process_name
    - dns_name_equal
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, section, cur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:636,1
    - Dst: client_state_create
      Src: /src/bind9/bin/plugins/filter-aaaa.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 642
    functionName: filter_qctx_initialize
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - client_state_create
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_qctx_initialize(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:653,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/bin/plugins/filter-aaaa.c:663,1
    - Dst: is_v4_client
      Src: /src/bind9/bin/plugins/filter-aaaa.c:666,1
    - Dst: is_v6_client
      Src: /src/bind9/bin/plugins/filter-aaaa.c:670,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 677
    functionName: filter_prep_response_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - ns_client_checkaclsilent
    - is_v6_client
    - is_v4_client
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_prep_response_begin(void *arg, void *cbdata,
      isc_result_t *resp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:690,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-aaaa.c:701,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-aaaa.c:702,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/bin/plugins/filter-aaaa.c:709,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/plugins/filter-aaaa.c:710,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-aaaa.c:713,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/plugins/filter-aaaa.c:714,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/bin/plugins/filter-aaaa.c:716,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-aaaa.c:734,1
    - Dst: RECURSIONOK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:737,1
    - Dst: ns_query_recurse
      Src: /src/bind9/bin/plugins/filter-aaaa.c:749,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:768,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/filter-aaaa.c:772,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 781
    functionName: filter_respond_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - ns_client_newrdataset
    - mark_as_rendered
    - WANTDNSSEC
    - dns_db_findrdataset
    - ns_client_putrdataset
    - client_state_get
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - ns_query_recurse
    - RECURSIONOK
    - process_section
    - ns_query_done
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_respond_begin(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:790,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 814
    functionName: filter_respond_any_found
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - process_section
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_respond_any_found(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:825,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:837,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 851
    functionName: filter_query_done_send
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - process_section
    - client_state_get
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_query_done_send(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_state_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 871
    functionName: filter_qctx_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - client_state_destroy
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_qctx_destroy(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: rcode_totext
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 5
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      rcode_totext(dns_rcode_t rcode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dig/host.c:110,1
    - Dst: exit
      Src: /src/bind9/bin/dig/host.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 139
    functionName: show_usage
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void show_usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dig/host.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: host_shutdown
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void host_shutdown(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/host.c:153,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/host.c:155,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/host.c:157,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/host.c:159,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - bytes
    - from
    - query
    argTypes:
    - unsigned int
    - isc_sockaddr_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: received
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_time_now
    - printf
    - isc_time_now_hires
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t
      *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:167,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - frm
    - lookup
    argTypes:
    - char*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: trying
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - printf
    linkageType: ''
    returnType: void
    signature: void trying(char *frm, dig_lookup_t *lookup)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:183,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/host.c:185,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/bin/dig/host.c:186,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/host.c:188,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/host.c:189,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/host.c:193,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:194,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:196,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:198,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:200,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:202,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/host.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - name
    - msg
    - rdata
    - query
    argTypes:
    - dns_name_t*
    - char*
    - dns_rdata_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 204
    functionName: say_message
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - INSIST
    - check_result
    - dns_rdata_totext
    - isc_buffer_free
    - isc_buffer_allocate
    - printf
    - dns_name_format
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: "void say_message(dns_name_t *name, const char *msg, dns_rdata_t *rdata,\n\t
      \   dig_query_t *query)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:219,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/host.c:222,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/host.c:225,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/host.c:229,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/dig/host.c:235,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dig/host.c:249,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:261,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:271,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:280,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:283,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/host.c:287,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:293,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:297,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 5
    argNames:
    - msg
    - sectionid
    - section_name
    - headers
    - query
    argTypes:
    - dns_message_t*
    - dns_section_t
    - char*
    - bool
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 303
    functionName: printsection
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isaddr
    - say_message
    - dns_rdataset_current
    - UNUSED
    - isc_buffer_init
    - snprintf
    - printf
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    - dns_rdatatype_format
    - dns_rdataset_totext
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t printsection(dns_message_t *msg, dns_section_t sectionid,\n\t
      \    const char *section_name, bool headers, dig_query_t *query)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/host.c:225,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/host.c:229,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/dig/host.c:235,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dig/host.c:249,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:261,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:271,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:280,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:283,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/host.c:287,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:293,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:297,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 300
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isaddr
    - say_message
    - dns_rdataset_current
    - UNUSED
    - isc_buffer_init
    - snprintf
    - printf
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    - dns_rdatatype_format
    - dns_rdataset_totext
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, sectionid, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:271,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:280,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:283,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/host.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 289
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - dns_rdataset_current
    - snprintf
    - say_message
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:313,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:315,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/host.c:318,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dig/host.c:320,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:324,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - msg
    - rdataset
    - owner
    - set_name
    - headers
    argTypes:
    - dns_message_t*
    - dns_rdataset_t*
    - dns_name_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 328
    functionName: printrdata
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_buffer_init
    - printf
    - isc_buffer_usedregion
    - dns_rdataset_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t printrdata(dns_message_t *msg, dns_rdataset_t *rdataset,\n\t
      \  const dns_name_t *owner, const char *set_name, bool headers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findname
      Src: /src/bind9/bin/dig/host.c:340,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dig/host.c:346,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/host.c:347,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dig/host.c:348,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:349,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/host.c:350,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/host.c:351,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/host.c:352,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/host.c:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - qname
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 355
    functionName: chase_cnamechain
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - check_result
    - dns_rdata_freestruct
    - dns_rdataset_first
    - dns_name_copy
    - dns_rdata_reset
    - dns_message_findname
    linkageType: ''
    returnType: void
    signature: void chase_cnamechain(dns_message_t *msg, dns_name_t *qname)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:366,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:367,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:378,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:379,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/host.c:380,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:381,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:382,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:388,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:391,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/host.c:396,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:398,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/host.c:402,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/host.c:414,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/host.c:415,1
    - Dst: chase_cnamechain
      Src: /src/bind9/bin/dig/host.c:416,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:417,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/host.c:418,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:420,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:426,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/host.c:428,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:430,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:436,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/host.c:438,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:440,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:446,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:451,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/host.c:452,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:454,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:456,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:460,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:464,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:468,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:472,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:476,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:480,1
    - Dst: POST
      Src: /src/bind9/bin/dig/host.c:482,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:484,1
    - Dst: dns_message_getopt
      Src: /src/bind9/bin/dig/host.c:490,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:492,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/bin/dig/host.c:497,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:499,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:502,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:504,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:505,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:511,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:513,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:515,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:522,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:525,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:526,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:532,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:535,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:536,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:543,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/host.c:544,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:551,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:555,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:559,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:560,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:562,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 145
    argCount: 4
    argNames:
    - query
    - msgbuf
    - msg
    - headers
    argTypes:
    - dig_query_t*
    - isc_buffer_t*
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 566
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - rcode_totext
    - isc_sockaddr_format
    - dns_fixedname_initname
    - strlcpy
    - dns_message_gettsig
    - UNUSED
    - printrdata
    - dns_message_getopt
    - POST
    - printsection
    - printf
    - dns_name_format
    - dns_name_copy
    - dns_rdatatype_format
    - chase_cnamechain
    - clone_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t printmessage(dig_query_t *query, const isc_buffer_t *msgbuf,
      dns_message_t *msg,\n\t     bool headers)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dig/host.c:574,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/host.c:578,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/host.c:581,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/host.c:585,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:594,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:600,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:645,1
    - Dst: exit
      Src: /src/bind9/bin/dig/host.c:646,1
    - Dst: show_usage
      Src: /src/bind9/bin/dig/host.c:653,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 658
    functionName: pre_parse_args
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 1
    functionsReached:
    - isc_commandline_parse
    - exit
    - fatal
    - printf
    - show_usage
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void pre_parse_args(int argc, char **argv)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:672,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/host.c:674,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dig/host.c:681,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/host.c:697,1
    - Dst: strtoul
      Src: /src/bind9/bin/dig/host.c:702,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/host.c:707,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/host.c:708,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:714,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/host.c:744,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/host.c:745,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:750,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:790,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:796,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:810,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:821,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:822,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:837,1
    - Dst: show_usage
      Src: /src/bind9/bin/dig/host.c:846,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:849,1
    - Dst: set_nameserver
      Src: /src/bind9/bin/dig/host.c:852,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:853,1
    - Dst: get_reverse
      Src: /src/bind9/bin/dig/host.c:860,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:862,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:867,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:871,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 169
    argCount: 3
    argNames:
    - is_batchfile
    - argc
    - argv
    argTypes:
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 872
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 4
    functionsReached:
    - make_empty_lookup
    - set_nameserver
    - debug
    - ISC_LIST_APPEND
    - strtoul
    - strlcpy
    - isc_commandline_parse
    - atoi
    - get_reverse
    - UNUSED
    - strlen
    - dns_rdatatype_fromtext
    - fatal
    - show_usage
    - dns_rdataclass_fromtext
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void parse_args(bool is_batchfile, int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/host.c:878,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/host.c:879,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/host.c:880,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:890,1
    - Dst: pre_parse_args
      Src: /src/bind9/bin/dig/host.c:891,1
    - Dst: setup_libs
      Src: /src/bind9/bin/dig/host.c:892,1
    - Dst: setup_system
      Src: /src/bind9/bin/dig/host.c:893,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/host.c:894,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/host.c:896,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/host.c:898,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/host.c:901,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dig/host.c:902,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/host.c:904,1
    - Dst: destroy_libs
      Src: /src/bind9/bin/dig/host.c:905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 908
    functionName: main
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 12
    functionsReached:
    - parse_args
    - debug
    - setup_text_key
    - setup_file_key
    - isc_loopmgr_setup
    - pre_parse_args
    - cancel_all
    - isc_loopmgr_run
    - destroy_libs
    - setup_libs
    - ISC_LIST_INIT
    - setup_system
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: ADD_STRING
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_STRING(b, s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/bin/dig/dig.c:91,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dig.c:92,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/dig/dig.c:93,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dig/dig.c:94,1
    - Dst: strspn
      Src: /src/bind9/bin/dig/dig.c:95,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: rcode_totext
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 7
    functionsReached:
    - strspn
    - memset
    - RUNTIME_CHECK
    - isc_buffer_init
    - strlen
    - dns_rcode_totext
    linkageType: ''
    returnType: char
    signature: 'char *

      rcode_totext(dns_rcode_t rcode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: print_usage
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: usage
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 16
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_usage
      Src: /src/bind9/bin/dig/dig.c:124,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:125,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: usage
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 17
    functionsReached:
    - fprintf
    - exit
    - print_usage
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_usage
      Src: /src/bind9/bin/dig/dig.c:134,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 361
    functionName: help
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - printf
    - print_usage
    linkageType: ''
    returnType: void
    signature: void help(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:374,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/dig.c:382,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:384,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:386,1
    - Dst: dig_lookup_is_tls
      Src: /src/bind9/bin/dig/dig.c:388,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:403,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:407,1
    - Dst: dig_lookup_is_tls
      Src: /src/bind9/bin/dig/dig.c:409,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:414,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:417,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:423,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:427,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:430,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:433,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:436,1
    - Dst: time
      Src: /src/bind9/bin/dig/dig.c:438,1
    - Dst: localtime_r
      Src: /src/bind9/bin/dig/dig.c:439,1
    - Dst: strftime
      Src: /src/bind9/bin/dig/dig.c:441,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:444,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:447,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:452,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dig.c:456,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dig.c:461,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dig.c:463,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/dig.c:465,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:467,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:473,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 3
    argNames:
    - bytes
    - from
    - query
    argTypes:
    - unsigned int
    - isc_sockaddr_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 480
    functionName: received
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - dig_lookup_is_tls
    - strftime
    - printf
    - puts
    - time
    - isc_time_microdiff
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t
      *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dig.c:489,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dig.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - frm
    - lookup
    argTypes:
    - char*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: trying
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void trying(char *frm, dig_lookup_t *lookup)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/bin/dig/dig.c:504,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:508,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/dig/dig.c:527,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:532,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/dig.c:534,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:535,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:536,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:538,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:541,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:544,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:546,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - rdata
    - query
    - buf
    argTypes:
    - dns_rdata_t*
    - dig_query_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 548
    functionName: say_message
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 3
    functionsReached:
    - dns_rdata_tofmttext
    - ADD_STRING
    - check_result
    - snprintf
    - dns_rdatatype_totext
    - isc_time_microdiff
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t
      *buf)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dig.c:562,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/dig/dig.c:563,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:565,1
    - Dst: dns_message_findname
      Src: /src/bind9/bin/dig/dig.c:567,1
    - Dst: dns_dns64_findprefix
      Src: /src/bind9/bin/dig/dig.c:576,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/bin/dig/dig.c:584,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/dig/dig.c:588,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - msg
    - buf
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 595
    functionName: dns64prefix_answer
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - dns_dns64_findprefix
    - dns_fixedname_initname
    - check_result
    - isc_netaddr_totext
    - dns_name_fromstring
    - isc_buffer_printf
    - dns_message_findname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns64prefix_answer(dns_message_t *msg, isc_buffer_t *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dig.c:605,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/dig.c:607,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dig.c:609,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dig.c:612,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/dig.c:614,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - flags
    - buf
    - query
    argTypes:
    - dns_message_t*
    - dns_messagetextflag_t
    - isc_buffer_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 625
    functionName: short_answer
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - say_message
    - dns_rdataset_current
    - UNUSED
    - check_result
    - ISC_LIST_FOREACH
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t short_answer(dns_message_t *msg, dns_messagetextflag_t
      flags, isc_buffer_t *buf,\n\t     dig_query_t *query)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dig.c:609,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dig.c:612,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/dig.c:614,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 622
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_rdataset_current
    - say_message
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_ANSWER, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dig.c:612,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/dig.c:614,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_rdataset_current
    - say_message
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_NAME_INITABSOLUTE
      Src: /src/bind9/bin/dig/dig.c:630,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dig/dig.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 638
    functionName: isdotlocal
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - DNS_NAME_INITABSOLUTE
    - dns_name_issubdomain
    linkageType: ''
    returnType: bool
    signature: bool isdotlocal(dns_message_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dig/dig.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_QUESTION, name)
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dig.c:655,1
    - Dst: dig_idnsetup
      Src: /src/bind9/bin/dig/dig.c:657,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dig/dig.c:709,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dig/dig.c:712,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dig/dig.c:715,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:718,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:722,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:726,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/dig.c:747,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:757,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:758,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:772,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:774,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:776,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:778,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/dig/dig.c:781,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/bin/dig/dig.c:784,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/dig/dig.c:787,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:790,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/dig/dig.c:793,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/bin/dig/dig.c:796,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/dig/dig.c:799,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:802,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:805,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dig.c:806,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dig.c:808,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:810,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:813,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/dig/dig.c:816,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:817,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dig.c:819,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dig.c:823,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:824,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:827,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:828,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/bin/dig/dig.c:833,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/dig/dig.c:834,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:835,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dig.c:836,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dig.c:840,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:841,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:844,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:845,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:848,1
    - Dst: dns_message_headertotext
      Src: /src/bind9/bin/dig/dig.c:850,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:853,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:856,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:858,1
    - Dst: isdotlocal
      Src: /src/bind9/bin/dig/dig.c:862,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:863,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:868,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/dig.c:871,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:872,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:874,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:877,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:880,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:883,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:886,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:889,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:892,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:895,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:898,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:909,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:918,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/dig.c:920,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:924,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/dig/dig.c:933,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dig.c:938,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/dig.c:939,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:942,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:947,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:952,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:957,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:962,1
    - Dst: dns64prefix_answer
      Src: /src/bind9/bin/dig/dig.c:964,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:968,1
    - Dst: short_answer
      Src: /src/bind9/bin/dig/dig.c:970,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:974,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:979,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:984,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:989,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:994,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/dig/dig.c:999,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:1005,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/dig/dig.c:1007,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:1013,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:1020,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:1023,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dig.c:1023,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dig.c:1024,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dig.c:1025,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/dig/dig.c:1028,1
    - Dst: dig_idnsetup
      Src: /src/bind9/bin/dig/dig.c:1031,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 293
    argCount: 4
    argNames:
    - query
    - msgbuf
    - msg
    - headers
    argTypes:
    - dig_query_t*
    - isc_buffer_t*
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 1034
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - debug
    - isc_sockaddr_format
    - strlcat
    - check_result
    - printf
    - isc_buffer_allocate
    - isc_time_formatISO8601ms
    - isc_nmhandle_localaddr
    - dns_message_headertotext
    - rcode_totext
    - dns64prefix_answer
    - dig_idnsetup
    - dns_message_pseudosectiontotext
    - dns_master_stylecreate
    - isc_time_isepoch
    - isc_sockaddr_getport
    - dns_message_sectiontotext
    - dns_master_styledestroy
    - strchr
    - UNUSED
    - isc_buffer_free
    - isdotlocal
    - isc_time_formatISO8601us
    - isc_sockaddr_pf
    - isc_buffer_usedlength
    - strcmp
    - isc_buffer_base
    - short_answer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t printmessage(dig_query_t *query, const isc_buffer_t *msgbuf,
      dns_message_t *msg,\n\t     bool headers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1046,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1051,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1052,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1055,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1057,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1060,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1064,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1069,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - argc
    - argv
    - lookup
    argTypes:
    - int
    - char**
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1073
    functionName: printgreeting
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - strlcat
    - snprintf
    linkageType: ''
    returnType: void
    signature: void printgreeting(int argc, char **argv, dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: FULLCHECK
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULLCHECK(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: FULLCHECK2
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULLCHECK2(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - ','
    - E
    - ','
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: FULLCHECK6
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULLCHECK6(A, B, C, D, E, F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1116
    functionName: MATCH
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1117
    functionName: MATCH_DIGIT
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DIGIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1118
    functionName: ADVANCE
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1119
    functionName: GETP
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETP()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1166,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1167,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - port_start
    - port_len
    - pport
    argTypes:
    - char*
    - size_t
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1172
    functionName: proxy_handle_port_string
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - fatal
    - parse_uint
    - strlcpy
    linkageType: ''
    returnType: void
    signature: "void proxy_handle_port_string(const char *port_start, const size_t
      port_len,\n\t\t\t in_port_t *pport)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1188,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:1190,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dig.c:1192,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:1195,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/dig/dig.c:1197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - addr_start
    - addr_len
    - addr_port
    - addr
    argTypes:
    - char*
    - size_t
    - in_port_t
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1203
    functionName: proxy_handle_addr_string
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - isc_sockaddr_fromin6
    - inet_pton
    - strlcpy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t proxy_handle_addr_string(const char *addr_start, const
      size_t addr_len,\n\t\t\t const in_port_t addr_port, isc_sockaddr_t *addr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dig.c:1213,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dig.c:1214,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dig.c:1215,1
    - Dst: rule_proxy_addrs
      Src: /src/bind9/bin/dig/dig.c:1220,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1221,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1227,1
    - Dst: proxy_handle_port_string
      Src: /src/bind9/bin/dig/dig.c:1228,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1233,1
    - Dst: proxy_handle_port_string
      Src: /src/bind9/bin/dig/dig.c:1234,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1239,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1240,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1241,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1242,1
    - Dst: proxy_handle_addr_string
      Src: /src/bind9/bin/dig/dig.c:1244,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1247,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dig.c:1248,1
    - Dst: proxy_handle_addr_string
      Src: /src/bind9/bin/dig/dig.c:1252,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1255,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dig.c:1256,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dig.c:1261,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dig.c:1261,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - addrs
    - psrc
    - pdst
    argTypes:
    - char*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1205
    functionDepth: 2
    functionLinenumber: 1205
    functionLinenumberEnd: 1271
    functionName: parse_proxy_addresses
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - warn
    - proxy_handle_port_string
    - INSIST
    - proxy_handle_addr_string
    - isc_result_totext
    - rule_proxy_addrs
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: "bool parse_proxy_addresses(const char *addrs, isc_sockaddr_t *psrc,\n\t\t
      \     isc_sockaddr_t *pdst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rule_addr
      Src: /src/bind9/bin/dig/dig.c:1275,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1284,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1288,1
    - Dst: rule_addr
      Src: /src/bind9/bin/dig/dig.c:1290,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1304
    functionName: rule_proxy_addrs
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - MATCH
    - rule_addr
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_proxy_addrs(isc_proxy_addrs_parser_state_t *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GETP
      Src: /src/bind9/bin/dig/dig.c:1308,1
    - Dst: rule_addr_char
      Src: /src/bind9/bin/dig/dig.c:1309,1
    - Dst: rule_addr_char
      Src: /src/bind9/bin/dig/dig.c:1313,1
    - Dst: GETP
      Src: /src/bind9/bin/dig/dig.c:1318,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1320,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1321,1
    - Dst: rule_port
      Src: /src/bind9/bin/dig/dig.c:1323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1329
    functionName: rule_addr
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - ADVANCE
    - MATCH
    - GETP
    - rule_port
    - rule_addr_char
    linkageType: ''
    returnType: bool
    signature: bool rule_addr(isc_proxy_addrs_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETP
      Src: /src/bind9/bin/dig/dig.c:1333,1
    - Dst: MATCH_DIGIT
      Src: /src/bind9/bin/dig/dig.c:1334,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1338,1
    - Dst: MATCH_DIGIT
      Src: /src/bind9/bin/dig/dig.c:1340,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1341,1
    - Dst: GETP
      Src: /src/bind9/bin/dig/dig.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1348
    functionName: rule_port
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - GETP
    - MATCH_DIGIT
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_port(isc_proxy_addrs_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1352,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1352,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1352,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1359
    functionName: rule_addr_char
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_addr_char(isc_proxy_addrs_parser_state_t *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_proxy_addresses
      Src: /src/bind9/bin/dig/dig.c:1383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - value
    - state
    - lookup
    argTypes:
    - char*
    - bool
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1389
    functionName: plus_proxy_handle_addresses
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - parse_proxy_addresses
    linkageType: ''
    returnType: bool
    signature: "bool plus_proxy_handle_addresses(const char *value, const bool state,\n\t\t\t
      \   dig_lookup_t *lookup)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1396,1
    - Dst: plus_proxy_handle_addresses
      Src: /src/bind9/bin/dig/dig.c:1398,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1403,1
    - Dst: plus_proxy_handle_addresses
      Src: /src/bind9/bin/dig/dig.c:1404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - cmd
    - value
    - state
    - lookup
    argTypes:
    - char*
    - char*
    - bool
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1391
    functionDepth: 4
    functionLinenumber: 1391
    functionLinenumberEnd: 1415
    functionName: plus_proxy_options
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - FULLCHECK
    - plus_proxy_handle_addresses
    linkageType: ''
    returnType: bool
    signature: "bool plus_proxy_options(const char *cmd, const char *value, const
      bool state,\n\t\t   dig_lookup_t *lookup)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1440,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1444,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1448,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1453,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1456,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1469,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1474,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1476,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1483,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1488,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1490,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1502,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 4
    argNames:
    - cmd
    - value
    - state
    - lookup
    argTypes:
    - char*
    - char*
    - bool
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1512
    functionName: plus_tls_options
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - FULLCHECK
    - fprintf
    - isc_mem_strdup
    linkageType: ''
    returnType: bool
    signature: "bool plus_tls_options(const char *cmd, const char *value, const bool
      state,\n\t\t dig_lookup_t *lookup)"
  - BBCount: 274
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1530,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1532,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:1533,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dig.c:1536,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1541,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:1547,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1553,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1558,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1566,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1576,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1580,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1590,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1594,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1598,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1606,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1609,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1624,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:1633,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1637,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1644,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1648,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1655,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1661,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1664,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1677,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1687,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1688,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1699,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:1702,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1708,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:1725,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1730,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1750,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1757,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1772,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1784,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1788,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1796,1
    - Dst: parse_xint
      Src: /src/bind9/bin/dig/dig.c:1805,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1809,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1820,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1824,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1831,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1836,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1841,1
    - Dst: save_opt
      Src: /src/bind9/bin/dig/dig.c:1843,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1865,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1869,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1887,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1891,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1898,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1901,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1914,1
    - Dst: FULLCHECK6
      Src: /src/bind9/bin/dig/dig.c:1918,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dig.c:1923,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1935,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1940,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1943,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1954,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1959,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1962,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1975,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/bin/dig/dig.c:1978,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1979,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1986,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1990,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2002,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2008,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2013,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2017,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:2025,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2038,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2051,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2055,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2077,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2078,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2080,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2090,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2097,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2099,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2107,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2114,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2142,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2146,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dig.c:2158,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2166,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2168,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2180,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2187,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2189,1
    - Dst: plus_proxy_options
      Src: /src/bind9/bin/dig/dig.c:2195,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2206,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2215,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2217,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2224,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2228,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2241,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2245,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2251,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:2255,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2262,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2265,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2275,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2285,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2296,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2314,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2318,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2326,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2341,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2342,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2344,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2355,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2358,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2375,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2380,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2384,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dig.c:2390,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dig.c:2400,1
    - Dst: parse_netprefix
      Src: /src/bind9/bin/dig/dig.c:2404,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2406,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2411,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2423,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2427,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2438,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2445,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2448,1
    - Dst: plus_tls_options
      Src: /src/bind9/bin/dig/dig.c:2458,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2469,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2470,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2474,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2492,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2499,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2502,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2510,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2511,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:2523,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2527,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2548,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2549,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2552,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2561,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2568,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2579,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2583,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2599,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2600,1
    - Dst: cleanup_openssl_refs
      Src: /src/bind9/bin/dig/dig.c:2609,1
    - Dst: digexit
      Src: /src/bind9/bin/dig/dig.c:2610,1
    CyclomaticComplexity: 369
    EdgeCount: 369
    ICount: 1095
    argCount: 4
    argNames:
    - option
    - is_batchfile
    - need_clone
    - lookup
    argTypes:
    - char*
    - bool
    - bool*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 1521
    functionDepth: 5
    functionLinenumber: 1521
    functionLinenumberEnd: 2612
    functionName: plus_option
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached:
    - strlcpy
    - fatal
    - printf
    - parse_uint
    - FULLCHECK
    - fprintf
    - usage
    - FULLCHECK2
    - strtok_r
    - strcasecmp
    - warn
    - save_opt
    - INSIST
    - isc_mem_strdup
    - plus_tls_options
    - plus_proxy_options
    - FULLCHECK6
    - strncasecmp
    - ISC_LIST_APPEND
    - isc_mem_free
    - digexit
    - isc_nm_http_path_isvalid
    - parse_netprefix
    - parse_xint
    - isc_mem_put
    - cleanup_openssl_refs
    - clone_lookup
    linkageType: ''
    returnType: dig_lookup_t
    signature: "dig_lookup_t *\nplus_option(char *option, bool is_batchfile, bool
      *need_clone,\n\t    dig_lookup_t *lookup)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/dig/dig.c:2636,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/dig/dig.c:2646,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2649,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dig.c:2650,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/dig/dig.c:2656,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2659,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dig.c:2660,1
    - Dst: strpbrk
      Src: /src/bind9/bin/dig/dig.c:2665,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2668,1
    - Dst: help
      Src: /src/bind9/bin/dig/dig.c:2679,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:2680,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2683,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2688,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2690,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:2697,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:2698,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2701,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2708,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dig.c:2720,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2722,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2725,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:2732,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/dig/dig.c:2733,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/dig/dig.c:2734,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:2735,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dig.c:2736,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/dig/dig.c:2737,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2742,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2751,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2755,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/dig.c:2756,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2762,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2772,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2775,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2777,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:2785,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2788,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:2794,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:2797,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2798,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dig.c:2803,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2808,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/dig.c:2809,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2819,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2826,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2829,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2853,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:2860,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2861,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:2863,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2865,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:2867,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/dig/dig.c:2869,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2877,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2878,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:2886,1
    - Dst: get_reverse
      Src: /src/bind9/bin/dig/dig.c:2889,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2892,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2894,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:2905,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:2908,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2910,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:2911,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2916,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2917,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dig.c:2919,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 260
    argCount: 9
    argNames:
    - option
    - next
    - lookup
    - open_type_class
    - need_clone
    - config_only
    - argc
    - argv
    - firstarg
    argTypes:
    - char*
    - char*
    - dig_lookup_t**
    - bool*
    - bool*
    - bool
    - int
    - char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2619
    functionDepth: 2
    functionLinenumber: 2619
    functionLinenumberEnd: 2921
    functionName: dash_option
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached:
    - debug
    - strlcpy
    - fatal
    - printf
    - parse_uint
    - parse_hmac
    - UNREACHABLE
    - printgreeting
    - FULLCHECK
    - fprintf
    - usage
    - isc_sockaddr_fromin
    - dns_rdataclass_fromtext
    - strtok_r
    - strchr
    - strpbrk
    - strlen
    - isc_net_disableipv6
    - inet_pton
    - strncasecmp
    - ISC_LIST_APPEND
    - get_reverse
    - exit
    - isc_sockaddr_fromin6
    - help
    - isc_net_disableipv4
    - dns_rdatatype_fromtext
    - clone_lookup
    linkageType: ''
    returnType: bool
    signature: "bool dash_option(char *option, char *next, dig_lookup_t **lookup,\n\t
      \   bool *open_type_class, bool *need_clone, bool config_only, int argc,\n\t
      \   char **argv, bool *firstarg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/dig/dig.c:2945,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dig/dig.c:2952,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2953,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2966,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2971,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2977,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2984,1
    - Dst: strpbrk
      Src: /src/bind9/bin/dig/dig.c:2988,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2991,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3000,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:3001,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2932
    functionDepth: 1
    functionLinenumber: 2932
    functionLinenumberEnd: 3004
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached:
    - isc_crypto_fips_enable
    - debug
    - strpbrk
    - strlen
    - fatal
    - fprintf
    - usage
    linkageType: ''
    returnType: void
    signature: void preparse_args(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dig.c:3011,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:3013,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:3015,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - batchline
    - bargv
    - len
    - msg
    argTypes:
    - char*
    - char**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3006
    functionDepth: 1
    functionLinenumber: 3006
    functionLinenumberEnd: 3020
    functionName: split_batchline
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - debug
    - strtok_r
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int split_batchline(char *batchline, char **bargv, int len, const char
      *msg)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3053,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3055,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/dig.c:3056,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:3065,1
    - Dst: getenv
      Src: /src/bind9/bin/dig/dig.c:3066,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3069,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:3070,1
    - Dst: fopen
      Src: /src/bind9/bin/dig/dig.c:3073,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/dig.c:3077,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3080,1
    - Dst: split_batchline
      Src: /src/bind9/bin/dig/dig.c:3081,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3085,1
    - Dst: fclose
      Src: /src/bind9/bin/dig/dig.c:3087,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:3094,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3103,1
    - Dst: strncmp
      Src: /src/bind9/bin/dig/dig.c:3104,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dig.c:3109,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3112,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dig.c:3117,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dig.c:3118,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dig.c:3119,1
    - Dst: destroy_lookup
      Src: /src/bind9/bin/dig/dig.c:3122,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dig.c:3126,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:3129,1
    - Dst: plus_option
      Src: /src/bind9/bin/dig/dig.c:3134,1
    - Dst: dash_option
      Src: /src/bind9/bin/dig/dig.c:3138,1
    - Dst: dash_option
      Src: /src/bind9/bin/dig/dig.c:3147,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dig.c:3161,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:3166,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/dig.c:3167,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3173,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3183,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:3192,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:3198,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/dig.c:3229,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3233,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:3245,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:3249,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:3255,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:3258,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3259,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dig.c:3272,1
    - Dst: fopen
      Src: /src/bind9/bin/dig/dig.c:3275,1
    - Dst: perror
      Src: /src/bind9/bin/dig/dig.c:3278,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:3282,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/dig.c:3286,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3287,1
    - Dst: split_batchline
      Src: /src/bind9/bin/dig/dig.c:3293,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3297,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:3307,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:3312,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:3316,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:3319,1
    - Dst: destroy_lookup
      Src: /src/bind9/bin/dig/dig.c:3322,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 194
    argCount: 4
    argNames:
    - is_batchfile
    - config_only
    - argc
    - argv
    argTypes:
    - bool
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3324
      start: 3022
    functionDepth: 2
    functionLinenumber: 3022
    functionLinenumberEnd: 3324
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 6
    functionsReached:
    - plus_option
    - debug
    - strlcpy
    - fatal
    - snprintf
    - perror
    - parse_uint
    - ISC_LINK_LINKED
    - printgreeting
    - split_batchline
    - fprintf
    - dns_rdataclass_fromtext
    - getaddresses
    - ISC_LIST_DEQUEUE
    - fopen
    - fclose
    - INSIST
    - fgets
    - strlen
    - destroy_lookup
    - getenv
    - strncasecmp
    - make_empty_lookup
    - parse_args
    - strncmp
    - ISC_LIST_APPEND
    - isc_result_totext
    - strcmp
    - dash_option
    - dns_rdatatype_fromtext
    - clone_lookup
    linkageType: ''
    returnType: void
    signature: void parse_args(bool is_batchfile, bool config_only, int argc, char
      **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dig.c:3335,1
    - Dst: feof
      Src: /src/bind9/bin/dig/dig.c:3337,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/dig.c:3338,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3342,1
    - Dst: split_batchline
      Src: /src/bind9/bin/dig/dig.c:3343,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3345,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dig.c:3346,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3350,1
    - Dst: fclose
      Src: /src/bind9/bin/dig/dig.c:3355,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dig/dig.c:3359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3360
      start: 3331
    functionDepth: 2
    functionLinenumber: 3331
    functionLinenumberEnd: 3360
    functionName: query_finished
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - parse_args
    - feof
    - debug
    - isc_loopmgr_shutdown
    - start_lookup
    - fclose
    - fgets
    - split_batchline
    - fflush
    linkageType: ''
    returnType: void
    signature: void query_finished(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3367,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3375,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3376,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3378,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dig.c:3381,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dig.c:3382,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dig.c:3383,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3362
    functionDepth: 0
    functionLinenumber: 3362
    functionLinenumberEnd: 3385
    functionName: dig_error
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vprintf
    - printf
    linkageType: ''
    returnType: void
    signature: void dig_error(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3392,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dig.c:3394,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dig.c:3395,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dig.c:3396,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3400
      start: 3387
    functionDepth: 0
    functionLinenumber: 3387
    functionLinenumberEnd: 3400
    functionName: dig_warning
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vprintf
    - printf
    linkageType: ''
    returnType: void
    signature: void dig_warning(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3407,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dig.c:3409,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dig.c:3410,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dig.c:3411,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lookup
    - format
    argTypes:
    - dig_lookup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3402
    functionDepth: 0
    functionLinenumber: 3402
    functionLinenumberEnd: 3415
    functionName: dig_comments
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vprintf
    - printf
    linkageType: ''
    returnType: void
    signature: void dig_comments(dig_lookup_t *lookup, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dig.c:3419,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dig.c:3420,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dig.c:3421,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3423,1
    - Dst: preparse_args
      Src: /src/bind9/bin/dig/dig.c:3434,1
    - Dst: setup_libs
      Src: /src/bind9/bin/dig/dig.c:3436,1
    - Dst: setup_system
      Src: /src/bind9/bin/dig/dig.c:3437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3438
    functionName: dig_setup
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - debug
    - setup_libs
    - preparse_args
    - ISC_LIST_INIT
    - setup_system
    linkageType: ''
    returnType: void
    signature: void dig_setup(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3442,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3444,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/dig.c:3446,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/dig.c:3448,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/dig.c:3451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - is_batchfile
    - config_only
    - argc
    - argv
    argTypes:
    - bool
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3440
    functionDepth: 1
    functionLinenumber: 3440
    functionLinenumberEnd: 3454
    functionName: dig_query_setup
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - parse_args
    - debug
    - setup_text_key
    - setup_file_key
    - set_search_domain
    linkageType: ''
    returnType: void
    signature: void dig_query_setup(bool is_batchfile, bool config_only, int argc,
      char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3458,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/dig.c:3460,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dig/dig.c:3461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3456
    functionDepth: 1
    functionLinenumber: 3456
    functionLinenumberEnd: 3462
    functionName: dig_startup
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - debug
    - isc_loopmgr_setup
    linkageType: ''
    returnType: void
    signature: void dig_startup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_lookup
      Src: /src/bind9/bin/dig/dig.c:3466,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/dig.c:3467,1
    - Dst: destroy_libs
      Src: /src/bind9/bin/dig/dig.c:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3464
    functionDepth: 1
    functionLinenumber: 3464
    functionLinenumberEnd: 3469
    functionName: dig_shutdown
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - cancel_all
    - destroy_libs
    - destroy_lookup
    linkageType: ''
    returnType: void
    signature: void dig_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dig_setup
      Src: /src/bind9/bin/dig/dig.c:3474,1
    - Dst: dig_query_setup
      Src: /src/bind9/bin/dig/dig.c:3475,1
    - Dst: dig_startup
      Src: /src/bind9/bin/dig/dig.c:3476,1
    - Dst: dig_shutdown
      Src: /src/bind9/bin/dig/dig.c:3477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3472
    functionDepth: 2
    functionLinenumber: 3472
    functionLinenumberEnd: 3480
    functionName: main
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 15
    functionsReached:
    - dig_startup
    - dig_shutdown
    - dig_setup
    - dig_query_setup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: systemlocale
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: systemlocale(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: resetlocale
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resetlocale(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:157,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:158,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dighost.c:159,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:160,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: default_warnerr
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vprintf
    - printf
    linkageType: ''
    returnType: void
    signature: void default_warnerr(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:169,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:170,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dighost.c:171,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:172,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lookup
    - format
    argTypes:
    - dig_lookup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: default_comments
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - vprintf
    - printf
    linkageType: ''
    returnType: void
    signature: void default_comments(dig_lookup_t *lookup, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: cancel_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cancel_lookup(l)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: count_dots
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count_dots(char *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/dighost.c:245,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:247,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:249,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:251,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:254,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:256,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:259,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:264,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:266,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:269,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:271,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 276
    functionName: hex_dump
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedregion
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: void hex_dump(isc_buffer_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - len
    - p
    - end
    argTypes:
    - char*
    - size_t
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: append
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 7
    functionsReached:
    - memmove
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t append(const char *text, size_t len, char **p, char *end)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/bin/dig/dighost.c:294,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/dig/dighost.c:298,1
    - Dst: append
      Src: /src/bind9/bin/dig/dighost.c:302,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:308,1
    - Dst: append
      Src: /src/bind9/bin/dig/dighost.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - in
    - p
    - end
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: reverse_octets
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 5
    functionsReached:
    - strlen
    - strchr
    - append
    - reverse_octets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t reverse_octets(const char *in, char **p, char *end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:320,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:326,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/dig/dighost.c:327,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:331,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:344,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/dig/dighost.c:347,1
    - Dst: append
      Src: /src/bind9/bin/dig/dighost.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - reverse
    - len
    - value
    - strict
    argTypes:
    - char*
    - size_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 358
    functionName: get_reverse
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - dns_fixedname_initname
    - inet_pton
    - dns_name_format
    - dns_byaddr_createptrname
    - append
    - reverse_octets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_reverse(char *reverse, size_t len, char *value, bool
      strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dighost.c:365,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:366,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:367,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:368,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:369,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: warn
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 5
    functionsReached:
    - va_end
    - va_start
    - fprintf
    - fflush
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void warn(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dighost.c:377,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:378,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:379,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:380,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:381,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: warn
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 5
    functionsReached:
    - va_end
    - va_start
    - fprintf
    - fflush
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void warn(const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/bind9/bin/dig/dighost.c:392,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dighost.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: digexit
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - _exit
    - exit
    linkageType: ''
    returnType: void
    signature: void digexit(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dighost.c:401,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:402,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:403,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:404,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:405,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:406,1
    - Dst: digexit
      Src: /src/bind9/bin/dig/dighost.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 413
    functionName: fatal
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 58
    functionsReached:
    - va_end
    - digexit
    - va_start
    - fprintf
    - fflush
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dighost.c:421,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:423,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:424,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/dig/dighost.c:424,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/bin/dig/dighost.c:425,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:427,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:428,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:429,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: debug
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 39
    functionsReached:
    - va_end
    - va_start
    - isc_time_seconds
    - isc_time_now
    - fprintf
    - fflush
    - vfprintf
    - isc_time_nanoseconds
    linkageType: ''
    returnType: void
    signature: void debug(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:437,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: check_result
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 22
    functionsReached:
    - fatal
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void check_result(isc_result_t result, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:450,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:452,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:453,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:454,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:455,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - servname
    - userarg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: make_server
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - strlcpy
    - ISC_LINK_INIT
    - REQUIRE
    - isc_mem_allocate
    linkageType: ''
    returnType: dig_server_t
    signature: 'dig_server_t *

      make_server(const char *servname, const char *userarg)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:466,1
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/bin/dig/dighost.c:468,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:469,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:470,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:483,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:484,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/bin/dig/dighost.c:485,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:489,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dighost.c:492,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dighost.c:493,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:496,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:497,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 500
    functionName: get_server_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - irs_resconf_getnameservers
    - isc_sockaddr_pf
    - debug
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - ISC_LINK_INIT
    - make_server
    - strlcat
    - isc_buffer_init
    - isc_netaddr_totext
    - snprintf
    - isc_buffer_putuint8
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void get_server_list(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:504,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:506,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: flush_server_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - ISC_LIST_DEQUEUE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void flush_server_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:506,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 55
    functionsReached:
    - ISC_LIST_DEQUEUE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (server_list, s, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/dig/dighost.c:524,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/dig/dighost.c:525,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/dighost.c:526,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:528,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:529,1
    - Dst: flush_server_list
      Src: /src/bind9/bin/dig/dighost.c:532,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:535,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:536,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:537,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:539,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 543
    functionName: set_nameserver
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - flush_server_list
    - make_server
    - isc_result_totext
    - isc_netaddr_format
    - isc_loopmgr_nonblocking
    - fatal
    - isc_loopmgr_blocking
    - isc_getaddresses
    linkageType: ''
    returnType: void
    signature: void set_nameserver(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:551,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:553,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:555,1
    - Dst: ISC_LIST_ENQUEUE
      Src: /src/bind9/bin/dig/dighost.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - dig_serverlist_t
    - dig_serverlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: clone_server_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - make_server
    - ISC_LINK_INIT
    - debug
    - ISC_LIST_ENQUEUE
    linkageType: ''
    returnType: void
    signature: void clone_server_list(dig_serverlist_t src, dig_serverlist_t *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:553,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:555,1
    - Dst: ISC_LIST_ENQUEUE
      Src: /src/bind9/bin/dig/dighost.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 557
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 55
    functionsReached:
    - ISC_LINK_INIT
    - make_server
    - ISC_LIST_ENQUEUE
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (src, srv, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/bin/dig/dighost.c:572,1
    - Dst: isatty
      Src: /src/bind9/bin/dig/dighost.c:574,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:578,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:580,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:582,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/dig/dighost.c:608,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:609,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:610,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:611,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/dig/dighost.c:613,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/dig/dighost.c:615,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:619,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 623
    functionName: make_empty_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - dns_fixedname_init
    - debug
    - isc_refcount_current
    - ISC_LINK_INIT
    - ISC_LIST_INIT
    - isc_mem_allocate
    - INSIST
    - isc_tlsctx_cache_create
    - isc_refcount_init
    - isatty
    - getenv
    linkageType: ''
    returnType: dig_lookup_t
    signature: 'dig_lookup_t *

      make_empty_lookup(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:631,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:645,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:646,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - looknew
    - lookold
    argTypes:
    - dig_lookup_t*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 655
    functionName: cloneopts
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - memmove
    - INSIST
    linkageType: ''
    returnType: void
    signature: void cloneopts(dig_lookup_t *looknew, dig_lookup_t *lookold)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:668,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:670,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/dighost.c:672,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:673,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:674,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:701,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:708,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:714,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:720,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:726,1
    - Dst: cloneopts
      Src: /src/bind9/bin/dig/dighost.c:737,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:795,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:797,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:801,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:801,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:802,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/dig/dighost.c:806,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/bin/dig/dighost.c:807,1
    - Dst: clone_server_list
      Src: /src/bind9/bin/dig/dighost.c:810,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/dig/dighost.c:814,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 131
    argCount: 2
    argNames:
    - lookold
    - servers
    argTypes:
    - dig_lookup_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 819
    functionName: clone_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - make_empty_lookup
    - isc_tlsctx_cache_attach
    - debug
    - memmove
    - strlcpy
    - clone_server_list
    - isc_tlsctx_cache_detach
    - INSIST
    - dns_fixedname_name
    - isc_mem_get
    - isc_refcount_init
    - cloneopts
    - isc_mem_strdup
    - dns_name_copy
    linkageType: ''
    returnType: dig_lookup_t
    signature: 'dig_lookup_t *

      clone_lookup(dig_lookup_t *lookold, bool servers)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:833,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:837,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dighost.c:840,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:841,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:843,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/bin/dig/dighost.c:845,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lookold
    - servers
    argTypes:
    - dig_lookup_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 829
    functionDepth: 4
    functionLinenumber: 829
    functionLinenumberEnd: 849
    functionName: requeue_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - debug
    - INSIST
    - fatal
    - clone_lookup
    linkageType: ''
    returnType: dig_lookup_t
    signature: 'dig_lookup_t *

      requeue_lookup(dig_lookup_t *lookold, bool servers)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:855,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:860,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/dighost.c:861,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dig/dighost.c:862,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:863,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:864,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:865,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/dig/dighost.c:866,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:871,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:878,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/dig/dighost.c:883,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:887,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:888,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/dig/dighost.c:890,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:893,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 895
    functionName: setup_text_key
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - dns_name_fromtext
    - dst_key_setbits
    - isc_mem_free
    - dns_fixedname_initname
    - isc_buffer_putstr
    - isc_result_totext
    - isc_buffer_init
    - strlen
    - dns_tsigkey_create
    - isc_buffer_free
    - isc_base64_decodestring
    - isc_buffer_allocate
    - isc_buffer_usedlength
    - printf
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: void setup_text_key(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/dig/dighost.c:901,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:906,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - uip
    - value
    - max
    - desc
    - base
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 912
    functionName: parse_uint_helper
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_parse_uint32
    - printf
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_uint_helper(uint32_t *uip, const char *value, uint32_t
      max,\n\t\t  const char *desc, int base)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_helper
      Src: /src/bind9/bin/dig/dighost.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - uip
    - value
    - max
    - desc
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 917
    functionName: parse_uint
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 9
    functionsReached:
    - parse_uint_helper
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_uint(uint32_t *uip, const char *value, uint32_t
      max, const char *desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint_helper
      Src: /src/bind9/bin/dig/dighost.c:921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - uip
    - value
    - max
    - desc
    argTypes:
    - uint32_t*
    - char*
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 922
    functionName: parse_xint
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - parse_uint_helper
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_xint(uint32_t *uip, const char *value, uint32_t
      max, const char *desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dighost.c:929,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - desc
    - max
    argTypes:
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 935
    functionName: parse_bits
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - fatal
    - parse_uint
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t parse_bits(char *arg, const char *desc, uint32_t max)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:949,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:951,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:952,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:955,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dighost.c:958,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dighost.c:964,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/dig/dighost.c:967,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:969,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:970,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:975,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/dig/dighost.c:977,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:981,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dighost.c:983,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:990,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dighost.c:991,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:992,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dighost.c:994,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1005,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - sap
    - value
    argTypes:
    - isc_sockaddr_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 1013
    functionName: parse_netprefix
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_parse_uint32
    - strlcpy
    - strchr
    - isc_sockaddr_fromin
    - strlcat
    - isc_result_totext
    - isc_sockaddr_fromin6
    - isc_mem_get
    - fatal
    - strlen
    - REQUIRE
    - inet_pton
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_netprefix(isc_sockaddr_t **sap, const char *value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1023,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:1025,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1027,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1029,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1033,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1035,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1037,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1038,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1041,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1043,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1044,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1046,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1048,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1049,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1051,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1053,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1054,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1056,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1058,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1059,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1061,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1063,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:1065,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - algname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1070
    functionName: parse_hmac
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 3
    functionsReached:
    - strlcpy
    - parse_bits
    - strlen
    - fatal
    - REQUIRE
    - fprintf
    - strcasecmp
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void parse_hmac(const char *algname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/dig/dighost.c:1087,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/dig/dighost.c:1091,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/dig/dighost.c:1096,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dig/dighost.c:1101,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dig/dighost.c:1106,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dig/dighost.c:1107,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1109,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dig/dighost.c:1112,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/dig/dighost.c:1112,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dig/dighost.c:1113,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dig/dighost.c:1114,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1116,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1117,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/dig/dighost.c:1118,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/dighost.c:1119,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/dig/dighost.c:1124,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/dig/dighost.c:1126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1130
    functionName: read_confkey
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - parse_hmac
    - cfg_parse_file
    - cfg_map_getname
    - cfg_parser_create
    - strlcpy
    - setup_text_key
    - cfg_obj_asstring
    - cfg_obj_destroy
    - fatal
    - isc_file_exists
    - cfg_parser_destroy
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t read_confkey(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1137,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:1140,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dig/dighost.c:1144,1
    - Dst: read_confkey
      Src: /src/bind9/bin/dig/dighost.c:1149,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:1156,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1157,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dig/dighost.c:1161,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dig/dighost.c:1168,1
    - Dst: dst_key_attach
      Src: /src/bind9/bin/dig/dighost.c:1171,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:1172,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/bin/dig/dighost.c:1177,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dig/dighost.c:1178,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1181,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1182,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:1188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1132
    functionDepth: 3
    functionLinenumber: 1132
    functionLinenumberEnd: 1190
    functionName: setup_file_key
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - dst_key_free
    - read_confkey
    - dst_key_alg
    - dst_key_fromnamedfile
    - isc_result_totext
    - fprintf
    - printf
    - dst_key_attach
    - dst_key_name
    - dns_tsigkey_createfromkey
    linkageType: ''
    returnType: void
    signature: void setup_file_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:1195,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1196,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1200
    functionName: make_searchlist_entry
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - ISC_LINK_INIT
    - strlcpy
    linkageType: ''
    returnType: dig_searchlist_t
    signature: 'dig_searchlist_t *

      make_searchlist_entry(char *domain)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dig/dighost.c:1205,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1208
    functionName: clear_searchlist
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void clear_searchlist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dig/dighost.c:1205,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 55
    functionsReached:
    - isc_mem_free
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (search_list, search, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1212,1
    - Dst: clear_searchlist
      Src: /src/bind9/bin/dig/dighost.c:1213,1
    - Dst: irs_resconf_getsearchlist
      Src: /src/bind9/bin/dig/dighost.c:1215,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:1216,1
    - Dst: make_searchlist_entry
      Src: /src/bind9/bin/dig/dighost.c:1217,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1220
    functionName: create_search_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - make_searchlist_entry
    - debug
    - irs_resconf_getsearchlist
    - ISC_LIST_APPEND
    - clear_searchlist
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void create_search_list(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:1230,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:1231,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1233
    functionName: add_fallback_nameserver
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - make_server
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void add_fallback_nameserver(const char *addr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1244,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/dig/dighost.c:1248,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1251,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/dig/dighost.c:1257,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1260,1
    - Dst: irs_resconf_load
      Src: /src/bind9/bin/dig/dighost.c:1264,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1266,1
    - Dst: create_search_list
      Src: /src/bind9/bin/dig/dighost.c:1269,1
    - Dst: irs_resconf_getndots
      Src: /src/bind9/bin/dig/dighost.c:1271,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1272,1
    - Dst: irs_resconf_gettimeout
      Src: /src/bind9/bin/dig/dighost.c:1275,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1276,1
    - Dst: irs_resconf_getattempts
      Src: /src/bind9/bin/dig/dighost.c:1279,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1283,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1287,1
    - Dst: get_server_list
      Src: /src/bind9/bin/dig/dighost.c:1288,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1292,1
    - Dst: add_fallback_nameserver
      Src: /src/bind9/bin/dig/dighost.c:1294,1
    - Dst: add_fallback_nameserver
      Src: /src/bind9/bin/dig/dighost.c:1297,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/bin/dig/dighost.c:1301,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/dighost.c:1304,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/dighost.c:1306,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/dig/dighost.c:1309,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 2
    argNames:
    - ipv4only
    - ipv6only
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1239
    functionDepth: 4
    functionLinenumber: 1239
    functionLinenumberEnd: 1310
    functionName: setup_system
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - irs_resconf_destroy
    - debug
    - create_search_list
    - irs_resconf_getndots
    - ISC_LIST_EMPTY
    - setup_text_key
    - irs_resconf_load
    - setup_file_key
    - isc_nonce_buf
    - isc_net_disableipv6
    - fatal
    - irs_resconf_getattempts
    - isc_net_disableipv4
    - get_server_list
    - add_fallback_nameserver
    - irs_resconf_gettimeout
    linkageType: ''
    returnType: void
    signature: void setup_system(bool ipv4only, bool ipv6only)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear_searchlist
      Src: /src/bind9/bin/dig/dighost.c:1319,1
    - Dst: make_searchlist_entry
      Src: /src/bind9/bin/dig/dighost.c:1320,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1315
    functionDepth: 2
    functionLinenumber: 1315
    functionLinenumberEnd: 1322
    functionName: set_search_domain
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - make_searchlist_entry
    - clear_searchlist
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void set_search_domain(char *domain)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1332,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dig/dighost.c:1334,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/dig/dighost.c:1336,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/dig/dighost.c:1341,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1346,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/dig/dighost.c:1349,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/dig/dighost.c:1351,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/dig/dighost.c:1352,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/dig/dighost.c:1356,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/dig/dighost.c:1358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1359
    functionName: setup_libs
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - isc_logconfig_get
    - isc_net_probeipv4
    - isc_commandline_init
    - fatal
    - isc_net_probeipv6
    - isc_log_createandusechannel
    - isc_log_setdebuglevel
    - isc_loop_main
    - isc_managers_create
    linkageType: ''
    returnType: void
    signature: void setup_libs(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1402,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1406,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dighost.c:1414,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1416,1
    - Dst: cloneopts
      Src: /src/bind9/bin/dig/dighost.c:1421,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1423,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1426,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:1435,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:1435,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:1436,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:1436,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dig/dighost.c:1437,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1438,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:1440,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:1442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - lookup
    - code
    - value
    argTypes:
    - dig_lookup_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1393
    functionDepth: 2
    functionLinenumber: 1393
    functionLinenumberEnd: 1446
    functionName: save_opt
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_mem_free
    - INSIST
    - isc_buffer_init
    - strlen
    - fatal
    - cloneopts
    - isc_hex_decodestring
    - check_result
    - isc_buffer_usedlength
    - isc_mem_allocate
    - isc_buffer_base
    - strcasecmp
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void save_opt(dig_lookup_t *lookup, char *code, char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1459,1
    - Dst: dns_message_buildopt
      Src: /src/bind9/bin/dig/dighost.c:1460,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1462,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/dig/dighost.c:1463,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - msg
    - udpsize
    - edns
    - flags
    - opts
    - count
    argTypes:
    - dns_message_t*
    - uint16_t
    - uint16_t
    - unsigned int
    - dns_ednsopt_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1465
    functionName: add_opt
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - dns_message_buildopt
    - check_result
    - debug
    - dns_message_setopt
    linkageType: ''
    returnType: void
    signature: "void add_opt(dns_message_t *msg, uint16_t udpsize, uint16_t edns,
      unsigned int flags,\n\tdns_ednsopt_t *opts, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1476,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/dig/dighost.c:1478,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/dig/dighost.c:1479,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - message
    - name
    - rdclass
    - rdtype
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1481
    functionName: add_question
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_message_gettemprdataset
    - debug
    - ISC_LIST_APPEND
    - dns_rdataset_makequestion
    linkageType: ''
    returnType: void
    signature: "void add_question(dns_message_t *message, dns_name_t *name, dns_rdataclass_t
      rdclass,\n\t     dns_rdatatype_t rdtype)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1493,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1494,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1494,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1497,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1500,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1501,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1503,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1503,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1504,1
    - Dst: dighost_shutdown
      Src: /src/bind9/bin/dig/dighost.c:1505,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:1508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1511
    functionName: check_if_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - debug
    - ISC_LIST_EMPTY
    - isc_refcount_current
    - INSIST
    - dighost_shutdown
    linkageType: ''
    returnType: void
    signature: void check_if_done(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1498
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 56
    functionsReached:
    - debug
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (lookup_list, lookup, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1520,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:1522,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1523,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - l
    - except_q
    argTypes:
    - dig_lookup_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1532
    functionName: check_if_queries_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool check_if_queries_done(dig_lookup_t *l, dig_query_t *except_q)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1536,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1537,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1537,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1539,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:1541,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:1543,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1544,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:1545,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1546,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/dig/dighost.c:1549,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1552,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:1553,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1556,1
    - Dst: dst_context_destroy
      Src: /src/bind9/bin/dig/dighost.c:1560,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1564,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1571,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1574,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1578,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/dig/dighost.c:1582,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1586,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1590,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1594,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1598,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1601,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1602
    functionName: _destroy_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - ISC_LIST_EMPTY
    - ISC_LIST_DEQUEUE
    - isc_mem_free
    - isc_tlsctx_cache_detach
    - isc_buffer_free
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_mem_put
    - dns_message_detach
    - isc_refcount_destroy
    - dst_context_destroy
    linkageType: ''
    returnType: void
    signature: void _destroy_lookup(dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1605
    functionName: lookup_attach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lookup_attach(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1608,1
    - Dst: DIG_VALID_LOOKUP
      Src: /src/bind9/bin/dig/dighost.c:1608,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1609,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1611,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1612,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/dig/dighost.c:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - lookup
    - lookupp
    - file
    - line
    argTypes:
    - dig_lookup_t*
    - dig_lookup_t**
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1617
    functionName: _lookup_attach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - DIG_VALID_LOOKUP
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void _lookup_attach(dig_lookup_t *lookup, dig_lookup_t **lookupp,
      const char *file,\n\t       unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1620
    functionName: lookup_detach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lookup_detach(l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1622,1
    - Dst: DIG_VALID_LOOKUP
      Src: /src/bind9/bin/dig/dighost.c:1622,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1627,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1628,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/dig/dighost.c:1630,1
    - Dst: _destroy_lookup
      Src: /src/bind9/bin/dig/dighost.c:1631,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:1634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - lookupp
    - file
    - line
    argTypes:
    - dig_lookup_t**
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1620
    functionDepth: 2
    functionLinenumber: 1620
    functionLinenumberEnd: 1637
    functionName: _lookup_detach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - DIG_VALID_LOOKUP
    - isc_refcount_decrement
    - start_lookup
    - REQUIRE
    - _destroy_lookup
    linkageType: ''
    returnType: void
    signature: void _lookup_detach(dig_lookup_t **lookupp, const char *file, unsigned
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1641,1
    - Dst: DIG_VALID_LOOKUP
      Src: /src/bind9/bin/dig/dighost.c:1641,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1643,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/dig/dighost.c:1643,1
    - Dst: _destroy_lookup
      Src: /src/bind9/bin/dig/dighost.c:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1639
    functionDepth: 2
    functionLinenumber: 1639
    functionLinenumberEnd: 1645
    functionName: destroy_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - _destroy_lookup
    - REQUIRE
    - isc_refcount_decrement
    - DIG_VALID_LOOKUP
    linkageType: ''
    returnType: void
    signature: void destroy_lookup(dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1653,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1654,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:1656,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:1658,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1660,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1662,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1663,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - query
    - file
    - line
    argTypes:
    - dig_query_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1667
    functionName: destroy_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - lookup_detach
    - debug
    - isc_refcount_current
    - isc_mem_free
    - INSIST
    - isc_mem_put
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_query(dig_query_t *query, const char *file, unsigned int
      line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1670
    functionName: query_attach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: query_attach(s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1674,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:1674,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1675,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1677,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1678,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/dig/dighost.c:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - source
    - targetp
    - file
    - line
    argTypes:
    - dig_query_t*
    - dig_query_t**
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1683
    functionName: _query_attach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - isc_refcount_increment
    - REQUIRE
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: "void _query_attach(dig_query_t *source, dig_query_t **targetp, const
      char *file,\n\t      unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1686
    functionName: query_detach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: query_detach(q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1692,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:1692,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:1700,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1703,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1704,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/dig/dighost.c:1706,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1707,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1708,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:1710,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dig/dighost.c:1711,1
    - Dst: destroy_query
      Src: /src/bind9/bin/dig/dighost.c:1713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - queryp
    - file
    - line
    argTypes:
    - dig_query_t**
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1715
    functionName: _query_detach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - ISC_LINK_LINKED
    - isc_refcount_decrement
    - INSIST
    - destroy_query
    - query_detach
    - REQUIRE
    - ISC_LIST_UNLINK
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: void _query_detach(dig_query_t **queryp, const char *file, unsigned
      int line)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1725,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1735,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1737,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:1748,1
    - Dst: setup_lookup
      Src: /src/bind9/bin/dig/dighost.c:1749,1
    - Dst: do_lookup
      Src: /src/bind9/bin/dig/dighost.c:1750,1
    - Dst: next_origin
      Src: /src/bind9/bin/dig/dighost.c:1751,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:1752,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:1753,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:1756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1723
    functionDepth: 2
    functionLinenumber: 1723
    functionLinenumberEnd: 1758
    functionName: start_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 3
    functionsReached:
    - lookup_detach
    - do_lookup
    - ISC_LIST_HEAD
    - debug
    - ISC_LIST_DEQUEUE
    - check_if_done
    - start_lookup
    - INSIST
    - next_origin
    - setup_lookup
    linkageType: ''
    returnType: void
    signature: void start_lookup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1769,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1771,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1774,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1779,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1783,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1784,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1789,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:1791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1792
    functionName: clear_current_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - debug
    - lookup_detach
    - INSIST
    linkageType: ''
    returnType: void
    signature: void clear_current_lookup(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1814,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1816,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1824,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1831,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1837,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1844,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dig/dighost.c:1845,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1849,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1855,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:1873,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:1876,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1877,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:1878,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:1879,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1882,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1886,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1887,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1902,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:1903,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1906,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dighost.c:1907,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1909,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1910,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1913,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1921,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1922,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:1928,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:1939,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1942,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1943,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1945,1
    - Dst: isc_random_uniform
      Src: /src/bind9/bin/dig/dighost.c:1946,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:1947,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:1950,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:1952,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1953,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/dig/dighost.c:1956,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 101
    argCount: 3
    argNames:
    - msg
    - query
    - section
    argTypes:
    - dns_message_t*
    - dig_query_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1800
    functionDepth: 5
    functionLinenumber: 1800
    functionLinenumberEnd: 1961
    functionName: followup_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - debug
    - dighost_warning
    - strlcpy
    - dns_rdataset_current
    - check_result
    - fatal
    - printf
    - ISC_LIST_APPENDLIST
    - requeue_lookup
    - dns_rdata_tostruct
    - cancel_lookup
    - ISC_LIST_HEAD
    - dns_message_findtype
    - dns_rdata_freestruct
    - dns_name_format
    - dns_name_copy
    - ISC_LIST_INIT
    - getaddresses
    - ISC_LIST_NEXT
    - followup_lookup
    - ISC_LIST_DEQUEUE
    - dns_fixedname_name
    - INSIST
    - isc_random_uniform
    - ISC_LIST_APPEND
    - isc_result_totext
    - dns_name_fullcompare
    linkageType: ''
    returnType: int
    signature: int followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t
      section)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1824,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1831,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1837,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1844,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dig/dighost.c:1845,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1849,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1855,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:1873,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:1876,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1877,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:1878,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:1879,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1882,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1886,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1887,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1902,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:1903,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1906,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dighost.c:1907,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1909,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1910,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1913,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1821
    functionDepth: 5
    functionLinenumber: 1821
    functionLinenumberEnd: 1919
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - cancel_lookup
    - debug
    - dighost_warning
    - dns_message_findtype
    - strlcpy
    - dns_rdataset_current
    - dns_fixedname_name
    - isc_result_totext
    - check_result
    - dns_rdata_freestruct
    - dns_name_fullcompare
    - printf
    - getaddresses
    - dns_name_format
    - dns_name_copy
    - requeue_lookup
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:1873,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:1876,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1877,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:1878,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:1879,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1882,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1886,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1887,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1902,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:1903,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1906,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dighost.c:1907,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1909,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1910,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1913,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1862
    functionDepth: 5
    functionLinenumber: 1862
    functionLinenumberEnd: 1918
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - cancel_lookup
    - debug
    - strlcpy
    - dns_rdataset_current
    - dns_fixedname_name
    - isc_result_totext
    - check_result
    - dns_rdata_freestruct
    - printf
    - getaddresses
    - dns_name_format
    - dns_name_copy
    - requeue_lookup
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1977,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1979,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1980,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:1993,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/dig/dighost.c:1994,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/dig/dighost.c:1996,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/dig/dighost.c:1997,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:2009,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:2010,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:2013,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:2017,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:2020,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - oldlookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1969
    functionDepth: 5
    functionLinenumber: 1969
    functionLinenumberEnd: 2022
    functionName: next_origin
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - dns_name_countlabels
    - cancel_lookup
    - debug
    - ISC_LIST_HEAD
    - dns_fixedname_initname
    - INSIST
    - dns_name_fromstring
    - dns_name_isabsolute
    - requeue_lookup
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: bool
    signature: bool next_origin(dig_lookup_t *oldlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2037,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/dighost.c:2047,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/dighost.c:2048,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2050,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2051,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2053,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/dig/dighost.c:2056,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/dig/dighost.c:2058,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2060,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/dig/dighost.c:2062,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/dig/dighost.c:2064,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:2067,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dig/dighost.c:2069,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/dig/dighost.c:2071,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2072,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:2073,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:2074,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/dig/dighost.c:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2028
    functionDepth: 1
    functionLinenumber: 2028
    functionLinenumberEnd: 2076
    functionName: insert_soa
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - debug
    - dns_name_init
    - dns_rdata_fromstruct
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - dns_message_addname
    - isc_buffer_init
    - dns_name_clone
    - check_result
    - dns_message_gettemprdataset
    - dns_message_gettempname
    - ISC_LIST_INIT
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: void insert_soa(dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2081,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - clientcookie
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2083
    functionName: compute_cookie
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - memmove
    - INSIST
    linkageType: ''
    returnType: void
    signature: void compute_cookie(unsigned char *clientcookie, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - s
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2086
    functionName: new_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: new_query(l, s, u)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:2092,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2093,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:2098,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:2099,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:2101,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/dig/dighost.c:2103,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2105,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:2106,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2109,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2112,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/dig/dighost.c:2115,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/dig/dighost.c:2116,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:2118,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:2119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - lookup
    - servname
    - userarg
    - file
    - line
    argTypes:
    - dig_lookup_t*
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2087
    functionDepth: 1
    functionLinenumber: 2087
    functionLinenumberEnd: 2123
    functionName: _new_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - ISC_LINK_INIT
    - isc_mem_get
    - isc_refcount_init
    - fatal
    - isc_mem_allocate
    - isc_time_settoepoch
    - lookup_attach
    linkageType: ''
    returnType: dig_query_t
    signature: "dig_query_t *\n_new_query(dig_lookup_t *lookup, char *servname, char
      *userarg,\n\t   const char *file, unsigned int line)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2143,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2149,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2151,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/dig/dighost.c:2153,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2157,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:2161,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2162,1
    - Dst: clone_server_list
      Src: /src/bind9/bin/dig/dighost.c:2163,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/dig/dighost.c:2165,1
    - Dst: idn_input
      Src: /src/bind9/bin/dig/dighost.c:2175,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2176,1
    - Dst: count_dots
      Src: /src/bind9/bin/dig/dighost.c:2189,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:2194,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2200,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/dig/dighost.c:2201,1
    - Dst: idn_input
      Src: /src/bind9/bin/dig/dighost.c:2206,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2207,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:2211,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2212,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:2213,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:2214,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2216,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2217,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2219,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2220,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2223,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:2228,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:2229,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2230,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:2231,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:2232,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/dig/dighost.c:2234,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/bin/dig/dighost.c:2235,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:2239,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2243,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2245,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2250,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2252,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2255,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2257,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2259,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:2261,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2262,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:2263,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:2264,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2267,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dighost.c:2269,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2271,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:2273,1
    - Dst: cleanup_openssl_refs
      Src: /src/bind9/bin/dig/dighost.c:2276,1
    - Dst: digexit
      Src: /src/bind9/bin/dig/dighost.c:2277,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:2282,1
    - Dst: dighost_trying
      Src: /src/bind9/bin/dig/dighost.c:2283,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2284,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/dig/dighost.c:2284,1
    - Dst: isc_random16
      Src: /src/bind9/bin/dig/dighost.c:2286,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2301,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2307,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2312,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2317,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2322,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2327,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2332,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2337,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/dig/dighost.c:2341,1
    - Dst: add_question
      Src: /src/bind9/bin/dig/dighost.c:2364,1
    - Dst: insert_soa
      Src: /src/bind9/bin/dig/dighost.c:2370,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2377,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/dig/dighost.c:2378,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2379,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2381,1
    - Dst: dns_message_setsig0key
      Src: /src/bind9/bin/dig/dighost.c:2382,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2383,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:2391,1
    - Dst: dns_compress_init
      Src: /src/bind9/bin/dig/dighost.c:2393,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2395,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2396,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/bin/dig/dighost.c:2397,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2399,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2423,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2445,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2448,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2472,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2476,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2479,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2482,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2485,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dighost.c:2488,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2491,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/bin/dig/dighost.c:2493,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:2495,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:2497,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dig/dighost.c:2506,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2515,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2518,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dig/dighost.c:2520,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2522,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:2523,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:2524,1
    - Dst: compute_cookie
      Src: /src/bind9/bin/dig/dighost.c:2526,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2534,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2542,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2550,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2558,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2559,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2565,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2570,1
    - Dst: dns_message_setpadding
      Src: /src/bind9/bin/dig/dighost.c:2575,1
    - Dst: add_opt
      Src: /src/bind9/bin/dig/dighost.c:2587,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/dig/dighost.c:2591,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2593,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/dig/dighost.c:2594,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2596,1
    - Dst: dns_message_renderend
      Src: /src/bind9/bin/dig/dighost.c:2597,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2598,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2599,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/bin/dig/dighost.c:2601,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:2606,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:2612,1
    - Dst: new_query
      Src: /src/bind9/bin/dig/dighost.c:2613,1
    - Dst: ISC_LIST_ENQUEUE
      Src: /src/bind9/bin/dig/dighost.c:2615,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 311
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2131
    functionDepth: 3
    functionLinenumber: 2131
    functionLinenumberEnd: 2619
    functionName: setup_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - debug
    - memmove
    - isc_buffer_putmem
    - new_query
    - check_result
    - isc_hex_decodestring
    - fatal
    - dns_message_renderbegin
    - dns_message_gettempname
    - REQUIRE
    - dns_message_renderend
    - dns_message_setpadding
    - dns_message_puttempname
    - UNREACHABLE
    - ISC_LIST_HEAD
    - dns_fixedname_initname
    - ISC_LIST_ENQUEUE
    - dns_name_concatenate
    - dns_name_copy
    - dns_name_format
    - dns_message_create
    - insert_soa
    - dns_message_rendersection
    - isc_buffer_base
    - dns_compress_init
    - dns_name_fromtext
    - ISC_LIST_EMPTY
    - warn
    - clone_server_list
    - dighost_trying
    - dns_message_addname
    - idn_input
    - INSIST
    - strlen
    - isc_mem_get
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - ISC_LIST_FOREACH
    - dns_name_isabsolute
    - dns_message_setsig0key
    - add_question
    - compute_cookie
    - isc_random16
    - digexit
    - dns_message_settsigkey
    - count_dots
    - isc_result_totext
    - isc_buffer_init
    - dns_name_clone
    - isc_buffer_usedlength
    - isc_buffer_add
    - clear_current_lookup
    - cleanup_openssl_refs
    - add_opt
    linkageType: ''
    returnType: bool
    signature: bool setup_lookup(dig_lookup_t *lookup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:2629,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2632,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2633,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:2642,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:2643,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:2648,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2649,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2650,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:2651,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2653,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2654,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2657,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2658,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2660,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:2662,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:2664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - dig_lookup_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2627
    functionDepth: 2
    functionLinenumber: 2627
    functionLinenumberEnd: 2667
    functionName: nssearch_next
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - cancel_lookup
    - lookup_detach
    - debug
    - clear_current_lookup
    - INSIST
    - query_detach
    - dighost_error
    - start_udp
    - check_if_queries_done
    - start_tcp
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void nssearch_next(dig_lookup_t *l, dig_query_t *q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2678,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:2678,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2679,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2680,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2682,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2682,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:2684,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2685,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:2685,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2687,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:2689,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:2691,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2694,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:2696,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2698,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2699,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:2700,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2703,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2703,1
    - Dst: nssearch_next
      Src: /src/bind9/bin/dig/dighost.c:2707,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2709,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2710,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:2713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2673
    functionDepth: 3
    functionLinenumber: 2673
    functionLinenumberEnd: 2714
    functionName: send_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - cancel_lookup
    - debug
    - lookup_detach
    - isc_refcount_current
    - isc_refcount_decrement0
    - INSIST
    - isc_result_totext
    - query_detach
    - REQUIRE
    - nssearch_next
    - lookup_attach
    - check_if_done
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: void send_done(isc_nmhandle_t *handle, isc_result_t eresult, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2722,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:2723,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2724,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:2724,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:2725,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2726,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/bin/dig/dighost.c:2730,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/bin/dig/dighost.c:2732,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2734,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:2738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - lookup
    - file
    - line
    argTypes:
    - dig_lookup_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2720
    functionDepth: 2
    functionLinenumber: 2720
    functionLinenumberEnd: 2739
    functionName: _cancel_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - ISC_LIST_DEQUEUE
    - isc_nm_cancelread
    - isc_nm_is_http_handle
    - query_detach
    - REQUIRE
    - ISC_LIST_FOREACH
    - check_if_done
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: void _cancel_lookup(dig_lookup_t *lookup, const char *file, unsigned
      int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_tls_valid_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:2751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2756
    functionName: get_tls_sni_hostname
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_tls_valid_sni_hostname
    linkageType: ''
    returnType: char
    signature: 'char *

      get_tls_sni_hostname(dig_query_t *query)'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:2765,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:2779,1
    - Dst: isc_tlsctx_cache_find
      Src: /src/bind9/bin/dig/dighost.c:2781,1
    - Dst: isc_tls_cert_store_create
      Src: /src/bind9/bin/dig/dighost.c:2787,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/bin/dig/dighost.c:2798,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:2804,1
    - Dst: isc_tlsctx_enable_peer_verification
      Src: /src/bind9/bin/dig/dighost.c:2811,1
    - Dst: isc_tlsctx_load_certificate
      Src: /src/bind9/bin/dig/dighost.c:2822,1
    - Dst: isc_tlsctx_enable_dot_client_alpn
      Src: /src/bind9/bin/dig/dighost.c:2831,1
    - Dst: isc_tlsctx_enable_http2client_alpn
      Src: /src/bind9/bin/dig/dighost.c:2836,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/bin/dig/dighost.c:2840,1
    - Dst: isc_tlsctx_cache_add
      Src: /src/bind9/bin/dig/dighost.c:2844,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dig/dighost.c:2847,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2849,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2856,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2860,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/bin/dig/dighost.c:2864,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/bin/dig/dighost.c:2874,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 3
    argNames:
    - query
    - is_https
    - psess_cache
    argTypes:
    - dig_query_t*
    - bool
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2758
    functionDepth: 1
    functionLinenumber: 2758
    functionLinenumberEnd: 2877
    functionName: get_create_tls_context
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - RUNTIME_CHECK
    - isc_sockaddr_format
    - isc_tlsctx_load_certificate
    - isc_tls_cert_store_free
    - isc_tlsctx_enable_peer_verification
    - isc_tlsctx_createclient
    - isc_tlsctx_enable_http2client_alpn
    - isc_tlsctx_cache_add
    - INSIST
    - isc_tlsctx_client_session_cache_create
    - isc_tlsctx_free
    - isc_tlsctx_cache_find
    - isc_tlsctx_enable_dot_client_alpn
    - get_tls_sni_hostname
    - isc_tls_cert_store_create
    linkageType: ''
    returnType: isc_tlsctx_t
    signature: "isc_tlsctx_t *\nget_create_tls_context(dig_query_t *query, const bool
      is_https,\n\t\t       isc_tlsctx_client_session_cache_t **psess_cache)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2900,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:2900,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2902,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:2904,1
    - Dst: dig_lookup_is_tls
      Src: /src/bind9/bin/dig/dighost.c:2906,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2926,1
    - Dst: get_address
      Src: /src/bind9/bin/dig/dighost.c:2928,1
    - Dst: force_next
      Src: /src/bind9/bin/dig/dighost.c:2935,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:2939,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/dig/dighost.c:2940,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:2945,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:2946,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:2947,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:2949,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:2950,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2954,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:2956,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:2957,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:2959,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2964,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/dig/dighost.c:2966,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:2968,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:2971,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:2981,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/dig/dighost.c:2983,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/dig/dighost.c:2985,1
    - Dst: isc_nm_proxyheader_info_init
      Src: /src/bind9/bin/dig/dighost.c:2998,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3005,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3007,1
    - Dst: get_create_tls_context
      Src: /src/bind9/bin/dig/dighost.c:3010,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/dig/dighost.c:3015,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:3018,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/bin/dig/dighost.c:3023,1
    - Dst: get_create_tls_context
      Src: /src/bind9/bin/dig/dighost.c:3029,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/bin/dig/dighost.c:3036,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:3039,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/dig/dighost.c:3043,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3054,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3058,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3061,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3062,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3066,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3067,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3069,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:3071,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 116
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 2887
    functionDepth: 2
    functionLinenumber: 2887
    functionLinenumberEnd: 3073
    functionName: start_tcp
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - dighost_warning
    - isc_netaddr_format
    - IN6_IS_ADDR_V4MAPPED
    - REQUIRE
    - isc_nm_httpconnect
    - DIG_VALID_QUERY
    - isc_nm_http_makeuri
    - isc_sockaddr_any6
    - ISC_LINK_LINKED
    - isc_nm_streamdnsconnect
    - launch_next_query
    - get_tls_sni_hostname
    - ISC_LIST_NEXT
    - isc_netaddr_fromsockaddr
    - get_address
    - get_create_tls_context
    - INSIST
    - isc_sockaddr_any
    - query_detach
    - isc_sockaddr_equal
    - start_tcp
    - force_next
    - isc_sockaddr_pf
    - isc_nmhandle_detach
    - isc_nm_proxyheader_info_init
    - query_attach
    - dig_lookup_is_tls
    - clear_current_lookup
    linkageType: ''
    returnType: void
    signature: void start_tcp(dig_query_t *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:3078,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:3079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3075
    functionDepth: 1
    functionLinenumber: 3075
    functionLinenumberEnd: 3081
    functionName: print_query_size
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - printf
    linkageType: ''
    returnType: void
    signature: void print_query_size(dig_query_t *query)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3088,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/dighost.c:3090,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3091,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/dighost.c:3093,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:3095,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3098,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/dig/dighost.c:3100,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3101,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3102,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3102,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:3107,1
    - Dst: print_query_size
      Src: /src/bind9/bin/dig/dighost.c:3110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3083
    functionDepth: 2
    functionLinenumber: 3083
    functionLinenumberEnd: 3113
    functionName: send_udp
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_refcount_current
    - isc_refcount_increment0
    - isc_nm_send
    - query_attach
    - dighost_printmessage
    - print_query_size
    - isc_nmhandle_attach
    - isc_time_now
    - isc_time_now_hires
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void send_udp(dig_query_t *query)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3124,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3124,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3125,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3127,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3132,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3136,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3138,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3138,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3141,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3144,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3146,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3148,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3149,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3150,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3155,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3155,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3156,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3157,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3159,1
    - Dst: nssearch_next
      Src: /src/bind9/bin/dig/dighost.c:3168,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3170,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3180,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:3182,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3185,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3187,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3192,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3194,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3196,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3199,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3200,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3202,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3203,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3211,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3213,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3217,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3218,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3219,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3219,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3225,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/bin/dig/dighost.c:3226,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:3228,1
    - Dst: send_udp
      Src: /src/bind9/bin/dig/dighost.c:3229,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3231,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3233
      start: 3115
    functionDepth: 5
    functionLinenumber: 3115
    functionLinenumberEnd: 3233
    functionName: udp_ready
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - dighost_warning
    - isc_sockaddr_format
    - REQUIRE
    - send_udp
    - requeue_lookup
    - DIG_VALID_QUERY
    - cancel_lookup
    - isc_nm_read
    - isc_refcount_increment0
    - ISC_LINK_LINKED
    - isc_nmhandle_attach
    - start_udp
    - lookup_attach
    - check_if_done
    - ISC_LIST_NEXT
    - isc_nmhandle_settimeout
    - INSIST
    - query_detach
    - nssearch_next
    - lookup_detach
    - isc_refcount_current
    - query_attach
    - isc_result_totext
    - dighost_error
    - clear_current_lookup
    linkageType: ''
    returnType: void
    signature: void udp_ready(isc_nmhandle_t *handle, isc_result_t eresult, void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3246,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3246,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3248,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3250,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3251,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:3254,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3255,1
    - Dst: get_address
      Src: /src/bind9/bin/dig/dighost.c:3263,1
    - Dst: force_next
      Src: /src/bind9/bin/dig/dighost.c:3266,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:3270,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/dig/dighost.c:3271,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:3276,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3277,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3278,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3279,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3280,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3282,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3283,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3285,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:3291,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/dig/dighost.c:3293,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/dig/dighost.c:3295,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3299,1
    - Dst: isc_nm_proxyheader_info_init
      Src: /src/bind9/bin/dig/dighost.c:3304,1
    - Dst: isc_nm_proxyudpconnect
      Src: /src/bind9/bin/dig/dighost.c:3309,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/bin/dig/dighost.c:3314,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3240
    functionDepth: 2
    functionLinenumber: 3240
    functionLinenumberEnd: 3318
    functionName: start_udp
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 3
    functionsReached:
    - debug
    - dighost_warning
    - isc_netaddr_format
    - IN6_IS_ADDR_V4MAPPED
    - REQUIRE
    - DIG_VALID_QUERY
    - isc_sockaddr_any6
    - isc_nm_proxyudpconnect
    - launch_next_query
    - start_udp
    - ISC_LIST_NEXT
    - isc_netaddr_fromsockaddr
    - get_address
    - isc_sockaddr_any
    - query_detach
    - force_next
    - isc_sockaddr_pf
    - isc_nm_proxyheader_info_init
    - query_attach
    - isc_nm_udpconnect
    - clear_current_lookup
    linkageType: ''
    returnType: void
    signature: void start_udp(dig_query_t *query)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3330,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3334,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3339,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:3342,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3325
    functionDepth: 3
    functionLinenumber: 3325
    functionLinenumberEnd: 3348
    functionName: try_next_server
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - ISC_LINK_LINKED
    - start_udp
    - start_tcp
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: bool
    signature: bool try_next_server(dig_lookup_t *lookup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3354,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3354,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3356,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3358,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3364,1
    - Dst: try_next_server
      Src: /src/bind9/bin/dig/dighost.c:3366,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3367,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3373,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:3375,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3376,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3377,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3378,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3379,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3380,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3381,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3386,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3387,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3388,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:3395,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3396,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3398,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:3400,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3401,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3408,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3409,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3410,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3412
      start: 3350
    functionDepth: 5
    functionLinenumber: 3350
    functionLinenumberEnd: 3412
    functionName: force_next
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - lookup_detach
    - cancel_lookup
    - debug
    - isc_refcount_current
    - isc_netaddr_fromsockaddr
    - isc_refcount_decrement0
    - INSIST
    - try_next_server
    - isc_netaddr_format
    - query_detach
    - dighost_error
    - REQUIRE
    - printf
    - clear_current_lookup
    - lookup_attach
    - requeue_lookup
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: void force_next(dig_query_t *query)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3426,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3426,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3427,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3429,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3431,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3434,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3435,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3436,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3437,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3441,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3442,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3443,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3443,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3449,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/bin/dig/dighost.c:3450,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/bin/dig/dighost.c:3455,1
    - Dst: isc_nm_xfr_checkperm
      Src: /src/bind9/bin/dig/dighost.c:3458,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3460,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3462,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3463,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3464,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3465,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3466,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3467,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3472,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:3474,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3478,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/dighost.c:3480,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:3482,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3485,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/dighost.c:3486,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3491,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/dig/dighost.c:3492,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3493,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3494,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3495,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:3500,1
    - Dst: print_query_size
      Src: /src/bind9/bin/dig/dighost.c:3503,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3508,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3510
      start: 3418
    functionDepth: 2
    functionLinenumber: 3418
    functionLinenumberEnd: 3510
    functionName: launch_next_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - REQUIRE
    - isc_time_now_hires
    - isc_buffer_usedregion
    - DIG_VALID_QUERY
    - cancel_lookup
    - isc_nm_read
    - isc_refcount_increment0
    - isc_nm_send
    - isc_nmhandle_attach
    - isc_time_now
    - dighost_printmessage
    - lookup_attach
    - isc_nmhandle_settimeout
    - INSIST
    - isc_nm_socket_type
    - query_detach
    - lookup_detach
    - isc_nmhandle_detach
    - isc_nm_xfr_checkperm
    - isc_refcount_current
    - isc_refcount_decrement0
    - query_attach
    - isc_result_totext
    - print_query_size
    - dighost_error
    - clear_current_lookup
    linkageType: ''
    returnType: void
    signature: void launch_next_query(dig_query_t *query)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3524,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3524,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3525,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3527,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3532,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3536,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3538,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3538,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3542,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/dighost.c:3543,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3547,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3552,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3553,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3555,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/bin/dig/dighost.c:3559,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3563,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3567,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3570,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3571,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3572,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3577,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3578,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3579,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3580,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3582,1
    - Dst: nssearch_next
      Src: /src/bind9/bin/dig/dighost.c:3591,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3592,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3603,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:3605,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3608,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3610,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3615,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3617,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3619,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:3622,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3623,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3625,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3626,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3638,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3641,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:3644,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3645,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3646,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 83
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3647
      start: 3517
    functionDepth: 5
    functionLinenumber: 3517
    functionLinenumberEnd: 3647
    functionName: tcp_connected
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - dighost_warning
    - isc_sockaddr_format
    - puts
    - REQUIRE
    - requeue_lookup
    - DIG_VALID_QUERY
    - cancel_lookup
    - ISC_LINK_LINKED
    - isc_nmhandle_attach
    - launch_next_query
    - lookup_attach
    - check_if_done
    - ISC_LIST_NEXT
    - INSIST
    - query_detach
    - nssearch_next
    - isc_nm_verify_tls_peer_result_string
    - start_tcp
    - lookup_detach
    - isc_nmhandle_detach
    - isc_result_totext
    - cancel_all
    - dighost_error
    - clear_current_lookup
    linkageType: ''
    returnType: void
    signature: void tcp_connected(isc_nmhandle_t *handle, isc_result_t eresult, void
      *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3668,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:3682,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3683,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:3687,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3690,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3700,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3709,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3723,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:3724,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3725,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:3727,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3731,1
    - Dst: isc_serial_ge
      Src: /src/bind9/bin/dig/dighost.c:3734,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3736,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3743,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3748,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3752,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3764,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3769,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3772,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3777,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:3778,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3779,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:3782,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 5
    argNames:
    - lookup
    - query
    - msg
    - peer
    - len
    argTypes:
    - dig_lookup_t*
    - dig_query_t*
    - dns_message_t*
    - isc_sockaddr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3784
      start: 3655
    functionDepth: 3
    functionLinenumber: 3655
    functionLinenumberEnd: 3784
    functionName: check_for_more_data
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - isc_nmhandle_detach
    - debug
    - ISC_LIST_EMPTY
    - dns_rdataset_current
    - dighost_received
    - check_result
    - dns_rdata_freestruct
    - query_detach
    - puts
    - launch_next_query
    - ISC_LIST_FOREACH
    - isc_serial_ge
    linkageType: ''
    returnType: bool
    signature: "bool check_for_more_data(dig_lookup_t *lookup, dig_query_t *query,\n\t\t
      \   dns_message_t *msg, isc_sockaddr_t *peer, int len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:3687,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3690,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3700,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3709,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3723,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:3724,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3725,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:3727,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3731,1
    - Dst: isc_serial_ge
      Src: /src/bind9/bin/dig/dighost.c:3734,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3736,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3743,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3748,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3752,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3764,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3769,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3772,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3686
    functionDepth: 1
    functionLinenumber: 3686
    functionLinenumberEnd: 3775
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - debug
    - dns_rdataset_current
    - check_result
    - dns_rdata_freestruct
    - puts
    - ISC_LIST_FOREACH
    - isc_serial_ge
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_ANSWER, name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3690,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3700,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3709,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3723,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:3724,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3725,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:3727,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3731,1
    - Dst: isc_serial_ge
      Src: /src/bind9/bin/dig/dighost.c:3734,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3736,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3743,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3748,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3752,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3764,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3769,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3772,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3773
      start: 3688
    functionDepth: 1
    functionLinenumber: 3688
    functionLinenumberEnd: 3773
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - debug
    - dns_rdataset_current
    - check_result
    - dns_rdata_freestruct
    - puts
    - isc_serial_ge
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:3797,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dig/dighost.c:3798,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3799,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:3800,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:3801,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3807,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dig/dighost.c:3809,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/dig/dighost.c:3809,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3812,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3817,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/dig/dighost.c:3824,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:3826,1
    - Dst: isc_hex_totext
      Src: /src/bind9/bin/dig/dighost.c:3827,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3828,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dig/dighost.c:3829,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:3830,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/dig/dighost.c:3834,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - l
    - msg
    - optbuf
    - optlen
    argTypes:
    - dig_lookup_t*
    - dns_message_t*
    - isc_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3835
      start: 3786
    functionDepth: 1
    functionLinenumber: 3786
    functionLinenumberEnd: 3835
    functionName: process_cookie
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dighost_warning
    - isc_hex_totext
    - isc_buffer_forward
    - INSIST
    - isc_buffer_init
    - isc_hex_decodestring
    - check_result
    - isc_safe_memequal
    - isc_buffer_usedlength
    - isc_buffer_current
    - isc_buffer_putuint8
    - isc_buffer_base
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: "void process_cookie(dig_lookup_t *l, dns_message_t *msg, isc_buffer_t
      *optbuf,\n\t       size_t optlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dig/dighost.c:3846,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dig/dighost.c:3848,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3849,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:3850,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:3851,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/dig/dighost.c:3852,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/bin/dig/dighost.c:3853,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/bin/dig/dighost.c:3854,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/dig/dighost.c:3861,1
    - Dst: process_cookie
      Src: /src/bind9/bin/dig/dighost.c:3864,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/dig/dighost.c:3868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - l
    - msg
    argTypes:
    - dig_lookup_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3873
      start: 3837
    functionDepth: 1
    functionLinenumber: 3837
    functionLinenumberEnd: 3873
    functionName: process_opt
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - isc_buffer_forward
    - dns_rdataset_current
    - isc_buffer_remaininglength
    - isc_buffer_init
    - dns_rdataset_first
    - isc_buffer_add
    - isc_buffer_getuint16
    - process_cookie
    linkageType: ''
    returnType: void
    signature: void process_opt(dig_lookup_t *l, dns_message_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opt
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3878
      start: 3875
    functionDepth: 0
    functionLinenumber: 3875
    functionLinenumberEnd: 3878
    functionName: ednsvers
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ednsvers(dns_rdataset_t *opt)
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3903,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3903,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3904,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3905,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3907,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3907,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3910,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3911,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3911,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3913,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3918,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3919,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/dighost.c:3921,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3923,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3925,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3926,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3927,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/dighost.c:3932,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:3934,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3938,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3938,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3958,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3961,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3962,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:3968,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3978,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3992,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3993,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3994,1
    - Dst: new_query
      Src: /src/bind9/bin/dig/dighost.c:4004,1
    - Dst: ISC_LIST_INSERTAFTER
      Src: /src/bind9/bin/dig/dighost.c:4005,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4007,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4011,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4013,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4015,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4026,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4028,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:4031,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:4036,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4044,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4047,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:4049,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4051,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4054,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:4065,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:4066,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:4073,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:4080,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:4081,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/dig/dighost.c:4083,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/bin/dig/dighost.c:4085,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4092,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4105,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4113,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4117,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4123,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4131,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4132,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4133,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4134,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/dig/dighost.c:4138,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4142,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/bin/dig/dighost.c:4143,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4145,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/bin/dig/dighost.c:4147,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/dig/dighost.c:4148,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4149,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4158,1
    - Dst: dns_message_parse
      Src: /src/bind9/bin/dig/dighost.c:4165,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4167,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:4171,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:4172,1
    - Dst: hex_dump
      Src: /src/bind9/bin/dig/dighost.c:4173,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:4181,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/bin/dig/dighost.c:4182,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4183,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:4185,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/bin/dig/dighost.c:4186,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4187,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4189,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4192,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4193,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4194,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4195,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4202,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4205,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:4210,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dig/dighost.c:4213,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:4218,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/dighost.c:4220,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/dighost.c:4223,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4226,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4245,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4246,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4247,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4248,1
    - Dst: ednsvers
      Src: /src/bind9/bin/dig/dighost.c:4255,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4258,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4259,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4259,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4265,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4272,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4274,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4285,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4287,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4288,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4299,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4302,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4303,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4303,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4306,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4309,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:4329,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4331,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4334,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4337,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:4339,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4341,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4343,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4349,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/bin/dig/dighost.c:4355,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4357,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:4358,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4364,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:4365,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/bin/dig/dighost.c:4367,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4368,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/dig/dighost.c:4371,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4373,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4398,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/bin/dig/dighost.c:4399,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4406,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4409,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4412,1
    - Dst: next_origin
      Src: /src/bind9/bin/dig/dighost.c:4420,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4421,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4422,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4422,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4426,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4431,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4433,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:4441,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:4445,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4452,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:4461,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4472,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4474,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4480,1
    - Dst: check_for_more_data
      Src: /src/bind9/bin/dig/dighost.c:4488,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4502,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4502,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:4519,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4520,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:4522,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/dig/dighost.c:4526,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4528,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:4530,1
    CyclomaticComplexity: 172
    EdgeCount: 172
    ICount: 456
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4532
      start: 3884
    functionDepth: 6
    functionLinenumber: 3884
    functionLinenumberEnd: 4532
    functionName: recv_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - dighost_warning
    - clear_current_lookup
    - new_query
    - isc_sockaddr_format
    - dns_message_parse
    - dighost_received
    - check_result
    - REQUIRE
    - printf
    - isc_time_now_hires
    - requeue_lookup
    - DIG_VALID_QUERY
    - process_opt
    - cancel_lookup
    - ednsvers
    - isc_nm_read
    - ISC_LIST_INSERTAFTER
    - isc_refcount_increment0
    - check_for_more_data
    - dns_rdataclass_format
    - isc_nmhandle_peeraddr
    - isc_time_now
    - hex_dump
    - dns_name_format
    - start_udp
    - dns_rdatatype_format
    - lookup_attach
    - dns_message_create
    - dighost_printmessage
    - dighost_comments
    - ISC_LIST_NEXT
    - followup_lookup
    - isc_nmhandle_settimeout
    - dns_message_peekheader
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_free
    - query_detach
    - dns_tsig_verify
    - ISC_LIST_FOREACH
    - dns_message_setquerytsig
    - dns_message_detach
    - start_tcp
    - isc_nmhandle_detach
    - lookup_detach
    - dns_opcode_totext
    - isc_refcount_current
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - isc_refcount_decrement0
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_init
    - next_origin
    - cancel_all
    - dighost_error
    - isc_buffer_usedlength
    - isc_buffer_add
    - check_if_queries_done
    linkageType: ''
    returnType: void
    signature: "void recv_done(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\t  void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:4210,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dig/dighost.c:4213,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:4218,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/dighost.c:4220,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/dighost.c:4223,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4226,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4245,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4246,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4247,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4248,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4251
      start: 4209
    functionDepth: 1
    functionLinenumber: 4209
    functionLinenumberEnd: 4251
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dighost_warning
    - debug
    - isc_refcount_current
    - isc_nm_read
    - isc_refcount_increment0
    - dns_rdataclass_format
    - dns_name_equal
    - ISC_LIST_FOREACH
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_QUESTION, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/dig/dighost.c:4544,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/dig/dighost.c:4545,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/dighost.c:4546,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - host
    - myport
    - sockaddr
    argTypes:
    - char*
    - in_port_t
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4554
      start: 4539
    functionDepth: 1
    functionLinenumber: 4539
    functionLinenumberEnd: 4554
    functionName: get_address
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_loopmgr_nonblocking
    - isc_loopmgr_blocking
    - isc_getaddresses
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_address(char *host, in_port_t myport, isc_sockaddr_t
      *sockaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/dig/dighost.c:4565,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/dig/dighost.c:4566,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/dighost.c:4568,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dig/dighost.c:4569,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:4572,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:4573,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:4579,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:4580,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:4581,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:4582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - lookup
    - host
    - resultp
    argTypes:
    - dig_lookup_t*
    - char*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4586
      start: 4556
    functionDepth: 2
    functionLinenumber: 4556
    functionLinenumberEnd: 4586
    functionName: getaddresses
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 9
    functionsReached:
    - SET_IF_NOT_NULL
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - make_server
    - isc_result_totext
    - isc_netaddr_format
    - isc_loopmgr_nonblocking
    - fatal
    - isc_loopmgr_blocking
    - isc_getaddresses
    linkageType: ''
    returnType: int
    signature: int getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t
      *resultp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:4595,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4597,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:4599,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:4601,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:4601,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:4603,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4608
      start: 4591
    functionDepth: 3
    functionLinenumber: 4591
    functionLinenumberEnd: 4608
    functionName: do_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - debug
    - REQUIRE
    - start_udp
    - start_tcp
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: void do_lookup(dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4615,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:4617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4618
      start: 4613
    functionDepth: 3
    functionLinenumber: 4613
    functionLinenumberEnd: 4618
    functionName: onrun_callback
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - start_lookup
    linkageType: ''
    returnType: void
    signature: void onrun_callback(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4622,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:4624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4620
    functionDepth: 3
    functionLinenumber: 4620
    functionLinenumberEnd: 4625
    functionName: run_loop
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - start_lookup
    linkageType: ''
    returnType: void
    signature: void run_loop(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4633,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:4642,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4643,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/bin/dig/dighost.c:4647,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/bin/dig/dighost.c:4649,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4651,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4658,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:4662,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4665
      start: 4631
    functionDepth: 1
    functionLinenumber: 4631
    functionLinenumberEnd: 4665
    functionName: cancel_all
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - lookup_detach
    - debug
    - ISC_LIST_DEQUEUE
    - isc_nm_cancelread
    - isc_nm_is_http_handle
    - query_detach
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void cancel_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:4662,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4664
      start: 4661
    functionDepth: 1
    functionLinenumber: 4661
    functionLinenumberEnd: 4664
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 65
    functionsReached:
    - lookup_detach
    - ISC_LIST_DEQUEUE
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (lookup_list, l, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4670,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/dig/dighost.c:4671,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4675,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:4676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4678
      start: 4667
    functionDepth: 1
    functionLinenumber: 4667
    functionLinenumberEnd: 4678
    functionName: cleanup_openssl_refs
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - dst_key_free
    - dns_tsigkey_detach
    linkageType: ''
    returnType: void
    signature: void cleanup_openssl_refs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4686,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:4688,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:4689,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4691,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:4691,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4692,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4693,1
    - Dst: flush_server_list
      Src: /src/bind9/bin/dig/dighost.c:4697,1
    - Dst: clear_searchlist
      Src: /src/bind9/bin/dig/dighost.c:4699,1
    - Dst: cleanup_openssl_refs
      Src: /src/bind9/bin/dig/dighost.c:4701,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4704,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:4705,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4708,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dig/dighost.c:4710,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/dig/dighost.c:4713,1
    - Dst: isc__crypto_setdestroycheck
      Src: /src/bind9/bin/dig/dighost.c:4716,1
    - Dst: isc__uv_setdestroycheck
      Src: /src/bind9/bin/dig/dighost.c:4717,1
    - Dst: isc__xml_setdestroycheck
      Src: /src/bind9/bin/dig/dighost.c:4718,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/bin/dig/dighost.c:4721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4722
      start: 4684
    functionDepth: 2
    functionLinenumber: 4684
    functionLinenumberEnd: 4722
    functionName: destroy_libs
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_HEAD
    - debug
    - isc__crypto_setdestroycheck
    - isc__uv_setdestroycheck
    - isc_mem_checkdestroyed
    - flush_server_list
    - INSIST
    - isc_buffer_free
    - isc_mem_stats
    - clear_searchlist
    - cleanup_openssl_refs
    - isc_refcount_destroy
    - isc_managers_destroy
    - isc__xml_setdestroycheck
    linkageType: ''
    returnType: void
    signature: void destroy_libs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4736,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4737,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:4738,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:4738,1
    - Dst: systemlocale
      Src: /src/bind9/bin/dig/dighost.c:4744,1
    - Dst: idn2_to_unicode_8zlz
      Src: /src/bind9/bin/dig/dighost.c:4745,1
    - Dst: idn2_to_unicode_8zlz
      Src: /src/bind9/bin/dig/dighost.c:4747,1
    - Dst: resetlocale
      Src: /src/bind9/bin/dig/dighost.c:4749,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:4757,1
    - Dst: isc_buffer_length
      Src: /src/bind9/bin/dig/dighost.c:4758,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/bin/dig/dighost.c:4761,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:4762,1
    - Dst: isc_buffer_used
      Src: /src/bind9/bin/dig/dighost.c:4762,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:4763,1
    - Dst: idn2_free
      Src: /src/bind9/bin/dig/dighost.c:4765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - start
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4726
    functionDepth: 1
    functionLinenumber: 4726
    functionLinenumberEnd: 4767
    functionName: idn_filter
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_buffer_subtract
    - memmove
    - isc_buffer_length
    - resetlocale
    - INSIST
    - idn2_to_unicode_8zlz
    - idn2_free
    - strlen
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_buffer_base
    - isc_buffer_used
    - systemlocale
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t idn_filter(isc_buffer_t *buffer, unsigned int start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: systemlocale
      Src: /src/bind9/bin/dig/dighost.c:4791,1
    - Dst: idn2_to_ascii_lz
      Src: /src/bind9/bin/dig/dighost.c:4792,1
    - Dst: idn2_to_ascii_lz
      Src: /src/bind9/bin/dig/dighost.c:4794,1
    - Dst: resetlocale
      Src: /src/bind9/bin/dig/dighost.c:4796,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:4804,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:4805,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:4807,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4809,1
    - Dst: idn2_free
      Src: /src/bind9/bin/dig/dighost.c:4810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - src
    - dst
    - dstlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4776
    functionDepth: 1
    functionLinenumber: 4776
    functionLinenumberEnd: 4811
    functionName: idn_input
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - strlcpy
    - resetlocale
    - INSIST
    - idn2_free
    - systemlocale
    - idn2_to_ascii_lz
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void idn_input(const char *src, char *dst, size_t dstlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_settotextfilter
      Src: /src/bind9/bin/dig/dighost.c:4819,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4821,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4823,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lookup
    - active
    argTypes:
    - dig_lookup_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4827
      start: 4815
    functionDepth: 1
    functionLinenumber: 4815
    functionLinenumberEnd: 4827
    functionName: dig_idnsetup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - check_result
    - UNUSED
    - dns_name_settotextfilter
    linkageType: ''
    returnType: void
    signature: void dig_idnsetup(dig_lookup_t *lookup, bool active)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4829
    functionDepth: 0
    functionLinenumber: 4829
    functionLinenumberEnd: 4836
    functionName: dig_lookup_is_tls
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dig_lookup_is_tls(const dig_lookup_t *lookup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/dig/nslookup.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: rcode_totext
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 8
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      rcode_totext(dns_rcode_t rcode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/nslookup.c:141,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:142,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:144,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:145,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:146,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:147,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:148,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:149,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:150,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:151,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:152,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/nslookup.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 154
    functionName: printsoa
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_result
    - dns_rdata_freestruct
    - printf
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void printsoa(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/nslookup.c:162,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/bin/dig/nslookup.c:163,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:164,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:165,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/nslookup.c:165,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/nslookup.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: printaddr
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - dns_rdata_totext
    - check_result
    - isc_buffer_usedlength
    - printf
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void printaddr(dns_rdata_t *rdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:177,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:179,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/nslookup.c:183,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/bin/dig/nslookup.c:184,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:186,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/nslookup.c:186,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/nslookup.c:187,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:190,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/nslookup.c:192,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/nslookup.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: printrdata
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - INSIST
    - check_result
    - dns_rdata_totext
    - isc_buffer_free
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - printf
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void printrdata(dns_rdata_t *rdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:204,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:206,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/nslookup.c:209,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:212,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:219,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:221,1
    - Dst: printaddr
      Src: /src/bind9/bin/dig/nslookup.c:222,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:225,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:227,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:228,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:232,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:234,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - query
    - msg
    - headers
    - section
    argTypes:
    - dig_query_t*
    - dns_message_t*
    - bool
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 242
    functionName: printsection
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - debug
    - dns_rdataset_current
    - UNUSED
    - printaddr
    - printrdata
    - printf
    - ISC_LIST_FOREACH
    - dns_name_format
    - printsoa
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t printsection(dig_query_t *query, dns_message_t *msg,
      bool headers,\n\t     dns_section_t section)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/nslookup.c:209,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:212,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:219,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:221,1
    - Dst: printaddr
      Src: /src/bind9/bin/dig/nslookup.c:222,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:225,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:227,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:228,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:232,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:234,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 240
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - printrdata
    - printaddr
    - printf
    - ISC_LIST_FOREACH
    - dns_name_format
    - printsoa
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:212,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:219,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:221,1
    - Dst: printaddr
      Src: /src/bind9/bin/dig/nslookup.c:222,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:225,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:227,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:228,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:232,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:234,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 238
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - printrdata
    - printaddr
    - printf
    - dns_name_format
    - printsoa
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:249,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:251,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:256,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:259,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:262,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:265,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/nslookup.c:271,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:273,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:274,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/nslookup.c:275,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:277,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/nslookup.c:278,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:280,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:284,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:286,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:287,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:291,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:294,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - query
    - msg
    - headers
    - section
    argTypes:
    - dig_query_t*
    - dns_message_t*
    - bool
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 302
    functionName: detailsection
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - debug
    - dns_rdataset_current
    - UNUSED
    - dns_rdataclass_format
    - printrdata
    - puts
    - printf
    - ISC_LIST_FOREACH
    - dns_name_format
    - dns_rdatatype_format
    - printsoa
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t detailsection(dig_query_t *query, dns_message_t *msg,
      bool headers,\n\t      dns_section_t section)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/nslookup.c:271,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:273,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:274,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/nslookup.c:275,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:277,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/nslookup.c:278,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:280,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:284,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:286,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:287,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:291,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:294,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 300
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - printrdata
    - dns_rdataclass_format
    - printf
    - ISC_LIST_FOREACH
    - dns_name_format
    - dns_rdatatype_format
    - printsoa
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:284,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:286,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:287,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:291,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:294,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 298
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - printrdata
    - printf
    - dns_name_format
    - printsoa
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:306,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:307,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bytes
    - from
    - query
    argTypes:
    - unsigned int
    - isc_sockaddr_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: received
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 2
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t
      *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:313,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - frm
    - lookup
    argTypes:
    - char*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: trying
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void trying(char *frm, dig_lookup_t *lookup)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findname
      Src: /src/bind9/bin/dig/nslookup.c:327,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dig/nslookup.c:333,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:334,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dig/nslookup.c:335,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:336,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/nslookup.c:337,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:338,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/nslookup.c:339,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/nslookup.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - qname
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: chase_cnamechain
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - check_result
    - dns_rdata_freestruct
    - dns_rdataset_first
    - dns_name_copy
    - dns_rdata_reset
    - dns_message_findname
    linkageType: ''
    returnType: void
    signature: void chase_cnamechain(dns_message_t *msg, dns_name_t *qname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:347,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:352,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/nslookup.c:356,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:358,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:359,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:361,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:365,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:367,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:368,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:369,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:370,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:371,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:376,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:378,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/nslookup.c:379,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:380,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/nslookup.c:394,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/nslookup.c:395,1
    - Dst: chase_cnamechain
      Src: /src/bind9/bin/dig/nslookup.c:396,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:397,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/nslookup.c:398,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:400,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/nslookup.c:406,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:413,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/nslookup.c:415,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/nslookup.c:416,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:425,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:434,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/nslookup.c:435,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/nslookup.c:436,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 4
    argNames:
    - query
    - msgbuf
    - msg
    - headers
    argTypes:
    - dig_query_t*
    - isc_buffer_t*
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 439
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 4
    functionsReached:
    - debug
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - rcode_totext
    - isc_sockaddr_format
    - dns_fixedname_initname
    - strlcpy
    - detailsection
    - UNUSED
    - printsection
    - puts
    - printf
    - dns_name_format
    - dns_name_copy
    - chase_cnamechain
    - clone_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t printmessage(dig_query_t *query, const isc_buffer_t *msgbuf,
      dns_message_t *msg,\n\t     bool headers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_address
      Src: /src/bind9/bin/dig/nslookup.c:449,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:450,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/nslookup.c:452,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:453,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:462,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:463,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:465,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:467,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:469,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:470,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:472,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/nslookup.c:473,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:474,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - full
    - serv_only
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 478
    functionName: show_settings
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - get_address
    - check_result
    - printf
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void show_settings(bool full, bool serv_only)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_address
      Src: /src/bind9/bin/dig/nslookup.c:449,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:450,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/nslookup.c:452,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 69
    functionsReached:
    - check_result
    - isc_sockaddr_format
    - get_address
    - printf
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (server_list, srv, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:472,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/nslookup.c:473,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 69
    functionsReached:
    - printf
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (search_list, listent, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:487,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:488,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - typetext
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 495
    functionName: testtype
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: bool
    signature: bool testtype(char *typetext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:504,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:505,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - typetext
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 512
    functionName: testclass
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - strlen
    - dns_rdataclass_fromtext
    - printf
    linkageType: ''
    returnType: bool
    signature: bool testclass(char *typetext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/nslookup.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: set_port
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void set_port(const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/nslookup.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 531
    functionName: set_timeout
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void set_timeout(const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/nslookup.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: set_tries
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void set_tries(const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/nslookup.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 549
    functionName: set_ndots
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - parse_uint
    linkageType: ''
    returnType: void
    signature: void set_ndots(const char *value)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:553,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:558,1
    - Dst: show_settings
      Src: /src/bind9/bin/dig/nslookup.c:559,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:560,1
    - Dst: testclass
      Src: /src/bind9/bin/dig/nslookup.c:561,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:562,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:564,1
    - Dst: testclass
      Src: /src/bind9/bin/dig/nslookup.c:565,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:566,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:568,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:569,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:570,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:573,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:574,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:575,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:578,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:579,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:580,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:583,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:584,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:585,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:588,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:589,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:590,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:593,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:594,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:595,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:598,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:599,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/nslookup.c:600,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:602,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:603,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/nslookup.c:604,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:606,1
    - Dst: set_port
      Src: /src/bind9/bin/dig/nslookup.c:607,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:608,1
    - Dst: set_port
      Src: /src/bind9/bin/dig/nslookup.c:609,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:610,1
    - Dst: set_timeout
      Src: /src/bind9/bin/dig/nslookup.c:611,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:612,1
    - Dst: set_timeout
      Src: /src/bind9/bin/dig/nslookup.c:613,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:614,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:616,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:618,1
    - Dst: set_tries
      Src: /src/bind9/bin/dig/nslookup.c:619,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:620,1
    - Dst: set_tries
      Src: /src/bind9/bin/dig/nslookup.c:621,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:622,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:624,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:626,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:629,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:632,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:635,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:638,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:640,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:642,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:644,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:646,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:648,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:650,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:652,1
    - Dst: set_ndots
      Src: /src/bind9/bin/dig/nslookup.c:653,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:655,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 657
    functionName: setoption
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 10
    functionsReached:
    - testtype
    - testclass
    - strlcpy
    - set_ndots
    - set_search_domain
    - strlen
    - CHECKOPT
    - set_port
    - printf
    - set_timeout
    - set_tries
    - show_settings
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void setoption(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: CHECKOPT
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKOPT(A, N)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:668,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:673,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:674,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:676,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:680,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:681,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:683,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/nslookup.c:686,1
    - Dst: get_reverse
      Src: /src/bind9/bin/dig/nslookup.c:687,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:688,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:692,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:723,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/nslookup.c:724,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/nslookup.c:725,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:727,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 729
    functionName: addlookup
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - make_empty_lookup
    - debug
    - ISC_LIST_APPEND
    - strlcpy
    - ISC_LINK_INIT
    - get_reverse
    - strlen
    - printf
    - ISC_LIST_INIT
    - dns_rdataclass_fromtext
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: void
    signature: void addlookup(char *opt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/nslookup.c:735,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/nslookup.c:738,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:739,1
    - Dst: setoption
      Src: /src/bind9/bin/dig/nslookup.c:740,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:741,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:742,1
    - Dst: set_nameserver
      Src: /src/bind9/bin/dig/nslookup.c:744,1
    - Dst: show_settings
      Src: /src/bind9/bin/dig/nslookup.c:746,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:747,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:749,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:749,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:750,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:751,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:752,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:752,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:753,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:755,1
    - Dst: addlookup
      Src: /src/bind9/bin/dig/nslookup.c:757,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 759
    functionName: do_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - set_nameserver
    - addlookup
    - printf
    - strcasecmp
    - strtok_r
    - setoption
    - show_settings
    linkageType: ''
    returnType: void
    signature: void do_next_command(char *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:765,1
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/dig/nslookup.c:767,1
    - Dst: readline
      Src: /src/bind9/bin/dig/nslookup.c:768,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/nslookup.c:769,1
    - Dst: add_history
      Src: /src/bind9/bin/dig/nslookup.c:775,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:776,1
    - Dst: free
      Src: /src/bind9/bin/dig/nslookup.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 780
    functionName: readline_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - add_history
    - UNUSED
    - isc_loopmgr_nonblocking
    - free
    - readline
    - isc_loopmgr_blocking
    linkageType: ''
    returnType: void
    signature: void readline_next_command(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:784,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/nslookup.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 787
    functionName: fgets_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - fgets
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void fgets_next_command(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:794,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:795,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:797,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:799,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:801,1
    - Dst: exit
      Src: /src/bind9/bin/dig/nslookup.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: usage
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 21
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:812,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:814,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:815,1
    - Dst: exit
      Src: /src/bind9/bin/dig/nslookup.c:816,1
    - Dst: setoption
      Src: /src/bind9/bin/dig/nslookup.c:818,1
    - Dst: addlookup
      Src: /src/bind9/bin/dig/nslookup.c:826,1
    - Dst: usage
      Src: /src/bind9/bin/dig/nslookup.c:829,1
    - Dst: set_nameserver
      Src: /src/bind9/bin/dig/nslookup.c:831,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 836
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 9
    functionsReached:
    - set_nameserver
    - debug
    - addlookup
    - exit
    - printf
    - usage
    - setoption
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void parse_args(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_main
      Src: /src/bind9/bin/dig/nslookup.c:843,1
    - Dst: do_next_command
      Src: /src/bind9/bin/dig/nslookup.c:847,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/nslookup.c:848,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/dig/nslookup.c:849,1
    - Dst: start_next_command
      Src: /src/bind9/bin/dig/nslookup.c:854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 855
    functionName: process_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - start_next_command
    - isc_async_run
    - do_next_command
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void process_next_command(void *arg ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_main
      Src: /src/bind9/bin/dig/nslookup.c:859,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dig/nslookup.c:861,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/dig/nslookup.c:867,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/bin/dig/nslookup.c:869,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/bin/dig/nslookup.c:872,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/dig/nslookup.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 876
    functionName: start_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_work_enqueue
    - isc_loopmgr_pause
    - isc_loopmgr_resume
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void start_next_command(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:880,1
    - Dst: start_next_command
      Src: /src/bind9/bin/dig/nslookup.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: read_loop
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - start_next_command
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void read_loop(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/bind9/bin/dig/nslookup.c:887,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:889,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:890,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:891,1
    - Dst: setup_libs
      Src: /src/bind9/bin/dig/nslookup.c:901,1
    - Dst: setup_system
      Src: /src/bind9/bin/dig/nslookup.c:903,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/nslookup.c:904,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/nslookup.c:906,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/nslookup.c:908,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/nslookup.c:911,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/nslookup.c:914,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/nslookup.c:916,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dig/nslookup.c:920,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:922,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:923,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/nslookup.c:924,1
    - Dst: destroy_libs
      Src: /src/bind9/bin/dig/nslookup.c:925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 885
    functionDepth: 4
    functionLinenumber: 885
    functionLinenumberEnd: 928
    functionName: main
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 20
    functionsReached:
    - parse_args
    - debug
    - setup_text_key
    - ISC_LIST_INIT
    - setup_file_key
    - isc_loopmgr_setup
    - set_search_domain
    - cancel_all
    - isc_loopmgr_run
    - puts
    - destroy_libs
    - setup_libs
    - isatty
    - setup_system
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DIG_VALID_LOOKUP
    functionSourceFile: /src/bind9/bin/dig/dighost.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIG_VALID_LOOKUP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: DIG_VALID_QUERY
    functionSourceFile: /src/bind9/bin/dig/dighost.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIG_VALID_QUERY(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getpwnam
      Src: /src/bind9/bin/confgen/os.c:30,1
    - Dst: fchown
      Src: /src/bind9/bin/confgen/os.c:35,1
    - Dst: fileno
      Src: /src/bind9/bin/confgen/os.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - user
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: set_user
    functionSourceFile: /src/bind9/bin/confgen/os.c
    functionUses: 0
    functionsReached:
    - getpwnam
    - fchown
    - fileno
    linkageType: ''
    returnType: int
    signature: int set_user(FILE *fd, const char *user)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - function
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: DO
    functionSourceFile: /src/bind9/bin/confgen/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO(name, function)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/confgen/util.c:34,1
    - Dst: vfprintf
      Src: /src/bind9/bin/confgen/util.c:35,1
    - Dst: va_end
      Src: /src/bind9/bin/confgen/util.c:36,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/util.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: notify
    functionSourceFile: /src/bind9/bin/confgen/util.c
    functionUses: 6
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void notify(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/util.c:45,1
    - Dst: va_start
      Src: /src/bind9/bin/confgen/util.c:46,1
    - Dst: vfprintf
      Src: /src/bind9/bin/confgen/util.c:47,1
    - Dst: va_end
      Src: /src/bind9/bin/confgen/util.c:48,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/util.c:49,1
    - Dst: _exit
      Src: /src/bind9/bin/confgen/util.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: fatal
    functionSourceFile: /src/bind9/bin/confgen/util.c
    functionUses: 72
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:66,1
    - Dst: exit
      Src: /src/bind9/bin/confgen/rndc-confgen.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 83
    functionName: usage
    functionSourceFile: /src/bind9/bin/confgen/rndc-confgen.c
    functionUses: 22
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int status)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/confgen/rndc-confgen.c:109,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/confgen/rndc-confgen.c:118,1
    - Dst: alg_fromtext
      Src: /src/bind9/bin/confgen/rndc-confgen.c:127,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:129,1
    - Dst: strtol
      Src: /src/bind9/bin/confgen/rndc-confgen.c:133,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:135,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:142,1
    - Dst: strtol
      Src: /src/bind9/bin/confgen/rndc-confgen.c:156,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:158,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:166,1
    - Dst: inet_pton
      Src: /src/bind9/bin/confgen/rndc-confgen.c:170,1
    - Dst: inet_pton
      Src: /src/bind9/bin/confgen/rndc-confgen.c:171,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:173,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:187,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:190,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:192,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:196,1
    - Dst: exit
      Src: /src/bind9/bin/confgen/rndc-confgen.c:199,1
    - Dst: POST
      Src: /src/bind9/bin/confgen/rndc-confgen.c:205,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:208,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:212,1
    - Dst: alg_bits
      Src: /src/bind9/bin/confgen/rndc-confgen.c:218,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/confgen/rndc-confgen.c:220,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/confgen/rndc-confgen.c:222,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/confgen/rndc-confgen.c:223,1
    - Dst: generate_key
      Src: /src/bind9/bin/confgen/rndc-confgen.c:225,1
    - Dst: write_key_file
      Src: /src/bind9/bin/confgen/rndc-confgen.c:228,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:231,1
    - Dst: strlen
      Src: /src/bind9/bin/confgen/rndc-confgen.c:236,1
    - Dst: strlen
      Src: /src/bind9/bin/confgen/rndc-confgen.c:236,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/confgen/rndc-confgen.c:237,1
    - Dst: snprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:238,1
    - Dst: write_key_file
      Src: /src/bind9/bin/confgen/rndc-confgen.c:241,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:243,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/confgen/rndc-confgen.c:245,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:248,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/confgen/rndc-confgen.c:274,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/confgen/rndc-confgen.c:275,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/confgen/rndc-confgen.c:277,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/confgen/rndc-confgen.c:278,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/confgen/rndc-confgen.c:283,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/confgen/rndc-confgen.c:286,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 289
    functionName: main
    functionSourceFile: /src/bind9/bin/confgen/rndc-confgen.c
    functionUses: 20
    functionsReached:
    - isc_commandline_init
    - fatal
    - snprintf
    - printf
    - generate_key
    - alg_fromtext
    - fprintf
    - usage
    - write_key_file
    - alg_bits
    - isc_buffer_base
    - isc_mem_get
    - strlen
    - strtol
    - inet_pton
    - isc_mem_detach
    - isc_commandline_parse
    - exit
    - isc_buffer_init
    - isc_mem_stats
    - isc_buffer_usedlength
    - POST
    - isc_mem_put
    - isc_mem_create
    - dst_hmac_algorithm_totext
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/bind9/bin/confgen/keygen.c:42,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:46,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:49,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:52,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:55,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:58,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: alg_fromtext
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - strncasecmp
    linkageType: ''
    returnType: dns_secalg_t
    signature: dns_secalg_t alg_fromtext(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - alg
    argTypes:
    - dns_secalg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: alg_bits
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int alg_bits(dns_secalg_t alg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:108,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:115,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:120,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:123,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/confgen/keygen.c:124,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/confgen/keygen.c:127,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:129,1
    - Dst: dst_key_tobuffer
      Src: /src/bind9/bin/confgen/keygen.c:129,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/confgen/keygen.c:131,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:133,1
    - Dst: isc_base64_totext
      Src: /src/bind9/bin/confgen/keygen.c:134,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/confgen/keygen.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - mctx
    - alg
    - keysize
    - key_txtbuffer
    argTypes:
    - isc_mem_t*
    - dns_secalg_t
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 139
    functionName: generate_key
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - dst_key_free
    - dst_key_generate
    - isc_buffer_init
    - fatal
    - isc_base64_totext
    - dst_key_tobuffer
    - isc_buffer_usedregion
    - DO
    linkageType: ''
    returnType: void
    signature: "void generate_key(isc_mem_t *mctx, dns_secalg_t alg, int keysize,\n\t
      \    isc_buffer_t *key_txtbuffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/confgen/keygen.c:150,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:153,1
    - Dst: isc_file_safecreate
      Src: /src/bind9/bin/confgen/keygen.c:153,1
    - Dst: set_user
      Src: /src/bind9/bin/confgen/keygen.c:156,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:157,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/keygen.c:161,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/confgen/keygen.c:164,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/confgen/keygen.c:165,1
    - Dst: fflush
      Src: /src/bind9/bin/confgen/keygen.c:166,1
    - Dst: ferror
      Src: /src/bind9/bin/confgen/keygen.c:167,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:168,1
    - Dst: fclose
      Src: /src/bind9/bin/confgen/keygen.c:170,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - keyfile
    - user
    - keyname
    - secret
    - alg
    argTypes:
    - char*
    - char*
    - char*
    - isc_buffer_t*
    - dns_secalg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 173
    functionName: write_key_file
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - isc_file_safecreate
    - fclose
    - ferror
    - fatal
    - isc_buffer_usedlength
    - fprintf
    - fflush
    - isc_buffer_base
    - DO
    - dst_hmac_algorithm_totext
    - set_user
    linkageType: ''
    returnType: void
    signature: "void write_key_file(const char *keyfile, const char *user, const char
      *keyname,\n\t       isc_buffer_t *secret, dns_secalg_t alg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:61,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:71,1
    - Dst: exit
      Src: /src/bind9/bin/confgen/tsig-keygen.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: usage
    functionSourceFile: /src/bind9/bin/confgen/tsig-keygen.c
    functionUses: 23
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int status)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/confgen/tsig-keygen.c:98,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/tsig-keygen.c:100,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/tsig-keygen.c:103,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/confgen/tsig-keygen.c:106,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/confgen/tsig-keygen.c:111,1
    - Dst: alg_fromtext
      Src: /src/bind9/bin/confgen/tsig-keygen.c:117,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/tsig-keygen.c:119,1
    - Dst: alg_bits
      Src: /src/bind9/bin/confgen/tsig-keygen.c:121,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:124,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:130,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:143,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/tsig-keygen.c:147,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:153,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:160,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:165,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:168,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:170,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:174,1
    - Dst: exit
      Src: /src/bind9/bin/confgen/tsig-keygen.c:177,1
    - Dst: POST
      Src: /src/bind9/bin/confgen/tsig-keygen.c:185,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:188,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:192,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/confgen/tsig-keygen.c:196,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/confgen/tsig-keygen.c:198,1
    - Dst: strlen
      Src: /src/bind9/bin/confgen/tsig-keygen.c:211,1
    - Dst: strlen
      Src: /src/bind9/bin/confgen/tsig-keygen.c:211,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/confgen/tsig-keygen.c:212,1
    - Dst: snprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:213,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/confgen/tsig-keygen.c:218,1
    - Dst: generate_key
      Src: /src/bind9/bin/confgen/tsig-keygen.c:220,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:223,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:229,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/confgen/tsig-keygen.c:234,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/confgen/tsig-keygen.c:235,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:239,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:248,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:257,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:268,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/confgen/tsig-keygen.c:275,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/confgen/tsig-keygen.c:279,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/confgen/tsig-keygen.c:282,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 285
    functionName: main
    functionSourceFile: /src/bind9/bin/confgen/tsig-keygen.c
    functionUses: 20
    functionsReached:
    - isc_commandline_init
    - fatal
    - snprintf
    - printf
    - UNREACHABLE
    - isc_mem_put
    - generate_key
    - alg_fromtext
    - fprintf
    - usage
    - strcasecmp
    - alg_bits
    - strlen
    - isc_mem_get
    - isc_mem_detach
    - isc_commandline_parse
    - exit
    - isc_buffer_init
    - isc_mem_stats
    - isc_buffer_usedlength
    - POST
    - isc_buffer_base
    - isc_mem_create
    - dst_hmac_algorithm_totext
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:66,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:68,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:68,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:69,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:69,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - setname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: initname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 59
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_buffer_init
    - strlen
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t initname(char *setname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:79,1
    - Dst: dns_db_beginload
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:80,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:82,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:82,1
    - Dst: dns_master_loadstream
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:85,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:88,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:88,1
    - Dst: dns_db_endload
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:91,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:93,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - db
    - fp
    argTypes:
    - dns_db_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: db_load_from_stream
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_db_endload
    - dns_master_loadstream
    - isc_result_totext
    - dns_db_beginload
    - fatal
    linkageType: ''
    returnType: void
    signature: void db_load_from_stream(dns_db_t *db, FILE *fp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:104,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:106,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:109,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:112,1
    - Dst: db_load_from_stream
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:113,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:116,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:119,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:120,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:124,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:126,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:129,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:133,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:135,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:139,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 145
    functionName: loadset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_db_findnode
    - db_load_from_stream
    - dns_db_load
    - dns_db_findrdataset
    - dns_db_detach
    - isc_result_totext
    - fatal
    - dns_name_format
    - dns_db_detachnode
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadset(const char *filename, dns_rdataset_t *rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:155,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:157,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:159,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:162,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:163,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:169,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:170,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:173,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:175,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:178,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:179,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:179,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:182,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:184,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:185,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:185,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - filename
    - key_buf
    - key_buf_size
    - rdata
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 188
    functionName: loadkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dst_key_todns
    - dst_key_free
    - dst_key_class
    - dns_name_copy
    - dst_key_fromnamedfile
    - dns_fixedname_initname
    - isc_result_totext
    - isc_buffer_init
    - fatal
    - fprintf
    - isc_buffer_usedregion
    - dst_key_format
    - dst_key_name
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: "void loadkey(char *filename, unsigned char *key_buf, unsigned int
      key_buf_size,\n\tdns_rdata_t *rdata)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:199,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:200,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:201,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:203,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:203,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:206,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:207,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:209,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:210,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:212,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:213,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:215,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:216,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:219,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:220,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:220,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:220,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:223,1
    - Dst: dst_key_isexternal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:223,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:224,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:226,1
    - Dst: dst_key_setexternal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:229,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:231,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:234,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:237,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:240,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:244,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:247,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:249,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:250,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:251,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:253,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:255,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:256,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:258,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:259,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:261,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - dir
    - rdata
    argTypes:
    - char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 263
    functionName: emit
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - fatal
    - printf
    - dst_key_isexternal
    - dst_key_fromdns
    - dst_key_settime
    - dst_key_setttl
    - isc_buffer_clear
    - dst_key_alg
    - dst_key_isprivate
    - dst_key_buildfilename
    - dst_key_tofile
    - dst_key_free
    - dst_key_setexternal
    - dst_key_fromfile
    - isc_result_totext
    - isc_buffer_init
    - dst_key_id
    - isc_buffer_add
    - dst_key_format
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: void emit(const char *dir, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:270,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:271,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:273,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:275,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:276,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:277,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:278,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:280,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:281,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:282,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:283,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:284,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:285,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:287,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:289,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:291,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 295
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 24
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:305,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:308,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:311,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:313,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:318,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:322,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:324,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:328,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:333,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:335,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:338,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:343,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:344,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:348,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:353,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:355,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:359,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:364,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:366,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:369,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:376,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:378,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:383,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:390,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:394,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:397,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:400,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:404,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:407,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:410,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:413,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:415,1
    - Dst: initname
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:425,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:427,1
    - Dst: loadset
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:430,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:433,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:434,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:439,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:440,1
    - Dst: loadkey
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:446,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:449,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:452,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:453,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:456,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:458,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:460,1
    - Dst: ferror
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:461,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:462,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 114
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 467
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 20
    functionsReached:
    - dns_rdataset_current
    - isc_commandline_init
    - fatal
    - dns_rdataset_disassociate
    - fflush
    - initname
    - dns_rdataset_init
    - loadkey
    - dns_rdataset_isassociated
    - ferror
    - loadset
    - emit
    - isc_stdtime_now
    - fprintf
    - usage
    - setup_logging
    - version
    - strlen
    - strtol
    - strtotime
    - isc_mem_detach
    - isc_commandline_parse
    - isoptarg
    - exit
    - isc_result_totext
    - isc_mem_stats
    - strtoclass
    - isc_mem_create
    - strtottl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:439,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 441
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - emit
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: STR
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: NEXTTOKEN
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTTOKEN(lex, opt, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: BADTOKEN
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BADTOKEN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: CHECK
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 176
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:121,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:122,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:124,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:125,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:126,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:127,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:128,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:129,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:130,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:131,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:132,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:133,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:134,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:135,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:136,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:137,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:138,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:139,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:140,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:141,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:142,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 25
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - t
    - start
    - end
    argTypes:
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: between
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t between(isc_stdtime_t t, isc_stdtime_t start, isc_stdtime_t
      end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:159,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:162,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ksr
    - command
    argTypes:
    - ksr_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 173
    functionName: checkparams
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - fatal
    linkageType: ''
    returnType: void
    signature: void checkparams(ksr_ctx_t *ksr, const char *command)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:180,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:180,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:181,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:184,1
    - Dst: kasp_from_conf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:187,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:189,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:191,1
    - Dst: dns_kasp_keys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:191,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:192,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:194,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ksr
    - kasp
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 196
    functionName: getkasp
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 7
    functionsReached:
    - ISC_LIST_EMPTY
    - cfg_parse_file
    - RUNTIME_CHECK
    - cfg_parser_create
    - cfg_obj_destroy
    - fatal
    - kasp_from_conf
    - dns_kasp_keys
    - cfg_parser_destroy
    linkageType: ''
    returnType: void
    signature: void getkasp(ksr_ctx_t *ksr, dns_kasp_t **kasp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:202,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:202,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:204,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:204,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:206,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:206,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:208,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: keyalgtag_cmp
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dst_key_id
    - dst_key_alg
    linkageType: ''
    returnType: int
    signature: int keyalgtag_cmp(const void *k1, const void *k2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:221,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:222,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:223,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:226,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:227,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:233,1
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:237,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:239,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:243,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:245,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:245,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ksr
    - keys
    argTypes:
    - ksr_ctx_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 247
    functionName: get_dnskeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - isc_mem_cget
    - isc_result_totext
    - INSIST
    - fatal
    - isc_mem_cput
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - dns_dnssec_findmatchingkeys
    - qsort
    linkageType: ''
    returnType: void
    signature: void get_dnskeys(ksr_ctx_t *ksr, dns_dnsseckeylist_t *keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keys_read, dk, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keys_read, dk, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 69
    functionsReached:
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keys_read, key, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:251,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:252,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:253,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:254,1
    - Dst: dns_kasp_sigvalidity_dnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:255,1
    - Dst: dns_kasp_sigrefresh
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:256,1
    - Dst: dns_kasp_signdelay
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:257,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:258,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:259,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ksr
    - kasp
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: setcontext
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_kasp_sigvalidity_dnskey
    - dns_kasp_zonemaxttl
    - dns_kasp_parentpropagationdelay
    - dns_kasp_retiresafety
    - dns_kasp_signdelay
    - dns_kasp_zonepropagationdelay
    - dns_kasp_sigrefresh
    - dns_kasp_dnskeyttl
    - dns_kasp_publishsafety
    - dns_kasp_dsttl
    linkageType: ''
    returnType: void
    signature: void setcontext(ksr_ctx_t *ksr, dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:265,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:266,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:267,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:268,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:270,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:273,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - keys
    - kasp
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 8
    functionsReached:
    - dst_key_free
    - dns_kasp_detach
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void cleanup(dns_dnsseckeylist_t *keys, dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:273,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 70
    functionsReached:
    - isc_buffer_free
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (cleanup_list, cbuf, link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:297,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 299
    functionName: progress
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - putc
    - fflush
    linkageType: ''
    returnType: void
    signature: void progress(int p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:305,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:309,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:311,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:312,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:313,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:315,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 317
    functionName: freerrset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - ISC_LIST_UNLINK
    - dns_rdatalist_fromrdataset
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void freerrset(dns_rdataset_t *rdataset)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:336,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:344,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:345,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:346,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:348,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:352,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:354,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:364,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:384,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:387,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:390,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:393,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:394,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:412,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:414,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:426,1
    - Dst: dns_keystore_keygen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:430,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:435,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:439,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:441,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:448,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:449,1
    - Dst: key_collision
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:453,1
    - Dst: dns_kasp_key_tagmin
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:454,1
    - Dst: dns_kasp_key_tagmax
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:455,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:459,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:460,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:463,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:472,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:480,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:481,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:482,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:483,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:484,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:485,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:486,1
    - Dst: dns_keymgr_settime_syncpublish
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:488,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:499,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:504,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:505,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:511,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:514,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:515,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:516,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:520,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:521,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:523,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:524,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:526,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:527,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:529,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 134
    argCount: 7
    argNames:
    - ksr
    - kasp
    - kaspkey
    - keys
    - inception
    - active
    - expiration
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t*
    - dns_kasp_key_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 531
    functionName: create_key
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_tostring
    - dst_algorithm_supported
    - fatal
    - printf
    - fflush
    - dst_key_setbool
    - dst_key_settime
    - dst_key_gettime
    - dst_key_setnum
    - fprintf
    - dns_keystore_keygen
    - dns_kasp_key_tagmin
    - dst_key_setttl
    - isc_buffer_clear
    - dns_kasp_key_match
    - INSIST
    - dst_key_buildfilename
    - ISC_LIST_FOREACH
    - dns_kasp_key_tagmax
    - dst_key_tofile
    - dst_key_free
    - dst_key_generate
    - isc_result_totext
    - isc_buffer_init
    - isc_crypto_fips_mode
    - dst_algorithm_format
    - dst_key_format
    - key_collision
    - dns_keymgr_settime_syncpublish
    linkageType: ''
    returnType: void
    signature: "void create_key(ksr_ctx_t *ksr, dns_kasp_t *kasp, dns_kasp_key_t *kaspkey,\n\t
      \  dns_dnsseckeylist_t *keys, isc_stdtime_t inception,\n\t   isc_stdtime_t active,
      isc_stdtime_t *expiration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:540,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:541,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:543,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:545,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: print_rdata
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - fatal
    - fprintf
    - isc_buffer_usedregion
    - dns_rdataset_totext
    linkageType: ''
    returnType: void
    signature: void print_rdata(dns_rdataset_t *rrset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:559,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:560,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:560,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:564,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:565,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:569,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:572,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:573,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:583,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:599,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:600,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:601,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:602,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:602,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:603,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:604,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:605,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:606,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:607,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:609,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:610,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:611,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:614,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:615,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:620,1
    - Dst: print_rdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:621,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:625,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:628,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 5
    argNames:
    - kaspkey
    - ttl
    - keys
    - inception
    - next_inception
    argTypes:
    - dns_kasp_key_t*
    - dns_ttl_t
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 633
    functionName: print_dnskeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - isc_stdtime_tostring
    - dns_rdatalist_init
    - isc_buffer_putmem
    - fatal
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dst_key_gettime
    - dns_secalg_format
    - dns_kasp_key_algorithm
    - freerrset
    - print_rdata
    - isc_buffer_clear
    - dst_key_todns
    - ISC_LIST_EMPTY
    - dns_kasp_key_match
    - isc_mem_get
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    - isc_buffer_init
    - CHECK
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_stdtime_t
    signature: "isc_stdtime_t print_dnskeys(dns_kasp_key_t *kaspkey, dns_ttl_t ttl,
      dns_dnsseckeylist_t *keys,\n\t      isc_stdtime_t inception, isc_stdtime_t next_inception)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:643,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:652,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:653,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:654,1
    - Dst: dns_time32_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:655,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:657,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:658,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:660,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:661,1
    - Dst: print_rdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:666,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:669,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:670,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:674,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:686,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:687,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:688,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:689,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:690,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:691,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:692,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:693,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:702,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:703,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:704,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:705,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:708,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:710,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:711,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:712,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:713,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:714,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:716,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:717,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:718,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:720,1
    - Dst: print_rdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:721,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 5
    argNames:
    - ksr
    - inception
    - expiration
    - rrset
    - keys
    argTypes:
    - ksr_ctx_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 725
    functionName: sign_rrset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - isc_stdtime_tostring
    - dns_rdatalist_init
    - isc_buffer_putmem
    - dns_dnssec_sign
    - fatal
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dst_key_gettime
    - freerrset
    - between
    - fprintf
    - print_rdata
    - isc_buffer_clear
    - UNUSED
    - isc_mem_get
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    - isc_result_totext
    - isc_buffer_init
    - dns_time32_totext
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_stdtime_t
    signature: "isc_stdtime_t sign_rrset(ksr_ctx_t *ksr, isc_stdtime_t inception,
      isc_stdtime_t expiration,\n\t   dns_rdataset_t *rrset, dns_dnsseckeylist_t *keys)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_digests
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:736,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:737,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:738,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:739,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:743,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:748,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:753,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:758,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:771,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:772,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:773,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:774,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:785,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:786,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:788,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:789,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:789,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:790,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:791,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:792,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:793,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:794,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:796,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:797,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:798,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:802,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:802,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:805,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:807,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:810,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:811,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:829,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:830,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:832,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:833,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:833,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:834,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:835,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:836,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:837,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:838,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:840,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:841,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:843,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:844,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:852,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:853,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:855,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:855,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:858,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:859,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:860,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:861,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:862,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:864,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:865,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:866,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:869,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:870,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:874,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:875,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:876,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:881,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 99
    argCount: 8
    argNames:
    - ksr
    - kasp
    - inception
    - next_inception
    - keys
    - dnskeyset
    - cdnskeyset
    - cdsset
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - dns_dnsseckeylist_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 883
    functionName: get_keymaterial
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - isc_buffer_putmem
    - fatal
    - isc_buffer_allocate
    - dns_kasp_digests
    - isc_buffer_usedregion
    - dst_key_gettime
    - between
    - dns_kasp_cdnskey
    - isc_buffer_clear
    - dst_key_todns
    - ISC_LIST_EMPTY
    - isc_mem_get
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    - isc_buffer_init
    - CHECK
    - isc_mem_put
    - dns_ds_buildrdata
    - dns_rdata_toregion
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_stdtime_t
    signature: "isc_stdtime_t get_keymaterial(ksr_ctx_t *ksr, dns_kasp_t *kasp, isc_stdtime_t
      inception,\n\t\tisc_stdtime_t next_inception, dns_dnsseckeylist_t *keys,\n\t\tdns_rdataset_t
      *dnskeyset, dns_rdataset_t *cdnskeyset,\n\t\tdns_rdataset_t *cdsset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:852,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:853,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:855,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:855,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:858,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:859,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:860,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:861,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:862,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:864,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:865,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 867
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 75
    functionsReached:
    - dns_rdata_init
    - isc_buffer_clear
    - isc_buffer_putmem
    - ISC_LIST_APPEND
    - isc_mem_get
    - CHECK
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_ds_buildrdata
    - dns_rdata_toregion
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (digests, alg, link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:893,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:894,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:901,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:902,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:908,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:909,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:910,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:911,1
    - Dst: get_keymaterial
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:912,1
    - Dst: dns_rdatalist_first
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:918,1
    - Dst: dns_rdatalist_next
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:919,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:921,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:922,1
    - Dst: dns_rdatalist_current
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:923,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:924,1
    - Dst: dns_rdatalist_first
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:927,1
    - Dst: dns_rdatalist_next
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:928,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:930,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:931,1
    - Dst: dns_rdatalist_current
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:932,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:933,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:936,1
    - Dst: sign_rrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:937,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:942,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:943,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:946,1
    - Dst: sign_rrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:947,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:950,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:953,1
    - Dst: sign_rrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:954,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:957,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 6
    argNames:
    - ksr
    - kasp
    - inception
    - next_inception
    - zsklist
    - keys
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - dns_rdatalist_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 969
    functionName: sign_bundle
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_rdatalist_current
    - ISC_LIST_APPEND
    - get_keymaterial
    - dns_rdatalist_first
    - isc_mem_get
    - freerrset
    - dns_rdatalist_next
    - dns_rdataset_count
    - sign_rrset
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void sign_bundle(ksr_ctx_t *ksr, dns_kasp_t *kasp, isc_stdtime_t inception,\n\t
      \   isc_stdtime_t next_inception, dns_rdatalist_t *zsklist,\n\t    dns_dnsseckeylist_t
      *keys)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_setcomments
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:981,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:984,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:985,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:988,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:989,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:989,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:990,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:990,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:991,1
    - Dst: dns_name_compare
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:995,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:998,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1001,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1003,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1007,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1009,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1012,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1016,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1018,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1021,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1025,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1025,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1026,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1029,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1033,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 4
    argNames:
    - lex
    - owner
    - buf
    - ttl
    argTypes:
    - isc_lex_t*
    - char*
    - isc_buffer_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 1035
    functionName: parse_dnskey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_lex_setcomments
    - NEXTTOKEN
    - dns_ttl_fromtext
    - isc_buffer_init
    - strlen
    - STR
    - dns_rdata_fromtext
    - isc_buffer_add
    - strcmp
    - dns_rdataclass_fromtext
    - BADTOKEN
    - strcasecmp
    - dns_name_compare
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_dnskey(isc_lex_t *lex, char *owner, isc_buffer_t
      *buf, dns_ttl_t *ttl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkparams
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1044,1
    - Dst: getkasp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1046,1
    - Dst: get_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1048,1
    - Dst: setcontext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1050,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1053,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1056,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1060,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1061,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1062,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1063,1
    - Dst: create_key
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1069,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1077,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1080,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ksr
    argTypes:
    - ksr_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1081
    functionName: keygen
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 1
    functionsReached:
    - dns_kasp_key_lifetime
    - dns_kasp_key_keystore
    - cleanup
    - get_dnskeys
    - dns_kasp_key_ksk
    - dns_kasp_key_zsk
    - dns_kasp_key_algorithm
    - getkasp
    - fatal
    - setcontext
    - create_key
    - dns_kasp_key_size
    - checkparams
    linkageType: ''
    returnType: void
    signature: void keygen(ksr_ctx_t *ksr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1053,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1056,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1060,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1061,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1062,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1063,1
    - Dst: create_key
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1069,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1075
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 75
    functionsReached:
    - dns_kasp_key_lifetime
    - dns_kasp_key_keystore
    - dns_kasp_key_algorithm
    - dns_kasp_key_ksk
    - dns_kasp_key_zsk
    - create_key
    - dns_kasp_key_size
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kk, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkparams
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1092,1
    - Dst: getkasp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1094,1
    - Dst: get_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1096,1
    - Dst: setcontext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1098,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1107,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1108,1
    - Dst: dns_time32_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1109,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1111,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1112,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1114,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1115,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1128,1
    - Dst: print_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1133,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1139,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1140,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ksr
    argTypes:
    - ksr_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1145
    functionName: request
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 4
    functionsReached:
    - isc_stdtime_tostring
    - cleanup
    - get_dnskeys
    - isc_result_totext
    - dns_kasp_key_ksk
    - isc_buffer_init
    - getkasp
    - fatal
    - fprintf
    - setcontext
    - print_dnskeys
    - dns_time32_totext
    - isc_buffer_usedregion
    - checkparams
    linkageType: ''
    returnType: void
    signature: void request(ksr_ctx_t *ksr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1128,1
    - Dst: print_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1135
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 75
    functionsReached:
    - print_dnskeys
    - dns_kasp_key_ksk
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kk, link)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: checkparams
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1162,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1164,1
    - Dst: getkasp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1167,1
    - Dst: get_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1169,1
    - Dst: setcontext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1171,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1174,1
    - Dst: memset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1175,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1179,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1180,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1182,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1183,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1186,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1187,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1190,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1191,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1194,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1194,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1198,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1198,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1200,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1200,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1202,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1204,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1207,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1207,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1209,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1210,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1213,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1213,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1214,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1215,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1218,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1218,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1220,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1221,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1223,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1223,1
    - Dst: sscanf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1229,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1229,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1230,1
    - Dst: sign_bundle
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1235,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1237,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1241,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1242,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1253,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1255,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1258,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1259,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1271,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1273,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1274,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1275,1
    - Dst: parse_dnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1276,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1276,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1278,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1279,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1280,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1282,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1283,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1284,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1285,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1286,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1292,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1293,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1294,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1299,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1300,1
    - Dst: sign_bundle
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1305,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1307,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1308,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1312,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1313,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1317,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1318,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 100
    argCount: 1
    argNames:
    - ksr
    argTypes:
    - ksr_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1147
    functionDepth: 3
    functionLinenumber: 1147
    functionLinenumberEnd: 1319
    functionName: sign
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - isc_stdtime_tostring
    - dns_rdatalist_init
    - memset
    - isc_buffer_putmem
    - sign_bundle
    - fatal
    - isc_buffer_allocate
    - setcontext
    - isc_buffer_usedregion
    - isc_lex_getsourceline
    - isc_lex_create
    - cleanup
    - STR
    - getkasp
    - fprintf
    - isc_buffer_clear
    - INSIST
    - isc_lex_setspecials
    - isc_mem_get
    - isc_lex_openfile
    - parse_dnskey
    - isc_lex_gettoken
    - strtotime
    - isc_lex_destroy
    - checkparams
    - ISC_LIST_APPEND
    - get_dnskeys
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - strcmp
    - sscanf
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void sign(ksr_ctx_t *ksr)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1328,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1331,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1333,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1338,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1341,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1341,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1344,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1348,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1349,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1356,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1359,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1364,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1366,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1367,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1380,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1383,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1385,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1389,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1397,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1404,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1408,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1412,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1413,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1413,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1414,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1414,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1415,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1417,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1418,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1422,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1423,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1424,1
    - Dst: request
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1425,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1426,1
    - Dst: sign
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1427,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1429,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1432,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1321
    functionDepth: 4
    functionLinenumber: 1321
    functionLinenumberEnd: 1433
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 20
    functionsReached:
    - isc_commandline_init
    - fatal
    - isc_crypto_fips_enable
    - sign
    - dns_fixedname_initname
    - isc_stdtime_now
    - usage
    - keygen
    - setup_logging
    - dns_name_fromtext
    - strtoul
    - request
    - version
    - strlen
    - strtotime
    - isc_commandline_parse
    - try_dir
    - isc_result_totext
    - exit
    - isc_buffer_init
    - isc_crypto_fips_mode
    - isc_buffer_add
    - strcmp
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: check_dns_dbiterator_current
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_dns_dbiterator_current(result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: OPTOUT
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTOUT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: REVOKE
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVOKE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: INCSTAT
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCSTAT(counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:192,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fzonecut
    - name
    argTypes:
    - dns_fixedname_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: savezonecut
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - dns_name_copy
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      savezonecut(dns_fixedname_t *fzonecut, dns_name_t *name)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:210,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:211,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:213,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:217,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:225,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:230,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:237,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:238,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:240,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:242,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:243,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:244,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:245,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:247,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:250,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:251,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 252
    functionName: dumpnode
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - dns_master_rdatasettotext
    - isc_buffer_clear
    - dns_rdatasetiter_current
    - check_result
    - isc_buffer_free
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void dumpnode(dns_name_t *name, dns_dbnode_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:217,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:225,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:230,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:237,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:238,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:240,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:242,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:243,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:244,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:245,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 248
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - dns_master_rdatasettotext
    - isc_buffer_clear
    - dns_rdatasetiter_current
    - check_result
    - isc_buffer_free
    - dns_rdataset_disassociate
    - isc_buffer_allocate
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:260,1
    - Dst: dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:261,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: lock_and_dumpnode
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dumpnode
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void lock_and_dumpnode(dns_name_t *name, dns_dbnode_t *node)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:280,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:281,1
    - Dst: isc_random_uniform
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:289,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:290,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:291,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:294,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:295,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:297,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:300,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:303,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:304,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:306,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:307,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:312,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - name
    - rdataset
    - key
    - ttl
    - add
    - logmsg
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dst_key_t*
    - dns_ttl_t
    - dns_diff_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 315
    functionName: signwithkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_dnssec_verify
    - dns_diff_append
    - dst_key_format
    - dns_dnssec_sign
    - vbprintf
    - isc_result_totext
    - isc_buffer_init
    - fatal
    - INCSTAT
    - isc_random_uniform
    linkageType: ''
    returnType: void
    signature: "void signwithkey(dns_name_t *name, dns_rdataset_t *rdataset, dst_key_t
      *key,\n\t    dns_ttl_t ttl, dns_diff_t *add, const char *logmsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: issigningkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool issigningkey(dns_dnsseckey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: ispublishedkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ispublishedkey(dns_dnsseckey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:329,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:329,1
    - Dst: dst_key_iszonekey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: iszonekey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 1
    functionsReached:
    - dst_key_name
    - dns_name_equal
    - dst_key_iszonekey
    linkageType: ''
    returnType: bool
    signature: bool iszonekey(dns_dnsseckey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: isksk
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isksk(dns_dnsseckey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: iszsk
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool iszsk(dns_dnsseckey_t *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:351,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:355,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:356,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:357,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rrsig
    argTypes:
    - dns_rdata_rrsig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: keythatsigned_unlocked
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dst_key_alg
    - dns_name_equal
    - dst_algorithm_fromdata
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: dns_dnsseckey_t
    signature: 'dns_dnsseckey_t *

      keythatsigned_unlocked(dns_rdata_rrsig_t *rrsig)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:355,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:356,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:357,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - dst_key_id
    - dst_key_name
    - dns_name_equal
    - dst_key_alg
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, key, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:375,1
    - Dst: keythatsigned_unlocked
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:376,1
    - Dst: RWUNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:377,1
    - Dst: isc_rwlock_lock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:389,1
    - Dst: keythatsigned_unlocked
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:390,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:392,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:396,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:400,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:404,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:408,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:409,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:411,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:416,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - rrsig
    argTypes:
    - dns_rdata_rrsig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 420
    functionName: keythatsigned
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_dnsseckey_create
    - dst_key_free
    - ISC_LIST_APPEND
    - isc_rwlock_unlock
    - RWUNLOCK
    - RWLOCK
    - dst_key_fromfile
    - isc_rwlock_lock
    - keythatsigned_unlocked
    linkageType: ''
    returnType: dns_dnsseckey_t
    signature: 'dns_dnsseckey_t *

      keythatsigned(dns_rdata_rrsig_t *rrsig)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:434,1
    - Dst: dns_db_find
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:435,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:436,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:449,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:450,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:451,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 454
    functionName: expecttofindkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - dns_db_find
    - dns_fixedname_name
    - isc_result_totext
    - fatal
    - dns_fixedname_init
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: bool expecttofindkey(dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:460,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:462,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - name
    - set
    - key
    - rrsig
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dst_key_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: setverifies
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - INCSTAT
    - dns_dnssec_verify
    linkageType: ''
    returnType: bool
    signature: "bool setverifies(dns_name_t *name, dns_rdataset_t *set, dst_key_t
      *key,\n\t    dns_rdata_t *rrsig)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:491,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:492,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:494,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:496,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:497,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:500,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:506,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:507,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:510,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:514,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:516,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:517,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:530,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:532,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:533,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:535,1
    - Dst: keythatsigned
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:537,1
    - Dst: sig_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:539,1
    - Dst: isc_serial_gt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:540,1
    - Dst: isc_serial_gt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:541,1
    - Dst: isc_serial_gt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:543,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:545,1
    - Dst: expecttofindkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:550,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:553,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:559,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:563,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:567,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:571,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:575,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:577,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:581,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:588,1
    - Dst: ispublishedkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:598,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:599,1
    - Dst: iszonekey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:603,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:607,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:609,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:613,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:620,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:630,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:633,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:641,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:643,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:646,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:650,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:651,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:654,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:658,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:660,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:663,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:664,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:668,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:670,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:675,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:676,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:680,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:681,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:682,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:686,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:694,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:701,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:703,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:706,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:707,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:711,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:714,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:718,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:719,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:721,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:724,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:731,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:746,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:747,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:748,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:749,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:753,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:757,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:778,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:784,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:785,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 162
    argCount: 5
    argNames:
    - del
    - add
    - node
    - name
    - set
    argTypes:
    - dns_diff_t*
    - dns_diff_t*
    - dns_dbnode_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 475
    functionDepth: 3
    functionLinenumber: 475
    functionLinenumberEnd: 786
    functionName: signset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - check_result
    - iszsk
    - fatal
    - dns_rdataset_disassociate
    - dns_dnssec_keyactive
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_rdata_tostruct
    - isc_serial_lt
    - ISC_MIN
    - signwithkey
    - dns_rdataset_isassociated
    - dns_rdata_freestruct
    - sig_format
    - isc_serial_gt
    - issigningkey
    - dns_name_format
    - dns_rdatatype_format
    - dns_difftuple_create
    - dst_key_alg
    - ispublishedkey
    - vbprintf
    - INSIST
    - iszonekey
    - setverifies
    - dst_key_getnum
    - dns_diff_append
    - isc_mem_cget
    - REVOKE
    - dns_name_equal
    - isc_result_totext
    - expecttofindkey
    - isksk
    - dst_key_id
    - keythatsigned
    - INCSTAT
    - dns_rdataset_count
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: "void signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node,
      dns_name_t *name,\n\tdns_rdataset_t *set)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:530,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:532,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:533,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:535,1
    - Dst: keythatsigned
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:537,1
    - Dst: sig_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:539,1
    - Dst: isc_serial_gt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:540,1
    - Dst: isc_serial_gt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:541,1
    - Dst: isc_serial_gt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:543,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:545,1
    - Dst: expecttofindkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:550,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:553,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:559,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:563,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:567,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:571,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:575,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:577,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:581,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:588,1
    - Dst: ispublishedkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:598,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:599,1
    - Dst: iszonekey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:603,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:607,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:609,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:613,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:620,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:630,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:633,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:641,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:643,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:646,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:650,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:651,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:654,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:658,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:660,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:663,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:664,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:668,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:670,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:675,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:676,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 524
    functionDepth: 3
    functionLinenumber: 524
    functionLinenumberEnd: 677
    functionName: (&sigset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - check_result
    - dns_dnssec_keyactive
    - dns_rdata_reset
    - dns_rdata_tostruct
    - isc_serial_lt
    - signwithkey
    - dns_rdata_freestruct
    - sig_format
    - isc_serial_gt
    - issigningkey
    - dns_difftuple_create
    - ispublishedkey
    - vbprintf
    - INSIST
    - iszonekey
    - setverifies
    - dns_diff_append
    - expecttofindkey
    - keythatsigned
    - INCSTAT
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&sigset)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:686,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:694,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:701,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:703,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:706,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:707,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:711,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:714,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:718,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:719,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:721,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:724,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:731,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:746,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:747,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:748,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:749,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:753,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:757,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:778,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 782
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - dst_key_getnum
    - dst_key_alg
    - REVOKE
    - dns_name_equal
    - signwithkey
    - isksk
    - iszsk
    - dst_key_id
    - issigningkey
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, key, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:706,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:707,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:711,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:714,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 717
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - isksk
    - REVOKE
    - dst_key_alg
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, curr, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:746,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:747,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:748,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:749,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:753,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 770
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - iszsk
    - dst_key_id
    - dst_key_getnum
    - dst_key_alg
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, curr, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - l
    - nodes
    - length
    argTypes:
    - hashlist_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 810
    functionName: hashlist_init
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void hashlist_init(hashlist_t *l, unsigned int nodes, unsigned int
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - l
    argTypes:
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 821
    functionName: hashlist_free
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hashlist_free(hashlist_t *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:825,1
    - Dst: realloc
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:829,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:831,1
    - Dst: memset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:834,1
    - Dst: memmove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - l
    - hash
    - len
    argTypes:
    - hashlist_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 837
    functionName: hashlist_add
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - realloc
    - fatal
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void hashlist_add(hashlist_t *l, const unsigned char *hash, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_iterated_hash
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:849,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:852,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:854,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:856,1
    - Dst: hashlist_add
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - l
    - name
    - hashalg
    - iterations
    - salt
    - salt_len
    - speculative
    argTypes:
    - hashlist_t*
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 860
    functionName: hashlist_add_dns_name
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - isc_iterated_hash
    - hashlist_add
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void hashlist_add_dns_name(hashlist_t *l,\n\t\t      /*const*/ dns_name_t
      *name, unsigned int hashalg,\n\t\t      unsigned int iterations, const unsigned
      char *salt,\n\t\t      size_t salt_len, bool speculative)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 865
    functionName: hashlist_comp
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int hashlist_comp(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:869,1
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 873
    functionName: hashlist_sort
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - qsort
    - INSIST
    linkageType: ''
    returnType: void
    signature: void hashlist_sort(hashlist_t *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - l
    argTypes:
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 901
    functionName: hashlist_hasdup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_safe_memequal
    linkageType: ''
    returnType: bool
    signature: bool hashlist_hasdup(hashlist_t *l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:907,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:909,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - l
    - hash
    argTypes:
    - hashlist_t*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 923
    functionName: hashlist_findnext
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - bsearch
    - INSIST
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nhashlist_findnext(const hashlist_t *l,\n\t\t  const
      unsigned char hash[NSEC3_MAX_HASH_LENGTH])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - l
    - hash
    argTypes:
    - hashlist_t*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 933
    functionName: hashlist_exists
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: bool
    signature: "bool hashlist_exists(const hashlist_t *l,\n\t\tconst unsigned char
      hash[NSEC3_MAX_HASH_LENGTH])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:946,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:948,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:952,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:954,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:956,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:961,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:962,1
    - Dst: hashlist_add_dns_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - l
    - name
    - hashalg
    - iterations
    - salt
    - salt_len
    argTypes:
    - hashlist_t*
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 967
    functionName: addnowildcardhash
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - dns_fixedname_initname
    - check_result
    - hashlist_add_dns_name
    - fprintf
    - dns_name_concatenate
    - dns_db_detachnode
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: "void addnowildcardhash(hashlist_t *l,\n\t\t  /*const*/ dns_name_t
      *name, unsigned int hashalg,\n\t\t  unsigned int iterations, const unsigned
      char *salt,\n\t\t  size_t salt_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:976,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:979,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:979,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:980,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:982,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:983,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:984,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:987,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:987,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:988,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:990,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:991,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:992,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:993,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:995,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:996,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:998,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1000,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1002,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1004,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - prefix
    - name
    - rdclass
    - dbp
    argTypes:
    - char*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 1008
    functionName: opendb
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_load
    - dns_db_detach
    - isc_buffer_putstr
    - isc_buffer_init
    - strlen
    - fatal
    - check_result
    - dns_name_tofilenametext
    - isc_buffer_putuint8
    - dns_name_format
    - dns_db_create
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: "void opendb(const char *prefix, dns_name_t *name, dns_rdataclass_t
      rdclass,\n       dns_db_t **dbp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opendb
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1026,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1028,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1030,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1031,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1034,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1036,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1038,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1042,1
    - Dst: opendb
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1046,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1051,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1053,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1057,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1058,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1061,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1062,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1065,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1067,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1068,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1069,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1074,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1075,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1077,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1079,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1081,1
    - Dst: dns_diff_apply
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1084,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1085,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1086,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1088,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1090,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1092,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1094,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1095,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 3
    argNames:
    - name
    - ttl
    - dsset
    argTypes:
    - dns_name_t*
    - uint32_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1098
    functionName: loadds
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - dns_difftuple_create
    - dns_diff_append
    - dns_db_findrdataset
    - dns_db_detach
    - vbprintf
    - dns_rdataset_current
    - dns_diff_clear
    - dns_db_closeversion
    - check_result
    - dns_diff_init
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_ds_buildrdata
    - dns_diff_apply
    - dns_rdataset_init
    - dns_db_newversion
    - opendb
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadds(dns_name_t *name, uint32_t ttl, dns_rdataset_t
      *dsset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1074,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1075,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1077,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1079,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1082
    functionName: (&keyset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_diff_append
    - dns_difftuple_create
    - dns_rdataset_current
    - check_result
    - dns_ds_buildrdata
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&keyset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1105,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1109,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1110,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1112,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1117
    functionName: secure
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 3
    functionsReached:
    - dns_db_findrdataset
    - dns_name_equal
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: bool secure(dns_name_t *name, dns_dbnode_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1125,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1129,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1130,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1132,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - db
    - ver
    - origin
    - name
    - node
    - ttlp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    - dns_dbnode_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1140
    functionName: is_delegation
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_name_equal
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: "bool is_delegation(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *origin,\n\t      dns_name_t *name, dns_dbnode_t *node, uint32_t *ttlp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1151,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1152,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1154,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - db
    - ver
    - node
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1146
    functionDepth: 1
    functionLinenumber: 1146
    functionLinenumberEnd: 1159
    functionName: has_dname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: bool
    signature: bool has_dname(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t *node)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1173,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1174,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1179,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1186,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1187,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1189,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1190,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1192,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1212,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1213,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1217,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1218,1
    - Dst: signset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1221,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1224,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1227,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1229,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1231,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1232,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1235,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1237,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1238,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1241,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - node
    - apex
    - name
    argTypes:
    - dns_dbnode_t*
    - bool
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1164
    functionDepth: 4
    functionLinenumber: 1164
    functionLinenumberEnd: 1243
    functionName: signname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - signset
    - is_delegation
    - dns_rdatasetiter_current
    - dns_rdataset_init
    - isc_result_totext
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_name_format
    - dns_diff_clear
    - dns_rdatasetiter_destroy
    - dns_diff_init
    - dns_diff_applysilently
    linkageType: ''
    returnType: void
    signature: void signname(dns_dbnode_t *node, bool apex, dns_name_t *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1192,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1212,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1213,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1217,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1218,1
    - Dst: signset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1221,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1191
    functionDepth: 4
    functionLinenumber: 1191
    functionLinenumberEnd: 1225
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - signset
    - dns_rdatasetiter_current
    - fatal
    - dns_rdataset_disassociate
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1260,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1261,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1263,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1265,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1280,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1281,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1284,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1285,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1291,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1293,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1295,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1298,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1307,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1309,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1318,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1322,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1325,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1327,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1330,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1331,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1334,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1336,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - node
    argTypes:
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1249
    functionDepth: 1
    functionLinenumber: 1249
    functionLinenumberEnd: 1339
    functionName: active_node
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - isc_result_totext
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_db_deleterdataset
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: bool
    signature: bool active_node(dns_dbnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1263,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1273
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1280,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1281,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1284,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1286
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - check_result
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1295,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1298,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1307,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1309,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1318,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1322,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1325,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1327,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1330,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1333
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - isc_result_totext
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1318,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1323
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1352,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1353,1
    - Dst: dns_db_find
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1354,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1357,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1358,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1361,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1362,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1363,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1365,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1365,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1367,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1368,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1371
    functionName: get_soa_ttls
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_find
    - dns_fixedname_initname
    - ISC_MIN
    - dns_rdataset_current
    - isc_result_totext
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_soa_getminimum
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void get_soa_ttls(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1385,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1390,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1392,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1398,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1399,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1401,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1403,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1408,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1414,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1418,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1433,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1439,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1441,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1443,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1448,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1449,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1455,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1457,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1459,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 2
    argNames:
    - serial
    - method
    argTypes:
    - uint32_t
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1462
    functionName: setsoaserial
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_addrdataset
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdata_reset
    - dns_rdataset_init
    - dns_soa_getserial
    - check_result
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - fprintf
    - dns_soa_setserial
    - dns_db_deleterdataset
    - dns_update_soaserial
    - dns_db_getoriginnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setsoaserial(uint32_t serial, dns_updatemethod_t method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1472,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1474
    functionName: presign
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - check_result
    linkageType: ''
    returnType: void
    signature: void presign(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1479
    functionDepth: 1
    functionLinenumber: 1479
    functionLinenumberEnd: 1482
    functionName: postsign
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_destroy
    linkageType: ''
    returnType: void
    signature: void postsign(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1496,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1497,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1498,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1499,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1500,1
    - Dst: signname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1501,1
    - Dst: dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1502,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1503,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1504,1
    - Dst: atomic_store
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1506,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1508,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1489
    functionDepth: 5
    functionLinenumber: 1489
    functionLinenumberEnd: 1511
    functionName: signapex
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dumpnode
    - dns_fixedname_initname
    - signname
    - isc_result_totext
    - check_result
    - dns_dbiterator_first
    - dns_dbiterator_seek
    - dns_dbiterator_current
    - fatal
    - atomic_store
    - check_dns_dbiterator_current
    linkageType: ''
    returnType: void
    signature: void signapex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1515,1
    - Dst: atomic_store
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1518
    functionName: abortwork
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void abortwork(void *arg)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1536,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1538,1
    - Dst: LOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1542,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1543,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1546,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1548,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1552,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1556,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1557,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1561,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1562,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1573,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1574,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1576,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1577,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1582,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1584,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1586,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1589,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1590,1
    - Dst: secure
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1591,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1595,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1596,1
    - Dst: dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1605,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1606,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1610,1
    - Dst: atomic_store
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1612,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1615,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1616,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1622,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1624,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1628,1
    - Dst: signname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1630,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1630,1
    - Dst: lock_and_dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1635,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1635,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1636,1
    - Dst: isc_async_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1638,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1524
    functionDepth: 5
    functionLinenumber: 1524
    functionLinenumberEnd: 1639
    functionName: assignwork
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - savezonecut
    - dns_db_findrdataset
    - UNLOCK
    - fatal
    - dns_rdataset_disassociate
    - secure
    - dns_rdataset_init
    - LOCK
    - dns_name_issubdomain
    - has_dname
    - dns_fixedname_initname
    - dns_dbiterator_next
    - dns_rdataset_isassociated
    - OPTOUT
    - dumpnode
    - UNUSED
    - check_dns_dbiterator_current
    - dns_fixedname_name
    - lock_and_dumpnode
    - isc_async_current
    - atomic_load
    - is_delegation
    - signname
    - dns_name_equal
    - isc_result_totext
    - dns_dbiterator_current
    - atomic_store
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void assignwork(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1650,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1651,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1652,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1655,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1656,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1658,1
    - Dst: loadds
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1661,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1663,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1665,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1666,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1667,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1668,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1670,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1671,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1674,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - name
    - node
    - nsttl
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1644
    functionDepth: 3
    functionLinenumber: 1644
    functionLinenumberEnd: 1677
    functionName: add_ds
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_addrdataset
    - dns_db_findrdataset
    - dns_rdataset_isassociated
    - check_result
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    - dns_rdataset_init
    - loadds
    linkageType: ''
    returnType: void
    signature: void add_ds(dns_name_t *name, dns_dbnode_t *node, uint32_t nsttl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1691,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1692,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1695,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1698,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1703,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1709,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1712,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1714,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - node
    - which
    - checknsec
    argTypes:
    - dns_dbnode_t*
    - dns_rdatatype_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1682
    functionDepth: 1
    functionLinenumber: 1682
    functionLinenumberEnd: 1718
    functionName: remove_records
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_db_deleterdataset
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void remove_records(dns_dbnode_t *node, dns_rdatatype_t which, bool
      checknsec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1695,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1698,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1703,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1709,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1712,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1693
    functionDepth: 1
    functionLinenumber: 1693
    functionLinenumberEnd: 1716
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1731,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1732,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1735,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1738,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1745,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1756,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1758,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1760,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - node
    - delegation
    - which
    argTypes:
    - dns_dbnode_t*
    - bool
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1761
    functionName: remove_sigs
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - check_result
    - dns_rdatatype_atparent
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_db_deleterdataset
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void remove_sigs(dns_dbnode_t *node, bool delegation, dns_rdatatype_t
      which)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1735,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1738,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1745,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1756,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1758,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1759
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - check_result
    - dns_rdatatype_atparent
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1771,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1772,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1783,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1784,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1787,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1788,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1789,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1791,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1793,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1796,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1797,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1799,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1802,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1803,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1805,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1807,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1808,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1810,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1811,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1814,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1815,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1819,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1820,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1824,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1826,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1830,1
    - Dst: remove_records
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1831,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1833,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1836,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1837,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1838,1
    - Dst: add_ds
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1840,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1842,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1843,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1846,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1850,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1852,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1853,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1855,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1856,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1859,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1861,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1863,1
    - Dst: remove_records
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1864,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1866,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1867,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1870,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1874,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1877,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1878,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1880,1
    - Dst: dns_nsec_build
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1881,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1883,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1884,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1887,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1888
    functionName: nsecify
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - savezonecut
    - add_ds
    - remove_records
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_nsec_build
    - dns_name_issubdomain
    - has_dname
    - dns_fixedname_initname
    - dns_dbiterator_next
    - dns_dbiterator_first
    - dns_dbiterator_destroy
    - check_dns_dbiterator_current
    - dns_db_allrdatasets
    - is_delegation
    - dns_rdatasetiter_current
    - dns_dbiterator_pause
    - dns_name_equal
    - active_node
    - isc_result_totext
    - dns_name_clone
    - dns_dbiterator_current
    - dns_db_deleterdataset
    - remove_sigs
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void nsecify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1787,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1788,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1789,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1791,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1793,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1796,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1797,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1799,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1802,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1785
    functionDepth: 1
    functionLinenumber: 1785
    functionLinenumberEnd: 1804
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdatasetiter_current
    - check_result
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    - check_dns_dbiterator_current
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1793,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1796,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1797,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1792
    functionDepth: 1
    functionLinenumber: 1792
    functionLinenumberEnd: 1801
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - check_result
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1902,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1906,1
    - Dst: UNCONST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1912,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1914,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1915,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1917,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1918,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1921,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1922,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1924,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1925,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1930,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1935,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1937,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1942,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - salt
    - salt_len
    - iterations
    argTypes:
    - unsigned char*
    - size_t
    - dns_iterations_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1890
    functionDepth: 1
    functionLinenumber: 1890
    functionLinenumberEnd: 1944
    functionName: addnsec3param
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_rdata_fromstruct
    - ISC_LIST_APPEND
    - dns_db_findnode
    - dns_db_addrdataset
    - ISC_LINK_INIT
    - isc_buffer_init
    - check_result
    - UNCONST
    - dns_db_deleterdataset
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void addnsec3param(const unsigned char *salt, size_t salt_len,\n\t
      \     dns_iterations_t iterations)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1962,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1964,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1965,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1967,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1968,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1970,1
    - Dst: hashlist_findnext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1971,1
    - Dst: dns_nsec3_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1972,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1977,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1978,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1982,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1983,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1984,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1984,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1986,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1987,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1992,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 7
    argNames:
    - name
    - node
    - salt
    - salt_len
    - iterations
    - hashlist
    - ttl
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    - unsigned char*
    - size_t
    - unsigned int
    - hashlist_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 1994
    functionName: addnsec3
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_fixedname_init
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_db_addrdataset
    - dns_nsec3_hashname
    - dns_db_findnsec3node
    - dns_fixedname_name
    - dns_name_downcase
    - check_result
    - dns_nsec3_buildrdata
    - dns_name_format
    - dns_db_detachnode
    - hashlist_findnext
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void addnsec3(dns_name_t *name, dns_dbnode_t *node, const unsigned
      char *salt,\n\t size_t salt_len, unsigned int iterations, hashlist_t *hashlist,\n\t
      dns_ttl_t ttl)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_getlabel
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2023,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2028,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2033,1
    - Dst: isc_base32hex_decoderegion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2034,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2039,1
    - Dst: hashlist_exists
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2041,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2047,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2048,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2050,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2064,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2065,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2066,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2070,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2074,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2078,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2081,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2082,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2083,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2084,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2086,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2088,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2092,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2100,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 7
    argNames:
    - name
    - node
    - hashalg
    - iterations
    - salt
    - salt_len
    - hashlist
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2105
    functionName: nsec3clean
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_name_getlabel
    - check_result
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdata_tostruct
    - hashlist_exists
    - ISC_MIN
    - isc_safe_memequal
    - dns_db_subtractrdataset
    - dns_rdata_clone
    - ISC_LIST_APPEND
    - isc_buffer_init
    - isc_buffer_usedlength
    - isc_base32hex_decoderegion
    - dns_db_deleterdataset
    - isc_region_consume
    linkageType: ''
    returnType: void
    signature: "void nsec3clean(dns_name_t *name, dns_dbnode_t *node, unsigned int
      hashalg,\n\t   unsigned int iterations, const unsigned char *salt, size_t salt_len,\n\t
      \  hashlist_t *hashlist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2064,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2065,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2066,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2070,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2074,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2078,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2081,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2082,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2083,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2084,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2086,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2088,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2091
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - ISC_MIN
    - dns_rdataset_current
    - dns_db_subtractrdataset
    - check_result
    - isc_safe_memequal
    - dns_rdataset_disassociate
    - dns_rdata_clone
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2115,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2116,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2118,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2124,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2125,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2130,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2132,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2134,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2136,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2139,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2141,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2146,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2149,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2151,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2154,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - name
    - rdataset
    - add
    - del
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diff_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2159
    functionName: rrset_cleanup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_current
    - vbprintf
    - dns_rdata_casecompare
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    - dns_name_format
    - dns_rdatatype_format
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void rrset_cleanup(dns_name_t *name, dns_rdataset_t *rdataset, dns_diff_t
      *add,\n\t      dns_diff_t *del)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2124,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2125,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2130,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2132,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2134,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2136,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2139,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2141,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2146,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2149,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2151,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2154,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2158
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_current
    - vbprintf
    - dns_rdata_casecompare
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2130,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2132,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2134,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2136,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2139,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2141,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2146,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2149,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2151,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2156
    functionName: (&tmprdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_diff_append
    - dns_difftuple_create
    - dns_rdataset_current
    - vbprintf
    - dns_rdata_casecompare
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&tmprdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2169,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2171,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2172,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2174,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2175,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2179,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2180,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2181,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2183,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2185,1
    - Dst: rrset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2186,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2187,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2189,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2190,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2193,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2194,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2196,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2197,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2199,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2200,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2161
    functionDepth: 2
    functionLinenumber: 2161
    functionLinenumberEnd: 2202
    functionName: cleanup_zone
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - rrset_cleanup
    - dns_db_detachnode
    - dns_rdatasetiter_current
    - dns_fixedname_initname
    - dns_dbiterator_destroy
    - check_result
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - dns_db_createiterator
    - check_dns_dbiterator_current
    - dns_diff_clear
    - dns_rdatasetiter_destroy
    - dns_diff_init
    - dns_diff_applysilently
    linkageType: ''
    returnType: void
    signature: void cleanup_zone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2179,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2180,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2181,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2183,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2185,1
    - Dst: rrset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2186,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2187,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2189,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2177
    functionDepth: 2
    functionLinenumber: 2177
    functionLinenumberEnd: 2191
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - rrset_cleanup
    - dns_db_detachnode
    - dns_rdatasetiter_current
    - check_result
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - check_dns_dbiterator_current
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2185,1
    - Dst: rrset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2186,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2184
    functionDepth: 2
    functionLinenumber: 2184
    functionLinenumberEnd: 2188
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - rrset_cleanup
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2222,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2223,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2224,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2230,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2231,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2233,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2234,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2237,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2238,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2242,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2243,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2247,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2249,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2253,1
    - Dst: remove_records
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2254,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2256,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2259,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2260,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2263,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2266,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2268,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2269,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2271,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2272,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2275,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2277,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2279,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2280,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2281,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2284,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2287,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2288,1
    - Dst: add_ds
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2290,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2292,1
    - Dst: secure
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2293,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2295,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2296,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2299,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2300,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2302,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2306,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2309,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2310,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2312,1
    - Dst: hashlist_add_dns_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2313,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2315,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2322,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2323,1
    - Dst: addnowildcardhash
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2324,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2326,1
    - Dst: dns_name_split
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2329,1
    - Dst: hashlist_add_dns_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2330,1
    - Dst: addnowildcardhash
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2333,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2337,1
    - Dst: hashlist_sort
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2342,1
    - Dst: hashlist_hasdup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2348,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2349,1
    - Dst: addnsec3param
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2358,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2363,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2364,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2367,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2368,1
    - Dst: nsec3clean
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2369,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2371,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2373,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2378,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2379,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2381,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2382,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2385,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2386,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2390,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2391,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2395,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2397,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2401,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2402,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2405,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2408,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2410,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2411,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2413,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2414,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2417,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2419,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2421,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2422,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2425,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2428,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2429,1
    - Dst: secure
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2430,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2432,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2433,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2436,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2437,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2439,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2443,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2446,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2447,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2452,1
    - Dst: addnsec3
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2453,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2455,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2459,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2460,1
    - Dst: dns_name_split
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2463,1
    - Dst: addnsec3
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2464,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2468,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 170
    argCount: 5
    argNames:
    - hashalg
    - iterations
    - salt
    - salt_len
    - hashlist
    argTypes:
    - unsigned int
    - dns_iterations_t
    - unsigned char*
    - size_t
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2207
    functionDepth: 4
    functionLinenumber: 2207
    functionLinenumberEnd: 2469
    functionName: nsec3ify
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - savezonecut
    - add_ds
    - remove_records
    - check_result
    - fatal
    - secure
    - dns_rdataset_init
    - dns_name_countlabels
    - nsec3clean
    - dns_name_issubdomain
    - has_dname
    - dns_fixedname_initname
    - dns_dbiterator_next
    - dns_dbiterator_first
    - hashlist_add_dns_name
    - addnowildcardhash
    - addnsec3param
    - hashlist_sort
    - OPTOUT
    - dns_name_copy
    - dns_dbiterator_destroy
    - check_dns_dbiterator_current
    - hashlist_hasdup
    - dns_name_downcase
    - dns_name_split
    - is_delegation
    - dns_dbiterator_pause
    - dns_name_equal
    - active_node
    - isc_result_totext
    - addnsec3
    - dns_dbiterator_current
    - dns_name_fullcompare
    - remove_sigs
    - dns_db_createiterator
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: "void nsec3ify(unsigned int hashalg, dns_iterations_t iterations,\n\t
      const unsigned char *salt, size_t salt_len, hashlist_t *hashlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2367,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2368,1
    - Dst: nsec3clean
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2369,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2366
    functionDepth: 2
    functionLinenumber: 2366
    functionLinenumberEnd: 2372
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - check_dns_dbiterator_current
    - nsec3clean
    - dns_dbiterator_current
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2482,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2483,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2484,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2486,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2487,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2489,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2490,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2493,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2495,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2497,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2499,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - file
    - origin
    - rdclass
    - db
    argTypes:
    - char*
    - char*
    - dns_rdataclass_t
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2502
    functionName: loadzone
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 1
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - dns_db_load
    - isc_result_totext
    - isc_buffer_init
    - strlen
    - fatal
    - check_result
    - isc_buffer_add
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t
      **db)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2516,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2518,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2519,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2522,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2524,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2525,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2526,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2529,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2537,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2538,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2547,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2551,1
    - Dst: dns_dnssec_keylistfromrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2559,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2563,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2564,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2568,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2569,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2571,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2572,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2574,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2575,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2577,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2578,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - preserve_keys
    - load_public
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2508
    functionDepth: 1
    functionLinenumber: 2508
    functionLinenumberEnd: 2579
    functionName: loadzonekeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - dns_db_findnode
    - dns_db_findrdataset
    - isc_result_totext
    - dns_rdataset_isassociated
    - fatal
    - dns_rdataset_disassociate
    - fprintf
    - dns_db_detachnode
    - dns_dnssec_keylistfromrdataset
    - dns_rdataset_init
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void loadzonekeys(bool preserve_keys, bool load_public)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2590,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2594,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2595,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2598,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2598,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2599,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2602,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2603,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2609,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2609,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2610,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2610,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2619,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2620,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - keyfiles
    - n
    - setksk
    argTypes:
    - char*[]
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2581
    functionDepth: 1
    functionLinenumber: 2581
    functionLinenumberEnd: 2634
    functionName: loadexplicitkeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_dnsseckey_create
    - dst_key_free
    - ISC_LIST_APPEND
    - dst_key_isprivate
    - dst_key_alg
    - dst_key_fromnamedfile
    - dns_name_equal
    - isc_result_totext
    - fatal
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: void loadexplicitkeys(char *keyfiles[], int n, bool setksk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2609,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2609,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2610,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2608
    functionDepth: 1
    functionLinenumber: 2608
    functionLinenumberEnd: 2615
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - dst_key_id
    - dst_key_alg
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, k, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2643,1
    - Dst: vsnprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2644,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2645,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2648
    functionName: report
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void report(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2652,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2653,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2650
    functionDepth: 1
    functionLinenumber: 2650
    functionLinenumberEnd: 2656
    functionName: clear_keylist
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void clear_keylist(dns_dnsseckeylist_t *list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2666,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2671,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2672,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2678,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2680,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2682,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2683,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2684,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2685,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2689,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2695,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2697,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - str
    - dlen
    - digests
    - cdnskey
    argTypes:
    - char*
    - size_t
    - dns_kasp_digestlist_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2658
    functionDepth: 1
    functionLinenumber: 2658
    functionLinenumberEnd: 2699
    functionName: add_digest
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - isc_result_totext
    - isc_mem_get
    - fatal
    - dst_ds_digest_supported
    - ISC_LIST_FOREACH
    - dns_dsdigest_fromtext
    linkageType: ''
    returnType: void
    signature: "void add_digest(char *str, size_t dlen, dns_kasp_digestlist_t *digests,\n\t
      \  bool *cdnskey)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2713,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2714,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2715,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2717,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2718,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2719,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2721,1
    - Dst: UNCONST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2727,1
    - Dst: strchr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2729,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2731,1
    - Dst: add_digest
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2732,1
    - Dst: add_digest
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2736,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2745,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2750,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2752,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2753,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2755,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2756,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2759,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2761,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2762,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2766,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2768,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2769,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2772,1
    - Dst: dns_dnssec_updatekeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2777,1
    - Dst: dns_dnssec_syncupdate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2784,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2787,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2789,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2791,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2792,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2795,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2796,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2798,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2800,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2801,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2803,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2804,1
    - Dst: clear_keylist
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2807,1
    - Dst: clear_keylist
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2808,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2811,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2812,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2814,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2814,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2701
    functionDepth: 1
    functionLinenumber: 2701
    functionLinenumberEnd: 2815
    functionName: build_final_keylist
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_db_closeversion
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_dnssec_findmatchingkeys
    - dns_diff_init
    - dns_rdataset_init
    - isc_mem_put
    - dns_rdataset_isassociated
    - dns_name_format
    - ISC_LIST_INIT
    - clear_keylist
    - dns_db_getoriginnode
    - dns_dnssec_syncupdate
    - ISC_LIST_EMPTY
    - strchr
    - INSIST
    - strlen
    - UNCONST
    - ISC_LIST_UNLINK
    - dns_diff_clear
    - add_digest
    - dns_db_newversion
    - isc_result_totext
    - dns_db_detachnode
    - dns_dnssec_updatekeys
    - dns_diff_applysilently
    linkageType: ''
    returnType: void
    signature: void build_final_keylist(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2811,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2813
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - isc_mem_put
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (digests, d, link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2826,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2828,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2830,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2831,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2834,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2835,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2839,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2840,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2843,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2844,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2848,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2850,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2851,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2856,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2858,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2859,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2860,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2863,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2817
    functionDepth: 1
    functionLinenumber: 2817
    functionLinenumberEnd: 2872
    functionName: warnifallksk
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_currentversion
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - isc_result_totext
    - check_result
    - dns_rdata_freestruct
    - fatal
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - fprintf
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void warnifallksk(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2848,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2850,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2851,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2846
    functionDepth: 1
    functionLinenumber: 2846
    functionLinenumberEnd: 2857
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_result
    - dns_rdataset_current
    - dns_rdata_freestruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2889,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2890,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2893,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2904,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2906,1
    - Dst: memmove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2911,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2917,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2929,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2930,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2933,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2935,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2940,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2946,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2947,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2948,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2949,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2950,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2954,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2956,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2957,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2958,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2964,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2967,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2968,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2971,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2973,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 4
    argNames:
    - update
    - set_salt
    - set_optout
    - set_iter
    argTypes:
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 2974
    functionName: set_nsec3params
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_db_findrdataset
    - dns_rdataset_current
    - check_result
    - fatal
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_fixedname_initname
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - isc_safe_memequal
    - dns_rdata_freestruct
    - OPTOUT
    - dns_db_currentversion
    - dns_nsec3_hashname
    - dns_db_getnsec3parameters
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void set_nsec3params(bool update, bool set_salt, bool set_optout, bool
      set_iter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2999,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3000,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3001,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3002,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3003,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3003,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3005,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3007,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3009,1
    - Dst: strlcat
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3013,1
    - Dst: strlcat
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3014,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3016,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3021,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3024,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3036,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3039,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3045,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3048,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3049,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3050,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3051,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3052,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3053,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3054,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3056,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3059,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3060,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3063,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3067,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3070,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3072,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3074,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3075,1
    - Dst: dns_diff_apply
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3077,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3078,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3079,1
    - Dst: dns_master_dump
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3081,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3083,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3085,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3087,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3088,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 2
    argNames:
    - prefix
    - type
    argTypes:
    - char*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 2976
    functionDepth: 1
    functionLinenumber: 2976
    functionLinenumberEnd: 3089
    functionName: writeset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - strlcat
    - check_result
    - snprintf
    - isc_buffer_usedregion
    - dns_diff_init
    - dns_db_detach
    - dns_db_create
    - dst_key_todns
    - dns_difftuple_create
    - dst_key_alg
    - strlen
    - isc_mem_get
    - isc_buffer_putuint8
    - dns_name_tofilenametext
    - dns_diff_clear
    - dns_diff_apply
    - dns_db_newversion
    - dns_diff_append
    - REVOKE
    - isc_buffer_init
    - isksk
    - dns_master_dump
    - isc_mem_put
    - dns_ds_buildrdata
    - dns_db_closeversion
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void writeset(const char *prefix, dns_rdatatype_t type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3021,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3024,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3036,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3039,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3045,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3048,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3049,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3050,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3051,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3052,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3053,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3054,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3056,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3059,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3060,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3063,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3067,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3020
    functionDepth: 1
    functionLinenumber: 3020
    functionLinenumberEnd: 3068
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - dns_rdata_init
    - dst_key_todns
    - dns_difftuple_create
    - dst_key_alg
    - dns_diff_append
    - REVOKE
    - isksk
    - isc_buffer_init
    - check_result
    - isc_buffer_usedregion
    - dns_ds_buildrdata
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, key, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3036,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3032
    functionDepth: 1
    functionLinenumber: 3032
    functionLinenumberEnd: 3044
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - isksk
    - REVOKE
    - dst_key_alg
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, curr, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3093,1
    - Dst: localtime_r
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3094,1
    - Dst: strftime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3102,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3103,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3105
    functionName: print_time
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - strftime
    - fprintf
    - time
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void print_time(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3115
    functionName: print_version
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_version(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3122,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3123,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3126,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3128,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3130,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3131,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3134,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3135,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3136,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3137,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3138,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3139,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3140,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3142,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3143,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3144,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3145,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3147,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3148,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3151,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3152,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3155,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3156,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3158,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3159,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3161,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3162,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3163,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3164,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3165,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3166,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3167,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3169,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3170,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3171,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3172,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3173,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3174,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3175,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3176,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3177,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3178,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3179,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3180,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3181,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3182,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3183,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3185,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3186,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3187,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3188,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3189,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3190,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3191,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3192,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3193,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3194,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3196,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3197,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3198,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3199,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3200,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3202,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3204,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3205,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3206,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3209
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3209
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 26
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3211
    functionDepth: 1
    functionLinenumber: 3211
    functionLinenumberEnd: 3216
    functionName: removetempfile
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_file_remove
    linkageType: ''
    returnType: void
    signature: void removetempfile(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3226,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3227,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3228,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3229,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3230,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3231,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3232,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3233,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3234,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3235,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3237,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3239,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3242,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3244,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3249,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - timer_start
    - timer_finish
    - sign_start
    - sign_finish
    argTypes:
    - isc_time_t*
    - isc_time_t*
    - isc_time_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3253
      start: 3218
    functionDepth: 1
    functionLinenumber: 3218
    functionLinenumberEnd: 3253
    functionName: print_stats
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - isc_time_microdiff
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_stats(isc_time_t *timer_start, isc_time_t *timer_finish,\n\t
      \   isc_time_t *sign_start, isc_time_t *sign_finish)"
  - BBCount: 140
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3279,1
    - Dst: atomic_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3280,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3282,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3295,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3298,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3302,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3306,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3320,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3325,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3330,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3332,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3333,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3335,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3341,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3362,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3363,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3365,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3367,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3368,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3377,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3377,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3386,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3402,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3407,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3409,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3412,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3422,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3424,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3431,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3433,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3447,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3455,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3457,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3459,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3466,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3468,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3470,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3483,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3485,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3502,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3514,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3528,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3545,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3547,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3568,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3569,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3575,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3582,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3586,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3589,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3595,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3598,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3602,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3605,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3611,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3617,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3619,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3631,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3633,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3635,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3641,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3643,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3649,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3664,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3664,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3665,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3666,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3670,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3672,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3674,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3676,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3679,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3684,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3686,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3689,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3691,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3695,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3699,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3700,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3703,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3708,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3710,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3711,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3714,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3716,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3719,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3724,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3728,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3732,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3735,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3737,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3740,1
    - Dst: loadzone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3741,1
    - Dst: loadjournal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3743,1
    - Dst: dns_db_origin
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3745,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3746,1
    - Dst: get_soa_ttls
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3747,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3750,1
    - Dst: set_nsec3params
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3768,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3775,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3776,1
    - Dst: loadzonekeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3790,1
    - Dst: loadexplicitkeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3792,1
    - Dst: loadexplicitkeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3793,1
    - Dst: loadzonekeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3794,1
    - Dst: build_final_keylist
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3802,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3812,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3817,1
    - Dst: warnifallksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3822,1
    - Dst: dns_nsec3_hashlength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3827,1
    - Dst: hashlist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3828,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3829,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3831,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3833,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3838,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3840,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3844,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3846,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3849,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3851,1
    - Dst: hashlist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3855,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3859,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3860,1
    - Dst: setsoaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3864,1
    - Dst: setsoaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3867,1
    - Dst: setsoaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3870,1
    - Dst: cleanup_zone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3879,1
    - Dst: nsec3ify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3883,1
    - Dst: nsecify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3886,1
    - Dst: writeset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3891,1
    - Dst: writeset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3893,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3903,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3904,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3906,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3907,1
    - Dst: isc_file_openunique
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3909,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3911,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3912,1
    - Dst: setfatalcallback
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3915,1
    - Dst: print_time
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3918,1
    - Dst: print_version
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3919,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3921,1
    - Dst: presign
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3923,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3924,1
    - Dst: signapex
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3925,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3926,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3931,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3932,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3933,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3935,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3936,1
    - Dst: postsign
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3939,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3940,1
    - Dst: dns_zoneverify_dnssec
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3945,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3949,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3951,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3957,1
    - Dst: dns_master_dumptostream
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3964,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3967,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3971,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3972,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3976,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3978,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3979,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3981,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3983,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3987,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3988,1
    - Dst: hashlist_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3990,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3993,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3994,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3998,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4002,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4005,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4008,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4011,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4014,1
    - Dst: print_stats
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4015,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:4018,1
    CyclomaticComplexity: 156
    EdgeCount: 156
    ICount: 542
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 3255
    functionDepth: 6
    functionLinenumber: 3255
    functionLinenumberEnd: 4021
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 23
    functionsReached:
    - isc_commandline_init
    - check_result
    - printf
    - build_final_keylist
    - isc_mutex_init
    - setsoaserial
    - dns_db_detach
    - dns_master_stylecreate
    - fprintf
    - isc_os_ncpus
    - ISC_LIST_INIT
    - loadzone
    - version
    - isc_mem_get
    - set_nsec3params
    - isc_managers_create
    - isc_result_totext
    - isc_buffer_init
    - dns_db_closeversion
    - isc_hex_decodestring
    - print_version
    - setfatalcallback
    - isc_time_now
    - usage
    - isc_mem_allocate
    - OPTOUT
    - isc_stdio_close
    - isc_rwlock_init
    - strtol
    - loadjournal
    - dns_master_initrawheader
    - isc_file_remove
    - hashlist_free
    - isc_buffer_usedlength
    - isc_mem_put
    - dns_db_nodecount
    - hashlist_init
    - fatal
    - dns_nsec3_hashlength
    - isc_managers_destroy
    - isc_loopmgr_run
    - dns_db_origin
    - dns_dnsseckey_destroy
    - isc_mutex_destroy
    - setup_logging
    - dns_master_styledestroy
    - strlen
    - isc_file_openunique
    - cleanup_zone
    - atomic_load
    - strtotime
    - signapex
    - isc_mem_free
    - isc_commandline_parse
    - isc_file_rename
    - try_dir
    - exit
    - isc_loopmgr_setup
    - isc_mem_stats
    - strtoclass
    - strcmp
    - loadexplicitkeys
    - strtottl
    - isc_loopmgr_teardown
    - presign
    - isc_file_mktemplate
    - print_stats
    - loadzonekeys
    - warnifallksk
    - snprintf
    - get_soa_ttls
    - dns_nsec3_maxiterations
    - isc_crypto_fips_enable
    - dns_nsec_nseconly
    - isc_stdtime_now
    - strcasecmp
    - print_time
    - strtoul
    - vbprintf
    - dns_zoneverify_dnssec
    - ISC_LIST_UNLINK
    - strncasecmp
    - dns_db_newversion
    - dns_db_class
    - atomic_init
    - nsec3ify
    - nsecify
    - writeset
    - postsign
    - dns_master_dumptostream
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3808
      start: 3806
    functionDepth: 0
    functionLinenumber: 3806
    functionLinenumberEnd: 3808
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, key, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3993,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3995
      start: 3992
    functionDepth: 1
    functionLinenumber: 3992
    functionLinenumberEnd: 3995
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, key, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:64,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:66,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:66,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:67,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:67,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - setname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: initname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 74
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_buffer_init
    - strlen
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t initname(char *setname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:77,1
    - Dst: dns_db_beginload
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:78,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:80,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:80,1
    - Dst: dns_master_loadstream
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:83,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:86,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:86,1
    - Dst: dns_db_endload
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:89,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:91,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - db
    - fp
    argTypes:
    - dns_db_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: db_load_from_stream
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 1
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_db_endload
    - dns_master_loadstream
    - isc_result_totext
    - dns_db_beginload
    - fatal
    linkageType: ''
    returnType: void
    signature: void db_load_from_stream(dns_db_t *db, FILE *fp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:102,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:104,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:107,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:110,1
    - Dst: db_load_from_stream
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:111,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:114,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:116,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:117,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:121,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:123,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:126,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:130,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:132,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:136,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 142
    functionName: loadset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 1
    functionsReached:
    - strcmp
    - dns_db_findnode
    - db_load_from_stream
    - dns_db_load
    - dns_db_findrdataset
    - dns_db_detach
    - isc_result_totext
    - fatal
    - dns_name_format
    - dns_db_detachnode
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadset(const char *filename, dns_rdataset_t *rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:150,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:152,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:155,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:155,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:158,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:159,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:160,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:164,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:167,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:169,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:170,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:171,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:174,1
    - Dst: loadset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - dirname
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 177
    functionName: loadkeyset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putstr
    - isc_buffer_init
    - strlen
    - check_result
    - loadset
    - dns_name_tofilenametext
    - isc_buffer_putuint8
    - dns_rdataset_init
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadkeyset(char *dirname, dns_rdataset_t *rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:187,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:189,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:191,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:194,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:195,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:201,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:202,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:205,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:207,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:210,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:211,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:211,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:214,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:216,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:217,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:217,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - filename
    - key_buf
    - key_buf_size
    - rdata
    argTypes:
    - char*
    - unsigned char*
    - unsigned int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 220
    functionName: loadkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dst_key_todns
    - dst_key_free
    - dst_key_class
    - dns_name_copy
    - dst_key_fromnamedfile
    - dns_fixedname_initname
    - isc_result_totext
    - isc_buffer_init
    - fatal
    - fprintf
    - isc_buffer_usedregion
    - dst_key_format
    - dst_key_name
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: "void loadkey(char *filename, unsigned char *key_buf, unsigned int
      key_buf_size,\n\tdns_rdata_t *rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:229,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:230,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:231,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:236,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:237,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: logkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - dst_key_free
    - isc_buffer_init
    - fprintf
    - isc_buffer_add
    - dst_key_format
    - dst_key_fromdns
    linkageType: ''
    returnType: void
    signature: void logkey(dns_rdata_t *rdata)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:254,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:255,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:256,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:258,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:260,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:262,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:273,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:275,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:278,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:280,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:283,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:287,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:290,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:292,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:296,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:299,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:302,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:303,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:306,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:308,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:311,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 4
    argNames:
    - dt
    - showall
    - cds
    - rdata
    argTypes:
    - dns_dsdigest_t
    - bool
    - bool
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 313
    functionName: emit
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 2
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - dns_name_totext
    - dns_rdata_tofmttext
    - dns_rdataclass_totext
    - isc_buffer_init
    - fatal
    - printf
    - isc_buffer_usedregion
    - dns_ds_buildrdata
    linkageType: ''
    returnType: void
    signature: void emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - showall
    - cds
    - rdata
    argTypes:
    - bool
    - bool
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: emits
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - emit
    linkageType: ''
    returnType: void
    signature: void emits(bool showall, bool cds, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:332,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:333,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:335,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:337,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:339,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:340,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:341,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:359,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 27
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:377,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:380,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:382,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:387,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:390,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:393,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:399,1
    - Dst: strtodsdigest
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:399,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:408,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:415,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:416,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:427,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:430,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:432,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:443,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:450,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:454,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:457,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:460,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:464,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:467,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:486,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:489,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:492,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:494,1
    - Dst: initname
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:504,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:506,1
    - Dst: loadkeyset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:510,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:512,1
    - Dst: loadset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:513,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:517,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:518,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:523,1
    - Dst: logkey
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:526,1
    - Dst: emits
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:529,1
    - Dst: loadkey
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:535,1
    - Dst: emits
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:537,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:540,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:541,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:544,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:546,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:548,1
    - Dst: ferror
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:549,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:550,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 555
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 23
    functionsReached:
    - add_dtype
    - dns_rdataset_current
    - isc_commandline_init
    - fatal
    - dns_rdataset_disassociate
    - fflush
    - initname
    - dns_rdataset_init
    - loadkey
    - dns_rdataset_isassociated
    - ferror
    - loadset
    - fprintf
    - usage
    - setup_logging
    - strtodsdigest
    - INSIST
    - version
    - strlen
    - logkey
    - strtol
    - loadkeyset
    - emits
    - isc_mem_detach
    - isc_commandline_parse
    - exit
    - isc_result_totext
    - isc_mem_stats
    - strtoclass
    - isc_mem_create
    - strtottl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:523,1
    - Dst: logkey
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:526,1
    - Dst: emits
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 530
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - logkey
    - dns_rdataset_current
    - emits
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:53,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:54,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:56,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:57,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:58,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:59,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:60,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:61,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:67,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:68,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:69,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:70,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:72,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:73,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:74,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:75,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:76,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:77,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:78,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:79,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:80,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:81,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:83,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:84,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:85,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:86,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:87,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:89,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:90,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:92,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:94,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:97,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:98,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 102
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
    functionUses: 28
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 112
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:145,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:148,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:151,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:153,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:158,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:173,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:173,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:177,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:179,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:182,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:188,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:190,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:191,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:198,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:202,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:206,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:209,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:211,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:214,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:219,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:222,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:225,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:228,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:230,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:241,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:243,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:247,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:253,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:255,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:258,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:264,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:267,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:273,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:276,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:282,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:285,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:291,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:293,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:297,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:303,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:305,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:308,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:316,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:323,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:330,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:334,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:337,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:340,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:344,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:348,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:351,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:354,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:357,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:358,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:359,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:360,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:360,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:361,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:363,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:365,1
    - Dst: strchr
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:368,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:372,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:373,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:374,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:375,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:380,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:384,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:385,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:387,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:404,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:412,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:430,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:444,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:447,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:450,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:453,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:456,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:459,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:462,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:466,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:467,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:469,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:470,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:473,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:474,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:475,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:477,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:478,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:480,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:485,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:487,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:493,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:495,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:503,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:513,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:515,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:527,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:541,1
    - Dst: dst_key_fromlabel
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:544,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:550,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:551,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:552,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:553,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:554,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:555,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:565,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:568,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:572,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:574,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:576,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:580,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:582,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:587,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:594,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:598,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:602,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:605,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:608,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:615,1
    - Dst: dst_key_setprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:622,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:627,1
    - Dst: key_collision
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:635,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:637,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:638,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:640,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:641,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:644,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:649,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:654,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:662,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:665,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:666,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:667,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:670,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:671,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:673,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:674,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:676,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:677,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:679,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:683,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:685,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:686,1
    - Dst: free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:689,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 391
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 693
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
    functionUses: 23
    functionsReached:
    - isc_commandline_init
    - fatal
    - snprintf
    - printf
    - free
    - dst_key_setprivateformat
    - key_collision
    - UNREACHABLE
    - dst_key_settime
    - dst_key_gettime
    - dns_fixedname_initname
    - dns_secalg_format
    - toupper
    - isc_stdtime_now
    - fprintf
    - usage
    - isc_mem_allocate
    - dst_key_flags
    - dns_name_format
    - dst_key_setttl
    - isc_buffer_clear
    - setup_logging
    - dns_name_fromtext
    - strtoul
    - dst_key_isprivate
    - dst_key_alg
    - strchr
    - version
    - strlen
    - strtol
    - isc_mem_strdup
    - dst_key_fromlabel
    - dst_key_buildfilename
    - dst_key_tofile
    - strtotime
    - dst_algorithm_fromtext
    - dst_key_free
    - isc_mem_free
    - isc_mem_detach
    - isc_commandline_parse
    - dst_key_fromnamedfile
    - isoptarg
    - try_dir
    - isc_result_totext
    - exit
    - isc_buffer_init
    - dst_key_getprivateformat
    - isc_mem_stats
    - strtoclass
    - isc_buffer_add
    - dst_key_format
    - isc_mem_create
    - dst_key_name
    - strtottl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:82,1
    - Dst: vsnprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:83,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:84,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: report
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - fprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void report(const char *format, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:100,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:101,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:102,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:104,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:105,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:107,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:108,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:111,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:113,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:115,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:127,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:133,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - file
    - origin
    - rdclass
    - db
    argTypes:
    - char*
    - char*
    - dns_rdataclass_t
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 136
    functionName: loadzone
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 2
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - dns_db_load
    - isc_result_totext
    - isc_buffer_init
    - strlen
    - fatal
    - check_result
    - isc_buffer_add
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t
      **db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:143,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:144,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:147,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:149,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:151,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:152,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:153,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:154,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:155,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:156,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:157,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:158,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:159,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:160,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:162,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 164
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 29
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:176,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:183,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:186,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:190,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:194,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:205,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:209,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:216,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:216,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:236,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:238,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:256,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:264,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:268,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:271,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:274,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:278,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:280,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:282,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:288,1
    - Dst: POST
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:296,1
    - Dst: POST
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:297,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:304,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:306,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:309,1
    - Dst: report
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:314,1
    - Dst: loadzone
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:315,1
    - Dst: loadjournal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:317,1
    - Dst: dns_db_origin
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:319,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:320,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:323,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:324,1
    - Dst: dns_zoneverify_dnssec
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:326,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:329,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:330,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:333,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:335,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 116
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 23
    functionsReached:
    - isc_commandline_init
    - check_result
    - fatal
    - dns_db_detach
    - fprintf
    - isc_stdtime_now
    - usage
    - dns_db_origin
    - strcasecmp
    - setup_logging
    - loadzone
    - version
    - strtol
    - report
    - dns_zoneverify_dnssec
    - loadjournal
    - dns_db_newversion
    - dns_db_class
    - isc_mem_detach
    - isc_commandline_parse
    - isc_result_totext
    - exit
    - isc_mem_stats
    - strtoclass
    - POST
    - isc_mem_create
    - dns_db_closeversion
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:158,1
    - Dst: dns_time64_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:159,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:160,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:161,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:163,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - level
    - msg
    - time
    argTypes:
    - int
    - char*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: verbose_time
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - vbprintf
    - isc_buffer_init
    - check_result
    - isc_buffer_putuint8
    - dns_time64_totext
    linkageType: ''
    returnType: void
    signature: void verbose_time(int level, const char *msg, isc_stdtime_t time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:174,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:177,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:177,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:178,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:178,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:179,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - setname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: initname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 79
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_buffer_init
    - strlen
    - fatal
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void initname(char *setname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:190,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:192,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:194,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - db
    - node
    - type
    - rdataset
    - sigrdataset
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: findset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_db_findrdataset
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void findset(dns_db_t *db, dns_dbnode_t *node, dns_rdatatype_t type,\n\tdns_rdataset_t
      *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:203,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: freeset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void freeset(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:212,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:216,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:218,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:219,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:220,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:222,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: freelist
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - ISC_LIST_UNLINK
    - dns_rdatalist_fromrdataset
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void freelist(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:228,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:229,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:230,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:231,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:232,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:233,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:234,1
    - Dst: freelist
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:235,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: free_all_sets
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    - freeset
    - freelist
    linkageType: ''
    returnType: void
    signature: void free_all_sets(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:245,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:247,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:249,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:252,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:252,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:255,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - filename
    - dbp
    - nodep
    argTypes:
    - char*
    - dns_db_t**
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: load_db
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - dns_db_load
    - isc_result_totext
    - check_result
    - fatal
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void load_db(const char *filename, dns_db_t **dbp, dns_dbnode_t **nodep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:265,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:268,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - dbp
    - nodep
    - versionp
    argTypes:
    - dns_db_t**
    - dns_dbnode_t**
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: free_db
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_detach
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void free_db(dns_db_t **dbp, dns_dbnode_t **nodep, dns_dbversion_t
      **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:276,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:277,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:279,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:281,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: load_child_sets
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - free_db
    - load_db
    - findset
    linkageType: ''
    returnType: void
    signature: void load_child_sets(const char *file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:292,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:294,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:297,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:298,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:300,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:302,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:306,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:309,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:309,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:310,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:312,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:314,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:315,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:316,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:317,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:321,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:321,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:322,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:324,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - filename
    - size
    - path
    - suffix
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 326
    functionName: get_dsset_name
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putstr
    - isc_buffer_init
    - strlen
    - fatal
    - check_result
    - dns_name_tofilenametext
    - isc_buffer_putuint8
    - isc_file_isdirectory
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: "void get_dsset_name(char *filename, size_t size, const char *path,\n\t
      \      const char *suffix)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:334,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:336,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:338,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:339,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:341,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:343,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:344,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:346,1
    - Dst: load_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:348,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:349,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:351,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:352,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 357
    functionName: load_parent_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - free_db
    - get_dsset_name
    - isc_file_getmodtime
    - isc_result_totext
    - dns_rdataset_isassociated
    - verbose_time
    - fatal
    - isc_time_seconds
    - findset
    - isc_stdtime_now
    - load_db
    - strtotime
    linkageType: ''
    returnType: void
    signature: void load_parent_set(const char *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:375,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:377,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:379,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:380,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:381,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:383,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:388,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:389,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 394
    functionName: formatset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_master_rdatasettotext
    - dns_master_styledestroy
    - check_result
    - isc_buffer_free
    - dns_master_stylecreate
    - isc_buffer_allocate
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_buffer_t
    signature: 'isc_buffer_t *

      formatset(dns_rdataset_t *rdataset)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: formatset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:412,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:413,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:419,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:420,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:421,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:422,1
    - Dst: strerror
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:422,1
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:428,1
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:430,1
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:431,1
    - Dst: isc_file_openunique
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:433,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:435,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:436,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:436,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:438,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:439,1
    - Dst: fclose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:440,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:442,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:443,1
    - Dst: strerror
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:443,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:446,1
    - Dst: isc_file_settime
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:447,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:449,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:450,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:451,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:455,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - path
    - inplace
    - nsupdate
    - rdataset
    argTypes:
    - char*
    - char*
    - bool
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 458
    functionName: write_parent_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - get_dsset_name
    - isc_file_settime
    - formatset
    - isc_file_rename
    - fclose
    - isc_result_totext
    - isc_file_remove
    - isc_buffer_free
    - fatal
    - strerror
    - printf
    - fflush
    - isc_file_openunique
    - isc_buffer_usedregion
    - fprintf
    - isc_time_set
    linkageType: ''
    returnType: void
    signature: "void write_parent_set(const char *path, const char *inplace, bool
      nsupdate,\n\t\t dns_rdataset_t *rdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:476,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:477,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:478,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:484,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:487,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:491,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:497,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:498,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:503,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ki
    - dsset
    - strictness
    argTypes:
    - keyinfo_t*
    - dns_rdataset_t*
    - strictness_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 518
    functionName: match_key_dsset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dns_rdataset_current
    - vbprintf
    - isc_result_totext
    - check_result
    - dns_ds_buildrdata
    linkageType: ''
    returnType: bool
    signature: bool match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t
      strictness)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:476,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:477,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:478,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:484,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:487,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:491,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:497,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:498,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 510
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dns_rdataset_current
    - vbprintf
    - isc_result_totext
    - check_result
    - dns_ds_buildrdata
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (dsset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:531,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:533,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:541,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:544,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:545,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:547,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:548,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:551,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:552,1
    - Dst: match_key_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:555,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:560,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:563,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - keyset
    - dsset
    - strictness
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    - strictness_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 572
    functionName: match_keyset_dsset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - dns_dnssec_keyfromrdata
    - isc_mem_cget
    - match_key_dsset
    - dns_rdataset_current
    - vbprintf
    - INSIST
    - isc_result_totext
    - check_result
    - dst_region_computeid
    - dns_rdataset_count
    - dns_rdata_toregion
    linkageType: ''
    returnType: keyinfo_t
    signature: "keyinfo_t *\nmatch_keyset_dsset(dns_rdataset_t *keyset, dns_rdataset_t
      *dsset,\n\t\t   strictness_t strictness)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:541,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:544,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:545,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:547,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:548,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:551,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:552,1
    - Dst: match_key_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:555,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:560,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:563,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 569
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - dns_dnssec_keyfromrdata
    - match_key_dsset
    - dns_rdataset_current
    - vbprintf
    - INSIST
    - isc_result_totext
    - check_result
    - dst_region_computeid
    - dns_rdata_toregion
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (keyset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:581,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:585,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - keytable_p
    argTypes:
    - keyinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 590
    functionName: free_keytable
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - dst_key_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void free_keytable(keyinfo_t **keytable_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:608,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:610,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:616,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:617,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:618,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:623,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:624,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:632,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:637,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:644,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:651,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:654,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:658,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:666,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:668,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - keytbl
    - rdataset
    - sigset
    argTypes:
    - keyinfo_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 676
    functionName: matching_sigs
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - isc_serial_lt
    - isc_mem_cget
    - dns_dnssec_verify
    - dns_rdataset_current
    - vbprintf
    - dns_name_equal
    - isc_result_totext
    - check_result
    - verbose_time
    - REQUIRE
    linkageType: ''
    returnType: dns_secalg_t
    signature: "dns_secalg_t *\nmatching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,\n\t
      \     dns_rdataset_t *sigset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:616,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:617,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:618,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:623,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:624,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:632,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:637,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:644,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:651,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:654,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:658,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:666,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:668,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 673
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - isc_serial_lt
    - dns_dnssec_verify
    - dns_rdataset_current
    - vbprintf
    - dns_name_equal
    - isc_result_totext
    - check_result
    - verbose_time
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (sigset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - algo
    argTypes:
    - dns_secalg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: signed_loose
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    linkageType: ''
    returnType: bool
    signature: bool signed_loose(dns_secalg_t *algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:712,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:713,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:714,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:723,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - dsset
    - algo
    argTypes:
    - dns_rdataset_t*
    - dns_secalg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 733
    functionName: signed_strict
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - vbprintf
    - check_result
    - isc_mem_cput
    linkageType: ''
    returnType: bool
    signature: bool signed_strict(dns_rdataset_t *dsset, dns_secalg_t *algo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:712,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:713,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:714,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 729
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_result
    - dns_rdataset_current
    - vbprintf
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (dsset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:746,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:748,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:749,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - rds
    - dt
    - cds
    argTypes:
    - isc_buffer_t*
    - dns_rdata_t*
    - dns_dsdigest_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 757
    functionName: ds_from_cds
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_result
    - REQUIRE
    - dns_rdata_fromstruct
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ds_from_cds(isc_buffer_t *buf, dns_rdata_t *rds, dns_dsdigest_t
      dt,\n\t    dns_rdata_t *cds)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:765,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:767,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:772,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - ds
    - dt
    - cdnskey
    argTypes:
    - isc_buffer_t*
    - dns_rdata_t*
    - dns_dsdigest_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 778
    functionName: ds_from_cdnskey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_buffer_availableregion
    - REQUIRE
    - dns_ds_buildrdata
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ds_from_cdnskey(isc_buffer_t *buf, dns_rdata_t *ds, dns_dsdigest_t
      dt,\n\t\tdns_rdata_t *cdnskey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:790,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:792,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:793,1
    - Dst: ds_from_rdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:795,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:799,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:802,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:805,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:808,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - ds_from_rdata
    - buf
    - dslist
    - dt
    - crdset
    argTypes:
    - ds_maker_func_t*
    - isc_buffer_t*
    - dns_rdatalist_t*
    - dns_dsdigest_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 814
    functionName: append_new_ds_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - ISC_LIST_APPEND
    - dns_rdataset_current
    - check_result
    - isc_mem_get
    - isc_mem_put
    - ds_from_rdata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t append_new_ds_set(ds_maker_func_t *ds_from_rdata, isc_buffer_t
      *buf,\n\t\t  dns_rdatalist_t *dslist, dns_dsdigest_t dt,\n\t\t  dns_rdataset_t
      *crdset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:790,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:792,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:793,1
    - Dst: ds_from_rdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:795,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:799,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:802,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:805,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:808,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 811
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - ISC_LIST_APPEND
    - dns_rdataset_current
    - check_result
    - isc_mem_get
    - isc_mem_put
    - ds_from_rdata
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (crdset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:826,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:827,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:832,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:833,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:835,1
    - Dst: append_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:839,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:849,1
    - Dst: freelist
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:850,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ds_from_rdata
    - ttl
    - crdset
    argTypes:
    - ds_maker_func_t*
    - uint32_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 854
    functionName: make_new_ds_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - vbprintf
    - isc_mem_get
    - isc_buffer_free
    - freelist
    - isc_buffer_allocate
    - append_new_ds_set
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void make_new_ds_set(ds_maker_func_t *ds_from_rdata, uint32_t ttl,\n\t\tdns_rdataset_t
      *crdset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 860
    functionName: rdata_cmp
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    linkageType: ''
    returnType: int
    signature: int rdata_cmp(const void *rdata1, const void *rdata2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:882,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:884,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:887,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:888,1
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:892,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:897,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:900,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:901,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:936,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:937,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - dsset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 940
    functionName: consistent_digests
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - isc_mem_cget
    - dns_rdataset_current
    - check_result
    - isc_mem_cput
    - dns_rdataset_count
    - qsort
    linkageType: ''
    returnType: bool
    signature: bool consistent_digests(dns_rdataset_t *dsset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:887,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (dsset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:949,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:950,1
    - Dst: memchr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:952,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:954,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:955,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cmd
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 959
    functionName: print_diff
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - formatset
    - memchr
    - isc_buffer_free
    - printf
    - isc_region_consume
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void print_diff(const char *cmd, dns_rdataset_t *rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:968,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:970,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:972,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:973,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:975,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:976,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:978,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:980,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:982,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:984,1
    - Dst: print_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:989,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:992,1
    - Dst: print_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:994,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:995,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - cmd
    - ttl
    - addset
    - delset
    argTypes:
    - char*
    - uint32_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 999
    functionName: update_diff
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - free_db
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_db_subtractrdataset
    - check_result
    - dns_rdataset_disassociate
    - print_diff
    - dns_db_create
    - dns_rdataset_init
    - dns_db_newversion
    linkageType: ''
    returnType: void
    signature: "void update_diff(const char *cmd, uint32_t ttl, dns_rdataset_t *addset,\n\t
      \   dns_rdataset_t *delset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1004,1
    - Dst: update_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1006,1
    - Dst: update_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1007,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1009,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1011,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1013,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1014,1
    - Dst: strerror
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ttl
    - oldset
    - newset
    argTypes:
    - uint32_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1016
    functionName: nsdiff
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - vbprintf
    - fatal
    - strerror
    - printf
    - fflush
    - update_diff
    linkageType: ''
    returnType: void
    signature: void nsdiff(uint32_t ttl, dns_rdataset_t *oldset, dns_rdataset_t *newset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1023,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1024,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1027,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1028,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1046
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 30
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1050,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1051,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1052,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1054,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1057,1
    - Dst: free_all_sets
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1059,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1062,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1048
    functionDepth: 3
    functionLinenumber: 1048
    functionLinenumberEnd: 1066
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 14
    functionsReached:
    - free_all_sets
    - free_db
    - isc_mem_detach
    - free_keytable
    - isc_mem_stats
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: setfatalcallback
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1079,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1081,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1083,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1088,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1091,1
    - Dst: strtodsdigest
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1091,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1094,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1127,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1134,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1137,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1139,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1143,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1151,1
    - Dst: initname
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1153,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1162,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1165,1
    - Dst: load_parent_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1167,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1177,1
    - Dst: load_child_sets
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1180,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1186,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1187,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1189,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1192,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1193,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1195,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1197,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1198,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1200,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1203,1
    - Dst: match_keyset_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1204,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1213,1
    - Dst: signed_loose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1214,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1214,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1216,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1219,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1220,1
    - Dst: signed_loose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1221,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1221,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1224,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1228,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1229,1
    - Dst: signed_loose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1230,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1231,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1233,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1238,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1246,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1247,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1249,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1256,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1257,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1259,1
    - Dst: write_parent_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1261,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1269,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1270,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1271,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1272,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1274,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1281,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1282,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1284,1
    - Dst: freelist
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1286,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1287,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1288,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1290,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1291,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1299,1
    - Dst: match_keyset_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1300,1
    - Dst: consistent_digests
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1302,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1303,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1308,1
    - Dst: signed_strict
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1309,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1309,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1312,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1317,1
    - Dst: nsdiff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1323,1
    - Dst: write_parent_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1326,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1330,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 152
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1068
    functionDepth: 5
    functionLinenumber: 1068
    functionLinenumberEnd: 1333
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 23
    functionsReached:
    - add_dtype
    - isc_commandline_init
    - fatal
    - initname
    - signed_strict
    - cleanup
    - load_parent_set
    - dns_rdataset_count
    - dns_rdataset_isassociated
    - setfatalcallback
    - make_new_ds_set
    - usage
    - dns_rdatatype_format
    - load_child_sets
    - setup_logging
    - strtoul
    - strtodsdigest
    - vbprintf
    - free_keytable
    - version
    - isc_buffer_free
    - freelist
    - consistent_digests
    - signed_loose
    - write_parent_set
    - isc_commandline_parse
    - nsdiff
    - verbose_time
    - strtoclass
    - match_keyset_dsset
    - isc_mem_create
    - strtottl
    - matching_sigs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:46,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:47,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:49,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:50,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:51,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:52,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:53,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:55,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:56,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:57,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:58,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-revoke.c
    functionUses: 31
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:80,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:83,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:86,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:90,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:93,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:93,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:103,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:112,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:114,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:119,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:126,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:130,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:133,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:136,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:143,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:146,1
    - Dst: isc_file_splitpath
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:152,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:155,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:157,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:159,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:160,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:164,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:167,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:168,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:172,1
    - Dst: dst_key_rid
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:172,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:175,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:178,1
    - Dst: set_keyversion
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:182,1
    - Dst: check_keyversion
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:184,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:187,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:189,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:192,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:199,1
    - Dst: dst_key_setflags
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:201,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:203,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:204,1
    - Dst: access
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:206,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:207,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:212,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:215,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:216,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:217,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:220,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:221,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:222,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:229,1
    - Dst: dst_key_setflags
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:230,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:231,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:232,1
    - Dst: unlink
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:235,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:236,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:237,1
    - Dst: unlink
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:238,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:241,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:242,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:246,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:248,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:251,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:253,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 256
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-revoke.c
    functionUses: 23
    functionsReached:
    - isc_commandline_init
    - fatal
    - printf
    - set_keyversion
    - unlink
    - dst_key_settime
    - fprintf
    - dst_key_flags
    - usage
    - isc_stdtime_now
    - check_keyversion
    - isc_buffer_clear
    - version
    - isc_file_splitpath
    - strtol
    - isc_mem_strdup
    - dst_key_buildfilename
    - dst_key_tofile
    - dst_key_rid
    - dst_key_free
    - isc_mem_free
    - dst_key_setflags
    - isc_mem_detach
    - isc_commandline_parse
    - dst_key_fromnamedfile
    - access
    - isc_result_totext
    - exit
    - isc_buffer_init
    - isc_mem_stats
    - strcmp
    - dst_key_format
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:132,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:133,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:134,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:135,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:136,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:137,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:138,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:139,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:141,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:142,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:143,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:145,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:146,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:147,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:148,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:149,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:150,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:151,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:153,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:156,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:157,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:158,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:159,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:160,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:161,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:162,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:164,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:165,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:166,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:167,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:168,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:169,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:170,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:172,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:173,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:174,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:175,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:176,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:177,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:178,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:180,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:182,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:184,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:186,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:188,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:189,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:192,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:193,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:195,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:197,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:200,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:201,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 205
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 32
    functionsReached:
    - isc_crypto_fips_mode
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:227,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 229
    functionName: progress
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 0
    functionsReached:
    - putc
    - fflush
    linkageType: ''
    returnType: void
    signature: void progress(int p)
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:246,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:248,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:255,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:256,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:257,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:258,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:258,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:259,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:261,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:263,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:266,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:267,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:270,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:275,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:297,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:307,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:308,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:318,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:331,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:339,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:357,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:371,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:374,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:377,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:380,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:383,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:386,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:389,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:392,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:397,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:398,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:400,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:401,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:404,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:405,1
    - Dst: dst_key_size
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:406,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:407,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:409,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:410,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:412,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:417,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:419,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:425,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:428,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:436,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:446,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:448,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:463,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:464,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:474,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:490,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:536,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:542,1
    - Dst: dns_keystore_keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:546,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:550,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:555,1
    - Dst: putc
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:562,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:563,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:568,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:569,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:570,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:590,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:593,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:598,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:601,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:604,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:609,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:612,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:618,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:625,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:630,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:638,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:645,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:650,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:655,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:665,1
    - Dst: dst_key_setprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:672,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:677,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:682,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:683,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:684,1
    - Dst: key_collision
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:692,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:697,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:702,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:703,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:706,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:716,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:721,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:726,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:726,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:727,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:727,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:729,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:732,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:733,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:734,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:738,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:741,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:742,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:743,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:746,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:747,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:749,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:750,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:752,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:754,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:756,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 336
    argCount: 4
    argNames:
    - ctx
    - mctx
    - argc
    - argv
    argTypes:
    - keygen_ctx_t*
    - isc_mem_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 758
    functionName: keygen
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 3
    functionsReached:
    - dst_algorithm_supported
    - fatal
    - printf
    - fflush
    - putc
    - dst_key_setprivateformat
    - dst_key_setbool
    - dst_key_settime
    - dst_key_gettime
    - dst_key_setnum
    - dns_fixedname_initname
    - fprintf
    - dst_key_flags
    - dns_keystore_keygen
    - dns_name_format
    - dst_algorithm_format
    - dst_key_setttl
    - isc_buffer_clear
    - dns_name_fromtext
    - dst_key_isprivate
    - dst_key_alg
    - UNUSED
    - strlen
    - dst_key_buildfilename
    - dst_key_tofile
    - isc_buffer_add
    - dst_key_free
    - dst_key_fromnamedfile
    - dst_key_generate
    - isc_result_totext
    - isc_buffer_init
    - isc_crypto_fips_mode
    - dst_key_getprivateformat
    - dst_key_id
    - dst_key_size
    - dst_key_format
    - key_collision
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: void keygen(keygen_ctx_t *ctx, isc_mem_t *mctx, int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_keystore_directory
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:762,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:764,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:766,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - keygen_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 770
    functionName: check_keystore_options
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 0
    functionsReached:
    - dns_keystore_directory
    - fatal
    - try_dir
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void check_keystore_options(keygen_ctx_t *ctx)
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:787,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:791,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:794,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:804,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:807,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:811,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:815,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:826,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:828,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:837,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:839,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:849,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:852,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:852,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:856,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:858,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:860,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:863,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:869,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:871,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:872,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:879,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:886,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:890,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:893,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:895,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:899,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:906,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:912,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:916,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:919,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:921,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:926,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:931,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:935,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:937,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:945,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:947,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:951,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:956,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:958,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:961,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:967,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:970,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:976,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:979,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:986,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:989,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:996,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:998,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1002,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1007,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1009,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1012,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1020,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1023,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1024,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1029,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1036,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1040,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1043,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1046,1
    - Dst: isatty
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1050,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1058,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1062,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1064,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1072,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1075,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1081,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1084,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1085,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1087,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1089,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1090,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1096,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1099,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1102,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1105,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1108,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1111,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1114,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1117,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1122,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1134,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1140,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1140,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1142,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1146,1
    - Dst: kasp_from_conf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1151,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1154,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1157,1
    - Dst: dns_kasp_keys
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1157,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1158,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1163,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1168,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1169,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1170,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1171,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1172,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1173,1
    - Dst: check_keystore_options
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1175,1
    - Dst: dns_kasp_key_tagmin
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1177,1
    - Dst: dns_kasp_key_tagmax
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1178,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1184,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1187,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1188,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1189,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1192,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1196,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1198,1
    - Dst: free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1201,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 325
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 1205
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 23
    functionsReached:
    - dns_kasp_key_keystore
    - cfg_parser_create
    - dst_algorithm_supported
    - dns_kasp_detach
    - isc_commandline_init
    - dns_kasp_key_zsk
    - fatal
    - free
    - isc_crypto_fips_enable
    - check_keystore_options
    - dns_kasp_key_algorithm
    - cfg_obj_destroy
    - toupper
    - isc_stdtime_now
    - fprintf
    - usage
    - isatty
    - kasp_from_conf
    - dns_kasp_keys
    - dns_kasp_dnskeyttl
    - strcasecmp
    - dns_kasp_key_size
    - dns_kasp_key_tagmin
    - cfg_parser_destroy
    - keygen
    - setup_logging
    - ISC_LIST_EMPTY
    - strtoul
    - RUNTIME_CHECK
    - version
    - strlen
    - strtol
    - dns_kasp_key_tagmax
    - strtotime
    - dst_algorithm_fromtext
    - dns_kasp_key_lifetime
    - cfg_parse_file
    - isc_mem_detach
    - isc_commandline_parse
    - isoptarg
    - try_dir
    - isc_result_totext
    - exit
    - dns_kasp_key_ksk
    - isc_crypto_fips_mode
    - isc_mem_stats
    - strtoclass
    - strcmp
    - isc_mem_create
    - strtottl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1168,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1169,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1170,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1171,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1172,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1173,1
    - Dst: check_keystore_options
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1175,1
    - Dst: dns_kasp_key_tagmin
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1177,1
    - Dst: dns_kasp_key_tagmax
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1178,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1184,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1185
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 78
    functionsReached:
    - dns_kasp_key_lifetime
    - keygen
    - dns_kasp_key_keystore
    - check_keystore_options
    - dns_kasp_key_zsk
    - dns_kasp_key_algorithm
    - dns_kasp_key_ksk
    - dns_kasp_key_tagmin
    - dns_kasp_key_tagmax
    - dns_kasp_key_size
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kaspkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:50,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:51,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:53,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:54,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:55,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:57,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:58,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:59,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:60,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:61,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:62,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:63,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:65,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:67,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:69,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:71,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:73,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:75,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:77,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:79,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:81,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:83,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:86,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:87,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:88,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:89,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:90,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:91,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:93,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:95,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:96,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:98,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:100,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:101,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 105
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 33
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:113,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:116,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:118,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:120,1
    - Dst: localtime_r
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:123,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:128,1
    - Dst: strftime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:132,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:134,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - key
    - type
    - tag
    - epoch
    - stream
    argTypes:
    - dst_key_t*
    - int
    - char*
    - bool
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: printtime
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - INSIST
    - strftime
    - fprintf
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void printtime(dst_key_t *key, int type, const char *tag, bool epoch,
      FILE *stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:151,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:152,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:154,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:155,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:158,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:160,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:161,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:162,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:164,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:166,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:167,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:169,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:170,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:172,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:175,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:176,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:179,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:180,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - key
    - directory
    - write_state
    argTypes:
    - dst_key_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 184
    functionName: writekey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - isc_result_totext
    - isc_buffer_init
    - fatal
    - printf
    - dst_key_buildfilename
    - dst_key_tofile
    - dst_key_format
    linkageType: ''
    returnType: void
    signature: void writekey(dst_key_t *key, const char *directory, bool write_state)
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:238,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:240,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:245,1
    - Dst: isc_mem_create
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:248,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:250,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:255,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:259,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:263,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:269,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:271,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:276,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:282,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:284,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:288,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:294,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:296,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:300,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:306,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:309,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:312,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:313,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:317,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:317,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:324,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:327,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:332,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:339,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:346,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:349,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:353,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:358,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:365,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:370,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:373,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:376,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:377,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:381,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:386,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:388,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:393,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:399,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:401,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:405,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:411,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:413,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:417,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:423,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:446,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:451,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:462,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:467,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:480,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:487,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:491,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:497,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:500,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:503,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:504,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:518,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:520,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:522,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:527,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:530,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:532,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:533,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:538,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:541,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:548,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:551,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:557,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:568,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:571,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:574,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:577,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:578,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:580,1
    - Dst: dst_key_isexternal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:580,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:582,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:585,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:586,1
    - Dst: dst_key_size
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:587,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:588,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:590,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:591,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:593,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:598,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:600,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:605,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:608,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:617,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:625,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:627,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:634,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:650,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:664,1
    - Dst: isc_file_splitpath
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:673,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:676,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:678,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:682,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:685,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:686,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:689,1
    - Dst: dst_key_isexternal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:689,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:690,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:693,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:696,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:696,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:697,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:699,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:700,1
    - Dst: dst_key_size
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:702,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:703,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:705,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:706,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:712,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:715,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:720,1
    - Dst: set_keyversion
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:728,1
    - Dst: check_keyversion
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:730,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:734,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:741,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:743,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:747,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:749,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:753,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:754,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:760,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:761,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:767,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:769,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:770,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:776,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:780,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:782,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:786,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:788,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:792,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:794,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:798,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:800,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:804,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:806,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:810,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:812,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:816,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:820,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:820,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:821,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:821,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:829,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:830,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:840,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:842,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:848,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:849,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:851,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:852,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:858,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:859,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:861,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:862,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:869,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:870,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:872,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:873,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:880,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:881,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:883,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:884,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:899,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:903,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:907,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:911,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:915,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:919,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:923,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:928,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:933,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:937,1
    - Dst: writekey
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:941,1
    - Dst: writekey
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:943,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:948,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:950,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:952,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:954,1
    - Dst: isc_mem_detach
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:955,1
    CyclomaticComplexity: 200
    EdgeCount: 200
    ICount: 536
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 958
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 23
    functionsReached:
    - dst_key_unsettime
    - strtokeystate
    - isc_commandline_init
    - fatal
    - dst_key_isexternal
    - set_keyversion
    - dst_key_settime
    - dst_key_gettime
    - dst_key_setnum
    - writekey
    - isc_stdtime_now
    - fprintf
    - usage
    - dst_key_flags
    - strcasecmp
    - dst_key_setttl
    - check_keyversion
    - setup_logging
    - dst_key_isprivate
    - dst_key_alg
    - dst_key_unsetstate
    - version
    - isc_file_splitpath
    - strtol
    - isc_mem_strdup
    - strtotime
    - strncmp
    - dst_key_free
    - isc_mem_free
    - dst_key_setstate
    - isc_mem_detach
    - isc_commandline_parse
    - dst_key_fromnamedfile
    - isoptarg
    - dns_name_equal
    - isc_result_totext
    - exit
    - dst_key_getprivateformat
    - dst_key_id
    - printtime
    - isc_mem_stats
    - dst_key_size
    - dst_key_format
    - isc_mem_create
    - dst_key_name
    - strtottl
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:78,1
    - Dst: va_start
      Src: /src/bind9/bin/dnssec/dnssectool.c:79,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:80,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssectool.c:81,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:82,1
    - Dst: _exit
      Src: /src/bind9/bin/dnssec/dnssectool.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: fatal
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 138
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - callback
    argTypes:
    - fatalcallback_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: setfatalcallback
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setfatalcallback(fatalcallback_t *callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:97,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - message
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: check_result
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 101
    functionsReached:
    - fatal
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void check_result(isc_result_t result, const char *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/dnssec/dnssectool.c:107,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:108,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:109,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssectool.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: vbprintf
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 20
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void vbprintf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssectool.c:115,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssectool.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: version
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 42
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void version(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/dnssec/dnssectool.c:123,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssectool.c:126,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/bin/dnssec/dnssectool.c:127,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sig
    - cp
    - size
    argTypes:
    - dns_rdata_rrsig_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: sig_format
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - dns_name_format
    - dst_algorithm_fromdata
    - snprintf
    - dst_algorithm_format
    linkageType: ''
    returnType: void
    signature: void sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/dnssec/dnssectool.c:151,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:155,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/dnssec/dnssectool.c:157,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/dnssec/dnssectool.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 170
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 13
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_log_createandusechannel
    - isc_log_settag
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void setup_logging(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:188,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:192,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssectool.c:194,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:210,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssectool.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - offset
    - suffix
    - str
    argTypes:
    - isc_stdtime_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 214
    functionName: time_units
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - fatal
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t time_units(isc_stdtime_t offset, char *suffix, const
      char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:218,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:219,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: isnone
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isnone(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isnone
      Src: /src/bind9/bin/dnssec/dnssectool.c:229,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssectool.c:233,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:235,1
    - Dst: time_units
      Src: /src/bind9/bin/dnssec/dnssectool.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: strtottl
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 7
    functionsReached:
    - time_units
    - fatal
    - isnone
    - strtol
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t strtottl(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isnone
      Src: /src/bind9/bin/dnssec/dnssectool.c:243,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:248,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: strtokeystate
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 1
    functionsReached:
    - fatal
    - isnone
    - strcasecmp
    linkageType: ''
    returnType: dst_key_state_t
    signature: dst_key_state_t strtokeystate(const char *str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isnone
      Src: /src/bind9/bin/dnssec/dnssectool.c:265,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:266,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:270,1
    - Dst: strspn
      Src: /src/bind9/bin/dnssec/dnssectool.c:285,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dnssec/dnssectool.c:291,1
    - Dst: strlcat
      Src: /src/bind9/bin/dnssec/dnssectool.c:294,1
    - Dst: dns_time64_fromtext
      Src: /src/bind9/bin/dnssec/dnssectool.c:296,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:298,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:299,1
    - Dst: strtoll
      Src: /src/bind9/bin/dnssec/dnssectool.c:306,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:308,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/bin/dnssec/dnssectool.c:313,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:315,1
    - Dst: mktime
      Src: /src/bind9/bin/dnssec/dnssectool.c:317,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssectool.c:324,1
    - Dst: time_units
      Src: /src/bind9/bin/dnssec/dnssectool.c:325,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssectool.c:328,1
    - Dst: time_units
      Src: /src/bind9/bin/dnssec/dnssectool.c:329,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:332,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 4
    argNames:
    - str
    - now
    - base
    - setp
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 336
    functionName: strtotime
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 8
    functionsReached:
    - strtoll
    - mktime
    - SET_IF_NOT_NULL
    - isnone
    - strspn
    - strncmp
    - strlcpy
    - dns_time64_fromtext
    - strlcat
    - isc_result_totext
    - isc_tm_strptime
    - fatal
    - strtol
    - time_units
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t strtotime(const char *str, int64_t now, int64_t base,
      bool *setp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/dnssec/dnssectool.c:347,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssectool.c:348,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dnssec/dnssectool.c:349,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: strtoclass
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 7
    functionsReached:
    - strlen
    - dns_rdataclass_fromtext
    - fatal
    - UNCONST
    linkageType: ''
    returnType: dns_rdataclass_t
    signature: dns_rdataclass_t strtoclass(const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/dnssec/dnssectool.c:362,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssectool.c:363,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/dnssec/dnssectool.c:364,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:366,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/bin/dnssec/dnssectool.c:368,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: strtodsdigest
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - strlen
    - fatal
    - dst_ds_digest_supported
    - UNCONST
    - dns_dsdigest_fromtext
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int strtodsdigest(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: cmp_dtype
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_dtype(const void *ap, const void *bp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssectool.c:393,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dt
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 398
    functionName: add_dtype
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - fatal
    - qsort
    linkageType: ''
    returnType: void
    signature: void add_dtype(unsigned int dt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_dir_init
      Src: /src/bind9/bin/dnssec/dnssectool.c:405,1
    - Dst: isc_dir_open
      Src: /src/bind9/bin/dnssec/dnssectool.c:406,1
    - Dst: isc_dir_close
      Src: /src/bind9/bin/dnssec/dnssectool.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 411
    functionName: try_dir
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 5
    functionsReached:
    - isc_dir_init
    - isc_dir_open
    - isc_dir_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t try_dir(const char *dirname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssectool.c:419,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:420,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:423,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - key
    - keystr
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: check_keyversion
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - dst_key_getprivateformat
    - fatal
    - INSIST
    linkageType: ''
    returnType: void
    signature: void check_keyversion(dst_key_t *key, char *keystr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssectool.c:437,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:438,1
    - Dst: dst_key_setprivateformat
      Src: /src/bind9/bin/dnssec/dnssectool.c:441,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssectool.c:450,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssectool.c:451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 453
    functionName: set_keyversion
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - dst_key_settime
    - INSIST
    - dst_key_getprivateformat
    - isc_stdtime_now
    - dst_key_setprivateformat
    linkageType: ''
    returnType: void
    signature: void set_keyversion(dst_key_t *key)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssectool.c:465,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:467,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssectool.c:469,1
    - Dst: dst_key_rid
      Src: /src/bind9/bin/dnssec/dnssectool.c:470,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssectool.c:471,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:475,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:480,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssectool.c:488,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/bin/dnssec/dnssectool.c:489,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssectool.c:495,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dnssec/dnssectool.c:496,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssectool.c:497,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssectool.c:501,1
    - Dst: dst_key_rid
      Src: /src/bind9/bin/dnssec/dnssectool.c:502,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:508,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:518,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:525,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:526,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssectool.c:530,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dnssec/dnssectool.c:531,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:532,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:533,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 7
    argNames:
    - dstkey
    - name
    - dir
    - mctx
    - min
    - max
    - exact
    argTypes:
    - dst_key_t*
    - dns_name_t*
    - char*
    - isc_mem_t*
    - uint16_t
    - uint16_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 537
    functionName: key_collision
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 3
    functionsReached:
    - SET_IF_NOT_NULL
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - dst_key_alg
    - dns_dnsseckey_destroy
    - dst_key_id
    - isc_stdtime_now
    - fprintf
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - dns_dnssec_findmatchingkeys
    - dst_key_rid
    linkageType: ''
    returnType: bool
    signature: "bool key_collision(dst_key_t *dstkey, dns_name_t *name, const char
      *dir,\n\t      isc_mem_t *mctx, uint16_t min, uint16_t max, bool *exact)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:541,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:543,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssectool.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 555
    functionName: isoptarg
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 4
    functionsReached:
    - strcasecmp
    - fprintf
    - usage
    linkageType: ''
    returnType: bool
    signature: bool isoptarg(const char *arg, char **argv, void (*usage)(void))
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_open
      Src: /src/bind9/bin/dnssec/dnssectool.c:562,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:564,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:568,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:569,1
    - Dst: dns_journal_empty
      Src: /src/bind9/bin/dnssec/dnssectool.c:572,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:573,1
    - Dst: dns_journal_rollforward
      Src: /src/bind9/bin/dnssec/dnssectool.c:577,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:585,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:588,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:588,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - mctx
    - db
    - file
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 593
    functionName: loadjournal
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 3
    functionsReached:
    - dns_journal_destroy
    - isc_result_totext
    - dns_journal_rollforward
    - fatal
    - fprintf
    - dns_journal_open
    - dns_journal_empty
    linkageType: ''
    returnType: void
    signature: void loadjournal(isc_mem_t *mctx, dns_db_t *db, const char *file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssectool.c:605,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssectool.c:606,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:608,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/dnssec/dnssectool.c:610,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:611,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:613,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:614,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:614,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:615,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:619,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:620,1
    - Dst: dns_keystore_setdirectory
      Src: /src/bind9/bin/dnssec/dnssectool.c:623,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:625,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:627,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/dnssec/dnssectool.c:631,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:632,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:632,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:632,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:638,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:641,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:642,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:642,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:645,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/dnssec/dnssectool.c:646,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:656,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:657,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:664,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - config
    - mctx
    - name
    - keydir
    - kaspp
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - char*
    - char*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 667
    functionName: kasp_from_conf
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - cfg_kasp_fromconfig
    - strcmp
    - cfg_keystore_fromconfig
    - dns_kasp_detach
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_tuple_get
    - INSIST
    - fatal
    - dns_kasp_freeze
    - dns_keystore_setdirectory
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - cfg_map_get
    - cfg_listelt_value
    - dns_keystore_detach
    linkageType: ''
    returnType: void
    signature: "void kasp_from_conf(cfg_obj_t *config, isc_mem_t *mctx, const char
      *name,\n\t       const char *keydir, dns_kasp_t **kaspp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/dnssec/dnssectool.c:610,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:611,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:613,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:614,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:614,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 1
    functionsReached:
    - cfg_keystore_fromconfig
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - fatal
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keystores, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/dnssec/dnssectool.c:631,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:632,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:632,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:632,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:638,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:641,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:642,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:642,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:645,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/dnssec/dnssectool.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 650
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 1
    functionsReached:
    - cfg_kasp_fromconfig
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - INSIST
    - fatal
    - dns_kasp_freeze
    - strcmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (kasps, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:656,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 658
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 78
    functionsReached:
    - dns_kasp_detach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (kasplist, kasp, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:664,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 78
    functionsReached:
    - dns_keystore_detach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (kslist, ks, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:95,1
    - Dst: exit
      Src: /src/bind9/bin/rndc/rndc.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 238
    functionName: usage
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 35
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int status)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/rndc/rndc.c:247,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:251,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 268
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 3
    functionsReached:
    - isc_commandline_parse
    - fatal
    linkageType: ''
    returnType: void
    signature: void preparse_args(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/rndc/rndc.c:275,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/rndc/rndc.c:278,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:283,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:284,1
    - Dst: INSIST
      Src: /src/bind9/bin/rndc/rndc.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 287
    functionName: get_addresses
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 2
    functionsReached:
    - INSIST
    - isc_result_totext
    - fatal
    - REQUIRE
    - isc_getaddresses
    linkageType: ''
    returnType: void
    signature: void get_addresses(const char *host, in_port_t port)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/rndc/rndc.c:306,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/rndc/rndc.c:307,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:310,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:319,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:319,1
    - Dst: isccc_ccmsg_toregion
      Src: /src/bind9/bin/rndc/rndc.c:322,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:324,1
    - Dst: isccc_cc_fromwire
      Src: /src/bind9/bin/rndc/rndc.c:325,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/rndc/rndc.c:327,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/bin/rndc/rndc.c:328,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:329,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/bin/rndc/rndc.c:331,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:334,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:337,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:338,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/bin/rndc/rndc.c:341,1
    - Dst: strlen
      Src: /src/bind9/bin/rndc/rndc.c:343,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:344,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:347,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:348,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/bin/rndc/rndc.c:354,1
    - Dst: printf
      Src: /src/bind9/bin/rndc/rndc.c:356,1
    - Dst: isc_result_toid
      Src: /src/bind9/bin/rndc/rndc.c:356,1
    - Dst: printf
      Src: /src/bind9/bin/rndc/rndc.c:358,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/rndc/rndc.c:362,1
    - Dst: isccc_ccmsg_disconnect
      Src: /src/bind9/bin/rndc/rndc.c:364,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/rndc/rndc.c:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 366
    functionName: rndc_recvdone
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isccc_ccmsg_toregion
    - isccc_cc_fromwire
    - isccc_cc_lookupuint32
    - isc_result_totext
    - isccc_sexpr_free
    - isccc_alist_alistp
    - strlen
    - fatal
    - isccc_ccmsg_disconnect
    - isc_result_toid
    - REQUIRE
    - fprintf
    - printf
    - isccc_cc_lookupstring
    - DO
    - isccc_alist_lookup
    linkageType: ''
    returnType: void
    signature: void rndc_recvdone(isc_nmhandle_t *handle, isc_result_t result, void
      *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/rndc/rndc.c:457,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/rndc/rndc.c:461,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:464,1
    - Dst: notify
      Src: /src/bind9/bin/rndc/rndc.c:467,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:468,1
    - Dst: rndc_startconnect
      Src: /src/bind9/bin/rndc/rndc.c:469,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:473,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:474,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:477,1
    - Dst: isccc_cc_createmessage
      Src: /src/bind9/bin/rndc/rndc.c:477,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/rndc/rndc.c:479,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:481,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/bin/rndc/rndc.c:483,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:484,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/rndc/rndc.c:487,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/rndc/rndc.c:489,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:491,1
    - Dst: isccc_cc_towire
      Src: /src/bind9/bin/rndc/rndc.c:492,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/rndc/rndc.c:494,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/rndc/rndc.c:495,1
    - Dst: isccc_ccmsg_init
      Src: /src/bind9/bin/rndc/rndc.c:501,1
    - Dst: isccc_ccmsg_setmaxsize
      Src: /src/bind9/bin/rndc/rndc.c:502,1
    - Dst: isccc_ccmsg_readmessage
      Src: /src/bind9/bin/rndc/rndc.c:504,1
    - Dst: isccc_ccmsg_sendmessage
      Src: /src/bind9/bin/rndc/rndc.c:505,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/rndc/rndc.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 508
    functionName: rndc_connected
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isccc_sexpr_free
    - fatal
    - REQUIRE
    - isccc_ccmsg_readmessage
    - isc_stdtime_now
    - isc_buffer_clear
    - rndc_startconnect
    - isccc_ccmsg_setmaxsize
    - isccc_cc_towire
    - notify
    - isccc_cc_definestring
    - isc_buffer_add
    - DO
    - isccc_ccmsg_sendmessage
    - isc_result_totext
    - isc_buffer_init
    - isccc_ccmsg_init
    - isccc_cc_createmessage
    - isc_buffer_putuint32
    - isccc_alist_lookup
    linkageType: ''
    returnType: void
    signature: void rndc_connected(isc_nmhandle_t *handle, isc_result_t result, void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:515,1
    - Dst: notify
      Src: /src/bind9/bin/rndc/rndc.c:517,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/rndc/rndc.c:519,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/rndc/rndc.c:527,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/bin/rndc/rndc.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - addr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 532
    functionName: rndc_startconnect
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_pf
    - UNREACHABLE
    - isc_sockaddr_format
    - notify
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: void rndc_startconnect(isc_sockaddr_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/rndc/rndc.c:536,1
    - Dst: rndc_startconnect
      Src: /src/bind9/bin/rndc/rndc.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: rndc_start
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - rndc_startconnect
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void rndc_start(void *arg)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/rndc/rndc.c:565,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:570,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/rndc/rndc.c:573,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:574,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/rndc/rndc.c:578,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:579,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:585,1
    - Dst: cfg_parser_create
      Src: /src/bind9/bin/rndc/rndc.c:585,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/rndc/rndc.c:590,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:592,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:596,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:603,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:605,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:610,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:614,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:618,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:619,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:620,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:621,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:635,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:635,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:636,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:638,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:639,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:640,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:642,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:649,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:649,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:651,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:651,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:656,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:657,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:657,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:658,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:664,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:667,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:668,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:670,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:673,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:674,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:676,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:678,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:680,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:682,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:684,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:686,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:689,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:694,1
    - Dst: isccc_base64_decode
      Src: /src/bind9/bin/rndc/rndc.c:694,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:705,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:708,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/rndc/rndc.c:712,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:714,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:721,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:729,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/rndc/rndc.c:730,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:735,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:736,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:737,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/rndc/rndc.c:738,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/rndc/rndc.c:739,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:742,1
    - Dst: get_addresses
      Src: /src/bind9/bin/rndc/rndc.c:749,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:751,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:758,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/rndc/rndc.c:759,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/rndc/rndc.c:760,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:767,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:769,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:778,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:780,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:786,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:788,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:795,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:797,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:803,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:805,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 196
    argCount: 4
    argNames:
    - mctx
    - keyname
    - pctxp
    - configp
    argTypes:
    - isc_mem_t*
    - char*
    - cfg_parser_t**
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 811
    functionName: parse_config
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - cfg_parser_create
    - isc_sockaddr_format
    - fatal
    - isc_file_exists
    - isccc_base64_decode
    - cfg_map_getname
    - fprintf
    - strcasecmp
    - isc_sockaddr_setport
    - cfg_obj_asuint32
    - isc_sockaddr_getport
    - cfg_listelt_value
    - DO
    - cfg_obj_isuint32
    - cfg_obj_issockaddr
    - cfg_parse_file
    - get_addresses
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: void
    signature: "void parse_config(isc_mem_t *mctx, const char *keyname, cfg_parser_t
      **pctxp,\n\t     cfg_obj_t **configp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:618,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:619,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:620,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (servers, elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:656,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:657,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:657,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 662
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keys, elt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:729,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/rndc/rndc.c:730,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:735,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:736,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:737,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/rndc/rndc.c:738,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/rndc/rndc.c:739,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:742,1
    - Dst: get_addresses
      Src: /src/bind9/bin/rndc/rndc.c:749,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:751,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:758,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/rndc/rndc.c:759,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/rndc/rndc.c:760,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:767,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:769,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 773
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - cfg_obj_asuint32
    - isc_sockaddr_getport
    - cfg_obj_issockaddr
    - get_addresses
    - isc_sockaddr_format
    - cfg_obj_asstring
    - cfg_tuple_get
    - fatal
    - fprintf
    - cfg_obj_assockaddr
    - cfg_listelt_value
    - cfg_obj_isuint32
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (addresses, element)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/rndc/rndc.c:827,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/rndc/rndc.c:832,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/rndc/rndc.c:833,1
    - Dst: preparse_args
      Src: /src/bind9/bin/rndc/rndc.c:837,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/rndc/rndc.c:839,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/rndc/rndc.c:842,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:843,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/rndc/rndc.c:845,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/rndc/rndc.c:848,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:849,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/rndc/rndc.c:851,1
    - Dst: inet_pton
      Src: /src/bind9/bin/rndc/rndc.c:854,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/rndc/rndc.c:857,1
    - Dst: inet_pton
      Src: /src/bind9/bin/rndc/rndc.c:859,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/rndc/rndc.c:862,1
    - Dst: atoi
      Src: /src/bind9/bin/rndc/rndc.c:885,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:887,1
    - Dst: strtol
      Src: /src/bind9/bin/rndc/rndc.c:905,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:907,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:923,1
    - Dst: usage
      Src: /src/bind9/bin/rndc/rndc.c:926,1
    - Dst: usage
      Src: /src/bind9/bin/rndc/rndc.c:930,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:933,1
    - Dst: exit
      Src: /src/bind9/bin/rndc/rndc.c:936,1
    - Dst: usage
      Src: /src/bind9/bin/rndc/rndc.c:944,1
    - Dst: strcmp
      Src: /src/bind9/bin/rndc/rndc.c:947,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:948,1
    - Dst: notify
      Src: /src/bind9/bin/rndc/rndc.c:950,1
    - Dst: isc_random32
      Src: /src/bind9/bin/rndc/rndc.c:953,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/rndc/rndc.c:955,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/rndc/rndc.c:956,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/rndc/rndc.c:958,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/rndc/rndc.c:959,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/rndc/rndc.c:960,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/rndc/rndc.c:961,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/rndc/rndc.c:963,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/rndc/rndc.c:964,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/rndc/rndc.c:965,1
    - Dst: parse_config
      Src: /src/bind9/bin/rndc/rndc.c:971,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/rndc/rndc.c:973,1
    - Dst: strlen
      Src: /src/bind9/bin/rndc/rndc.c:982,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/rndc/rndc.c:985,1
    - Dst: strlen
      Src: /src/bind9/bin/rndc/rndc.c:989,1
    - Dst: memmove
      Src: /src/bind9/bin/rndc/rndc.c:990,1
    - Dst: INSIST
      Src: /src/bind9/bin/rndc/rndc.c:997,1
    - Dst: get_addresses
      Src: /src/bind9/bin/rndc/rndc.c:1000,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/rndc/rndc.c:1003,1
    - Dst: isccc_ccmsg_invalidate
      Src: /src/bind9/bin/rndc/rndc.c:1005,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/bin/rndc/rndc.c:1007,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/bin/rndc/rndc.c:1008,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/rndc/rndc.c:1010,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/rndc/rndc.c:1012,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/rndc/rndc.c:1015,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/rndc/rndc.c:1018,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 141
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 1025
    functionName: main
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 23
    functionsReached:
    - memmove
    - isc_commandline_init
    - isc_nm_setidletimeout
    - isc_log_settag
    - fatal
    - isc_random32
    - isc_buffer_allocate
    - preparse_args
    - isc_managers_destroy
    - isc_nm_setprimariestimeout
    - isc_sockaddr_any6
    - isc_logconfig_get
    - atoi
    - cfg_obj_destroy
    - isc_loopmgr_run
    - parse_config
    - fprintf
    - usage
    - isc_sockaddr_fromin
    - isc_nm_setkeepalivetimeout
    - isc_log_createandusechannel
    - cfg_parser_destroy
    - INSIST
    - isc_sockaddr_any
    - isc_net_disableipv6
    - strlen
    - strtol
    - inet_pton
    - isc_mem_get
    - notify
    - isc_buffer_free
    - isc_managers_create
    - isc_nm_setinitialtimeout
    - get_addresses
    - isc_commandline_parse
    - isc_net_probeipv4
    - isccc_ccmsg_invalidate
    - isc_loopmgr_setup
    - exit
    - isc_sockaddr_fromin6
    - isc_mem_stats
    - isc_net_disableipv4
    - isc_net_probeipv6
    - strcmp
    - isc_mem_put
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - function
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: DO
    functionSourceFile: /src/bind9/bin/rndc/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO(name, function)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/rndc/util.c:33,1
    - Dst: vfprintf
      Src: /src/bind9/bin/rndc/util.c:34,1
    - Dst: va_end
      Src: /src/bind9/bin/rndc/util.c:35,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/util.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: notify
    functionSourceFile: /src/bind9/bin/rndc/util.c
    functionUses: 9
    functionsReached:
    - vfprintf
    - va_start
    - va_end
    - fprintf
    linkageType: ''
    returnType: void
    signature: void notify(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/util.c:44,1
    - Dst: va_start
      Src: /src/bind9/bin/rndc/util.c:45,1
    - Dst: vfprintf
      Src: /src/bind9/bin/rndc/util.c:46,1
    - Dst: va_end
      Src: /src/bind9/bin/rndc/util.c:47,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/util.c:48,1
    - Dst: _exit
      Src: /src/bind9/bin/rndc/util.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: fatal
    functionSourceFile: /src/bind9/bin/rndc/util.c
    functionUses: 158
    functionsReached:
    - va_end
    - _exit
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noop
      Src: /src/bind9/tests/isc/tls_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noresponse
      Src: /src/bind9/tests/isc/tls_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownconnect
      Src: /src/bind9/tests/isc/tls_test.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownconnect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_shutdownconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownread
      Src: /src/bind9/tests/isc/tls_test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownread
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_shutdownread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_timeout_recovery
      Src: /src/bind9/tests/isc/tls_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/tls_test.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/tls_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_send_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tls_test.c:98,1
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/tls_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_one_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tls_test.c:103,1
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/tls_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_two_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tls_test.c:108,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_send_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tls_test.c:114,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tls_recv_send_quota_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_noop
      Src: /src/bind9/tests/isc/tls_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_noresponse
      Src: /src/bind9/tests/isc/tls_test.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 122
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_shutdownconnect
      Src: /src/bind9/tests/isc/tls_test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_shutdownconnect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_shutdownconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_shutdownread
      Src: /src/bind9/tests/isc/tls_test.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_shutdownread
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_shutdownread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_timeout_recovery
      Src: /src/bind9/tests/isc/tls_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_one
      Src: /src/bind9/tests/isc/tls_test.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 134
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_two
      Src: /src/bind9/tests/isc/tls_test.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_send_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_one
      Src: /src/bind9/tests/isc/tls_test.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_one_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_two
      Src: /src/bind9/tests/isc/tls_test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_two_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_send_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tls_recv_send
      Src: /src/bind9/tests/isc/tls_test.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tls_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tls_recv_send_quota_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: tls_setup
    functionSourceFile: /src/bind9/tests/isc/tls_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ISC_TEST_LIST_END
    signature: ISC_TEST_LIST_END tls_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/ascii_test.c:93,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/ascii_test.c:95,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:99,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/tests/isc/ascii_test.c:99,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:100,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:101,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/tests/isc/ascii_test.c:101,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:102,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:103,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/tests/isc/ascii_test.c:103,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/tests/isc/ascii_test.c:104,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:105,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:105,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ascii_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_ascii_toupper
    - ARRAY_SIZE
    - UNUSED
    - isc_ascii_tolower
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(upperlower)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/ascii_test.c:112,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ascii_test.c:115,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:116,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/isc/ascii_test.c:116,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/ascii_test.c:118,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ascii_test.c:121,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:122,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/isc/ascii_test.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ascii_test.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    - strlen
    - ARRAY_SIZE
    - assert_true
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lowerequal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/ascii_test.c:127,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ascii_test.c:130,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:131,1
    - Dst: isc_ascii_lowercmp
      Src: /src/bind9/tests/isc/ascii_test.c:131,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/ascii_test.c:133,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ascii_test.c:136,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ascii_test.c:137,1
    - Dst: isc_ascii_lowercmp
      Src: /src/bind9/tests/isc/ascii_test.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ascii_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - isc_ascii_lowercmp
    - ARRAY_SIZE
    - assert_true
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lowercmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:145,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:145,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:146,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:146,1
    - Dst: isc__ascii_tolower1
      Src: /src/bind9/tests/isc/ascii_test.c:147,1
    - Dst: isc__ascii_tolower1
      Src: /src/bind9/tests/isc/ascii_test.c:148,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:151,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:151,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:151,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:152,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:152,1
    - Dst: isc__ascii_tolower1
      Src: /src/bind9/tests/isc/ascii_test.c:152,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:153,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:153,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:154,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:154,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/isc/ascii_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:155,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:155,1
    - Dst: isc__ascii_tolower1
      Src: /src/bind9/tests/isc/ascii_test.c:155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:156,1
    - Dst: tolower
      Src: /src/bind9/tests/isc/ascii_test.c:156,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:156,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:159,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:160,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:162,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:164,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:164,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:165,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:166,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:166,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:167,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:167,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:168,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ascii_test.c:169,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/tests/isc/ascii_test.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 171
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ascii_test.c
    functionUses: 0
    functionsReached:
    - isc__ascii_tolower1
    - assert_int_equal
    - tolower
    - isc_ascii_tolower
    - isc_ascii_tolower8
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(exhaustive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_create
      Src: /src/bind9/tests/isc/stats_test.c:37,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:38,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:38,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:41,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:42,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:42,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:46,1
    - Dst: isc_stats_increment
      Src: /src/bind9/tests/isc/stats_test.c:47,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:48,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:48,1
    - Dst: isc_stats_increment
      Src: /src/bind9/tests/isc/stats_test.c:49,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:50,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:50,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:54,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/tests/isc/stats_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:56,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:56,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/tests/isc/stats_test.c:57,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:58,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:58,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:62,1
    - Dst: isc_stats_set
      Src: /src/bind9/tests/isc/stats_test.c:63,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:64,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:64,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:68,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/tests/isc/stats_test.c:69,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:70,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:70,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/tests/isc/stats_test.c:71,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:72,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:72,1
    - Dst: isc_stats_resize
      Src: /src/bind9/tests/isc/stats_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:77,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:77,1
    - Dst: isc_stats_resize
      Src: /src/bind9/tests/isc/stats_test.c:78,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:79,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:79,1
    - Dst: isc_stats_resize
      Src: /src/bind9/tests/isc/stats_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:81,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:81,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:89,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:89,1
    - Dst: isc_stats_detach
      Src: /src/bind9/tests/isc/stats_test.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 93
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/stats_test.c
    functionUses: 0
    functionsReached:
    - isc_stats_set
    - isc_stats_detach
    - isc_stats_resize
    - assert_int_equal
    - isc_stats_get_counter
    - isc_stats_increment
    - isc_stats_ncounters
    - isc_stats_create
    - isc_stats_update_if_greater
    - isc_stats_decrement
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_stats_basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noop
      Src: /src/bind9/tests/isc/proxystream_test.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noresponse
      Src: /src/bind9/tests/isc/proxystream_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownconnect
      Src: /src/bind9/tests/isc/proxystream_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownconnect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_shutdownconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownread
      Src: /src/bind9/tests/isc/proxystream_test.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownread
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_shutdownread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_timeout_recovery
      Src: /src/bind9/tests/isc/proxystream_test.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/proxystream_test.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_proxyheader_info_init_complete
      Src: /src/bind9/tests/isc/proxystream_test.c:94,1
    - Dst: set_proxyheader_info
      Src: /src/bind9/tests/isc/proxystream_test.c:96,1
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/proxystream_test.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: proxystream_recv_one_prerendered
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - set_proxyheader_info
    - isc_nm_proxyheader_info_init_complete
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void proxystream_recv_one_prerendered(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_one_prerendered
      Src: /src/bind9/tests/isc/proxystream_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_one_prerendered
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_one_prerendered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/proxystream_test.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_send_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:125,1
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/proxystream_test.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_one_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:131,1
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/proxystream_test.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_two_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:137,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_send_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:142,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystream_recv_send_quota_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noop
      Src: /src/bind9/tests/isc/proxystream_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noresponse
      Src: /src/bind9/tests/isc/proxystream_test.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownconnect
      Src: /src/bind9/tests/isc/proxystream_test.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownconnect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_shutdownconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownread
      Src: /src/bind9/tests/isc/proxystream_test.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownread
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_shutdownread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_timeout_recovery
      Src: /src/bind9/tests/isc/proxystream_test.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/proxystream_test.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_one_prerendered
      Src: /src/bind9/tests/isc/proxystream_test.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_one_prerendered
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_one_prerendered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/proxystream_test.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_send_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:204,1
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/proxystream_test.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_one_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:210,1
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/proxystream_test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_two_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:216,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_send_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/proxystream_test.c:221,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/proxystream_test.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxystreamtls_recv_send_quota_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: proxystream_setup
    functionSourceFile: /src/bind9/tests/isc/proxystream_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ISC_TEST_LIST_END
    signature: ISC_TEST_LIST_END proxystream_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/stream_shutdown.c:45,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:47,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stream_shutdown.c:48,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:49,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/stream_shutdown.c:51,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/stream_shutdown.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: shutdownconnect_connectcb
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    - assert_int_equal
    - isc_refcount_decrement
    - F
    - assert_non_null
    - assert_null
    linkageType: ''
    returnType: void
    signature: "void shutdownconnect_connectcb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/stream_shutdown.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: stream_shutdownconnect_setup
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_shutdownconnect_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownconnect_setup
      Src: /src/bind9/tests/isc/stream_shutdown.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: proxystream_shutdownconnect_setup
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - stream_shutdownconnect_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_shutdownconnect_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownconnect_teardown
      Src: /src/bind9/tests/isc/stream_shutdown.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: proxystream_shutdownconnect_teardown
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - stream_shutdownconnect_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_shutdownconnect_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_shutdownconnect_setup
      Src: /src/bind9/tests/isc/stream_shutdown.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: proxystreamtls_shutdownconnect_setup
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - proxystream_shutdownconnect_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_shutdownconnect_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_shutdownconnect_teardown
      Src: /src/bind9/tests/isc/stream_shutdown.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: proxystreamtls_shutdownconnect_teardown
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - proxystream_shutdownconnect_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_shutdownconnect_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/stream_shutdown.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stream_shutdown.c:92,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/stream_shutdown.c:93,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/stream_shutdown.c:96,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/stream_shutdown.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: stream_shutdownconnect
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 3
    functionsReached:
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - stream_listen
    - assert_int_equal
    - stream_connect
    linkageType: ''
    returnType: void
    signature: void stream_shutdownconnect(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/stream_shutdown.c:103,1
    - Dst: X
      Src: /src/bind9/tests/isc/stream_shutdown.c:104,1
    - Dst: X
      Src: /src/bind9/tests/isc/stream_shutdown.c:105,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/stream_shutdown.c:107,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/stream_shutdown.c:108,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/stream_shutdown.c:109,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/stream_shutdown.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: stream_shutdownconnect_teardown
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 2
    functionsReached:
    - atomic_assert_int_eq
    - X
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_shutdownconnect_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/stream_shutdown.c:119,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:120,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/stream_shutdown.c:121,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:123,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:124,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/stream_shutdown.c:126,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/stream_shutdown.c:127,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/stream_shutdown.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 129
    functionName: shutdownread_readcb
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - atomic_fetch_add
    - isc_refcount_decrement
    - F
    - assert_non_null
    - assert_null
    linkageType: ''
    returnType: void
    signature: "void shutdownread_readcb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \   isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/stream_shutdown.c:133,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:134,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/stream_shutdown.c:135,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:137,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/stream_shutdown.c:139,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/stream_shutdown.c:141,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/stream_shutdown.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: shutdownread_sendcb
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - atomic_fetch_add
    - isc_refcount_decrement
    - F
    - assert_non_null
    - assert_null
    linkageType: ''
    returnType: void
    signature: void shutdownread_sendcb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/stream_shutdown.c:148,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stream_shutdown.c:151,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/stream_shutdown.c:152,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/stream_shutdown.c:154,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/stream_shutdown.c:156,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/stream_shutdown.c:159,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/stream_shutdown.c:161,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/tests/isc/stream_shutdown.c:162,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/stream_shutdown.c:163,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/stream_shutdown.c:165,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/tests/isc/stream_shutdown.c:166,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/stream_shutdown.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: shutdownread_connectcb
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_nmhandle_ref
    - isc_nm_read
    - assert_int_equal
    - isc_refcount_increment0
    - isc_nm_send
    - isc_refcount_decrement
    - F
    - assert_non_null
    - assert_null
    linkageType: ''
    returnType: void
    signature: "void shutdownread_connectcb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \      void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/stream_shutdown.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: stream_shutdownread_setup
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_shutdownread_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownread_setup
      Src: /src/bind9/tests/isc/stream_shutdown.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: proxystream_shutdownread_setup
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - stream_shutdownread_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_shutdownread_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownread_teardown
      Src: /src/bind9/tests/isc/stream_shutdown.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: proxystream_shutdownread_teardown
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - stream_shutdownread_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_shutdownread_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_shutdownread_setup
      Src: /src/bind9/tests/isc/stream_shutdown.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: proxystreamtls_shutdownread_setup
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - proxystream_shutdownread_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_shutdownread_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_shutdownread_teardown
      Src: /src/bind9/tests/isc/stream_shutdown.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: proxystreamtls_shutdownread_teardown
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 0
    functionsReached:
    - proxystream_shutdownread_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_shutdownread_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/stream_shutdown.c:205,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stream_shutdown.c:207,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/stream_shutdown.c:208,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/stream_shutdown.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: stream_shutdownread
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 3
    functionsReached:
    - isc_loop_teardown
    - assert_int_equal
    - stream_connect
    - stream_listen
    linkageType: ''
    returnType: void
    signature: void stream_shutdownread(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/stream_shutdown.c:215,1
    - Dst: X
      Src: /src/bind9/tests/isc/stream_shutdown.c:216,1
    - Dst: X
      Src: /src/bind9/tests/isc/stream_shutdown.c:217,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/stream_shutdown.c:219,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/stream_shutdown.c:220,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/stream_shutdown.c:221,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/stream_shutdown.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: stream_shutdownread_teardown
    functionSourceFile: /src/bind9/tests/isc/stream_shutdown.c
    functionUses: 2
    functionsReached:
    - atomic_assert_int_eq
    - X
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_shutdownread_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_init
      Src: /src/bind9/tests/isc/ht_test.c:47,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:48,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:56,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:57,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:58,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:59,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:65,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:66,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:67,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:68,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:69,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:74,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:75,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:77,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:86,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:87,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:88,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:90,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:99,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:100,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:101,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:102,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:103,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:109,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:110,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:111,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:113,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:114,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:120,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:121,1
    - Dst: isc_ht_delete
      Src: /src/bind9/tests/isc/ht_test.c:122,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:123,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:125,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:126,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:134,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:135,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:136,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:137,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:143,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:144,1
    - Dst: isc_ht_delete
      Src: /src/bind9/tests/isc/ht_test.c:145,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:147,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:148,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:150,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:151,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:160,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:161,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:162,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:163,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:164,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:170,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:171,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:172,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:173,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:174,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:177,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 82
    argCount: 2
    argNames:
    - init_bits
    - count
    argTypes:
    - uint8_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 179
    functionName: test_ht_full
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - assert_int_equal
    - isc_ht_destroy
    - strlcat
    - isc_ht_delete
    - strlen
    - snprintf
    - assert_non_null
    - isc_ht_init
    - assert_ptr_equal
    - assert_null
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: void test_ht_full(uint8_t init_bits, uintptr_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_init
      Src: /src/bind9/tests/isc/ht_test.c:192,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:193,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:199,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:200,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:201,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:202,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ht_test.c:206,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/ht_test.c:206,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/tests/isc/ht_test.c:209,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:211,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:212,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/tests/isc/ht_test.c:217,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/tests/isc/ht_test.c:218,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:219,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:221,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:222,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/ht_test.c:223,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:226,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:227,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:231,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/tests/isc/ht_test.c:236,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/tests/isc/ht_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:238,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:240,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:241,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/ht_test.c:242,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/tests/isc/ht_test.c:244,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:246,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:250,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:251,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:255,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/tests/isc/ht_test.c:260,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/tests/isc/ht_test.c:261,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:262,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:264,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:265,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/ht_test.c:266,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/tests/isc/ht_test.c:268,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:270,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:275,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:278,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:279,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:285,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ht_test.c:288,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/ht_test.c:288,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/tests/isc/ht_test.c:290,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:291,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:293,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 295
    functionName: test_ht_iterator
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_memory_equal
    - rehashing_in_progress
    - isc_ht_iter_first
    - isc_ht_iter_currentkey
    - assert_int_equal
    - isc_ht_iter_delcurrent_next
    - isc_ht_destroy
    - strlcat
    - isc_ht_iter_create
    - isc_ht_iter_next
    - snprintf
    - assert_non_null
    - isc_ht_init
    - isc_ht_iter_destroy
    - isc_ht_iter_current
    - assert_null
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: void test_ht_iterator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - test_ht_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_1_120)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - test_ht_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_6_1000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/ht_test.c:311,1
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_ht_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_24_200000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/ht_test.c:317,1
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_ht_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_1_48000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/ht_test.c:323,1
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_ht_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_8_20000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/ht_test.c:330,1
    - Dst: test_ht_iterator
      Src: /src/bind9/tests/isc/ht_test.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - test_ht_iterator
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_init
      Src: /src/bind9/tests/isc/ht_test.c:344,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:345,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:347,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:348,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:350,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:351,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:353,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:354,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:356,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:357,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:358,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:360,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:361,1
    - Dst: isc_ht_init
      Src: /src/bind9/tests/isc/ht_test.c:363,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:364,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:366,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:367,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:369,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:370,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:372,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:373,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:375,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:376,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:377,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:379,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 381
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - assert_int_equal
    - isc_ht_destroy
    - assert_non_null
    - isc_ht_init
    - assert_ptr_equal
    - assert_null
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/loop_test.c:42,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/loop_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: count
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 11
    functionsReached:
    - UNUSED
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void count(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/loop_test.c:49,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:51,1
    - Dst: isc_thread_yield
      Src: /src/bind9/tests/isc/loop_test.c:52,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/loop_test.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: shutdown_loopmgr
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - isc_loopmgr_shutdown
    - UNUSED
    - isc_thread_yield
    linkageType: ''
    returnType: void
    signature: void shutdown_loopmgr(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/loop_test.c:59,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/tests/isc/loop_test.c:61,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:62,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/loop_test.c:66,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_loopmgr_setup
    - isc_loopmgr_run
    - atomic_load
    - atomic_store
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/loop_test.c:71,1
    - Dst: isc_tid
      Src: /src/bind9/tests/isc/loop_test.c:72,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/loop_test.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: runjob
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_async_current
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void runjob(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/loop_test.c:78,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/tests/isc/loop_test.c:80,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/loop_test.c:82,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_loopmgr_setup
    - isc_loopmgr_run
    - atomic_load
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_runjob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/loop_test.c:87,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/tests/isc/loop_test.c:89,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/loop_test.c:91,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:91,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/loop_test.c:96,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/loop_test.c:99,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/tests/isc/loop_test.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: pause_loopmgr
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_loopmgr_pause
    - UNUSED
    - atomic_init
    - isc_loopmgr_resume
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void pause_loopmgr(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:105,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:106,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/loop_test.c:112,1
    - Dst: kill
      Src: /src/bind9/tests/isc/loop_test.c:114,1
    - Dst: getpid
      Src: /src/bind9/tests/isc/loop_test.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: send_sigint
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - getpid
    - UNUSED
    - kill
    linkageType: ''
    returnType: void
    signature: void send_sigint(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:118,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_sigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/loop_test.c:124,1
    - Dst: kill
      Src: /src/bind9/tests/isc/loop_test.c:126,1
    - Dst: getpid
      Src: /src/bind9/tests/isc/loop_test.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: send_sigterm
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - getpid
    - UNUSED
    - kill
    linkageType: ''
    returnType: void
    signature: void send_sigterm(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:130,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_sigterm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: TEST_INPUT
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_INPUT(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_new
      Src: /src/bind9/tests/isc/md_test.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: _setup
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 21
    functionsReached:
    - isc_md_new
    linkageType: ''
    returnType: int
    signature: int _setup(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_free
      Src: /src/bind9/tests/isc/md_test.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: _teardown
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 11
    functionsReached:
    - isc_md_free
    linkageType: ''
    returnType: int
    signature: int _teardown(void **state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: _reset
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 18
    functionsReached:
    - isc_md_reset
    linkageType: ''
    returnType: int
    signature: int _reset(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_new
      Src: /src/bind9/tests/isc/md_test.c:72,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:73,1
    - Dst: isc_md_free
      Src: /src/bind9/tests/isc/md_test.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - isc_md_free
    - isc_md_new
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_new
      Src: /src/bind9/tests/isc/md_test.c:78,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:79,1
    - Dst: isc_md_free
      Src: /src/bind9/tests/isc/md_test.c:80,1
    - Dst: isc_md_free
      Src: /src/bind9/tests/isc/md_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - isc_md_free
    - isc_md_new
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:89,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:90,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:93,1
    - Dst: isc_md_update
      Src: /src/bind9/tests/isc/md_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:100,1
    - Dst: isc_md_final
      Src: /src/bind9/tests/isc/md_test.c:100,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/md_test.c:105,1
    - Dst: isc_hex_totext
      Src: /src/bind9/tests/isc/md_test.c:107,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/md_test.c:109,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/md_test.c:111,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/md_test.c:111,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:112,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - md
    - type
    - buf
    - buflen
    - result
    - repeats
    argTypes:
    - isc_md_t*
    - isc_md_type_t*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 113
    functionName: isc_md_test
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - isc_md_init
    - assert_int_equal
    - isc_md_reset
    - isc_buffer_init
    - strlen
    - assert_non_null
    - assert_return_code
    - isc_hex_totext
    - isc_md_final
    - isc_md_update
    linkageType: ''
    returnType: void
    signature: "void isc_md_test(isc_md_t *md, const isc_md_type_t *type, const char
      *buf,\n\t    size_t buflen, const char *result, const size_t repeats)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:117,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/md_test.c:119,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:119,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:121,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:121,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/tests/isc/md_test.c:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:124,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:127,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:127,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:128,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:128,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:131,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:131,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:132,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:132,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:134,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:134,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:135,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:135,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:137,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:138,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:138,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:140,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:140,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:141,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:143,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:143,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:144,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 145
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_md_init
    - assert_int_equal
    - isc_md_reset
    - isc_crypto_fips_mode
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:149,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/md_test.c:152,1
    - Dst: isc_md_update
      Src: /src/bind9/tests/isc/md_test.c:152,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:154,1
    - Dst: isc_md_update
      Src: /src/bind9/tests/isc/md_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:155,1
    - Dst: isc_md_update
      Src: /src/bind9/tests/isc/md_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - assert_int_equal
    - assert_non_null
    - isc_md_update
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_update)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:166,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:168,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:169,1
    - Dst: isc_md_update
      Src: /src/bind9/tests/isc/md_test.c:169,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:171,1
    - Dst: isc_md_update
      Src: /src/bind9/tests/isc/md_test.c:171,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:174,1
    - Dst: isc_md_reset
      Src: /src/bind9/tests/isc/md_test.c:174,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/md_test.c:182,1
    - Dst: isc_md_final
      Src: /src/bind9/tests/isc/md_test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_md_init
    - assert_int_equal
    - isc_md_reset
    - assert_non_null
    - isc_md_final
    - isc_md_update
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_reset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/md_test.c:188,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/md_test.c:194,1
    - Dst: isc_md_final
      Src: /src/bind9/tests/isc/md_test.c:194,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/md_test.c:196,1
    - Dst: isc_md_final
      Src: /src/bind9/tests/isc/md_test.c:196,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:198,1
    - Dst: isc_md_init
      Src: /src/bind9/tests/isc/md_test.c:198,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/md_test.c:199,1
    - Dst: isc_md_final
      Src: /src/bind9/tests/isc/md_test.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_md_init
    - assert_int_equal
    - assert_non_null
    - isc_md_final
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_final)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/tests/isc/md_test.c:205,1
    - Dst: skip
      Src: /src/bind9/tests/isc/md_test.c:206,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:210,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:211,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:211,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:213,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:213,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:215,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:215,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:217,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:217,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:219,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:219,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:221,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:222,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:225,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 229
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_md_test
    - isc_crypto_fips_mode
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:233,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:234,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:234,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:236,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:236,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:238,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:239,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:242,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:242,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:244,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:245,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:247,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:247,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:249,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:250,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:253,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 272
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - isc_md_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_sha1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:277,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:278,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:278,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:281,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:281,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:285,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:286,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:291,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:291,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:295,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:296,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:300,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:300,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:304,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:305,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:310,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 331
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - isc_md_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_sha224)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:336,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:337,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:337,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:342,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:342,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:346,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:347,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:352,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:352,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:356,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:357,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:361,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:361,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:365,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:366,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:371,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 392
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - isc_md_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_sha256)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:397,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:398,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:398,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:404,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:404,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:409,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:410,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:417,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:417,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:422,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:423,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:428,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:428,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:433,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:434,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:440,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 468
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - isc_md_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_sha384)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:473,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:474,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:474,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:479,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:479,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:484,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:485,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:492,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:492,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:497,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:498,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:503,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:503,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:508,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:509,1
    - Dst: isc_md_test
      Src: /src/bind9/tests/isc/md_test.c:515,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/md_test.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 543
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/md_test.c
    functionUses: 0
    functionsReached:
    - isc_md_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_md_sha512)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/isc/tlsdns_test.c:54,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:56,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/tlsdns_test.c:58,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/tlsdns_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nworkers
    - accept_cb
    - recv_cb
    argTypes:
    - uint32_t
    - isc_nm_accept_cb_t
    - isc_nm_recv_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: start_listening
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenstreamdns
    - assert_int_equal
    - get_proxy_type
    - isc_loop_teardown
    linkageType: ''
    returnType: void
    signature: "void start_listening(uint32_t nworkers, isc_nm_accept_cb_t accept_cb,\n\t\tisc_nm_recv_cb_t
      recv_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:65,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: tlsdns_connect
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - get_proxy_type
    - isc_nm_streamdnsconnect
    linkageType: ''
    returnType: void
    signature: void tlsdns_connect(isc_nm_t *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:72,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:75,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:76,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - get_proxy_type
    - isc_nm_streamdnsconnect
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tlsdns_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:84,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:86,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:87,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - get_proxy_type
    - isc_nm_streamdnsconnect
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tlsdns_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:100,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/tlsdns_test.c:108,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/tlsdns_test.c:109,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/tlsdns_test.c:110,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/tlsdns_test.c:111,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/tlsdns_test.c:112,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:114,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:115,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_setinitialtimeout
    - isc_nm_setprimariestimeout
    - isc_refcount_increment0
    - get_proxy_type
    - isc_nm_setidletimeout
    - isc_nm_setadvertisedtimeout
    - isc_nm_streamdnsconnect
    - isc_nm_setkeepalivetimeout
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tlsdns_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:122,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:124,1
    - Dst: tlsdns_connect
      Src: /src/bind9/tests/isc/tlsdns_test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - tlsdns_connect
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tlsdns_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:129,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:131,1
    - Dst: tlsdns_connect
      Src: /src/bind9/tests/isc/tlsdns_test.c:132,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:134,1
    - Dst: tlsdns_connect
      Src: /src/bind9/tests/isc/tlsdns_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 136
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - tlsdns_connect
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tlsdns_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:139,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/tlsdns_test.c:142,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/tlsdns_test.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loop_get
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tlsdns_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_noop
      Src: /src/bind9/tests/isc/tlsdns_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tlsdns_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_noresponse
      Src: /src/bind9/tests/isc/tlsdns_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tlsdns_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_timeout_recovery
      Src: /src/bind9/tests/isc/tlsdns_test.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tlsdns_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_recv_one
      Src: /src/bind9/tests/isc/tlsdns_test.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 159
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tlsdns_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_recv_two
      Src: /src/bind9/tests/isc/tlsdns_test.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tlsdns_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_recv_send
      Src: /src/bind9/tests/isc/tlsdns_test.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 163
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tlsdns_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_noop
      Src: /src/bind9/tests/isc/tlsdns_test.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_tlsdns_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_noresponse
      Src: /src/bind9/tests/isc/tlsdns_test.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_tlsdns_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_timeout_recovery
      Src: /src/bind9/tests/isc/tlsdns_test.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_tlsdns_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_recv_one
      Src: /src/bind9/tests/isc/tlsdns_test.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_tlsdns_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_recv_two
      Src: /src/bind9/tests/isc/tlsdns_test.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_tlsdns_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tlsdns_recv_send
      Src: /src/bind9/tests/isc/tlsdns_test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tlsdns_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_tlsdns_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: tlsdns_setup
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ISC_TEST_LIST_END
    signature: ISC_TEST_LIST_END tlsdns_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/result_test.c:36,1
    - Dst: isc_result_toid
      Src: /src/bind9/tests/isc/result_test.c:38,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/result_test.c:39,1
    - Dst: isc_result_toid
      Src: /src/bind9/tests/isc/result_test.c:41,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/result_test.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/result_test.c
    functionUses: 0
    functionsReached:
    - isc_result_toid
    - UNUSED
    - assert_string_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_result_toid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/result_test.c:49,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/result_test.c:51,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/result_test.c:52,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/result_test.c:54,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/result_test.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/result_test.c
    functionUses: 0
    functionsReached:
    - assert_string_equal
    - UNUSED
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_result_totext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mempool_create
      Src: /src/bind9/tests/isc/mem_test.c:59,1
    - Dst: isc_mempool_create
      Src: /src/bind9/tests/isc/mem_test.c:60,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/tests/isc/mem_test.c:62,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/tests/isc/mem_test.c:63,1
    - Dst: isc_mempool_get
      Src: /src/bind9/tests/isc/mem_test.c:69,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:70,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:78,1
    - Dst: isc_mempool_getfreecount
      Src: /src/bind9/tests/isc/mem_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:83,1
    - Dst: isc_mempool_getallocated
      Src: /src/bind9/tests/isc/mem_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:87,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/tests/isc/mem_test.c:94,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/tests/isc/mem_test.c:95,1
    - Dst: isc_mempool_get
      Src: /src/bind9/tests/isc/mem_test.c:99,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:100,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:103,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:111,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/tests/isc/mem_test.c:114,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/tests/isc/mem_test.c:115,1
    - Dst: isc_mempool_create
      Src: /src/bind9/tests/isc/mem_test.c:117,1
    - Dst: isc_mempool_get
      Src: /src/bind9/tests/isc/mem_test.c:119,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:120,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:122,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/tests/isc/mem_test.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 125
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc_mempool_setfillcount
    - isc_mempool_setfreemax
    - assert_int_equal
    - isc_mempool_put
    - isc_mempool_getallocated
    - isc_mempool_getfreecount
    - assert_non_null
    - isc_mempool_create
    - isc_mempool_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_get)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:135,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:142,1
    - Dst: skip
      Src: /src/bind9/tests/isc/mem_test.c:144,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/mem_test.c:148,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:149,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - skip
    - isc_mem_cget
    - isc_mem_get
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_cget_zero)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:160,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:167,1
    - Dst: skip
      Src: /src/bind9/tests/isc/mem_test.c:169,1
    - Dst: isc_mem_callocate
      Src: /src/bind9/tests/isc/mem_test.c:173,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:174,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - skip
    - isc_mem_free
    - isc_mem_get
    - isc_mem_put
    - isc_mem_callocate
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_callocate_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:186,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/isc/mem_test.c:188,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:189,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:190,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/isc/mem_test.c:191,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:195,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_detach
    - assert_int_equal
    - isc_mem_inuse
    - isc_mem_allocate
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_inuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:203,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:204,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - assert_non_null
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_zeroget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_reget
      Src: /src/bind9/tests/isc/mem_test.c:216,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:217,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:218,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:221,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:222,1
    - Dst: isc_mem_reget
      Src: /src/bind9/tests/isc/mem_test.c:224,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:225,1
    - Dst: isc_mem_reget
      Src: /src/bind9/tests/isc/mem_test.c:231,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:232,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:235,1
    - Dst: isc_mem_reget
      Src: /src/bind9/tests/isc/mem_test.c:242,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:243,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:246,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 250
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_mem_get
    - isc_mem_reget
    - assert_non_null
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_reget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:256,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:257,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:258,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:261,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:262,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:264,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:265,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:271,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:272,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:275,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:282,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:286,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 290
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - assert_int_equal
    - assert_non_null
    - isc_mem_reallocate
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_reallocate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:294,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:295,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/tests/isc/mem_test.c:297,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:300,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:301,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:301,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:304,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:305,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:305,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:308,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/mem_test.c:309,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:309,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:312,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/mem_test.c:313,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:313,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:316,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:317,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:317,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:320,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:321,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:321,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 324
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_mem_free
    - isc_mem_detach
    - assert_false
    - assert_non_null
    - isc_mem_setwater
    - isc_mem_isovermem
    - isc_mem_allocate
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_overmem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:336,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:337,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:340,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:341,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:342,1
    - Dst: isc__mem_printactive
      Src: /src/bind9/tests/isc/mem_test.c:343,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:344,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:345,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:347,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mem_test.c:349,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:350,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:351,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/isc/mem_test.c:352,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:353,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:354,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/isc/mem_test.c:355,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:359,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/mem_test.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 361
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_mem_detach
    - assert_int_equal
    - strchr
    - isc_stdio_read
    - isc_file_remove
    - isc_mem_get
    - assert_non_null
    - isc_stdio_open
    - isc__mem_printactive
    - isc_mem_put
    - isc_mem_create
    - assert_null
    - isc_stdio_close
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_noflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:373,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:374,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:376,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:378,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:379,1
    - Dst: isc__mem_get
      Src: /src/bind9/tests/isc/mem_test.c:388,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:389,1
    - Dst: isc__mem_printactive
      Src: /src/bind9/tests/isc/mem_test.c:392,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:393,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:394,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:395,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:396,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mem_test.c:398,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:399,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:400,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/isc/mem_test.c:401,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:402,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:403,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/isc/mem_test.c:404,1
    - Dst: strstr
      Src: /src/bind9/tests/isc/mem_test.c:413,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:414,1
    - Dst: strstr
      Src: /src/bind9/tests/isc/mem_test.c:421,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:422,1
    - Dst: strstr
      Src: /src/bind9/tests/isc/mem_test.c:423,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 425
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc__mem_get
    - memset
    - isc_mem_detach
    - assert_int_equal
    - isc_stdio_read
    - isc_file_remove
    - isc_mem_get
    - assert_non_null
    - isc_stdio_open
    - isc__mem_printactive
    - isc_mem_put
    - isc_mem_create
    - strstr
    - isc_stdio_close
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_recordflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freopen
      Src: /src/bind9/tests/isc/mem_test.c:436,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:437,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:440,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:441,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:442,1
    - Dst: isc__mem_printactive
      Src: /src/bind9/tests/isc/mem_test.c:443,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:444,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:445,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:447,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mem_test.c:449,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:450,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:451,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/isc/mem_test.c:452,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:453,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:454,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/isc/mem_test.c:455,1
    - Dst: freopen
      Src: /src/bind9/tests/isc/mem_test.c:458,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:462,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:463,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:464,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:466,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:467,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:468,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:469,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:470,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/isc/mem_test.c:471,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:472,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:473,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:474,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 476
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - memset
    - isc_mem_detach
    - assert_int_equal
    - strchr
    - assert_in_range
    - isc_stdio_read
    - isc_file_remove
    - isc_mem_get
    - assert_non_null
    - isc__mem_printactive
    - isc_stdio_open
    - freopen
    - isc_mem_put
    - isc_mem_create
    - isc_stdio_close
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_traceflag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/mem_test.c:491,1
    - Dst: atomic_compare_exchange_weak
      Src: /src/bind9/tests/isc/mem_test.c:492,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:498,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 506
    functionName: mem_thread
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - isc_mem_get
    - atomic_compare_exchange_weak
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MAX
      Src: /src/bind9/tests/isc/mem_test.c:509,1
    - Dst: ISC_MIN
      Src: /src/bind9/tests/isc/mem_test.c:509,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/isc/mem_test.c:509,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/mem_test.c:514,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/mem_test.c:516,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/mem_test.c:519,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/mem_test.c:522,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/mem_test.c:525,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/mem_test.c:527,1
    - Dst: printf
      Src: /src/bind9/tests/isc/mem_test.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 534
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_join
    - ISC_MIN
    - isc_thread_create
    - atomic_init
    - isc_time_now
    - printf
    - isc_os_ncpus
    - isc_time_microdiff
    - ISC_MAX
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_benchmark)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: F
    functionSourceFile: /src/bind9/tests/isc/file_test.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/bind9/tests/isc/file_test.c:50,1
    - Dst: creat
      Src: /src/bind9/tests/isc/file_test.c:51,1
    - Dst: close
      Src: /src/bind9/tests/isc/file_test.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: touch
    functionSourceFile: /src/bind9/tests/isc/file_test.c
    functionUses: 0
    functionsReached:
    - creat
    - close
    - unlink
    linkageType: ''
    returnType: void
    signature: void touch(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/file_test.c:62,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/file_test.c:64,1
    - Dst: chdir
      Src: /src/bind9/tests/isc/file_test.c:64,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/tests/isc/file_test.c:66,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:67,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:68,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/file_test.c:68,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:68,1
    - Dst: touch
      Src: /src/bind9/tests/isc/file_test.c:70,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:70,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/tests/isc/file_test.c:71,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:73,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/file_test.c:73,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:73,1
    - Dst: touch
      Src: /src/bind9/tests/isc/file_test.c:75,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:75,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/tests/isc/file_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:77,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:78,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/file_test.c:78,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:78,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/tests/isc/file_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:82,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/file_test.c:82,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:82,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/tests/isc/file_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:85,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:86,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/file_test.c:86,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:86,1
    - Dst: unlink
      Src: /src/bind9/tests/isc/file_test.c:88,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:88,1
    - Dst: unlink
      Src: /src/bind9/tests/isc/file_test.c:89,1
    - Dst: F
      Src: /src/bind9/tests/isc/file_test.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/file_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert_int_equal
    - UNUSED
    - chdir
    - F
    - assert_return_code
    - isc_file_sanitize
    - touch
    - unlink
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_file_sanitize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/file_test.c:97,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/file_test.c:99,1
    - Dst: chdir
      Src: /src/bind9/tests/isc/file_test.c:99,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:101,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:103,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:104,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:106,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:108,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:109,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:111,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:113,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:114,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:116,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:118,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:119,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:121,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:122,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:123,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:125,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:127,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:128,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:130,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:131,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/file_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_file_template
    - chdir
    - assert_return_code
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_file_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noop
      Src: /src/bind9/tests/isc/proxyudp_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noresponse
      Src: /src/bind9/tests/isc/proxyudp_test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_timeout_recovery
      Src: /src/bind9/tests/isc/proxyudp_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_connect
      Src: /src/bind9/tests/isc/proxyudp_test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_connect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_shutdown_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_read
      Src: /src/bind9/tests/isc/proxyudp_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_read
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_shutdown_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_cancel_read
      Src: /src/bind9/tests/isc/proxyudp_test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_cancel_read
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_cancel_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_one
      Src: /src/bind9/tests/isc/proxyudp_test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_proxyheader_info_init_complete
      Src: /src/bind9/tests/isc/proxyudp_test.c:79,1
    - Dst: set_proxyheader_info
      Src: /src/bind9/tests/isc/proxyudp_test.c:81,1
    - Dst: udp_recv_one
      Src: /src/bind9/tests/isc/proxyudp_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_one
    - set_proxyheader_info
    - isc_nm_proxyheader_info_init_complete
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_recv_one_prerendered)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_two
      Src: /src/bind9/tests/isc/proxyudp_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_send
      Src: /src/bind9/tests/isc/proxyudp_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_double_read
      Src: /src/bind9/tests/isc/proxyudp_test.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyudp_test.c
    functionUses: 0
    functionsReached:
    - udp_double_read
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxyudp_double_read)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/tests/isc/spinlock_test.c:52,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/spinlock_test.c:54,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:56,1
    - Dst: getenv
      Src: /src/bind9/tests/isc/spinlock_test.c:58,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/spinlock_test.c:60,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: setup_env
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - assert_int_not_equal
    - atoi
    - getenv
    linkageType: ''
    returnType: int
    signature: int setup_env(void **unused __attribute__((__unused__)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_spinlock_init
      Src: /src/bind9/tests/isc/spinlock_test.c:70,1
    - Dst: isc_spinlock_lock
      Src: /src/bind9/tests/isc/spinlock_test.c:73,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:74,1
    - Dst: isc_spinlock_unlock
      Src: /src/bind9/tests/isc/spinlock_test.c:75,1
    - Dst: isc_spinlock_destroy
      Src: /src/bind9/tests/isc/spinlock_test.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - isc_spinlock_init
    - isc_spinlock_lock
    - isc_pause_n
    - isc_spinlock_unlock
    - isc_spinlock_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_spinlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_spin_lock
      Src: /src/bind9/tests/isc/spinlock_test.c:98,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:100,1
    - Dst: pthread_spin_unlock
      Src: /src/bind9/tests/isc/spinlock_test.c:102,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: pthread_spin_thread
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - pthread_spin_lock
    - isc_pause_n
    - pthread_spin_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_spin_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_spinlock_lock
      Src: /src/bind9/tests/isc/spinlock_test.c:117,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:119,1
    - Dst: isc_spinlock_unlock
      Src: /src/bind9/tests/isc/spinlock_test.c:121,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: isc_spinlock_thread
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - isc_spinlock_lock
    - isc_pause_n
    - isc_spinlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_spinlock_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/spinlock_test.c:129,1
    - Dst: memset
      Src: /src/bind9/tests/isc/spinlock_test.c:135,1
    - Dst: pthread_spin_init
      Src: /src/bind9/tests/isc/spinlock_test.c:143,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:144,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:146,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/spinlock_test.c:155,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/spinlock_test.c:159,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:164,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:166,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/spinlock_test.c:168,1
    - Dst: printf
      Src: /src/bind9/tests/isc/spinlock_test.c:170,1
    - Dst: pthread_spin_destroy
      Src: /src/bind9/tests/isc/spinlock_test.c:176,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:177,1
    - Dst: isc_spinlock_init
      Src: /src/bind9/tests/isc/spinlock_test.c:182,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:184,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/spinlock_test.c:193,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/spinlock_test.c:197,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:202,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:204,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/spinlock_test.c:206,1
    - Dst: printf
      Src: /src/bind9/tests/isc/spinlock_test.c:208,1
    - Dst: isc_spinlock_destroy
      Src: /src/bind9/tests/isc/spinlock_test.c:214,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/spinlock_test.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 217
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_join
    - memset
    - isc_spinlock_init
    - isc_mem_cget
    - assert_int_equal
    - pthread_spin_destroy
    - isc_thread_create
    - pthread_spin_init
    - isc_mem_cput
    - printf
    - isc_spinlock_destroy
    - isc_time_now_hires
    - assert_int_not_equal
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_spinlock_benchmark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/safe_test.c:35,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/safe_test.c:37,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/tests/isc/safe_test.c:37,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/safe_test.c:38,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/tests/isc/safe_test.c:38,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/safe_test.c:39,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/tests/isc/safe_test.c:40,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/safe_test.c:41,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/tests/isc/safe_test.c:42,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/safe_test.c:43,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/tests/isc/safe_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/safe_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - UNUSED
    - isc_safe_memequal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_safe_memequal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/safe_test.c:49,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/tests/isc/safe_test.c:52,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/tests/isc/safe_test.c:53,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/tests/isc/safe_test.c:63,1
    - Dst: memset
      Src: /src/bind9/tests/isc/safe_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/safe_test.c:66,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/safe_test.c:66,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/tests/isc/safe_test.c:80,1
    - Dst: memset
      Src: /src/bind9/tests/isc/safe_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/safe_test.c:83,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/safe_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 85
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/safe_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - UNUSED
    - isc_safe_memwipe
    - memcmp
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_safe_memwipe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_create
      Src: /src/bind9/tests/isc/counter_test.c:37,1
    - Dst: isc_counter_increment
      Src: /src/bind9/tests/isc/counter_test.c:40,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/counter_test.c:41,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/counter_test.c:44,1
    - Dst: isc_counter_used
      Src: /src/bind9/tests/isc/counter_test.c:44,1
    - Dst: isc_counter_setlimit
      Src: /src/bind9/tests/isc/counter_test.c:46,1
    - Dst: isc_counter_increment
      Src: /src/bind9/tests/isc/counter_test.c:49,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/counter_test.c:50,1
    - Dst: isc_counter_setlimit
      Src: /src/bind9/tests/isc/counter_test.c:53,1
    - Dst: isc_counter_increment
      Src: /src/bind9/tests/isc/counter_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/counter_test.c:61,1
    - Dst: isc_counter_used
      Src: /src/bind9/tests/isc/counter_test.c:61,1
    - Dst: isc_counter_detach
      Src: /src/bind9/tests/isc/counter_test.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/counter_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_counter_used
    - isc_counter_increment
    - isc_counter_detach
    - isc_counter_create
    - isc_counter_setlimit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_counter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: igam
      Src: /src/bind9/tests/isc/random_test.c:86,1
    - Dst: log
      Src: /src/bind9/tests/isc/random_test.c:89,1
    - Dst: lgamma
      Src: /src/bind9/tests/isc/random_test.c:89,1
    - Dst: print_error
      Src: /src/bind9/tests/isc/random_test.c:91,1
    - Dst: exp
      Src: /src/bind9/tests/isc/random_test.c:94,1
    - Dst: fabs
      Src: /src/bind9/tests/isc/random_test.c:116,1
    - Dst: fabs
      Src: /src/bind9/tests/isc/random_test.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - a
    - x
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 136
    functionName: igamc
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - log
    - lgamma
    - exp
    - igam
    - fabs
    - print_error
    linkageType: ''
    returnType: double
    signature: double igamc(double a, double x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: igamc
      Src: /src/bind9/tests/isc/random_test.c:147,1
    - Dst: log
      Src: /src/bind9/tests/isc/random_test.c:151,1
    - Dst: lgamma
      Src: /src/bind9/tests/isc/random_test.c:151,1
    - Dst: print_error
      Src: /src/bind9/tests/isc/random_test.c:153,1
    - Dst: exp
      Src: /src/bind9/tests/isc/random_test.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - a
    - x
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 170
    functionName: igam
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 1
    functionsReached:
    - log
    - lgamma
    - igamc
    - exp
    - print_error
    linkageType: ''
    returnType: double
    signature: double igam(double a, double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 195
    functionName: scount_calculate
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: int8_t scount_calculate(uint16_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: bitcount_calculate
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t bitcount_calculate(uint16_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scount_calculate
      Src: /src/bind9/tests/isc/random_test.c:222,1
    - Dst: bitcount_calculate
      Src: /src/bind9/tests/isc/random_test.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: tables_init
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - scount_calculate
    - bitcount_calculate
    linkageType: ''
    returnType: void
    signature: void tables_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - bits
    - rows
    - cols
    argTypes:
    - uint32_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 278
    functionName: matrix_binaryrank
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t matrix_binaryrank(uint32_t *bits, size_t rows, size_t cols)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tables_init
      Src: /src/bind9/tests/isc/random_test.c:293,1
    - Dst: isc_random8
      Src: /src/bind9/tests/isc/random_test.c:308,1
    - Dst: isc_random16
      Src: /src/bind9/tests/isc/random_test.c:314,1
    - Dst: isc_random32
      Src: /src/bind9/tests/isc/random_test.c:320,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/isc/random_test.c:324,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/random_test.c:333,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/random_test.c:337,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/isc/random_test.c:346,1
    - Dst: floor
      Src: /src/bind9/tests/isc/random_test.c:348,1
    - Dst: sqrt
      Src: /src/bind9/tests/isc/random_test.c:359,1
    - Dst: sqrt
      Src: /src/bind9/tests/isc/random_test.c:360,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/isc/random_test.c:362,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:376,1
    - Dst: igamc
      Src: /src/bind9/tests/isc/random_test.c:389,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 2
    argNames:
    - func
    - test_func
    argTypes:
    - pvalue_func_t*
    - isc_random_func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 392
    functionName: random_test
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_random16
    - igamc
    - isc_nonce_buf
    - assert_in_range
    - isc_random8
    - sqrt
    - isc_random32
    - floor
    - isc_random_uniform
    - isc_random_buf
    - tables_init
    linkageType: ''
    returnType: void
    signature: void random_test(pvalue_func_t *func, isc_random_func test_func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:406,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:416,1
    - Dst: abs
      Src: /src/bind9/tests/isc/random_test.c:418,1
    - Dst: sqrt
      Src: /src/bind9/tests/isc/random_test.c:418,1
    - Dst: erfc
      Src: /src/bind9/tests/isc/random_test.c:419,1
    - Dst: sqrt
      Src: /src/bind9/tests/isc/random_test.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - values
    - length
    argTypes:
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: monobit
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - erfc
    - assert_true
    - abs
    - UNUSED
    - sqrt
    linkageType: ''
    returnType: double
    signature: double monobit(uint16_t *values, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:442,1
    - Dst: sqrt
      Src: /src/bind9/tests/isc/random_test.c:452,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:455,1
    - Dst: fabs
      Src: /src/bind9/tests/isc/random_test.c:462,1
    - Dst: fabs
      Src: /src/bind9/tests/isc/random_test.c:489,1
    - Dst: sqrt
      Src: /src/bind9/tests/isc/random_test.c:490,1
    - Dst: erfc
      Src: /src/bind9/tests/isc/random_test.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - values
    - length
    argTypes:
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 495
    functionName: runs
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - erfc
    - UNUSED
    - sqrt
    - fabs
    linkageType: ''
    returnType: double
    signature: double runs(uint16_t *values, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:518,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:519,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:520,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:521,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:522,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/random_test.c:524,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/random_test.c:525,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/random_test.c:547,1
    - Dst: igamc
      Src: /src/bind9/tests/isc/random_test.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - values
    - length
    argTypes:
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 552
    functionName: blockfrequency
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - igamc
    - isc_mem_cget
    - assert_non_null
    - isc_mem_cput
    linkageType: ''
    returnType: double
    signature: double blockfrequency(uint16_t *values, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:574,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/random_test.c:582,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/random_test.c:583,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/random_test.c:584,1
    - Dst: matrix_binaryrank
      Src: /src/bind9/tests/isc/random_test.c:611,1
    - Dst: exp
      Src: /src/bind9/tests/isc/random_test.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - values
    - length
    argTypes:
    - uint16_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 638
    functionName: binarymatrixrank
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - exp
    - assert_int_equal
    - UNUSED
    - matrix_binaryrank
    linkageType: ''
    returnType: double
    signature: double binarymatrixrank(uint16_t *values, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:646,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/random_test.c:648,1
    - Dst: isc_random32
      Src: /src/bind9/tests/isc/random_test.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - assert_int_not_equal
    - UNUSED
    - isc_random32
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random32_initialized)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:653,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 656
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random32_monobit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:660,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random32_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:667,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random32_blockfrequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:674,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random32_binarymatrixrank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:685,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_bytes_monobit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:692,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_bytes_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:699,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_bytes_blockfrequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:706,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_bytes_binarymatrixrank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:717,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 720
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_uniform_monobit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:724,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 723
    functionDepth: 3
    functionLinenumber: 723
    functionLinenumberEnd: 727
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_uniform_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:731,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 734
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_uniform_blockfrequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:738,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_random_uniform_binarymatrixrank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:747,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 750
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_nonce_bytes_monobit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:754,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_nonce_bytes_runs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:761,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 764
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_nonce_bytes_blockfrequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/random_test.c:768,1
    - Dst: random_test
      Src: /src/bind9/tests/isc/random_test.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/random_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - random_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_nonce_bytes_binarymatrixrank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_errno_toresult
      Src: /src/bind9/tests/isc/errno_test.c:98,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/errno_test.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/errno_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_errno_toresult
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_errno_toresult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:43,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:44,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:46,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:49,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:50,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:52,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:55,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:56,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:58,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:61,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hash_test.c:62,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/hash_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hash_test.c
    functionUses: 0
    functionsReached:
    - isc_hash32
    - assert_int_equal
    - assert_int_not_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hash32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:73,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:76,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:79,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:82,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:85,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:88,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:91,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:92,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/hash_test.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hash_test.c
    functionUses: 0
    functionsReached:
    - assert_int_not_equal
    - assert_int_equal
    - isc_hash64
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hash64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:102,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:103,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:105,1
    - Dst: isc_hash_set_initializer
      Src: /src/bind9/tests/isc/hash_test.c:107,1
    - Dst: isc_hash_get_initializer
      Src: /src/bind9/tests/isc/hash_test.c:107,1
    - Dst: isc_hash64
      Src: /src/bind9/tests/isc/hash_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hash_test.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hash_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_hash_set_initializer
    - isc_hash_get_initializer
    - isc_hash64
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hash_initializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/isc/tcpdns_test.c:55,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tcpdns_test.c:57,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/tcpdns_test.c:58,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/tcpdns_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nworkers
    - accept_cb
    - recv_cb
    argTypes:
    - uint32_t
    - isc_nm_accept_cb_t
    - isc_nm_recv_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: start_listening
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 6
    functionsReached:
    - isc_nm_listenstreamdns
    - assert_int_equal
    - get_proxy_type
    - isc_loop_teardown
    linkageType: ''
    returnType: void
    signature: "void start_listening(uint32_t nworkers, isc_nm_accept_cb_t accept_cb,\n\t\tisc_nm_recv_cb_t
      recv_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tcpdns_test.c:65,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tcpdns_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tcpdns_connect
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - get_proxy_type
    - isc_nm_streamdnsconnect
    linkageType: ''
    returnType: void
    signature: void tcpdns_connect(isc_nm_t *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tcpdns_test.c:71,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tcpdns_test.c:74,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tcpdns_test.c:75,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tcpdns_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - get_proxy_type
    - isc_nm_streamdnsconnect
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcpdns_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tcpdns_test.c:81,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tcpdns_test.c:83,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tcpdns_test.c:84,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tcpdns_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - get_proxy_type
    - isc_nm_streamdnsconnect
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcpdns_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tcpdns_test.c:95,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/tcpdns_test.c:103,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/tcpdns_test.c:104,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/tcpdns_test.c:105,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/tcpdns_test.c:106,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/tcpdns_test.c:107,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_setinitialtimeout
    - isc_nm_setprimariestimeout
    - isc_nm_setidletimeout
    - isc_async_current
    - isc_nm_setadvertisedtimeout
    - isc_nm_setkeepalivetimeout
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcpdns_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tcpdns_test.c:113,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_async_current
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcpdns_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tcpdns_test.c:119,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:121,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_async_current
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcpdns_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tcpdns_test.c:127,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/tcpdns_test.c:130,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/tcpdns_test.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loop_get
    - start_listening
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcpdns_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tcpdns_noop
      Src: /src/bind9/tests/isc/tcpdns_test.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tcpdns_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tcpdns_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tcpdns_noresponse
      Src: /src/bind9/tests/isc/tcpdns_test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tcpdns_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tcpdns_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tcpdns_timeout_recovery
      Src: /src/bind9/tests/isc/tcpdns_test.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tcpdns_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tcpdns_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tcpdns_recv_one
      Src: /src/bind9/tests/isc/tcpdns_test.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tcpdns_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tcpdns_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tcpdns_recv_two
      Src: /src/bind9/tests/isc/tcpdns_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 149
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tcpdns_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tcpdns_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loop_test_tcpdns_recv_send
      Src: /src/bind9/tests/isc/tcpdns_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - loop_test_tcpdns_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_tcpdns_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: tcpdns_setup
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ISC_TEST_LIST_END
    signature: ISC_TEST_LIST_END tcpdns_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: TRACE
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: TRACETIME
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACETIME(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start
    argTypes:
    - isc_nanosecs_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: millis_since
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached:
    - isc_time_monotonic
    linkageType: ''
    returnType: double
    signature: double millis_since(isc_nanosecs_t start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: TRACETIME
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACETIME(...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:69,1
    - Dst: isc_histo_create
      Src: /src/bind9/tests/isc/histo_test.c:72,1
    - Dst: isc_histo_inc
      Src: /src/bind9/tests/isc/histo_test.c:74,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:83,1
    - Dst: isc_histo_inc
      Src: /src/bind9/tests/isc/histo_test.c:86,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:87,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:89,1
    - Dst: isc_histo_add
      Src: /src/bind9/tests/isc/histo_test.c:92,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:93,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:95,1
    - Dst: isc_histo_put
      Src: /src/bind9/tests/isc/histo_test.c:98,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:99,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:100,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:101,1
    - Dst: isc_histo_inc
      Src: /src/bind9/tests/isc/histo_test.c:105,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:106,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:108,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:114,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:115,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:118,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:123,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:126,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:134,1
    - Dst: isc_histo_moments
      Src: /src/bind9/tests/isc/histo_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:138,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/tests/isc/histo_test.c:141,1
    - Dst: TRACETIME
      Src: /src/bind9/tests/isc/histo_test.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 145
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached:
    - isc_histo_inc
    - isc_histo_put
    - assert_int_equal
    - isc_histo_destroy
    - TRACETIME
    - isc_histo_moments
    - isc_time_monotonic
    - isc_histo_add
    - isc_histo_get
    - isc_histo_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(basics)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:154,1
    - Dst: isc_histo_create
      Src: /src/bind9/tests/isc/histo_test.c:157,1
    - Dst: isc_histo_moments
      Src: /src/bind9/tests/isc/histo_test.c:160,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/histo_test.c:161,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/histo_test.c:162,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/histo_test.c:163,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:170,1
    - Dst: isc_histo_inc
      Src: /src/bind9/tests/isc/histo_test.c:171,1
    - Dst: isc_histo_inc
      Src: /src/bind9/tests/isc/histo_test.c:172,1
    - Dst: isc_histo_moments
      Src: /src/bind9/tests/isc/histo_test.c:178,1
    - Dst: assert_float_equal
      Src: /src/bind9/tests/isc/histo_test.c:179,1
    - Dst: isc_histo_quantiles
      Src: /src/bind9/tests/isc/histo_test.c:198,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:200,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:205,1
    - Dst: floor
      Src: /src/bind9/tests/isc/histo_test.c:209,1
    - Dst: ceil
      Src: /src/bind9/tests/isc/histo_test.c:210,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/isc/histo_test.c:217,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/isc/histo_test.c:218,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/isc/histo_test.c:219,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:222,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/tests/isc/histo_test.c:227,1
    - Dst: TRACETIME
      Src: /src/bind9/tests/isc/histo_test.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 231
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_histo_inc
    - isc_histo_quantiles
    - assert_int_equal
    - isc_histo_destroy
    - assert_in_range
    - assert_float_equal
    - TRACETIME
    - isc_histo_moments
    - isc_time_monotonic
    - floor
    - ceil
    - isc_histo_get
    - isc_histo_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(quantiles)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:237,1
    - Dst: isc_histo_digits_to_bits
      Src: /src/bind9/tests/isc/histo_test.c:238,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:239,1
    - Dst: isc_histo_bits_to_digits
      Src: /src/bind9/tests/isc/histo_test.c:240,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:241,1
    - Dst: isc_histo_digits_to_bits
      Src: /src/bind9/tests/isc/histo_test.c:242,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:243,1
    - Dst: isc_histo_bits_to_digits
      Src: /src/bind9/tests/isc/histo_test.c:244,1
    - Dst: isc_histo_create
      Src: /src/bind9/tests/isc/histo_test.c:251,1
    - Dst: isc_histo_bits_to_digits
      Src: /src/bind9/tests/isc/histo_test.c:253,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/histo_test.c:254,1
    - Dst: isc_histo_digits_to_bits
      Src: /src/bind9/tests/isc/histo_test.c:254,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:259,1
    - Dst: TRACE
      Src: /src/bind9/tests/isc/histo_test.c:262,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/histo_test.c:266,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:270,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/histo_test.c:277,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/tests/isc/histo_test.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 282
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - TRACE
    - assert_int_equal
    - isc_histo_destroy
    - isc_histo_bits_to_digits
    - isc_histo_digits_to_bits
    - isc_histo_get
    - isc_histo_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(sigfigs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:289,1
    - Dst: isc_histo_create
      Src: /src/bind9/tests/isc/histo_test.c:292,1
    - Dst: isc_histo_quantiles
      Src: /src/bind9/tests/isc/histo_test.c:300,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/histo_test.c:300,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:301,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:304,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:309,1
    - Dst: isc_histo_put
      Src: /src/bind9/tests/isc/histo_test.c:319,1
    - Dst: isc_histo_quantiles
      Src: /src/bind9/tests/isc/histo_test.c:321,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/histo_test.c:321,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:323,1
    - Dst: isc_histo_get
      Src: /src/bind9/tests/isc/histo_test.c:326,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:328,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:330,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:332,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/histo_test.c:334,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/tests/isc/histo_test.c:336,1
    - Dst: isc_histo_create
      Src: /src/bind9/tests/isc/histo_test.c:337,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/isc/histo_test.c:340,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/tests/isc/histo_test.c:344,1
    - Dst: TRACETIME
      Src: /src/bind9/tests/isc/histo_test.c:346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 348
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/histo_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - isc_histo_put
    - isc_histo_quantiles
    - assert_int_equal
    - isc_histo_destroy
    - TRACETIME
    - isc_time_monotonic
    - isc_histo_get
    - isc_histo_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(subrange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netaddr_test.c:48,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/netaddr_test.c:52,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/netaddr_test.c:53,1
    - Dst: isc_netaddr_isnetzero
      Src: /src/bind9/tests/isc/netaddr_test.c:54,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netaddr_test.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/netaddr_test.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - inet_addr
    - assert_int_equal
    - isc_netaddr_isnetzero
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(netaddr_isnetzero)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/netaddr_test.c:77,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netaddr_test.c:86,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netaddr_test.c:86,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/netaddr_test.c:88,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netaddr_test.c:94,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netaddr_test.c:94,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/tests/isc/netaddr_test.c:96,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netaddr_test.c:100,1
    - Dst: isc_netaddr_masktoprefixlen
      Src: /src/bind9/tests/isc/netaddr_test.c:103,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netaddr_test.c:104,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netaddr_test.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 107
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/netaddr_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_netaddr_fromin
    - ARRAY_SIZE
    - assert_int_equal
    - inet_pton
    - isc_netaddr_masktoprefixlen
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(netaddr_masktoprefixlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netaddr_test.c:122,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netaddr_test.c:131,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netaddr_test.c:133,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/netaddr_test.c:134,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netaddr_test.c:136,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netaddr_test.c:138,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/tests/isc/netaddr_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netaddr_test.c:142,1
    - Dst: isc_netaddr_ismulticast
      Src: /src/bind9/tests/isc/netaddr_test.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 145
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/netaddr_test.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - assert_int_equal
    - UNUSED
    - inet_pton
    - isc_netaddr_ismulticast
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(netaddr_multicast)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:43,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:44,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/tests/isc/ratelimiter_test.c:44,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:45,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/tests/isc/ratelimiter_test.c:45,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:46,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/tests/isc/ratelimiter_test.c:48,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:49,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:50,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_ratelimiter_shutdown
    - isc_loopmgr_shutdown
    - isc_ratelimiter_detach
    - isc_ratelimiter_create
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ratelimiter_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:56,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:57,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:57,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:58,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:58,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_ratelimiter_shutdown
    - isc_loopmgr_shutdown
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ratelimiter_shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:64,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:66,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:66,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:67,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:67,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_loopmgr_shutdown
    - assert_null
    - isc_ratelimiter_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ratelimiter_detach)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rlevent_free
      Src: /src/bind9/tests/isc/ratelimiter_test.c:80,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/ratelimiter_test.c:81,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/ratelimiter_test.c:85,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:87,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:88,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: tick
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_ratelimiter_shutdown
    - isc_loopmgr_shutdown
    - isc_ratelimiter_detach
    - isc_time_now
    - isc_rlevent_free
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void tick(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:94,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/ratelimiter_test.c:95,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/ratelimiter_test.c:96,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/tests/isc/ratelimiter_test.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_time_set
    - assert_null
    - isc_ratelimiter_create
    - isc_time_now
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(ratelimiter_common)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loop_ratelimiter_common
      Src: /src/bind9/tests/isc/ratelimiter_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - setup_loop_ratelimiter_common
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(ratelimiter_enqueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(ratelimiter_enqueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:109,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:114,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - assert_int_equal
    - assert_non_null
    - isc_ratelimiter_enqueue
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(ratelimiter_enqueue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loop_ratelimiter_common
      Src: /src/bind9/tests/isc/ratelimiter_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - setup_loop_ratelimiter_common
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(ratelimiter_enqueue_shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(ratelimiter_enqueue_shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:129,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:132,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:133,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:134,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:135,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:136,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:139,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:139,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:142,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:146,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:147,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ratelimiter_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_ratelimiter_shutdown
    - assert_int_equal
    - isc_mem_get
    - assert_non_null
    - isc_ratelimiter_enqueue
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(ratelimiter_enqueue_shutdown)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loop_ratelimiter_common
      Src: /src/bind9/tests/isc/ratelimiter_test.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - setup_loop_ratelimiter_common
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(ratelimiter_dequeue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(ratelimiter_dequeue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:162,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:163,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:166,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:166,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:169,1
    - Dst: isc_ratelimiter_dequeue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:169,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/ratelimiter_test.c:171,1
    - Dst: isc_loop_attach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:175,1
    - Dst: isc_ratelimiter_attach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:176,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:177,1
    - Dst: isc_ratelimiter_dequeue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:177,1
    - Dst: isc_loop_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:178,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:179,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/ratelimiter_test.c:180,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:182,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/tests/isc/ratelimiter_test.c:183,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/ratelimiter_test.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 186
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_ratelimiter_shutdown
    - isc_loopmgr_shutdown
    - isc_ratelimiter_dequeue
    - isc_ratelimiter_detach
    - assert_int_equal
    - isc_ratelimiter_enqueue
    - isc_mem_get
    - isc_ratelimiter_attach
    - isc_loop_detach
    - isc_loop_attach
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(ratelimiter_dequeue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rlevent_free
      Src: /src/bind9/tests/isc/ratelimiter_test.c:194,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/ratelimiter_test.c:195,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/ratelimiter_test.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: tock
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_time_now
    - isc_rlevent_free
    linkageType: ''
    returnType: void
    signature: void tock(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/ratelimiter_test.c:203,1
    - Dst: setup_loop_ratelimiter_common
      Src: /src/bind9/tests/isc/ratelimiter_test.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_time_set
    - setup_loop_ratelimiter_common
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(ratelimiter_pertick_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/ratelimiter_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:209,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ratelimiter_test.c:210,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/ratelimiter_test.c:212,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ratelimiter_test.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_time_microdiff
    - assert_true
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(ratelimiter_pertick_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/ratelimiter_test.c:220,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:222,1
    - Dst: isc_ratelimiter_setinterval
      Src: /src/bind9/tests/isc/ratelimiter_test.c:222,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:223,1
    - Dst: isc_ratelimiter_setinterval
      Src: /src/bind9/tests/isc/ratelimiter_test.c:223,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:224,1
    - Dst: isc_ratelimiter_setpertic
      Src: /src/bind9/tests/isc/ratelimiter_test.c:224,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:225,1
    - Dst: isc_ratelimiter_setpertic
      Src: /src/bind9/tests/isc/ratelimiter_test.c:225,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/ratelimiter_test.c:226,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/tests/isc/ratelimiter_test.c:226,1
    - Dst: isc_ratelimiter_setinterval
      Src: /src/bind9/tests/isc/ratelimiter_test.c:228,1
    - Dst: isc_ratelimiter_setpertic
      Src: /src/bind9/tests/isc/ratelimiter_test.c:229,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/tests/isc/ratelimiter_test.c:230,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:232,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:234,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:234,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:238,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:240,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 243
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - isc_ratelimiter_setpushpop
    - isc_interval_set
    - assert_int_equal
    - isc_ratelimiter_setpertic
    - isc_mem_get
    - isc_ratelimiter_setinterval
    - isc_ratelimiter_enqueue
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(ratelimiter_pertick_interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/ratelimiter_test.c:247,1
    - Dst: setup_loop_ratelimiter_common
      Src: /src/bind9/tests/isc/ratelimiter_test.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_time_set
    - setup_loop_ratelimiter_common
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(ratelimiter_pushpop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/ratelimiter_test.c:252,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:253,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ratelimiter_test.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_time_microdiff
    - assert_true
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(ratelimiter_pushpop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/ratelimiter_test.c:261,1
    - Dst: isc_ratelimiter_setinterval
      Src: /src/bind9/tests/isc/ratelimiter_test.c:263,1
    - Dst: isc_ratelimiter_setpertic
      Src: /src/bind9/tests/isc/ratelimiter_test.c:264,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/tests/isc/ratelimiter_test.c:265,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:267,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:269,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:269,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/ratelimiter_test.c:273,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ratelimiter_test.c:275,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/tests/isc/ratelimiter_test.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 278
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - isc_ratelimiter_setpushpop
    - isc_interval_set
    - assert_int_equal
    - isc_ratelimiter_setpertic
    - isc_mem_get
    - isc_ratelimiter_setinterval
    - isc_ratelimiter_enqueue
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(ratelimiter_pushpop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/isc/ratelimiter_test.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - setup_loopmgr
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/ratelimiter_test.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/isc/ratelimiter_test.c
    functionUses: 0
    functionsReached:
    - teardown_loopmgr
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:101,1
    - Dst: uv_udp_open
      Src: /src/bind9/tests/isc/uv_wrap.h:102,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - sock
    argTypes:
    - uv_udp_t*
    - uv_os_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: __wrap_uv_udp_open
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_open
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_udp_open(uv_udp_t *handle, uv_os_sock_t sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:112,1
    - Dst: uv_udp_bind
      Src: /src/bind9/tests/isc/uv_wrap.h:113,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - addr
    - flags
    argTypes:
    - uv_udp_t*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: __wrap_uv_udp_bind
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_bind
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_udp_bind(uv_udp_t *handle, const struct sockaddr *addr,\n\t\t
      \  unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:122,1
    - Dst: uv_udp_connect
      Src: /src/bind9/tests/isc/uv_wrap.h:123,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - addr
    argTypes:
    - uv_udp_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: __wrap_uv_udp_connect
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_connect
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_udp_connect(uv_udp_t *handle, const struct sockaddr *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:133,1
    - Dst: uv_udp_getpeername
      Src: /src/bind9/tests/isc/uv_wrap.h:134,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - name
    - namelen
    argTypes:
    - uv_udp_t*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 137
    functionName: __wrap_uv_udp_getpeername
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_getpeername
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_udp_getpeername(const uv_udp_t *handle, struct sockaddr
      *name,\n\t\t\t  int *namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:143,1
    - Dst: uv_udp_getsockname
      Src: /src/bind9/tests/isc/uv_wrap.h:144,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - name
    - namelen
    argTypes:
    - uv_udp_t*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: __wrap_uv_udp_getsockname
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_getsockname
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_udp_getsockname(const uv_udp_t *handle, struct sockaddr
      *name,\n\t\t\t  int *namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:154,1
    - Dst: uv_udp_send
      Src: /src/bind9/tests/isc/uv_wrap.h:155,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - req
    - handle
    - bufs
    - nbufs
    - addr
    - send_cb
    argTypes:
    - uv_udp_send_t*
    - uv_udp_t*
    - uv_buf_t[]
    - unsigned int
    - struct sockaddr*
    - uv_udp_send_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: __wrap_uv_udp_send
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_send
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_udp_send(uv_udp_send_t *req, uv_udp_t *handle, const
      uv_buf_t bufs[],\n\t\t   unsigned int nbufs, const struct sockaddr *addr,\n\t\t
      \  uv_udp_send_cb send_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:164,1
    - Dst: uv_udp_recv_start
      Src: /src/bind9/tests/isc/uv_wrap.h:165,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - alloc_cb
    - recv_cb
    argTypes:
    - uv_udp_t*
    - uv_alloc_cb
    - uv_udp_recv_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 168
    functionName: __wrap_uv_udp_recv_start
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_recv_start
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_udp_recv_start(uv_udp_t *handle, uv_alloc_cb alloc_cb,\n\t\t\t
      uv_udp_recv_cb recv_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:173,1
    - Dst: uv_udp_recv_stop
      Src: /src/bind9/tests/isc/uv_wrap.h:174,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_udp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: __wrap_uv_udp_recv_stop
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_udp_recv_stop
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_udp_recv_stop(uv_udp_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:182,1
    - Dst: uv_tcp_open
      Src: /src/bind9/tests/isc/uv_wrap.h:183,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - sock
    argTypes:
    - uv_tcp_t*
    - uv_os_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: __wrap_uv_tcp_open
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_tcp_open
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_tcp_open(uv_tcp_t *handle, uv_os_sock_t sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:192,1
    - Dst: uv_tcp_bind
      Src: /src/bind9/tests/isc/uv_wrap.h:193,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - addr
    - flags
    argTypes:
    - uv_tcp_t*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: __wrap_uv_tcp_bind
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_tcp_bind
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_tcp_bind(uv_tcp_t *handle, const struct sockaddr *addr,\n\t\t
      \  unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:202,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/tests/isc/uv_wrap.h:203,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - name
    - namelen
    argTypes:
    - uv_tcp_t*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: __wrap_uv_tcp_getsockname
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_tcp_getsockname
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_tcp_getsockname(const uv_tcp_t *handle, struct sockaddr
      *name,\n\t\t\t  int *namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:212,1
    - Dst: uv_tcp_getpeername
      Src: /src/bind9/tests/isc/uv_wrap.h:213,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - name
    - namelen
    argTypes:
    - uv_tcp_t*
    - struct sockaddr*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: __wrap_uv_tcp_getpeername
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_tcp_getpeername
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_tcp_getpeername(const uv_tcp_t *handle, struct sockaddr
      *name,\n\t\t\t  int *namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:222,1
    - Dst: uv_tcp_connect
      Src: /src/bind9/tests/isc/uv_wrap.h:223,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - req
    - handle
    - addr
    - cb
    argTypes:
    - uv_connect_t*
    - uv_tcp_t*
    - struct sockaddr*
    - uv_connect_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: __wrap_uv_tcp_connect
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_tcp_connect
    linkageType: ''
    returnType: int
    signature: "int __wrap_uv_tcp_connect(uv_connect_t *req, uv_tcp_t *handle,\n\t\t
      \     const struct sockaddr *addr, uv_connect_cb cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:231,1
    - Dst: uv_listen
      Src: /src/bind9/tests/isc/uv_wrap.h:232,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - backlog
    - cb
    argTypes:
    - uv_stream_t*
    - int
    - uv_connection_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: __wrap_uv_listen
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_listen
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_listen(uv_stream_t *stream, int backlog, uv_connection_cb
      cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:240,1
    - Dst: uv_accept
      Src: /src/bind9/tests/isc/uv_wrap.h:241,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - server
    - client
    argTypes:
    - uv_stream_t*
    - uv_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: __wrap_uv_accept
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_accept
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_accept(uv_stream_t *server, uv_stream_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:249,1
    - Dst: uv_send_buffer_size
      Src: /src/bind9/tests/isc/uv_wrap.h:250,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - uv_handle_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: __wrap_uv_send_buffer_size
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_send_buffer_size
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_send_buffer_size(uv_handle_t *handle, int *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:258,1
    - Dst: uv_recv_buffer_size
      Src: /src/bind9/tests/isc/uv_wrap.h:259,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - uv_handle_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: __wrap_uv_recv_buffer_size
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_recv_buffer_size
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_recv_buffer_size(uv_handle_t *handle, int *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:267,1
    - Dst: uv_fileno
      Src: /src/bind9/tests/isc/uv_wrap.h:268,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/uv_wrap.h:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - fd
    argTypes:
    - uv_handle_t*
    - uv_os_fd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: __wrap_uv_fileno
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached:
    - atomic_load
    - uv_fileno
    linkageType: ''
    returnType: int
    signature: int __wrap_uv_fileno(const uv_handle_t *handle, uv_os_fd_t *fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: uv_udp_open
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_open(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: uv_udp_bind
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_bind(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: uv_udp_connect
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_connect(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: uv_udp_getpeername
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_getpeername(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: uv_udp_getsockname
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_getsockname(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: uv_udp_send
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_send(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: uv_udp_recv_start
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_recv_start(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: uv_udp_recv_stop
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_udp_recv_stop(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: uv_tcp_open
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_tcp_open(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: uv_tcp_bind
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_tcp_bind(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: uv_tcp_getsockname
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_tcp_getsockname(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: uv_tcp_getpeername
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_tcp_getpeername(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: uv_tcp_connect
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_tcp_connect(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: uv_listen
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_listen(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: uv_accept
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_accept(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: uv_send_buffer_size
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_send_buffer_size(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: uv_recv_buffer_size
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_recv_buffer_size(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: uv_fileno
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_fileno(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: WILL_RETURN
    functionSourceFile: /src/bind9/tests/isc/uv_wrap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WILL_RETURN(func, value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/regex_test.c:2289,1
    - Dst: memset
      Src: /src/bind9/tests/isc/regex_test.c:2298,1
    - Dst: regcomp
      Src: /src/bind9/tests/isc/regex_test.c:2299,1
    - Dst: regfree
      Src: /src/bind9/tests/isc/regex_test.c:2311,1
    - Dst: isc_regex_validate
      Src: /src/bind9/tests/isc/regex_test.c:2320,1
    - Dst: print_error
      Src: /src/bind9/tests/isc/regex_test.c:2322,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/regex_test.c:2325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 2327
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/regex_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - regcomp
    - UNUSED
    - regfree
    - isc_regex_validate
    - print_error
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(regex_validate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: AS_STR
    functionSourceFile: /src/bind9/tests/isc/lex_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AS_STR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/lex_test.c:45,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/isc/lex_test.c:47,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/lex_test.c:49,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/lex_test.c:50,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/isc/lex_test.c:52,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:53,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/tests/isc/lex_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:56,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/isc/lex_test.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/lex_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - isc_buffer_init
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_lex_gettoken
    - isc_lex_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lex_0xff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/lex_test.c:71,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/isc/lex_test.c:73,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/lex_test.c:75,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/lex_test.c:76,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/isc/lex_test.c:78,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:79,1
    - Dst: isc_lex_setsourceline
      Src: /src/bind9/tests/isc/lex_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:82,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/tests/isc/lex_test.c:85,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:86,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/tests/isc/lex_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:89,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/tests/isc/lex_test.c:92,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:93,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/tests/isc/lex_test.c:95,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:96,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/isc/lex_test.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/lex_test.c
    functionUses: 0
    functionsReached:
    - isc_lex_setsourceline
    - assert_int_equal
    - UNUSED
    - isc_buffer_init
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_lex_gettoken
    - isc_lex_getsourceline
    - isc_lex_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lex_setline)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/lex_test.c:192,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/lex_test.c:194,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/isc/lex_test.c:195,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/isc/lex_test.c:197,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/lex_test.c:198,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/lex_test.c:199,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/lex_test.c:199,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/isc/lex_test.c:201,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:202,1
    - Dst: isc_lex_setsourceline
      Src: /src/bind9/tests/isc/lex_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:205,1
    - Dst: memset
      Src: /src/bind9/tests/isc/lex_test.c:207,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/tests/isc/lex_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:211,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:218,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/lex_test.c:220,1
    - Dst: AS_STR
      Src: /src/bind9/tests/isc/lex_test.c:221,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:225,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/isc/lex_test.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 233
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/lex_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - memset
    - isc_lex_setsourceline
    - assert_int_equal
    - assert_string_equal
    - isc_lex_getmastertoken
    - UNUSED
    - AS_STR
    - strlen
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_lex_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lex_string)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/lex_test.c:245,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/lex_test.c:247,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/isc/lex_test.c:248,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/isc/lex_test.c:250,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/lex_test.c:251,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/lex_test.c:252,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/lex_test.c:252,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/isc/lex_test.c:254,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:255,1
    - Dst: isc_lex_setsourceline
      Src: /src/bind9/tests/isc/lex_test.c:257,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:258,1
    - Dst: memset
      Src: /src/bind9/tests/isc/lex_test.c:260,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/tests/isc/lex_test.c:261,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:264,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:271,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/lex_test.c:273,1
    - Dst: AS_STR
      Src: /src/bind9/tests/isc/lex_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:278,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/isc/lex_test.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 286
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/lex_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - memset
    - isc_lex_setsourceline
    - assert_int_equal
    - assert_string_equal
    - isc_lex_getmastertoken
    - UNUSED
    - AS_STR
    - strlen
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_lex_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lex_qstring)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/lex_test.c:299,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/lex_test.c:301,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/isc/lex_test.c:302,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/isc/lex_test.c:304,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/lex_test.c:305,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/lex_test.c:306,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/lex_test.c:306,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/isc/lex_test.c:308,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:309,1
    - Dst: isc_lex_setsourceline
      Src: /src/bind9/tests/isc/lex_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:312,1
    - Dst: memset
      Src: /src/bind9/tests/isc/lex_test.c:314,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/tests/isc/lex_test.c:315,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:325,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/lex_test.c:327,1
    - Dst: AS_STR
      Src: /src/bind9/tests/isc/lex_test.c:328,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/lex_test.c:332,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/isc/lex_test.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 340
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/lex_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - memset
    - isc_lex_setsourceline
    - assert_int_equal
    - assert_string_equal
    - isc_lex_getmastertoken
    - UNUSED
    - AS_STR
    - strlen
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_lex_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(lex_keypair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: TEST_INPUT
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_INPUT(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_new
      Src: /src/bind9/tests/isc/hmac_test.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: _setup
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 21
    functionsReached:
    - isc_hmac_new
    linkageType: ''
    returnType: int
    signature: int _setup(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: _teardown
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 13
    functionsReached:
    - isc_hmac_free
    linkageType: ''
    returnType: int
    signature: int _teardown(void **state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: _reset
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 22
    functionsReached:
    - isc_hmac_reset
    linkageType: ''
    returnType: int
    signature: int _reset(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/hmac_test.c:79,1
    - Dst: isc_hmac_new
      Src: /src/bind9/tests/isc/hmac_test.c:81,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:82,1
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - UNUSED
    - isc_hmac_free
    - isc_hmac_new
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/hmac_test.c:87,1
    - Dst: isc_hmac_new
      Src: /src/bind9/tests/isc/hmac_test.c:89,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:90,1
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:91,1
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - UNUSED
    - isc_hmac_free
    - isc_hmac_new
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:101,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:102,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:102,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:106,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:106,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:114,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:114,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/hmac_test.c:120,1
    - Dst: isc_hex_totext
      Src: /src/bind9/tests/isc/hmac_test.c:122,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/hmac_test.c:124,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hmac_test.c:126,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hmac_test.c:126,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:127,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 8
    argNames:
    - hmac_st
    - key
    - keylen
    - type
    - buf
    - buflen
    - result
    - repeats
    argTypes:
    - isc_hmac_t*
    - void*
    - size_t
    - isc_md_type_t*
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 128
    functionName: isc_hmac_test
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - isc_hex_totext
    - assert_int_equal
    - isc_hmac_update
    - isc_buffer_init
    - strlen
    - isc_hmac_reset
    - assert_non_null
    - assert_return_code
    - isc_hmac_init
    - isc_hmac_final
    linkageType: ''
    returnType: void
    signature: "void isc_hmac_test(isc_hmac_t *hmac_st, const void *key, size_t keylen,\n\t
      \     const isc_md_type_t *type, const char *buf, size_t buflen,\n\t      const
      char *result, const size_t repeats)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:132,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:134,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:134,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/tests/isc/hmac_test.c:137,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:138,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:138,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:140,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:143,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:143,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:145,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:148,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:148,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:150,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:152,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:152,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:154,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:156,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:156,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:158,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:160,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:160,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:162,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:162,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:164,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:164,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:166,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 167
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - assert_int_equal
    - isc_hmac_reset
    - isc_crypto_fips_mode
    - assert_non_null
    - isc_hmac_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:171,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:174,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:174,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:176,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:176,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:177,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - assert_int_equal
    - assert_non_null
    - isc_hmac_update
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_update)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:188,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:190,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:192,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:193,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:195,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:196,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:199,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/tests/isc/hmac_test.c:199,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:207,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 209
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - assert_int_equal
    - isc_hmac_update
    - isc_hmac_reset
    - assert_non_null
    - isc_hmac_init
    - isc_hmac_final
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_reset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:213,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:219,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:219,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:221,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:221,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:223,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:223,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/hmac_test.c:226,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - assert_int_equal
    - assert_non_null
    - isc_hmac_init
    - isc_hmac_final
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_final)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/tests/isc/hmac_test.c:232,1
    - Dst: skip
      Src: /src/bind9/tests/isc/hmac_test.c:233,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:238,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:238,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:238,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:242,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:243,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:246,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:250,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:250,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:251,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:257,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:258,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:261,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:268,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:269,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:273,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:281,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:282,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:285,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:289,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:290,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:304,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:309,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:310,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 329
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_crypto_fips_mode
    - isc_hmac_test
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_md5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:335,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:335,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:335,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:339,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:340,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:343,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:346,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:346,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:347,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:352,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:353,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:356,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:363,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:364,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:368,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:376,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:377,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:380,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:385,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:386,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:395,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:399,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:400,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 412
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_sha1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:418,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:418,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:418,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:424,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:425,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:428,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:433,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:433,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:434,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:441,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:442,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:445,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:454,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:455,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:459,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:469,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:470,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:473,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:478,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:479,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:494,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:500,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:501,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 535
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_sha224)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:541,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:541,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:541,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:547,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:548,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:551,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:556,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:556,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:557,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:564,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:565,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:568,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:577,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:578,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:582,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:592,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:593,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:596,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:601,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:602,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:617,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:623,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:624,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 658
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_sha256)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:664,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:664,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:664,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:670,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:671,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:674,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:680,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:680,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:681,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:689,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:690,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:693,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:703,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:704,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:708,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:719,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:720,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:723,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:728,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:729,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:744,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:751,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:752,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 787
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_sha384)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:793,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:793,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:793,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:800,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:801,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:804,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:810,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:810,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:811,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:819,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:820,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:823,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:833,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:834,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:838,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:849,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:850,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:853,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:858,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:859,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:874,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:881,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:882,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 917
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_test
    - TEST_INPUT
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_sha512)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/radix_test.c:43,1
    - Dst: isc_radix_create
      Src: /src/bind9/tests/isc/radix_test.c:45,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/radix_test.c:47,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/radix_test.c:48,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/tests/isc/radix_test.c:49,1
    - Dst: isc_radix_insert
      Src: /src/bind9/tests/isc/radix_test.c:52,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/radix_test.c:53,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/radix_test.c:55,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/radix_test.c:57,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/radix_test.c:58,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/tests/isc/radix_test.c:59,1
    - Dst: isc_radix_insert
      Src: /src/bind9/tests/isc/radix_test.c:62,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/radix_test.c:63,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/radix_test.c:65,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/radix_test.c:67,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/radix_test.c:68,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/tests/isc/radix_test.c:69,1
    - Dst: isc_radix_insert
      Src: /src/bind9/tests/isc/radix_test.c:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/radix_test.c:73,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/radix_test.c:75,1
    - Dst: isc_radix_remove
      Src: /src/bind9/tests/isc/radix_test.c:77,1
    - Dst: isc_radix_destroy
      Src: /src/bind9/tests/isc/radix_test.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/radix_test.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - inet_addr
    - assert_int_equal
    - isc_radix_destroy
    - UNUSED
    - isc_radix_create
    - NETADDR_TO_PREFIX_T
    - isc_refcount_destroy
    - isc_radix_remove
    - isc_radix_insert
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_radix_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/radix_test.c:91,1
    - Dst: isc_radix_create
      Src: /src/bind9/tests/isc/radix_test.c:93,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/radix_test.c:95,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/radix_test.c:96,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/tests/isc/radix_test.c:97,1
    - Dst: isc_radix_insert
      Src: /src/bind9/tests/isc/radix_test.c:100,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/radix_test.c:101,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/radix_test.c:103,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/radix_test.c:105,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/radix_test.c:106,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/tests/isc/radix_test.c:107,1
    - Dst: isc_radix_insert
      Src: /src/bind9/tests/isc/radix_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/radix_test.c:111,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/radix_test.c:113,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/radix_test.c:115,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/isc/radix_test.c:116,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/tests/isc/radix_test.c:117,1
    - Dst: isc_radix_search
      Src: /src/bind9/tests/isc/radix_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/radix_test.c:121,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/radix_test.c:122,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/radix_test.c:124,1
    - Dst: isc_radix_destroy
      Src: /src/bind9/tests/isc/radix_test.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 127
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/radix_test.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - inet_addr
    - assert_int_equal
    - isc_radix_destroy
    - UNUSED
    - isc_radix_create
    - NETADDR_TO_PREFIX_T
    - assert_ptr_equal
    - isc_refcount_destroy
    - isc_radix_search
    - isc_radix_insert
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_radix_search)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/udp_test.c:58,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/udp_test.c:59,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/udp_test.c:60,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/udp_test.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: mock_recv_cb
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void mock_recv_cb(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\t     void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/udp_test.c:67,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/udp_test.c:68,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/udp_test.c:70,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/udp_test.c:71,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: udp_connect_nomemory_cb
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_loopmgr_shutdown
    - UNUSED
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: "void udp_connect_nomemory_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\tvoid *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:81,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/isc/udp_test.c:83,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/udp_test.c:85,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/udp_test.c:86,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_nm_listenudp
    - assert_int_not_equal
    - WILL_RETURN
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_listenudp_uv_udp_open)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:96,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/isc/udp_test.c:98,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/udp_test.c:100,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/udp_test.c:101,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_nm_listenudp
    - assert_int_not_equal
    - WILL_RETURN
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_listenudp_uv_udp_bind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:111,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/isc/udp_test.c:113,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/udp_test.c:115,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/udp_test.c:116,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_nm_listenudp
    - assert_int_not_equal
    - WILL_RETURN
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_listenudp_uv_udp_recv_start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:124,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/udp_test.c:126,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/udp_test.c:127,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - WILL_RETURN
    - isc_nm_udpconnect
    - isc_loopmgr_shutdown
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_udpconnect_uv_udp_open)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:135,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/udp_test.c:137,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/udp_test.c:138,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - WILL_RETURN
    - isc_nm_udpconnect
    - isc_loopmgr_shutdown
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_udpconnect_uv_udp_bind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:146,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/udp_test.c:148,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/udp_test.c:149,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - WILL_RETURN
    - isc_nm_udpconnect
    - isc_loopmgr_shutdown
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_udpconnect_uv_udp_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:157,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/udp_test.c:159,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/udp_test.c:160,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - WILL_RETURN
    - isc_nm_udpconnect
    - isc_loopmgr_shutdown
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_udpconnect_uv_recv_buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/udp_test.c:168,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/udp_test.c:170,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/udp_test.c:171,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/udp_test.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - WILL_RETURN
    - isc_nm_udpconnect
    - isc_loopmgr_shutdown
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_udpconnect_uv_send_buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noop
      Src: /src/bind9/tests/isc/udp_test.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noresponse
      Src: /src/bind9/tests/isc/udp_test.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 180
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_timeout_recovery
      Src: /src/bind9/tests/isc/udp_test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_connect
      Src: /src/bind9/tests/isc/udp_test.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_connect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_shutdown_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_read
      Src: /src/bind9/tests/isc/udp_test.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_read
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_shutdown_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_cancel_read
      Src: /src/bind9/tests/isc/udp_test.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_cancel_read
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_cancel_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_one
      Src: /src/bind9/tests/isc/udp_test.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_two
      Src: /src/bind9/tests/isc/udp_test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 192
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_send
      Src: /src/bind9/tests/isc/udp_test.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 194
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_double_read
      Src: /src/bind9/tests/isc/udp_test.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/udp_test.c
    functionUses: 0
    functionsReached:
    - udp_double_read
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(udp_double_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/sockaddr_test.c:42,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/sockaddr_test.c:44,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/sockaddr_test.c:45,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/tests/isc/sockaddr_test.c:46,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/tests/isc/sockaddr_test.c:47,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:48,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/sockaddr_test.c:50,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:51,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/sockaddr_test.c:52,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/tests/isc/sockaddr_test.c:53,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/tests/isc/sockaddr_test.c:54,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 57
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/sockaddr_test.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_hash
    - inet_addr
    - assert_int_equal
    - UNUSED
    - isc_sockaddr_fromin6
    - inet_pton
    - isc_sockaddr_fromin
    - assert_int_not_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(sockaddr_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/sockaddr_test.c:92,1
    - Dst: inet_addr
      Src: /src/bind9/tests/isc/sockaddr_test.c:95,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/sockaddr_test.c:96,1
    - Dst: isc_sockaddr_isnetzero
      Src: /src/bind9/tests/isc/sockaddr_test.c:97,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:98,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/sockaddr_test.c:102,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:103,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/sockaddr_test.c:104,1
    - Dst: isc_sockaddr_isnetzero
      Src: /src/bind9/tests/isc/sockaddr_test.c:105,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/sockaddr_test.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 108
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/sockaddr_test.c
    functionUses: 0
    functionsReached:
    - inet_addr
    - assert_int_equal
    - UNUSED
    - isc_sockaddr_isnetzero
    - isc_sockaddr_fromin6
    - inet_pton
    - isc_sockaddr_fromin
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(sockaddr_isnetzero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/sockaddr_test.c:122,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/sockaddr_test.c:124,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/sockaddr_test.c:124,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/sockaddr_test.c:125,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/sockaddr_test.c:125,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/sockaddr_test.c:126,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/sockaddr_test.c:126,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/sockaddr_test.c:128,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/sockaddr_test.c:129,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/sockaddr_test.c:130,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/sockaddr_test.c:132,1
    - Dst: isc_sockaddr_eqaddrprefix
      Src: /src/bind9/tests/isc/sockaddr_test.c:132,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/sockaddr_test.c:133,1
    - Dst: isc_sockaddr_eqaddrprefix
      Src: /src/bind9/tests/isc/sockaddr_test.c:133,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/sockaddr_test.c:134,1
    - Dst: isc_sockaddr_eqaddrprefix
      Src: /src/bind9/tests/isc/sockaddr_test.c:134,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/sockaddr_test.c:136,1
    - Dst: isc_sockaddr_eqaddrprefix
      Src: /src/bind9/tests/isc/sockaddr_test.c:136,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/sockaddr_test.c:137,1
    - Dst: isc_sockaddr_eqaddrprefix
      Src: /src/bind9/tests/isc/sockaddr_test.c:137,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/sockaddr_test.c:138,1
    - Dst: isc_sockaddr_eqaddrprefix
      Src: /src/bind9/tests/isc/sockaddr_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 139
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/sockaddr_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_false
    - UNUSED
    - inet_pton
    - isc_sockaddr_eqaddrprefix
    - isc_sockaddr_fromin
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(sockaddr_eqaddrprefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/quota_test.c:40,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:41,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:43,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/tests/isc/quota_test.c:43,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:44,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/tests/isc/quota_test.c:44,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/quota_test.c:46,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:47,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:49,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/tests/isc/quota_test.c:49,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:50,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/tests/isc/quota_test.c:50,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:52,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:52,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/tests/isc/quota_test.c:53,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:54,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:54,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:56,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:56,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/quota_test.c:59,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:60,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 63
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_release
    - assert_int_equal
    - UNUSED
    - isc_quota_acquire
    - isc_quota_init
    - isc_quota_soft
    - isc_quota_destroy
    - isc_quota_max
    - isc_quota_getused
    - isc_quota_getsoft
    - isc_quota_getmax
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_quota_get_set)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_quota_acquire
      Src: /src/bind9/tests/isc/quota_test.c:70,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:71,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:81,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - source
    - expected_result
    - expected_used
    argTypes:
    - isc_quota_t*
    - isc_result_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: add_quota
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_quota_acquire
    - isc_quota_getused
    linkageType: ''
    returnType: void
    signature: "void add_quota(isc_quota_t *source, isc_result_t expected_result,\n\t
      \ int expected_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/quota_test.c:86,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:88,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:91,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:96,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:96,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:98,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:100,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:101,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:104,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:105,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:105,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:107,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:107,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_release
    - assert_int_equal
    - add_quota
    - UNUSED
    - isc_quota_destroy
    - isc_quota_init
    - isc_quota_getused
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_quota_hard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/quota_test.c:113,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:115,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:116,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:119,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:122,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:125,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:128,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:129,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:129,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:131,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:131,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 133
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_release
    - assert_int_equal
    - add_quota
    - UNUSED
    - isc_quota_destroy
    - isc_quota_init
    - isc_quota_getused
    - isc_quota_soft
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_quota_soft)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/quota_test.c:142,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:146,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: callback
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 8
    functionsReached:
    - assert_int_not_equal
    - assert_int_equal
    - atomic_fetch_add_relaxed
    - isc_quota_release
    linkageType: ''
    returnType: void
    signature: void callback(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/quota_test.c:168,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:170,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:171,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:175,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:177,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:178,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:178,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:184,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:185,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:185,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:192,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:193,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:193,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:195,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:195,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:198,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:199,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:199,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:200,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:200,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:204,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:204,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:208,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:212,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:213,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:213,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:215,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:215,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:217,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:217,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 219
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_release
    - assert_int_equal
    - UNUSED
    - isc_quota_destroy
    - isc_quota_init
    - isc_quota_acquire_cb
    - isc_quota_getused
    - atomic_load
    - isc_quota_soft
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_quota_callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_sleep
      Src: /src/bind9/tests/isc/quota_test.c:240,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: quota_release
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 8
    functionsReached:
    - uv_sleep
    - isc_quota_release
    linkageType: ''
    returnType: void
    signature: 'void *

      quota_release(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:248,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:249,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/quota_test.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: quota_callback
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_create
    - atomic_fetch_add_relaxed
    linkageType: ''
    returnType: void
    signature: void quota_callback(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:258,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:261,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:262,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/quota_test.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qtip
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: quota_thread
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_acquire_cb
    - isc_thread_create
    - atomic_fetch_add_relaxed
    linkageType: ''
    returnType: void
    signature: 'void *

      quota_thread(void *qtip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/quota_test.c:271,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:274,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/quota_test.c:278,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/quota_test.c:279,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/quota_test.c:280,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/quota_test.c:283,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:286,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/quota_test.c:287,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:292,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:293,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:296,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/quota_test.c:303,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 306
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_thread_join
    - assert_int_equal
    - isc_thread_create
    - UNUSED
    - isc_quota_destroy
    - isc_quota_init
    - atomic_init
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_quota_callback_mt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/siphash_test.c:134,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/siphash_test.c:138,1
    - Dst: isc_siphash24
      Src: /src/bind9/tests/isc/siphash_test.c:140,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/siphash_test.c:141,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/siphash_test.c:144,1
    - Dst: isc_siphash24_init
      Src: /src/bind9/tests/isc/siphash_test.c:147,1
    - Dst: isc_siphash24_hash
      Src: /src/bind9/tests/isc/siphash_test.c:148,1
    - Dst: isc_siphash24_hash
      Src: /src/bind9/tests/isc/siphash_test.c:149,1
    - Dst: isc_siphash24_finalize
      Src: /src/bind9/tests/isc/siphash_test.c:150,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/siphash_test.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/siphash_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - isc_siphash24_init
    - ARRAY_SIZE
    - isc_siphash24_hash
    - isc_siphash24
    - isc_siphash24_finalize
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_siphash24)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/siphash_test.c:158,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/siphash_test.c:162,1
    - Dst: isc_halfsiphash24
      Src: /src/bind9/tests/isc/siphash_test.c:164,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/siphash_test.c:165,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/siphash_test.c:168,1
    - Dst: isc_halfsiphash24_init
      Src: /src/bind9/tests/isc/siphash_test.c:171,1
    - Dst: isc_halfsiphash24_hash
      Src: /src/bind9/tests/isc/siphash_test.c:172,1
    - Dst: isc_halfsiphash24_hash
      Src: /src/bind9/tests/isc/siphash_test.c:173,1
    - Dst: isc_halfsiphash24_finalize
      Src: /src/bind9/tests/isc/siphash_test.c:174,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/siphash_test.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/siphash_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - isc_halfsiphash24_hash
    - ARRAY_SIZE
    - isc_halfsiphash24
    - isc_halfsiphash24_finalize
    - isc_halfsiphash24_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_halfsiphash24)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/tests/isc/mutex_test.c:46,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/mutex_test.c:48,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:50,1
    - Dst: getenv
      Src: /src/bind9/tests/isc/mutex_test.c:52,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/mutex_test.c:54,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: setup_env
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - assert_int_not_equal
    - atoi
    - getenv
    linkageType: ''
    returnType: int
    signature: int setup_env(void **unused __attribute__((__unused__)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_init
      Src: /src/bind9/tests/isc/mutex_test.c:64,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/mutex_test.c:67,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:68,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/mutex_test.c:69,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/tests/isc/mutex_test.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 73
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    - isc_pause_n
    - isc_mutex_lock
    - isc_mutex_unlock
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/bind9/tests/isc/mutex_test.c:91,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:93,1
    - Dst: pthread_mutex_unlock
      Src: /src/bind9/tests/isc/mutex_test.c:95,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: pthread_mutex_thread
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - isc_pause_n
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_mutex_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/mutex_test.c:107,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:109,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/mutex_test.c:111,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: isc_mutex_thread
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - isc_mutex_unlock
    - isc_pause_n
    - isc_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_mutex_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/mutex_test.c:119,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mutex_test.c:126,1
    - Dst: pthread_mutex_init
      Src: /src/bind9/tests/isc/mutex_test.c:133,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:134,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:136,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/mutex_test.c:145,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/mutex_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mutex_test.c:154,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:156,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/mutex_test.c:158,1
    - Dst: printf
      Src: /src/bind9/tests/isc/mutex_test.c:160,1
    - Dst: pthread_mutex_destroy
      Src: /src/bind9/tests/isc/mutex_test.c:166,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:167,1
    - Dst: isc_mutex_init
      Src: /src/bind9/tests/isc/mutex_test.c:171,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:173,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/mutex_test.c:182,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/mutex_test.c:186,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mutex_test.c:191,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:193,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/mutex_test.c:195,1
    - Dst: printf
      Src: /src/bind9/tests/isc/mutex_test.c:197,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/tests/isc/mutex_test.c:203,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/mutex_test.c:205,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 206
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    - isc_thread_join
    - memset
    - isc_mutex_init
    - isc_mem_cget
    - pthread_mutex_init
    - assert_int_equal
    - isc_thread_create
    - isc_mem_cput
    - printf
    - isc_time_now_hires
    - assert_int_not_equal
    - isc_time_microdiff
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mutex_benchmark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/job_test.c:54,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/job_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: shutdown_cb
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void shutdown_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/job_test.c:62,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/job_test.c:65,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:66,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/job_test.c:66,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:68,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/job_test.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: job_cb
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - isc_job_run
    - atomic_fetch_add
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void job_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/job_test.c:75,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/job_test.c:78,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:82,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/job_test.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: job_run_cb
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_job_run
    - atomic_fetch_add
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void job_run_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/job_test.c:86,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/job_test.c:87,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/tests/isc/job_test.c:89,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/job_test.c:91,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/job_test.c:93,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/job_test.c:93,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/job_test.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 94
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_loopmgr_setup
    - atomic_init
    - isc_loopmgr_run
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_job_run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/bind9/tests/isc/job_test.c:108,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/job_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: append
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 19
    functionsReached:
    - strlcat
    - sprintf
    linkageType: ''
    returnType: void
    signature: void append(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/job_test.c:114,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:117,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:118,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:119,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:120,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:121,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/job_test.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: job_multiple
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_job_run
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void job_multiple(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/job_test.c:127,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/job_test.c:127,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/job_test.c:128,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/job_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - assert_string_equal
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_job_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/work_test.c:44,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/work_test.c:46,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/work_test.c:48,1
    - Dst: isc_tid
      Src: /src/bind9/tests/isc/work_test.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: work_cb
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - atomic_fetch_add
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void work_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/work_test.c:53,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/work_test.c:55,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/work_test.c:55,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/work_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: after_work_cb
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - assert_int_equal
    - isc_loopmgr_shutdown
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void after_work_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/work_test.c:61,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/work_test.c:62,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/work_test.c:64,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/tests/isc/work_test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 67
    functionName: work_enqueue_cb
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_get
    - isc_work_enqueue
    - UNUSED
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void work_enqueue_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/work_test.c:70,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/work_test.c:72,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/work_test.c:72,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/work_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/work_test.c:76,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/work_test.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - atomic_init
    - isc_loopmgr_run
    - atomic_load
    - isc_loop_main
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_work_enqueue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:126,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:129,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/isc/netmgr_common.c:131,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netmgr_common.c:131,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/netmgr_common.c:132,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/isc/netmgr_common.c:133,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netmgr_common.c:133,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/netmgr_common.c:134,1
    - Dst: isc_nm_proxyheader_info_init
      Src: /src/bind9/tests/isc/netmgr_common.c:135,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:140,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:142,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:143,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:144,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:146,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:147,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:148,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:149,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:170,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:171,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:172,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:173,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:174,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/netmgr_common.c:176,1
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:178,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/isc/netmgr_common.c:179,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:180,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:181,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:182,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:183,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:184,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:185,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/isc/netmgr_common.c:187,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:188,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:189,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:190,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:191,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:192,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:193,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/netmgr_common.c:195,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:196,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/tests/isc/netmgr_common.c:201,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/tests/isc/netmgr_common.c:206,1
    - Dst: isc_tlsctx_enable_dot_client_alpn
      Src: /src/bind9/tests/isc/netmgr_common.c:210,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/tests/isc/netmgr_common.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 69
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 218
    functionName: setup_netmgr_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - setup_loopmgr
    - isc_nm_setidletimeout
    - isc_nm_setprimariestimeout
    - isc_tlsctx_createclient
    - isc_refcount_init
    - isc_nm_setadvertisedtimeout
    - isc_nm_setkeepalivetimeout
    - isc_sockaddr_fromin
    - RUNTIME_CHECK
    - isc_nonce_buf
    - isc_netmgr_create
    - isc_quota_init
    - assert_non_null
    - inet_pton
    - isc_nm_setinitialtimeout
    - isc_tlsctx_createserver
    - isc_nm_proxyheader_info_init
    - isc_sockaddr_fromin6
    - isc_tlsctx_client_session_cache_create
    - atomic_store
    - isc_tlsctx_enable_dot_client_alpn
    linkageType: ''
    returnType: int
    signature: int setup_netmgr_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:222,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:224,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/netmgr_common.c:226,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/netmgr_common.c:227,1
    - Dst: isc_nm_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:229,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/netmgr_common.c:230,1
    - Dst: isc_nm_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:232,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/netmgr_common.c:233,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:235,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:237,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:238,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:239,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:240,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 246
    functionName: teardown_netmgr_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - isc_nm_detach
    - isc_tlsctx_free
    - isc_refcount_destroy
    - assert_null
    - teardown_loopmgr
    - isc_tlsctx_client_session_cache_detach
    linkageType: ''
    returnType: int
    signature: int teardown_netmgr_test(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/tests/isc/netmgr_common.c:250,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/tests/isc/netmgr_common.c:251,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/netmgr_common.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: stop_listening
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_null
    - isc_nm_stoplistening
    - isc_nmsocket_close
    linkageType: ''
    returnType: void
    signature: void stop_listening(void *arg ISC_ATTR_UNUSED)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:287,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:289,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:291,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/tests/isc/netmgr_common.c:300,1
    - Dst: have_expected_csends
      Src: /src/bind9/tests/isc/netmgr_common.c:304,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:304,1
    - Dst: do_csends_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:305,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:309,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:310,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:311,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:314,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 316
    functionName: connect_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - assert_int_equal
    - isc_nm_cancelread
    - UNUSED
    - isc_result_totext
    - isc_refcount_decrement
    - do_csends_shutdown
    - F
    - assert_non_null
    - have_expected_csends
    - fprintf
    linkageType: ''
    returnType: void
    signature: void connect_send_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:321,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:322,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:323,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 325
    functionName: connect_send
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    - isc_nm_send
    linkageType: ''
    returnType: void
    signature: void connect_send(isc_nmhandle_t *handle)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:332,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:334,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:336,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:340,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:342,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:344,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/netmgr_common.c:346,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:346,1
    - Dst: do_creads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:347,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:351,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/tests/isc/netmgr_common.c:357,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:368,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:369,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:370,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:373,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 375
    functionName: connect_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - memmove
    - atomic_fetch_add
    - assert_int_equal
    - isc_nmhandle_close
    - UNUSED
    - isc_result_totext
    - isc_refcount_decrement
    - F
    - assert_non_null
    - do_creads_shutdown
    - connect_send
    - fprintf
    - have_expected_creads
    linkageType: ''
    returnType: void
    signature: "void connect_read_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\tisc_region_t
      *region, void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:381,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:383,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:390,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:390,1
    - Dst: have_expected_cconnects
      Src: /src/bind9/tests/isc/netmgr_common.c:394,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:394,1
    - Dst: do_cconnects_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:395,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:397,1
    - Dst: get_stream_connect_function
      Src: /src/bind9/tests/isc/netmgr_common.c:399,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:403,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:404,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:405,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 408
    functionName: connect_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - get_stream_connect_function
    - atomic_fetch_add
    - isc_nm_read
    - isc_refcount_increment0
    - isc_nm_is_proxy_handle
    - isc_refcount_decrement
    - isc_async_current
    - F
    - isc_nmhandle_attach
    - have_expected_cconnects
    - connect_send
    - do_cconnects_shutdown
    linkageType: ''
    returnType: void
    signature: void connect_connect_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:414,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:415,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:417,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:419,1
    - Dst: have_expected_ssends
      Src: /src/bind9/tests/isc/netmgr_common.c:428,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:428,1
    - Dst: do_ssends_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:429,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:433,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:434,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:435,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:438,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 440
    functionName: listen_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_result_totext
    - do_ssends_shutdown
    - isc_refcount_decrement
    - F
    - assert_non_null
    - fprintf
    - have_expected_ssends
    linkageType: ''
    returnType: void
    signature: void listen_send_cb(isc_nmhandle_t *handle, isc_result_t eresult, void
      *cbarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:447,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:449,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:454,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:454,1
    - Dst: proxy_verify_endpoints
      Src: /src/bind9/tests/isc/netmgr_common.c:455,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:458,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:459,1
    - Dst: have_expected_sreads
      Src: /src/bind9/tests/isc/netmgr_common.c:461,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:461,1
    - Dst: do_sreads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:462,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:465,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:467,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:468,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:473,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:474,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:475,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:476,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:487,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:488,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:489,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:492,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 494
    functionName: listen_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - memmove
    - do_sreads_shutdown
    - atomic_fetch_add
    - isc_refcount_increment0
    - assert_int_equal
    - isc_nm_send
    - proxy_verify_endpoints
    - isc_nm_is_proxy_handle
    - isc_result_totext
    - isc_refcount_decrement
    - F
    - assert_non_null
    - isc_nmhandle_attach
    - fprintf
    - have_expected_sreads
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void listen_read_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t
      \      isc_region_t *region, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:498,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:499,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:501,1
    - Dst: have_expected_saccepts
      Src: /src/bind9/tests/isc/netmgr_common.c:507,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:507,1
    - Dst: do_saccepts_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:508,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:511,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 515
    functionName: listen_accept_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    - isc_refcount_increment0
    - UNUSED
    - do_saccepts_shutdown
    - have_expected_saccepts
    - F
    - isc_nmhandle_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t listen_accept_cb(isc_nmhandle_t *handle, isc_result_t
      eresult, void *cbarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:521,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:523,1
    - Dst: have_expected_saccepts
      Src: /src/bind9/tests/isc/netmgr_common.c:529,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:529,1
    - Dst: do_saccepts_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:530,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:534,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:534,1
    - Dst: proxy_verify_endpoints
      Src: /src/bind9/tests/isc/netmgr_common.c:535,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:538,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:540,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 544
    functionName: stream_accept_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - atomic_fetch_add
    - isc_nm_read
    - isc_refcount_increment0
    - UNUSED
    - proxy_verify_endpoints
    - do_saccepts_shutdown
    - have_expected_saccepts
    - isc_nm_is_proxy_handle
    - F
    - isc_nmhandle_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t stream_accept_cb(isc_nmhandle_t *handle, isc_result_t
      eresult, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:552,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:554,1
    - Dst: connect
      Src: /src/bind9/tests/isc/netmgr_common.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 556
    functionName: stream_recv_send_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin6
    - isc_refcount_increment0
    - connect
    linkageType: ''
    returnType: void
    signature: void stream_recv_send_connect(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:563,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:564,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:566,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:568,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:571,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:573,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:574,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:578,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:579,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 582
    functionName: timeout_retry_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - isc_nmhandle_settimeout
    - atomic_fetch_add
    - UNUSED
    - isc_refcount_decrement
    - F
    - assert_non_null
    - connect_send
    linkageType: ''
    returnType: void
    signature: "void timeout_retry_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      isc_region_t *region, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/netmgr_common.c:587,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/isc/netmgr_common.c:588,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/netmgr_common.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: tcp_listener_init_quota
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - ISC_MAX
    - isc_quota_max
    linkageType: ''
    returnType: isc_quota_t
    signature: 'isc_quota_t *

      tcp_listener_init_quota(size_t nthreads)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: tcp_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 1
    functionsReached:
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: void tcp_connect(isc_nm_t *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 607
    functionName: tls_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_tlsconnect
    linkageType: ''
    returnType: void
    signature: void tls_connect(isc_nm_t *nm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pi
    argTypes:
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: set_proxyheader_info
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_proxyheader_info(isc_nm_proxyheader_info_t *pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/netmgr_common.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 629
    functionName: get_proxyheader_info
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    linkageType: ''
    returnType: isc_nm_proxyheader_info_t
    signature: 'isc_nm_proxyheader_info_t *

      get_proxyheader_info(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:638,1
    - Dst: get_proxyheader_info
      Src: /src/bind9/tests/isc/netmgr_common.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nm
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 641
    functionName: proxystream_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_proxystreamconnect
    - get_proxyheader_info
    linkageType: ''
    returnType: void
    signature: void proxystream_connect(isc_nm_t *nm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: get_stream_connect_function
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: stream_connect_function
    signature: stream_connect_function get_stream_connect_function(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listentls
      Src: /src/bind9/tests/isc/netmgr_common.c:662,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/tests/isc/netmgr_common.c:670,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/tests/isc/netmgr_common.c:675,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - sockp
    argTypes:
    - isc_nm_accept_cb_t
    - void*
    - int
    - isc_quota_t*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 682
    functionName: stream_listen
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - isc_nm_listentls
    - isc_nm_listenproxystream
    - isc_nm_listentcp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t stream_listen(isc_nm_accept_cb_t accept_cb, void *accept_cbarg,
      int backlog,\n\t      isc_quota_t *quota, isc_nmsocket_t **sockp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:686,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:689,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:702,1
    - Dst: get_proxyheader_info
      Src: /src/bind9/tests/isc/netmgr_common.c:705,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:708,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - cb
    - cbarg
    - timeout
    argTypes:
    - isc_nm_cb_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 684
    functionDepth: 2
    functionLinenumber: 684
    functionLinenumberEnd: 713
    functionName: stream_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - isc_nm_tlsconnect
    - isc_refcount_increment0
    - get_proxyheader_info
    - isc_nm_proxystreamconnect
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: void stream_connect(isc_nm_cb_t cb, void *cbarg, unsigned int timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 724
    functionName: get_proxy_type
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: isc_nm_proxy_type_t
    signature: isc_nm_proxy_type_t get_proxy_type(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:728,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:729,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:731,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:733,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:734,1
    - Dst: have_expected_cconnects
      Src: /src/bind9/tests/isc/netmgr_common.c:736,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:736,1
    - Dst: do_cconnects_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 740
    functionName: connect_success_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    - F
    - have_expected_cconnects
    - do_cconnects_shutdown
    linkageType: ''
    returnType: void
    signature: void connect_success_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 747
    functionName: stream_noop_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_noop_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noop_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 3
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: proxystream_noop_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_noop_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_noop_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_noop_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 4
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: proxystreamtls_noop_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_noop_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_noop_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:765,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:766,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:767,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 3
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: stream_noop
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - isc_loop_teardown
    - assert_int_equal
    - stream_connect
    - stream_listen
    linkageType: ''
    returnType: void
    signature: void stream_noop(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:775,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:776,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:777,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:778,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:779,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 781
    functionName: stream_noop_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_assert_int_eq
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_noop_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 789
    functionName: proxystream_noop_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_noop_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_noop_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_noop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 797
    functionName: proxystreamtls_noop_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_noop_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_noop_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:802,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:803,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:804,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:806,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:808,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:811,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:812,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 815
    functionName: noresponse_readcb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - UNUSED
    - isc_refcount_decrement
    - F
    linkageType: ''
    returnType: void
    signature: "void noresponse_readcb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \ isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:819,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:820,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:822,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:824,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:825,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:826,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: noresponse_sendcb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - UNUSED
    - isc_refcount_decrement
    - F
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: void noresponse_sendcb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:836,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:838,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:840,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:842,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:844,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:845,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:846,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:848,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:849,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:850,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 854
    functionName: noresponse_connectcb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    - isc_nm_read
    - assert_int_equal
    - isc_refcount_increment0
    - isc_nm_send
    - isc_refcount_decrement
    - F
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void noresponse_connectcb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \    void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: stream_noresponse_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_noresponse_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noresponse_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 864
    functionDepth: 3
    functionLinenumber: 864
    functionLinenumberEnd: 868
    functionName: proxystream_noresponse_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_noresponse_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_noresponse_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noresponse_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: proxystream_noresponse_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_noresponse_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_noresponse_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_noresponse_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 881
    functionName: proxystreamtls_noresponse_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_noresponse_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_noresponse_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_noresponse_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 888
    functionName: proxystreamtls_noresponse_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_noresponse_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_noresponse_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:894,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:895,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:896,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 890
    functionDepth: 3
    functionLinenumber: 890
    functionLinenumberEnd: 899
    functionName: stream_noresponse
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - isc_loop_teardown
    - assert_int_equal
    - stream_connect
    - stream_listen
    linkageType: ''
    returnType: void
    signature: void stream_noresponse(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:903,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:904,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:905,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:906,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:907,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:909,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:910,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:911,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:912,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 915
    functionName: stream_noresponse_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - atomic_assert_int_eq
    - X
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_noresponse_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 928
    functionName: stream_timeout_recovery_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_timeout_recovery_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:944,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:945,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:946,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:947,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/isc/netmgr_common.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - result
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlv_data
    - extra
    - cbarg
    argTypes:
    - isc_result_t
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 958
    functionName: proxy2_handler_save_addrs_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void proxy2_handler_save_addrs_cb(const isc_result_t result,\n\t\t\t
      \    const isc_proxy2_command_t cmd, const int socktype,\n\t\t\t     const isc_sockaddr_t
      *restrict src_addr,\n\t\t\t     const isc_sockaddr_t *restrict dst_addr,\n\t\t\t
      \    const isc_region_t *restrict tlv_data,\n\t\t\t     const isc_region_t *restrict
      extra, void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/tests/isc/netmgr_common.c:963,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/tests/isc/netmgr_common.c:964,1
    - Dst: isc_nm_is_proxy_unspec
      Src: /src/bind9/tests/isc/netmgr_common.c:966,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/tests/isc/netmgr_common.c:968,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/tests/isc/netmgr_common.c:969,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:971,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:971,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:972,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:972,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:974,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:974,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:975,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:975,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:977,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:977,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:979,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:979,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/isc/netmgr_common.c:983,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/netmgr_common.c:983,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:988,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:988,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:989,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 991
    functionName: proxy_verify_endpoints
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - assert_true
    - isc_nmhandle_localaddr
    - isc_nm_is_proxy_unspec
    - RUNTIME_CHECK
    - isc_nmhandle_peeraddr
    - isc_nmhandle_real_peeraddr
    - isc_nmhandle_real_localaddr
    - isc_sockaddr_equal
    - isc_proxy2_header_handle_directly
    linkageType: ''
    returnType: void
    signature: void proxy_verify_endpoints(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_timeout_recovery_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 993
    functionDepth: 3
    functionLinenumber: 993
    functionLinenumberEnd: 997
    functionName: proxystream_timeout_recovery_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_timeout_recovery_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_timeout_recovery_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_timeout_recovery_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1004
    functionName: proxystream_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_timeout_recovery_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_timeout_recovery_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_timeout_recovery_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: proxystreamtls_timeout_recovery_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_timeout_recovery_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_timeout_recovery_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_timeout_recovery_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: proxystreamtls_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_timeout_recovery_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_timeout_recovery_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1028,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1029,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1030,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1035,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1036,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1037,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1038,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1039,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1042
    functionName: stream_timeout_recovery
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - isc_loop_teardown
    - isc_nm_setinitialtimeout
    - isc_nm_setprimariestimeout
    - stream_listen
    - assert_int_equal
    - isc_nm_setidletimeout
    - isc_nm_setadvertisedtimeout
    - isc_nm_setkeepalivetimeout
    - stream_connect
    linkageType: ''
    returnType: void
    signature: void stream_timeout_recovery(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1046,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: stream_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - atomic_assert_int_eq
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_timeout_recovery_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1073
    functionName: stream_recv_one_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_recv_one_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_one_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: proxystream_recv_one_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_recv_one_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_recv_one_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_one_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1086
    functionName: proxystream_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_recv_one_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_recv_one_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_one_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 4
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: proxystreamtls_recv_one_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_one_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_recv_one_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_one_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1094
    functionDepth: 2
    functionLinenumber: 1094
    functionLinenumberEnd: 1099
    functionName: proxystreamtls_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_one_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_recv_one_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_listener_init_quota
      Src: /src/bind9/tests/isc/netmgr_common.c:1104,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1106,1
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1108,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1110,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1111,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1114
    functionName: stream_recv_one
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 7
    functionsReached:
    - isc_loop_teardown
    - stream_listen
    - assert_int_equal
    - tcp_listener_init_quota
    - atomic_store
    - stream_connect
    linkageType: ''
    returnType: void
    signature: void stream_recv_one(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1118,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1119,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1120,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1121,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1122,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1123,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1126
    functionName: stream_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - atomic_assert_int_eq
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_recv_one_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1128
    functionDepth: 2
    functionLinenumber: 1128
    functionLinenumberEnd: 1151
    functionName: stream_recv_two_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_recv_two_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_two_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1153
    functionDepth: 3
    functionLinenumber: 1153
    functionLinenumberEnd: 1157
    functionName: proxystream_recv_two_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_recv_two_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_recv_two_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_two_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1164
    functionName: proxystream_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_recv_two_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_recv_two_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_two_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1166
    functionDepth: 4
    functionLinenumber: 1166
    functionLinenumberEnd: 1170
    functionName: proxystreamtls_recv_two_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_two_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_recv_two_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_two_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1177
    functionName: proxystreamtls_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_two_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_recv_two_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_listener_init_quota
      Src: /src/bind9/tests/isc/netmgr_common.c:1182,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1184,1
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1186,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1188,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1189,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1191,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1179
    functionDepth: 3
    functionLinenumber: 1179
    functionLinenumberEnd: 1194
    functionName: stream_recv_two
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 6
    functionsReached:
    - isc_loop_teardown
    - stream_listen
    - assert_int_equal
    - tcp_listener_init_quota
    - atomic_store
    - stream_connect
    linkageType: ''
    returnType: void
    signature: void stream_recv_two(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1198,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1199,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1200,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1201,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1202,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1203,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: stream_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - atomic_assert_int_eq
    - teardown_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_recv_two_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 2
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: stream_recv_send_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr_test
    linkageType: ''
    returnType: int
    signature: int stream_recv_send_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: proxystream_recv_send_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_recv_send_setup
    linkageType: ''
    returnType: int
    signature: int proxystream_recv_send_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: proxystream_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - stream_recv_send_teardown
    linkageType: ''
    returnType: int
    signature: int proxystream_recv_send_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_send_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1232
    functionDepth: 4
    functionLinenumber: 1232
    functionLinenumberEnd: 1236
    functionName: proxystreamtls_recv_send_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_send_setup
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_recv_send_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_recv_send_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1243
    functionName: proxystreamtls_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - proxystream_recv_send_teardown
    linkageType: ''
    returnType: int
    signature: int proxystreamtls_recv_send_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_listener_init_quota
      Src: /src/bind9/tests/isc/netmgr_common.c:1248,1
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1250,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1252,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1253,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/netmgr_common.c:1256,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/netmgr_common.c:1256,1
    - Dst: get_stream_connect_function
      Src: /src/bind9/tests/isc/netmgr_common.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1260
    functionName: stream_recv_send
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 12
    functionsReached:
    - isc_loop_teardown
    - get_stream_connect_function
    - stream_listen
    - assert_int_equal
    - isc_async_run
    - tcp_listener_init_quota
    - isc_loop_get
    linkageType: ''
    returnType: void
    signature: void stream_recv_send(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1264,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1265,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1266,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1267,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1268,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1270,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1271,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1272,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1273,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1262
    functionDepth: 2
    functionLinenumber: 1262
    functionLinenumberEnd: 1276
    functionName: stream_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - X
    - teardown_netmgr_test
    - CHECK_RANGE_FULL
    linkageType: ''
    returnType: int
    signature: int stream_recv_send_teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1280,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1281,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:1284,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:1287,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1291,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1292,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1294,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1295,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1296,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1297,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1299,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1300,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1301,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1302,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1303,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/netmgr_common.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1323
    functionName: setup_udp_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_loopmgr
    - isc_nonce_buf
    - setup_netmgr
    - isc_sockaddr_fromin6
    - isc_refcount_init
    - atomic_store
    linkageType: ''
    returnType: int
    signature: int setup_udp_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1327,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1329,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1330,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1331,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1332,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1333,1
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1335,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1339
    functionName: teardown_udp_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_refcount_destroy
    - UNUSED
    - teardown_loopmgr
    - teardown_netmgr
    linkageType: ''
    returnType: int
    signature: int teardown_udp_test(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_proxyudpconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:1344,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cb
    - cbarg
    - timeout
    argTypes:
    - isc_nm_cb_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1351
    functionName: udp_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 1
    functionsReached:
    - isc_nm_udpconnect
    - isc_nm_proxyudpconnect
    linkageType: ''
    returnType: void
    signature: void udp_connect(isc_nm_cb_t cb, void *cbarg, unsigned int timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1357,1
    - Dst: listen_read_cb
      Src: /src/bind9/tests/isc/netmgr_common.c:1359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1360
    functionName: udp_listen_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - listen_read_cb
    linkageType: ''
    returnType: void
    signature: "void udp_listen_read_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \  isc_region_t *region, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenproxyudp
      Src: /src/bind9/tests/isc/netmgr_common.c:1367,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/isc/netmgr_common.c:1371,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1375,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - nworkers
    - cb
    argTypes:
    - uint32_t
    - isc_nm_recv_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1378
    functionName: udp_start_listening
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - assert_int_equal
    - isc_nm_listenproxyudp
    - isc_nm_listenudp
    linkageType: ''
    returnType: void
    signature: void udp_start_listening(uint32_t nworkers, isc_nm_recv_cb_t cb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1384,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1386,1
    - Dst: have_expected_csends
      Src: /src/bind9/tests/isc/netmgr_common.c:1390,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1390,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/tests/isc/netmgr_common.c:1392,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1393,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:1401,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:1402,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1403,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1406,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1408
    functionName: udp__send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - assert_int_equal
    - isc_nm_cancelread
    - isc_result_totext
    - isc_refcount_decrement
    - F
    - assert_non_null
    - have_expected_csends
    - fprintf
    linkageType: ''
    returnType: void
    signature: void udp__send_cb(isc_nmhandle_t *handle, isc_result_t eresult, void
      *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:1418,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1420,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1423
    functionName: udp_enqueue_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin6
    - isc_refcount_increment0
    - udp_connect
    linkageType: ''
    returnType: void
    signature: void udp_enqueue_connect(void *arg ISC_ATTR_UNUSED)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1430,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1432,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1441,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1444,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1446,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1448,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/netmgr_common.c:1450,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1450,1
    - Dst: do_creads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1451,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1455,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:1461,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:1462,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1463,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1466,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1425
    functionDepth: 2
    functionLinenumber: 1425
    functionLinenumberEnd: 1469
    functionName: udp__connect_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - memmove
    - isc_nm_read
    - atomic_fetch_add
    - assert_int_equal
    - isc_result_totext
    - isc_refcount_decrement
    - F
    - assert_non_null
    - do_creads_shutdown
    - connect_send
    - fprintf
    - have_expected_creads
    linkageType: ''
    returnType: void
    signature: "void udp__connect_read_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \    isc_region_t *region, void *cbarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1476,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1478,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1483,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:1483,1
    - Dst: have_expected_cconnects
      Src: /src/bind9/tests/isc/netmgr_common.c:1486,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1486,1
    - Dst: do_cconnects_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1489,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:1491,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1494,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1495,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1496,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1498,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1499,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1500,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1502,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1508,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:1514,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:1515,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1518
    functionName: udp__connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - atomic_fetch_add
    - isc_nm_read
    - udp_enqueue_connect
    - isc_refcount_increment0
    - assert_int_equal
    - isc_nm_send
    - isc_nm_is_proxy_handle
    - isc_refcount_decrement
    - isc_async_current
    - isc_result_totext
    - F
    - isc_nmhandle_attach
    - have_expected_cconnects
    - fprintf
    - do_cconnects_shutdown
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: void udp__connect_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1526
    functionName: udp_noop_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_noop_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1530,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1533
    functionName: udp_noop_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_noop_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1548,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1535
    functionDepth: 2
    functionLinenumber: 1535
    functionLinenumberEnd: 1550
    functionName: udp_noop
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment0
    - udp_connect
    linkageType: ''
    returnType: void
    signature: void udp_noop(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noop_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1552
    functionDepth: 3
    functionLinenumber: 1552
    functionLinenumberEnd: 1556
    functionName: proxyudp_noop_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_noop_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_noop_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1558
    functionDepth: 3
    functionLinenumber: 1558
    functionLinenumberEnd: 1563
    functionName: proxyudp_noop_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_noop_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_noop_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1568,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1569,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1570,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1572
    functionName: udp_noresponse_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void udp_noresponse_recv_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \      isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1577,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1578,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1580,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1582,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1584,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1586,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1589
    functionName: udp_noresponse_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: "void udp_noresponse_read_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \      isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1594,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1596,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1597,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1598,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1599,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1601
    functionName: udp_noresponse_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_noresponse_send_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \      void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1609,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1611,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1614,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1615,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1616,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1619,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1620,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1621,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1623,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1627
    functionName: udp_noresponse_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - atomic_fetch_add
    - assert_int_equal
    - isc_refcount_increment0
    - isc_nm_send
    - isc_refcount_decrement
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_noresponse_connect_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1629
    functionDepth: 2
    functionLinenumber: 1629
    functionLinenumberEnd: 1634
    functionName: udp_noresponse_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_noresponse_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1638,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: udp_noresponse_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_noresponse_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:1645,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1647,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1643
    functionDepth: 2
    functionLinenumber: 1643
    functionLinenumberEnd: 1649
    functionName: udp_noresponse
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - udp_connect
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void udp_noresponse(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noresponse_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1651
    functionDepth: 3
    functionLinenumber: 1651
    functionLinenumberEnd: 1655
    functionName: proxyudp_noresponse_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_noresponse_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_noresponse_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_noresponse_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1657
    functionDepth: 3
    functionLinenumber: 1657
    functionLinenumberEnd: 1662
    functionName: proxyudp_noresponse_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_noresponse_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_noresponse_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1667,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1669,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1670,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1671,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1672,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1674
    functionName: udp_timeout_recovery_ssend_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_timeout_recovery_ssend_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t      void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1681,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1683,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1685,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1687,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1689,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1690,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1691,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1694,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1695,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1696,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1676
    functionDepth: 1
    functionLinenumber: 1676
    functionLinenumberEnd: 1700
    functionName: udp_timeout_recovery_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - atomic_fetch_add
    - assert_int_equal
    - isc_refcount_increment0
    - isc_nm_send
    - isc_nmhandle_attach
    - assert_non_null
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_timeout_recovery_recv_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t     isc_region_t *region, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1705,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1706,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1708,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1710,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1713,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1715,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1719,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1720,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1722,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1724
    functionName: udp_timeout_recovery_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - isc_nmhandle_settimeout
    - atomic_fetch_add
    - UNUSED
    - isc_refcount_decrement
    - F
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_timeout_recovery_read_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t     isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1729,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1731,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1732,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1733,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1735,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1737
    functionName: udp_timeout_recovery_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_timeout_recovery_send_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t     void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1745,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1747,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1749,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1752,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1753,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1754,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1757,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1758,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1759,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1760,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1764
    functionName: udp_timeout_recovery_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - atomic_fetch_add
    - assert_int_equal
    - isc_refcount_increment0
    - isc_nm_send
    - isc_refcount_decrement
    - isc_nmhandle_attach
    - F
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_timeout_recovery_connect_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t\tvoid *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1774
    functionName: udp_timeout_recovery_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_timeout_recovery_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1778,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1779,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1780,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1781,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1784
    functionName: udp_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_timeout_recovery_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:1791,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1798,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1786
    functionDepth: 2
    functionLinenumber: 1786
    functionLinenumberEnd: 1800
    functionName: udp_timeout_recovery
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - udp_connect
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void udp_timeout_recovery(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_timeout_recovery_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1802
    functionDepth: 3
    functionLinenumber: 1802
    functionLinenumberEnd: 1806
    functionName: proxyudp_timeout_recovery_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_timeout_recovery_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_timeout_recovery_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_timeout_recovery_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1813
    functionName: proxyudp_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_timeout_recovery_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_timeout_recovery_teardown(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1821,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1822,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1824,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1831,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1832,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:1833,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1818
    functionDepth: 1
    functionLinenumber: 1818
    functionLinenumberEnd: 1837
    functionName: udp_shutdown_connect_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    - isc_async_current
    linkageType: ''
    returnType: void
    signature: "void udp_shutdown_connect_connect_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t\tvoid *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1841,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1839
    functionDepth: 2
    functionLinenumber: 1839
    functionLinenumberEnd: 1843
    functionName: udp_shutdown_connect_async_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - udp_connect
    linkageType: ''
    returnType: void
    signature: void udp_shutdown_connect_async_cb(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1845
    functionDepth: 2
    functionLinenumber: 1845
    functionLinenumberEnd: 1850
    functionName: udp_shutdown_connect_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_shutdown_connect_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1854,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1852
    functionDepth: 2
    functionLinenumber: 1852
    functionLinenumberEnd: 1857
    functionName: udp_shutdown_connect_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_shutdown_connect_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1861,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1867
    functionName: udp_shutdown_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_async_current
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void udp_shutdown_connect(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_connect_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1869
    functionDepth: 3
    functionLinenumber: 1869
    functionLinenumberEnd: 1873
    functionName: proxyudp_shutdown_connect_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_connect_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_shutdown_connect_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_connect_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1875
    functionDepth: 3
    functionLinenumber: 1875
    functionLinenumberEnd: 1880
    functionName: proxyudp_shutdown_connect_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_connect_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_shutdown_connect_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1887,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1889,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1891,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1893,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1895,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1897,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1899
    functionName: udp_shutdown_read_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - assert_int_equal
    - UNUSED
    - F
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_shutdown_read_recv_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1904,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1906,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1908,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1909,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1911,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1913,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1915,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1917
    functionName: udp_shutdown_read_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - assert_int_equal
    - UNUSED
    - isc_refcount_decrement
    - F
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_shutdown_read_send_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1922,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1923,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1925,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1927,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1929,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1932
    functionName: udp_shutdown_read_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - atomic_fetch_add
    - UNUSED
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: "void udp_shutdown_read_read_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1940,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1942,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1945,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1946,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1947,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1948,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1951,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1952,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1953,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1954,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1934
    functionDepth: 1
    functionLinenumber: 1934
    functionLinenumberEnd: 1958
    functionName: udp_shutdown_read_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nm_read
    - atomic_fetch_add
    - assert_int_equal
    - isc_refcount_increment0
    - isc_nm_send
    - isc_refcount_decrement
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_shutdown_read_connect_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t     void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 1966
    functionName: udp_shutdown_read_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_shutdown_read_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1970,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1971,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1968
    functionDepth: 2
    functionLinenumber: 1968
    functionLinenumberEnd: 1974
    functionName: udp_shutdown_read_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_shutdown_read_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:1978,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1980,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1976
    functionDepth: 2
    functionLinenumber: 1976
    functionLinenumberEnd: 1982
    functionName: udp_shutdown_read
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - udp_connect
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void udp_shutdown_read(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_read_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1984
    functionDepth: 3
    functionLinenumber: 1984
    functionLinenumberEnd: 1988
    functionName: proxyudp_shutdown_read_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_read_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_shutdown_read_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_shutdown_read_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1990
    functionDepth: 3
    functionLinenumber: 1990
    functionLinenumberEnd: 1995
    functionName: proxyudp_shutdown_read_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_shutdown_read_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_shutdown_read_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:2002,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:2004,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2006,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2008,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2010,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2012,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2014
    functionName: udp_cancel_read_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - assert_int_equal
    - UNUSED
    - F
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_cancel_read_recv_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\tisc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:2019,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2021,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:2023,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2024,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2026,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/tests/isc/netmgr_common.c:2028,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2030,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2032
    functionName: udp_cancel_read_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - assert_int_equal
    - isc_nm_cancelread
    - UNUSED
    - isc_refcount_decrement
    - F
    - assert_non_null
    linkageType: ''
    returnType: void
    signature: "void udp_cancel_read_send_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\tvoid *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:2040,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2042,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2048,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2049,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:2050,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2053,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2054,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:2055,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2056,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2062,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:2063,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:2066,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2069,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2072
    functionName: udp_cancel_read_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - UNREACHABLE
    - isc_nm_read
    - atomic_fetch_add
    - isc_refcount_increment0
    - isc_nm_send
    - UNUSED
    - isc_refcount_decrement
    - F
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_cancel_read_read_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\tisc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2079,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2081,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2083,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2084,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:2085,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2074
    functionDepth: 1
    functionLinenumber: 2074
    functionLinenumberEnd: 2088
    functionName: udp_cancel_read_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - atomic_fetch_add
    - assert_int_equal
    - isc_refcount_increment0
    - isc_refcount_decrement
    - isc_nmhandle_attach
    linkageType: ''
    returnType: void
    signature: "void udp_cancel_read_connect_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t   void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2090
    functionDepth: 2
    functionLinenumber: 2090
    functionLinenumberEnd: 2096
    functionName: udp_cancel_read_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_cancel_read_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2100,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2101,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2098
    functionDepth: 2
    functionLinenumber: 2098
    functionLinenumberEnd: 2104
    functionName: udp_cancel_read_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_cancel_read_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:2108,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2110,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2112
    functionName: udp_cancel_read
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - udp_connect
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void udp_cancel_read(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_cancel_read_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:2117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2114
    functionDepth: 3
    functionLinenumber: 2114
    functionLinenumberEnd: 2118
    functionName: proxyudp_cancel_read_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_cancel_read_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_cancel_read_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_cancel_read_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:2122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2120
    functionDepth: 3
    functionLinenumber: 2120
    functionLinenumberEnd: 2125
    functionName: proxyudp_cancel_read_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_cancel_read_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_cancel_read_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2149
    functionName: udp_recv_one_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_recv_one_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2153,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2154,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2155,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2156,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2157,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2151
    functionDepth: 2
    functionLinenumber: 2151
    functionLinenumberEnd: 2162
    functionName: udp_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_recv_one_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:2166,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2164
    functionDepth: 3
    functionLinenumber: 2164
    functionLinenumberEnd: 2169
    functionName: udp_recv_one
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - udp_start_listening
    - udp_enqueue_connect
    linkageType: ''
    returnType: void
    signature: void udp_recv_one(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_one_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2171
    functionDepth: 3
    functionLinenumber: 2171
    functionLinenumberEnd: 2175
    functionName: proxyudp_recv_one_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_recv_one_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_recv_one_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_one_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:2179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2177
    functionDepth: 3
    functionLinenumber: 2177
    functionLinenumberEnd: 2182
    functionName: proxyudp_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_recv_one_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_recv_one_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2184
    functionDepth: 2
    functionLinenumber: 2184
    functionLinenumberEnd: 2206
    functionName: udp_recv_two_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_recv_two_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2210,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2211,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2212,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2213,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2214,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2208
    functionDepth: 2
    functionLinenumber: 2208
    functionLinenumberEnd: 2218
    functionName: udp_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_recv_two_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:2222,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2224,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2220
    functionDepth: 3
    functionLinenumber: 2220
    functionLinenumberEnd: 2226
    functionName: udp_recv_two
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - udp_enqueue_connect
    linkageType: ''
    returnType: void
    signature: void udp_recv_two(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_two_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:2231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2228
    functionDepth: 3
    functionLinenumber: 2228
    functionLinenumberEnd: 2232
    functionName: proxyudp_recv_two_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_recv_two_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_recv_two_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_two_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:2236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2234
    functionDepth: 3
    functionLinenumber: 2234
    functionLinenumberEnd: 2239
    functionName: proxyudp_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_recv_two_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_recv_two_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2241
    functionDepth: 2
    functionLinenumber: 2241
    functionLinenumberEnd: 2253
    functionName: udp_recv_send_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_recv_send_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2257,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2258,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2259,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2260,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2261,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2255
    functionDepth: 2
    functionLinenumber: 2255
    functionLinenumberEnd: 2265
    functionName: udp_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_ge
    linkageType: ''
    returnType: int
    signature: int udp_recv_send_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:2269,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/netmgr_common.c:2272,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/netmgr_common.c:2272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2267
    functionDepth: 2
    functionLinenumber: 2267
    functionLinenumberEnd: 2275
    functionName: udp_recv_send
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - isc_loop_get
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void udp_recv_send(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_send_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2277
    functionDepth: 3
    functionLinenumber: 2277
    functionLinenumberEnd: 2281
    functionName: proxyudp_recv_send_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_recv_send_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_recv_send_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_recv_send_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:2285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2283
    functionDepth: 3
    functionLinenumber: 2283
    functionLinenumberEnd: 2288
    functionName: proxyudp_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_recv_send_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_recv_send_teardown(void **state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:2293,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2295,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2297,1
    - Dst: have_expected_ssends
      Src: /src/bind9/tests/isc/netmgr_common.c:2301,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2301,1
    - Dst: do_ssends_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:2302,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2305,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:2306,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2307,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2308,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:2316,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:2317,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2318,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2290
    functionDepth: 1
    functionLinenumber: 2290
    functionLinenumberEnd: 2322
    functionName: udp_double_read_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - atomic_fetch_add
    - isc_refcount_increment0
    - assert_int_equal
    - isc_nm_send
    - isc_refcount_decrement
    - do_ssends_shutdown
    - isc_result_totext
    - F
    - assert_non_null
    - isc_nmhandle_attach
    - fprintf
    - have_expected_ssends
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_double_read_send_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\tvoid *cbarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:2329,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2331,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2339,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2340,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2342,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2344,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2345,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2348,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:2349,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2350,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2351,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:2355,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:2356,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2357,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2360,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2324
    functionDepth: 1
    functionLinenumber: 2324
    functionLinenumberEnd: 2363
    functionName: udp_double_read_listen_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - memmove
    - isc_refcount_increment0
    - assert_int_equal
    - isc_nm_send
    - isc_result_totext
    - isc_refcount_decrement
    - F
    - assert_non_null
    - isc_nmhandle_attach
    - fprintf
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void udp_double_read_listen_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  isc_region_t *region, void *cbarg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:2371,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2373,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2385,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2387,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2389,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/netmgr_common.c:2391,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2391,1
    - Dst: do_creads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:2392,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2397,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:2409,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:2410,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2411,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2415,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2416,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:2418,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2365
    functionDepth: 2
    functionLinenumber: 2365
    functionLinenumberEnd: 2420
    functionName: udp_double_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_detach
    - memmove
    - atomic_fetch_add
    - isc_nm_read
    - assert_int_equal
    - isc_result_totext
    - isc_refcount_decrement
    - F
    - assert_non_null
    - do_creads_shutdown
    - connect_send
    - fprintf
    - have_expected_creads
    linkageType: ''
    returnType: void
    signature: "void udp_double_read_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \  isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2422
    functionDepth: 2
    functionLinenumber: 2422
    functionLinenumberEnd: 2443
    functionName: udp_double_read_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_udp_test
    linkageType: ''
    returnType: int
    signature: int udp_double_read_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2447,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2445
    functionDepth: 2
    functionLinenumber: 2445
    functionLinenumberEnd: 2452
    functionName: udp_double_read_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_udp_test
    - atomic_assert_int_eq
    linkageType: ''
    returnType: int
    signature: int udp_double_read_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_start_listening
      Src: /src/bind9/tests/isc/netmgr_common.c:2456,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2454
    functionDepth: 3
    functionLinenumber: 2454
    functionLinenumberEnd: 2459
    functionName: udp_double_read
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_start_listening
    - udp_enqueue_connect
    linkageType: ''
    returnType: void
    signature: void udp_double_read(void **arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_double_read_setup
      Src: /src/bind9/tests/isc/netmgr_common.c:2464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2461
    functionDepth: 3
    functionLinenumber: 2461
    functionLinenumberEnd: 2465
    functionName: proxyudp_double_read_setup
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_double_read_setup
    linkageType: ''
    returnType: int
    signature: int proxyudp_double_read_setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udp_double_read_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:2469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2467
    functionDepth: 3
    functionLinenumber: 2467
    functionLinenumberEnd: 2472
    functionName: proxyudp_double_read_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_double_read_teardown
    linkageType: ''
    returnType: int
    signature: int proxyudp_double_read_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/tests/isc/hashmap_test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: nodes_match
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool nodes_match(void *node0, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:56,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/hashmap_test.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: long_nodes_match
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool long_nodes_match(void *node0, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/isc/hashmap_test.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: upper_nodes_match
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    linkageType: ''
    returnType: bool
    signature: bool upper_nodes_match(void *node0, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:74,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:75,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:76,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:78,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hashmap_test.c:79,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:87,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:88,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:89,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:92,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:94,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:96,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:98,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:101,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:102,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:104,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:111,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:113,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:114,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:122,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:123,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:129,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:131,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:132,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:140,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:141,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:149,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:150,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:158,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:159,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/tests/isc/hashmap_test.c:164,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:166,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:167,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:169,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:170,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:175,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:178,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:179,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/tests/isc/hashmap_test.c:184,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:187,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:188,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:191,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:192,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:197,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:200,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:201,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:208,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:209,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:212,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:213,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:215,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:216,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 2
    argNames:
    - init_bits
    - count
    argTypes:
    - uint8_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 218
    functionName: test_hashmap_full
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - assert_int_equal
    - assert_null
    - isc_hashmap_delete
    - strlcat
    - isc_hashmap_add
    - isc_hash32
    - strlen
    - isc_mem_cput
    - snprintf
    - assert_non_null
    - isc_hashmap_find
    - assert_ptr_equal
    - isc_hashmap_destroy
    - isc_hashmap_create
    linkageType: ''
    returnType: void
    signature: void test_hashmap_full(uint8_t init_bits, uintptr_t count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:231,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:232,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:234,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hashmap_test.c:235,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:239,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:240,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:242,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:250,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:252,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:253,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:257,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/hashmap_test.c:257,1
    - Dst: memset
      Src: /src/bind9/tests/isc/hashmap_test.c:259,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/tests/isc/hashmap_test.c:260,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:262,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:263,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/tests/isc/hashmap_test.c:270,1
    - Dst: isc_hashmap_iter_currentkey
      Src: /src/bind9/tests/isc/hashmap_test.c:271,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:275,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:276,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:278,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/hashmap_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:283,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:285,1
    - Dst: memset
      Src: /src/bind9/tests/isc/hashmap_test.c:289,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:290,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/tests/isc/hashmap_test.c:297,1
    - Dst: isc_hashmap_iter_currentkey
      Src: /src/bind9/tests/isc/hashmap_test.c:298,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:301,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:302,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:303,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/tests/isc/hashmap_test.c:306,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:308,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/hashmap_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:314,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:316,1
    - Dst: memset
      Src: /src/bind9/tests/isc/hashmap_test.c:320,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:321,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/tests/isc/hashmap_test.c:328,1
    - Dst: isc_hashmap_iter_currentkey
      Src: /src/bind9/tests/isc/hashmap_test.c:329,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:332,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:333,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:334,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/tests/isc/hashmap_test.c:337,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:339,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:342,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:344,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:345,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:347,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:349,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:352,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/hashmap_test.c:352,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:354,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:355,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:357,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:358,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:360,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - random_data
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 362
    functionName: test_hashmap_iterator
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_iter_next
    - memset
    - assert_int_equal
    - assert_false
    - isc_hashmap_iter_delcurrent_next
    - strlcat
    - snprintf
    - isc_hashmap_iter_create
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    - isc_hashmap_destroy
    - isc_hashmap_iter_current
    - assert_memory_equal
    - isc_hashmap_create
    - rehashing_in_progress
    - assert_non_null
    - assert_ptr_equal
    - assert_true
    - isc_mem_cget
    - isc_hashmap_iter_currentkey
    - isc_hashmap_add
    - isc_hash32
    - isc_mem_cput
    - assert_null
    linkageType: ''
    returnType: void
    signature: void test_hashmap_iterator(bool random_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_full
      Src: /src/bind9/tests/isc/hashmap_test.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_1_120)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_full
      Src: /src/bind9/tests/isc/hashmap_test.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_6_1000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_full
      Src: /src/bind9/tests/isc/hashmap_test.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_24_200000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_full
      Src: /src/bind9/tests/isc/hashmap_test.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_1_48000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_full
      Src: /src/bind9/tests/isc/hashmap_test.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_full
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_8_20000)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_iterator
      Src: /src/bind9/tests/isc/hashmap_test.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_iterator
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hashmap_iterator
      Src: /src/bind9/tests/isc/hashmap_test.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - test_hashmap_iterator
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_iterator_static)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:412,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:414,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:416,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 428
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - isc_hash32
    - isc_hashmap_destroy
    - isc_hashmap_create
    - assert_int_not_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_hash_zero_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:433,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/hashmap_test.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: case_match
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool case_match(void *node0, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:441,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/isc/hashmap_test.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: nocase_match
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool nocase_match(void *node0, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:455,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:457,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:458,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:458,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:460,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:462,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:463,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:463,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:465,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:467,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:468,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:468,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:470,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:472,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:473,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:473,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:475,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:476,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:478,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:480,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:482,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:483,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:483,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:485,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:487,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:488,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:488,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:490,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:492,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:493,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:493,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:495,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:497,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:498,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:498,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:500,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:501,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 504
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_hashmap_add
    - isc_hash32
    - strlen
    - isc_hashmap_find
    - assert_ptr_equal
    - isc_hashmap_destroy
    - isc_hashmap_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hashmap_case)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:74,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/time_test.c:76,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:78,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:85,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:86,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:89,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:89,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:92,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:92,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:96,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:96,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:99,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:99,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:102,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 104
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - ARRAY_SIZE
    - isc_time_add
    - assert_int_equal
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_add_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:107,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/time_test.c:109,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:111,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:113,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:117,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:118,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:121,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:121,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:124,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:124,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:128,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:128,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:131,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:131,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:134,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 136
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - ARRAY_SIZE
    - assert_int_equal
    - UNUSED
    - isc_time_subtract
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_sub_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:145,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:147,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:148,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/tests/isc/time_test.c:150,1
    - Dst: isc_time_parsehttptimestamp
      Src: /src/bind9/tests/isc/time_test.c:151,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:152,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:153,1
    - Dst: isc_time_seconds
      Src: /src/bind9/tests/isc/time_test.c:153,1
    - Dst: isc_time_seconds
      Src: /src/bind9/tests/isc/time_test.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - isc_time_seconds
    - isc_time_now
    - setenv
    - isc_time_formathttptimestamp
    - isc_time_parsehttptimestamp
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_parsehttptimestamp_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:162,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:164,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:165,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:168,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/tests/isc/time_test.c:169,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:170,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:170,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:171,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:172,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:173,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:174,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:175,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:176,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:179,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:180,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/tests/isc/time_test.c:181,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:182,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:184,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:185,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/tests/isc/time_test.c:186,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - strlen
    - isc_time_set
    - isc_time_now
    - isc_time_formatISO8601
    - isc_time_settoepoch
    - setenv
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_formatISO8601_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:196,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:198,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:199,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:202,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/tests/isc/time_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:204,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:205,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:207,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:209,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:210,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:211,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:214,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:215,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/tests/isc/time_test.c:216,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:217,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:219,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:220,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/tests/isc/time_test.c:221,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 223
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_time_formatISO8601ms
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - strlen
    - isc_time_set
    - isc_time_now
    - isc_time_settoepoch
    - setenv
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_formatISO8601ms_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:231,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:233,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/time_test.c:234,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:237,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/tests/isc/time_test.c:238,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:239,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:239,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:240,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:241,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:242,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:243,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:244,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:245,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:246,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:249,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:250,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/tests/isc/time_test.c:251,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:252,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:254,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:255,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/tests/isc/time_test.c:256,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 258
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - strlen
    - isc_time_set
    - isc_time_formatISO8601us
    - isc_time_now_hires
    - isc_time_settoepoch
    - setenv
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_formatISO8601us_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:266,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:268,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:269,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:272,1
    - Dst: isc_time_formatISO8601TZms
      Src: /src/bind9/tests/isc/time_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:275,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:275,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:275,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:277,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:278,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:279,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:281,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:282,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/time_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:285,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:288,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:289,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:290,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:291,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:293,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:294,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:295,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 297
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memset
    - isc_time_formatISO8601Lms
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - strlen
    - isc_time_set
    - isc_time_now
    - isc_time_formatISO8601TZms
    - isc_time_settoepoch
    - setenv
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_formatISO8601TZms_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:304,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:306,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:307,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:310,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:312,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:312,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:313,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:314,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:315,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:316,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:317,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:318,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:321,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:322,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:323,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:324,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:326,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:327,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:328,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_time_formatISO8601Lms
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - strlen
    - isc_time_set
    - isc_time_now
    - isc_time_settoepoch
    - setenv
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_formatISO8601Lms_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/time_test.c:338,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:340,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:341,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:344,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/tests/isc/time_test.c:345,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:346,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:346,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:349,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:350,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/tests/isc/time_test.c:351,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:352,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:354,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:355,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/tests/isc/time_test.c:356,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - strlen
    - isc_time_set
    - isc_time_now
    - isc_time_formatshorttimestamp
    - isc_time_settoepoch
    - setenv
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_time_formatshorttimestamp_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/symtab_test.c:37,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/symtab_test.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - value
    - ISC_ATTR_UNUSED
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: undefine
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: "void undefine(char *key, unsigned int type ISC_ATTR_UNUSED, isc_symvalue_t
      value,\n\t void *arg ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:48,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:49,1
    - Dst: isc_symtab_create
      Src: /src/bind9/tests/isc/symtab_test.c:51,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:52,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:54,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:55,1
    - Dst: isc_symtab_define
      Src: /src/bind9/tests/isc/symtab_test.c:57,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:58,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:60,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:61,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:62,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:65,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/tests/isc/symtab_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 68
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - assert_int_equal
    - assert_string_equal
    - isc_symtab_destroy
    - isc_symtab_define
    - assert_non_null
    - snprintf
    - isc_mem_strdup
    - isc_symtab_lookup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(symtab_define)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:78,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:80,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:81,1
    - Dst: isc_symtab_create
      Src: /src/bind9/tests/isc/symtab_test.c:83,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:84,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:86,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:87,1
    - Dst: isc_symtab_define
      Src: /src/bind9/tests/isc/symtab_test.c:89,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:90,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:92,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:93,1
    - Dst: isc_symtab_undefine
      Src: /src/bind9/tests/isc/symtab_test.c:95,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:96,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:98,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:99,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/tests/isc/symtab_test.c:101,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/symtab_test.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 107
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - isc_mem_free
    - assert_int_equal
    - isc_symtab_destroy
    - isc_symtab_define
    - assert_non_null
    - snprintf
    - isc_mem_strdup
    - isc_symtab_lookup
    - isc_symtab_undefine
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(symtab_undefine)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:117,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:118,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:119,1
    - Dst: isc_symtab_create
      Src: /src/bind9/tests/isc/symtab_test.c:121,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:122,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:124,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:125,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:127,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:128,1
    - Dst: isc_symtab_define
      Src: /src/bind9/tests/isc/symtab_test.c:130,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:131,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:133,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:134,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:135,1
    - Dst: isc_symtab_define
      Src: /src/bind9/tests/isc/symtab_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:138,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:140,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:141,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:142,1
    - Dst: isc_symtab_undefine
      Src: /src/bind9/tests/isc/symtab_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:145,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/tests/isc/symtab_test.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 148
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - assert_int_equal
    - assert_string_equal
    - isc_symtab_destroy
    - isc_symtab_define
    - assert_non_null
    - snprintf
    - isc_mem_strdup
    - isc_symtab_lookup
    - isc_symtab_undefine
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(symtab_replace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:158,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:159,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:160,1
    - Dst: isc_symtab_create
      Src: /src/bind9/tests/isc/symtab_test.c:162,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:163,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:165,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:166,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:168,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:169,1
    - Dst: isc_symtab_define
      Src: /src/bind9/tests/isc/symtab_test.c:171,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:172,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:174,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:175,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:176,1
    - Dst: isc_symtab_define_and_return
      Src: /src/bind9/tests/isc/symtab_test.c:178,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:180,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:181,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:183,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:184,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:185,1
    - Dst: isc_symtab_undefine
      Src: /src/bind9/tests/isc/symtab_test.c:187,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:188,1
    - Dst: undefine
      Src: /src/bind9/tests/isc/symtab_test.c:190,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/tests/isc/symtab_test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 193
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - assert_int_equal
    - assert_string_equal
    - isc_symtab_define_and_return
    - isc_symtab_destroy
    - isc_symtab_define
    - assert_non_null
    - snprintf
    - isc_mem_strdup
    - isc_symtab_lookup
    - isc_symtab_undefine
    - undefine
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(symtab_reject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_false
      Src: /src/bind9/tests/isc/symtab_test.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ISC_ATTR_UNUSED
    - type
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: peek
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - assert_false
    linkageType: ''
    returnType: bool
    signature: "bool peek(char *key ISC_ATTR_UNUSED, unsigned int type,\n     isc_symvalue_t
      value ISC_ATTR_UNUSED, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/tests/isc/symtab_test.c:215,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:218,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:226,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:228,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:229,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/isc/symtab_test.c:230,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/symtab_test.c:231,1
    - Dst: isc_symtab_define
      Src: /src/bind9/tests/isc/symtab_test.c:232,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:233,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:242,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/tests/isc/symtab_test.c:243,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:244,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/symtab_test.c:245,1
    - Dst: isc_symtab_foreach
      Src: /src/bind9/tests/isc/symtab_test.c:251,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/symtab_test.c:254,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/symtab_test.c:264,1
    - Dst: isc_symtab_undefine
      Src: /src/bind9/tests/isc/symtab_test.c:265,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/symtab_test.c:266,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/tests/isc/symtab_test.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 271
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/symtab_test.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - assert_true
    - isc_symtab_foreach
    - assert_int_equal
    - assert_string_equal
    - isc_symtab_destroy
    - isc_symtab_define
    - assert_non_null
    - isc_mem_strdup
    - snprintf
    - isc_symtab_lookup
    - isc_symtab_undefine
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(symtab_foreach)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: have_expected_ssends
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_ssends(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: have_expected_sreads
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_sreads(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: have_expected_csends
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_csends(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: have_expected_cconnects
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_cconnects(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: have_expected_creads
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_creads(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: have_expected_ctimeouts
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_ctimeouts(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: CHECK_RANGE_FULL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE_FULL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: CHECK_RANGE_HALF
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE_HALF(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: X
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:140,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:142,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: get_proxy_type
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 9
    functionsReached:
    - atomic_load
    linkageType: ''
    returnType: isc_nm_proxy_type_t
    signature: isc_nm_proxy_type_t get_proxy_type(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_is_proxy_unspec
      Src: /src/bind9/tests/isc/doh_test.c:153,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/tests/isc/doh_test.c:154,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/tests/isc/doh_test.c:155,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/tests/isc/doh_test.c:156,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/tests/isc/doh_test.c:157,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:159,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/doh_test.c:159,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:160,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/doh_test.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: proxy_verify_unspec_endpoint
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nmhandle_localaddr
    - isc_nm_is_proxy_unspec
    - isc_nmhandle_peeraddr
    - isc_nmhandle_real_peeraddr
    - isc_nmhandle_real_localaddr
    - isc_sockaddr_equal
    linkageType: ''
    returnType: void
    signature: void proxy_verify_unspec_endpoint(isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:175,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:176,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/doh_test.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/isc/doh_test.c:182,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/tests/isc/doh_test.c:182,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:184,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/isc/doh_test.c:190,1
    - Dst: csdata_t::reply_cb
      Src: /src/bind9/tests/isc/doh_test.c:193,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/isc/doh_test.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: connect_send_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - memmove
    - csdata_t::reply_cb
    - isc_mem_putanddetach
    - REQUIRE
    - isc_mem_put
    - atomic_fetch_sub
    - isc__nm_http_request
    linkageType: ''
    returnType: void
    signature: void connect_send_cb(isc_nmhandle_t *handle, isc_result_t result, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/doh_test.c:205,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:207,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/doh_test.c:208,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/isc/doh_test.c:210,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/tests/isc/doh_test.c:215,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - mgr
    - uri
    - post
    - region
    - cb
    - cbarg
    - tls
    - timeout
    argTypes:
    - isc_nm_t*
    - char*
    - bool
    - isc_region_t*
    - isc_nm_recv_cb_t
    - void*
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 218
    functionName: connect_send_request
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - memmove
    - get_proxy_type
    - isc_mem_get
    - isc_nm_httpconnect
    linkageType: ''
    returnType: void
    signature: "void connect_send_request(isc_nm_t *mgr, const char *uri, bool post,\n\t\t
      \    isc_region_t *region, isc_nm_recv_cb_t cb, void *cbarg,\n\t\t     bool
      tls, unsigned int timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/doh_test.c:227,1
    - Dst: socket
      Src: /src/bind9/tests/isc/doh_test.c:229,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:231,1
    - Dst: bind
      Src: /src/bind9/tests/isc/doh_test.c:235,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:238,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/tests/isc/doh_test.c:239,1
    - Dst: getsockname
      Src: /src/bind9/tests/isc/doh_test.c:243,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:245,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/tests/isc/doh_test.c:246,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/tests/isc/doh_test.c:250,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/doh_test.c:252,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/doh_test.c:254,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:255,1
    - Dst: isc__nm_socket_reuse_lb
      Src: /src/bind9/tests/isc/doh_test.c:259,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/doh_test.c:261,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/doh_test.c:263,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:264,1
    - Dst: setsockopt_on
      Src: /src/bind9/tests/isc/doh_test.c:272,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:274,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - addr
    - family
    argTypes:
    - isc_sockaddr_t*
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 281
    functionName: setup_ephemeral_port
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - socket
    - close
    - setsockopt_on
    - isc_result_totext
    - isc_sockaddr_fromin6
    - bind
    - isc__nm_socket_reuse
    - fprintf
    - perror
    - isc__nm_socket_reuse_lb
    - getsockname
    - isc__nm_closesocket
    linkageType: ''
    returnType: int
    signature: int setup_ephemeral_port(isc_sockaddr_t *addr, sa_family_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - socket
    - ','
    - level
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: setsockopt_on
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsockopt_on(socket, level, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:290,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - result
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: noop_read_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void noop_read_cb(isc_nmhandle_t *handle, isc_result_t result, isc_region_t
      *region,\n\t     void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/tests/isc/doh_test.c:299,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/isc/doh_test.c:303,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:307,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/doh_test.c:311,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/isc/doh_test.c:313,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/doh_test.c:315,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:317,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:318,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:318,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:320,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:321,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:322,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:323,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:324,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:325,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:334,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:335,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:336,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:337,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/doh_test.c:341,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/doh_test.c:342,1
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/isc/doh_test.c:347,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/doh_test.c:349,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/isc/doh_test.c:351,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:352,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/tests/isc/doh_test.c:356,1
    - Dst: isc_tlsctx_enable_http2server_alpn
      Src: /src/bind9/tests/isc/doh_test.c:357,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/tests/isc/doh_test.c:359,1
    - Dst: isc_tlsctx_enable_http2client_alpn
      Src: /src/bind9/tests/isc/doh_test.c:360,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/tests/isc/doh_test.c:361,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/doh_test.c:366,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:367,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/doh_test.c:369,1
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/tests/isc/doh_test.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 375
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - setup_loopmgr
    - atoi
    - isc_tlsctx_createclient
    - isc_os_ncpus
    - close
    - isc_nonce_buf
    - isc_tlsctx_enable_http2client_alpn
    - INSIST
    - isc_netmgr_create
    - isc_quota_init
    - assert_non_null
    - atomic_load
    - isc_tlsctx_enable_http2server_alpn
    - isc_nm_http_endpoints_new
    - getenv
    - isc_mem_cget
    - isc_tlsctx_createserver
    - isc_tlsctx_client_session_cache_create
    - atomic_store
    - setup_ephemeral_port
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_detach
      Src: /src/bind9/tests/isc/doh_test.c:380,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:381,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/doh_test.c:383,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/doh_test.c:385,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/doh_test.c:388,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/doh_test.c:391,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/tests/isc/doh_test.c:394,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/doh_test.c:396,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/tests/isc/doh_test.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 401
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_http_endpoints_detach
    - isc_quota_destroy
    - isc_nm_detach
    - isc_tlsctx_free
    - isc_mem_cput
    - assert_null
    - teardown_loopmgr
    - isc_tlsctx_client_session_cache_detach
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sa
    - https
    - outbuf
    - outbuf_len
    - append
    argTypes:
    - isc_sockaddr_t*
    - bool
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: sockaddr_to_url
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_http_makeuri
    linkageType: ''
    returnType: void
    signature: "void sockaddr_to_url(isc_sockaddr_t *sa, const bool https, char *outbuf,\n\t\tsize_t
      outbuf_len, const char *append)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:414,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/isc/doh_test.c:415,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/doh_test.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: init_listener_quota
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - ISC_MAX
    - isc_quota_max
    linkageType: ''
    returnType: isc_quota_t
    signature: 'isc_quota_t *

      init_listener_quota(size_t nthreads)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:425,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:426,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:427,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:430,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:431,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/doh_test.c:431,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:433,1
    - Dst: have_expected_csends
      Src: /src/bind9/tests/isc/doh_test.c:434,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:434,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/doh_test.c:435,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:435,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:437,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 442
    functionName: doh_receive_reply_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - UNUSED
    - isc_nm_is_proxy_handle
    - assert_non_null
    - have_expected_csends
    - atomic_load
    - have_expected_creads
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: "void doh_receive_reply_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \    isc_region_t *region, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:446,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:447,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:449,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: doh_reply_sent_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - UNUSED
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void doh_reply_sent_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *cbarg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:461,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:462,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:468,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:469,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/doh_test.c:469,1
    - Dst: proxy_verify_unspec_endpoint
      Src: /src/bind9/tests/isc/doh_test.c:470,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:473,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:475,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:481,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:484,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/doh_test.c:489,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:498,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 501
    functionName: doh_receive_request_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - atomic_fetch_add
    - assert_int_equal
    - proxy_verify_unspec_endpoint
    - isc_nm_send
    - UNUSED
    - isc_nm_is_proxy_handle
    - assert_non_null
    - atomic_load
    linkageType: ''
    returnType: void
    signature: "void doh_receive_request_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \      isc_region_t *region, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WILL_RETURN
      Src: /src/bind9/tests/isc/doh_test.c:508,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:510,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:512,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:513,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/doh_test.c:516,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:517,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 522
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_nm_http_endpoints_add
    - isc_nm_listenhttp
    - assert_int_equal
    - assert_int_not_equal
    - WILL_RETURN
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(mock_doh_uv_tcp_bind)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/tests/isc/doh_test.c:528,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/tests/isc/doh_test.c:529,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 531
    functionName: listen_sock_close
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_null
    - isc_nm_stoplistening
    - isc_nmsocket_close
    linkageType: ''
    returnType: void
    signature: void listen_sock_close(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:541,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:543,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:545,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:547,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:548,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:549,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:551,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:553,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:553,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:556,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:558,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:560,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:560,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:561,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:561,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:562,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:562,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:563,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 564
    functionName: doh_noop
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - isc_nm_http_endpoints_add
    - isc_nm_listenhttp
    - sockaddr_to_url
    - assert_int_equal
    - get_proxy_type
    - atomic_load
    - connect_send_request
    linkageType: ''
    returnType: void
    signature: void doh_noop(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:567,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_noop_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:572,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_noop_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:584,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:586,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:588,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:590,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:591,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:592,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:594,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:596,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:596,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:599,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 602
    functionName: doh_noresponse
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - isc_nm_http_endpoints_add
    - isc_nm_listenhttp
    - sockaddr_to_url
    - assert_int_equal
    - get_proxy_type
    - atomic_load
    - connect_send_request
    linkageType: ''
    returnType: void
    signature: void doh_noresponse(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:605,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_noresponse_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:610,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_noresponse_GET)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:617,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:618,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:620,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:623,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/doh_test.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 627
    functionName: timeout_query_sent_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - assert_non_null
    - UNUSED
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: "void timeout_query_sent_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \     void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:633,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:635,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:637,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/doh_test.c:638,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/doh_test.c:642,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - handle
    - eresult
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 644
    functionName: timeout_retry_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - isc_nmhandle_settimeout
    - atomic_fetch_add
    - assert_non_null
    - atomic_load
    linkageType: ''
    returnType: void
    signature: "void timeout_retry_cb(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      isc_region_t *region ISC_ATTR_UNUSED,\n\t\t void *arg ISC_ATTR_UNUSED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/isc/doh_test.c:651,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/tests/isc/doh_test.c:651,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/doh_test.c:657,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/doh_test.c:658,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/doh_test.c:663,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/doh_test.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 665
    functionName: timeout_request_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_nm_read
    - isc_nm_send
    - isc_nmhandle_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void timeout_request_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:673,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:676,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:678,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:680,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:682,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:683,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:684,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/doh_test.c:696,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/doh_test.c:697,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/doh_test.c:698,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/doh_test.c:699,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/doh_test.c:700,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:701,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/tests/isc/doh_test.c:703,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:704,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 707
    functionName: doh_timeout_recovery
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_setinitialtimeout
    - isc_nm_http_endpoints_add
    - isc_nm_listenhttp
    - isc_nm_setprimariestimeout
    - sockaddr_to_url
    - assert_int_equal
    - get_proxy_type
    - isc_nm_setidletimeout
    - isc_nm_httpconnect
    - isc_nm_setkeepalivetimeout
    - isc_nm_setadvertisedtimeout
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void doh_timeout_recovery(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:711,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:711,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 713
    functionName: doh_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - assert_true
    - teardown_test
    linkageType: ''
    returnType: int
    signature: int doh_timeout_recovery_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:716,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 718
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_timeout_recovery_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:721,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_timeout_recovery_GET)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:737,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:738,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:740,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:741,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:742,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:746,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:755,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/doh_test.c:758,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 763
    functionName: doh_receive_send_reply_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - UNUSED
    - isc_async_current
    - assert_non_null
    - atomic_fetch_sub
    - isc__nm_http_request
    linkageType: ''
    returnType: void
    signature: "void doh_receive_send_reply_cb(isc_nmhandle_t *handle, isc_result_t
      eresult,\n\t\t\t  isc_region_t *region, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:769,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:771,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:771,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:778,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:780,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:783,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:783,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:787,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 792
    functionName: doh_connect_thread
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - sockaddr_to_url
    - atomic_load
    - connect_send_request
    - atomic_fetch_sub
    linkageType: ''
    returnType: void
    signature: void doh_connect_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_listener_quota
      Src: /src/bind9/tests/isc/doh_test.c:801,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:803,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:806,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:806,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:808,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:810,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:812,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:814,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:815,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:816,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:818,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:818,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:820,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:820,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:823,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 827
    functionName: doh_recv_one
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_http_endpoints_add
    - init_listener_quota
    - isc_nm_listenhttp
    - sockaddr_to_url
    - assert_int_equal
    - get_proxy_type
    - atomic_load
    - atomic_store
    - connect_send_request
    linkageType: ''
    returnType: void
    signature: void doh_recv_one(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:831,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:832,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:833,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:834,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:835,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:837,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:837,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:838,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:838,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:839,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:839,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:840,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:840,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 843
    functionName: doh_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - assert_int_equal
    - X
    - teardown_test
    linkageType: ''
    returnType: int
    signature: int doh_recv_one_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:846,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 848
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:851,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:856,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:857,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 855
    functionDepth: 3
    functionLinenumber: 855
    functionLinenumberEnd: 859
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:862,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:863,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 865
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:868,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:869,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 3
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_POST_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:874,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:875,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_GET_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:880,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:881,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:882,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 884
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:887,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:888,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:889,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_one_GET_TLS_quota)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/isc/doh_test.c:896,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/tests/isc/doh_test.c:896,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:901,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 918
    functionName: doh_connect_send_two_requests_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - REQUIRE
    - isc__nm_http_request
    linkageType: ''
    returnType: void
    signature: "void doh_connect_send_two_requests_cb(isc_nmhandle_t *handle, isc_result_t
      result,\n\t\t\t\t void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_listener_quota
      Src: /src/bind9/tests/isc/doh_test.c:928,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:930,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:933,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:933,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:935,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:937,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:939,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:941,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:942,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:943,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:945,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:945,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:948,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/tests/isc/doh_test.c:952,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:953,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:955,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 958
    functionName: doh_recv_two
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_http_endpoints_add
    - init_listener_quota
    - isc_nm_listenhttp
    - sockaddr_to_url
    - assert_int_equal
    - get_proxy_type
    - isc_nm_httpconnect
    - atomic_load
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void doh_recv_two(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:962,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:963,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:964,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:965,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:966,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:968,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:968,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:969,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:969,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:970,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:970,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:971,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:971,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: doh_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - assert_int_equal
    - X
    - teardown_test
    linkageType: ''
    returnType: int
    signature: int doh_recv_two_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:977,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 976
    functionDepth: 3
    functionLinenumber: 976
    functionLinenumberEnd: 979
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:982,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:987,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:988,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:993,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:994,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 3
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:999,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1000,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_POST_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1005,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1006,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 3
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_GET_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1011,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1012,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1013,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 3
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1018,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1019,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1020,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1017
    functionDepth: 3
    functionLinenumber: 1017
    functionLinenumberEnd: 1022
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_two_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/doh_test.c:1030,1
    - Dst: init_listener_quota
      Src: /src/bind9/tests/isc/doh_test.c:1031,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1033,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1034,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:1036,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1038,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:1040,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1042,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:1043,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1044,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/doh_test.c:1047,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/doh_test.c:1047,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1052
    functionName: doh_recv_send
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_http_endpoints_add
    - init_listener_quota
    - isc_nm_listenhttp
    - assert_int_equal
    - isc_async_run
    - get_proxy_type
    - atomic_load
    - isc_loop_get
    - atomic_store
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void doh_recv_send(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:1056,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1058,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1059,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1060,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1061,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1062,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1064,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1065,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1066,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1070
    functionName: doh_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - CHECK_RANGE_FULL
    - X
    - teardown_test
    linkageType: ''
    returnType: int
    signature: int doh_recv_send_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1073,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1075
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1078,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1080
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1083,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1084,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 3
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1089,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1090,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1095,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1096,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1098
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_POST_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1101,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1102,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 3
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_GET_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1107,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1108,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1109,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1106
    functionDepth: 3
    functionLinenumber: 1106
    functionLinenumberEnd: 1111
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1114,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1115,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1116,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1113
    functionDepth: 3
    functionLinenumber: 1113
    functionLinenumberEnd: 1118
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_recv_send_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1122,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1123,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1124,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1125,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1126,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1129,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1129,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1130,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1130,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1131,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1131,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1132,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1132,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1135
    functionName: doh_bad_connect_uri_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - assert_int_equal
    - X
    - teardown_test
    linkageType: ''
    returnType: int
    signature: int doh_bad_connect_uri_teardown(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_listener_quota
      Src: /src/bind9/tests/isc/doh_test.c:1144,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1146,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1148,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1148,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:1150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1152,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:1154,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:1156,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1157,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/doh_test.c:1163,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/tests/isc/doh_test.c:1164,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:1166,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1166,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:1171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1138
    functionDepth: 2
    functionLinenumber: 1138
    functionLinenumberEnd: 1172
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_sockaddr_getport
    - isc_nm_http_endpoints_add
    - init_listener_quota
    - isc_nm_listenhttp
    - assert_int_equal
    - get_proxy_type
    - atomic_load
    - snprintf
    - atomic_store
    - connect_send_request
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(doh_bad_connect_uri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1185,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1186,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1187,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1188,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1189,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1189,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1190,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1190,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1202,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1203,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1204,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1205,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1206,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1206,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1207,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1207,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1216,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1217,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1218,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1219,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1220,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1221,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1221,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1230,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1231,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1232,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1233,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1234,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1235,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1235,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1247,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1248,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1249,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1250,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1251,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1252,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1252,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1264,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1265,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1266,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1267,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1276,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1277,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1278,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1279,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1288,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1289,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1290,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1291,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1300,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1301,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1302,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1303,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1312,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1313,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1314,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1315,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1324,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1325,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1326,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1327,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1336,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1337,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1338,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1339,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1340,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1341,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1341,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1350,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1351,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1352,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1353,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1362,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1363,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1364,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1365,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1374,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1375,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1376,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1377,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1386,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1387,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1388,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1389,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1390,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1391,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1393
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_false
    - strlen
    - memcmp
    - assert_non_null
    - isc__nm_parse_httpquery
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(doh_parse_GET_query_string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1403,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1403,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1405,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1406,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1406,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1407,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1407,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1408,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1415,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1415,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1417,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1418,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1418,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1419,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1419,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1420,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1427,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1427,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1429,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1430,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1430,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1431,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1431,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1432,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1439,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1439,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1441,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1442,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1442,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1443,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1443,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1444,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1451,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1451,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1453,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1454,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1454,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1455,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1455,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1456,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1463,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1463,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1465,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1466,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1466,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1467,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1467,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1468,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1475,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1475,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1477,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1478,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1478,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1479,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1486,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1487,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1488,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1495,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1495,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1497,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1498,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1505,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1505,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1507,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1508,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1516,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1516,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1518,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1519,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1525,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1526,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1529
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_mem_free
    - isc__nm_base64url_to_base64
    - strlen
    - assert_non_null
    - strcmp
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(doh_base64url_to_base64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1539,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1539,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1541,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1542,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1542,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1543,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1543,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1544,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1551,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1551,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1553,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1554,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1554,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1555,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1555,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1556,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1563,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1563,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1565,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1566,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1566,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1567,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1567,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1568,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1575,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1575,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1577,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1578,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1578,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1579,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1579,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1580,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1587,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1587,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1589,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1590,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1590,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1591,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1591,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1592,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1599,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1599,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1601,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1602,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1602,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1603,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1603,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1604,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1611,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1611,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1613,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1614,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1614,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1615,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1622,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1623,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1624,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1631,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1631,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1633,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1634,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1641,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1641,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1643,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1644,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1652,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1652,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1654,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1655,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1661,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1662,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1665
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc__nm_base64_to_base64url
    - isc_mem_free
    - strlen
    - assert_non_null
    - strcmp
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(doh_base64_to_base64url)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1668,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1668,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1669,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1669,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1670,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1670,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1671,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1671,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1672,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1672,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1673,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1673,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1674,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1674,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1675,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1675,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1676,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1676,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1677,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1677,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1678,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1678,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1679,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1679,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1680,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1680,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1681,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1681,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1682,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1682,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1683,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1683,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1684,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1684,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1685,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1685,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1686,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1687,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1688,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1688,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1691,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1691,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1692,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1692,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1693,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1693,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1695,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1695,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1696,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1697
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_nm_http_path_isvalid
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(doh_path_validation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/bind9/tests/isc/doh_test.c:1700,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/doh_test.c:1705,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1707,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1709,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1709,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1712,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1714,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1714,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1721,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1723,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1723,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1726,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1728,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1728,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/doh_test.c:1731,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1733,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1735,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1735,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1738,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1740,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1740,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1747,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1749,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1749,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1752,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1754,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1754,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1757,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1759,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1761,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1761,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1763,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1765,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1767,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1767,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/tests/isc/doh_test.c:1773,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1775,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1777,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1777,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1780,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1782,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1782,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1785,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1787,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1789,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1789,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1791,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1793,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1795,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1795,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1799,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1801,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1801,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1804,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1806,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1806,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1813,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1815,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1815,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1818,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1820,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1821
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - ntohl
    - isc_nm_http_makeuri
    - assert_true
    - isc_sockaddr_setport
    - strcmp
    - isc_sockaddr_fromin6
    - isc_sockaddr_any
    - isc_sockaddr_fromin
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(doh_connect_makeuri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1825,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1826,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1824
    functionDepth: 3
    functionLinenumber: 1824
    functionLinenumberEnd: 1828
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_noop_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1831,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:1832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1830
    functionDepth: 3
    functionLinenumber: 1830
    functionLinenumberEnd: 1833
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_noop_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1836,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1837,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:1838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1835
    functionDepth: 3
    functionLinenumber: 1835
    functionLinenumberEnd: 1839
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_noresponse_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1842,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1844
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_noresponse_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1847,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1848,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1846
    functionDepth: 3
    functionLinenumber: 1846
    functionLinenumberEnd: 1850
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_timeout_recovery_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1853,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:1854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1852
    functionDepth: 3
    functionLinenumber: 1852
    functionLinenumberEnd: 1855
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_timeout_recovery_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1858,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1859,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1857
    functionDepth: 3
    functionLinenumber: 1857
    functionLinenumberEnd: 1861
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1864,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1863
    functionDepth: 3
    functionLinenumber: 1863
    functionLinenumberEnd: 1866
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1869,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1870,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1871,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1868
    functionDepth: 3
    functionLinenumber: 1868
    functionLinenumberEnd: 1873
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1876,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1877,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1875
    functionDepth: 3
    functionLinenumber: 1875
    functionLinenumberEnd: 1879
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1882,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1883,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1884,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1881
    functionDepth: 3
    functionLinenumber: 1881
    functionLinenumberEnd: 1886
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_POST_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1889,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1890,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1888
    functionDepth: 3
    functionLinenumber: 1888
    functionLinenumberEnd: 1892
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_GET_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1895,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1896,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1897,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1894
    functionDepth: 3
    functionLinenumber: 1894
    functionLinenumberEnd: 1899
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1902,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1903,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1904,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1905,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1901
    functionDepth: 3
    functionLinenumber: 1901
    functionLinenumberEnd: 1907
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_one_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1910,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1911,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1909
    functionDepth: 3
    functionLinenumber: 1909
    functionLinenumberEnd: 1913
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1917,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1915
    functionDepth: 3
    functionLinenumber: 1915
    functionLinenumberEnd: 1919
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1922,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1923,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1924,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1921
    functionDepth: 3
    functionLinenumber: 1921
    functionLinenumberEnd: 1926
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1929,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1930,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1928
    functionDepth: 3
    functionLinenumber: 1928
    functionLinenumberEnd: 1932
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1935,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1936,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1937,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1934
    functionDepth: 3
    functionLinenumber: 1934
    functionLinenumberEnd: 1939
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_POST_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1942,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1943,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1941
    functionDepth: 3
    functionLinenumber: 1941
    functionLinenumberEnd: 1945
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_GET_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1948,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1949,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1950,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1951,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1947
    functionDepth: 3
    functionLinenumber: 1947
    functionLinenumberEnd: 1953
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1956,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1957,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1958,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1955
    functionDepth: 3
    functionLinenumber: 1955
    functionLinenumberEnd: 1960
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_two_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1963,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1964,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1962
    functionDepth: 3
    functionLinenumber: 1962
    functionLinenumberEnd: 1966
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_POST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1969,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 3
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_GET)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1974,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1975,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1976,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1973
    functionDepth: 3
    functionLinenumber: 1973
    functionLinenumberEnd: 1978
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1981,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1982,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1980
    functionDepth: 3
    functionLinenumber: 1980
    functionLinenumberEnd: 1984
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1987,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1988,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1989,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1986
    functionDepth: 3
    functionLinenumber: 1986
    functionLinenumberEnd: 1991
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_POST_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1994,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1995,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1993
    functionDepth: 3
    functionLinenumber: 1993
    functionLinenumberEnd: 1997
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_GET_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2000,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2001,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2002,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2003,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1999
    functionDepth: 3
    functionLinenumber: 1999
    functionLinenumberEnd: 2005
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2008,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2009,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2010,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2007
    functionDepth: 3
    functionLinenumber: 2007
    functionLinenumberEnd: 2012
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxy_doh_recv_send_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2017,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2018,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2019,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2020,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2016
    functionDepth: 3
    functionLinenumber: 2016
    functionLinenumberEnd: 2022
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2025,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2026,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2027,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:2028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2024
    functionDepth: 3
    functionLinenumber: 2024
    functionLinenumberEnd: 2029
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2032,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2033,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2034,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2035,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2031
    functionDepth: 3
    functionLinenumber: 2031
    functionLinenumberEnd: 2037
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2040,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2041,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2042,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2043,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2044,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2039
    functionDepth: 3
    functionLinenumber: 2039
    functionLinenumberEnd: 2046
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_one_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2049,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2050,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2051,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2052,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2048
    functionDepth: 3
    functionLinenumber: 2048
    functionLinenumberEnd: 2054
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2057,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2058,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2059,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2056
    functionDepth: 3
    functionLinenumber: 2056
    functionLinenumberEnd: 2061
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2064,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2065,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2066,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2067,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2068,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2063
    functionDepth: 3
    functionLinenumber: 2063
    functionLinenumberEnd: 2070
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2073,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2074,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2075,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2076,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2072
    functionDepth: 3
    functionLinenumber: 2072
    functionLinenumberEnd: 2078
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_two_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2081,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2082,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2083,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2084,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2080
    functionDepth: 3
    functionLinenumber: 2080
    functionLinenumberEnd: 2086
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_POST_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2089,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2090,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2091,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2088
    functionDepth: 3
    functionLinenumber: 2088
    functionLinenumberEnd: 2093
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_GET_TLS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2096,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2097,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2098,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2099,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2100,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2095
    functionDepth: 3
    functionLinenumber: 2095
    functionLinenumberEnd: 2102
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_POST_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2105,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2106,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2107,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2108,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2104
    functionDepth: 3
    functionLinenumber: 2104
    functionLinenumberEnd: 2110
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - doh_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(proxytls_doh_recv_send_GET_TLS_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: compare
    functionSourceFile: /src/bind9/tests/isc/heap_test.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool compare(void *p1, void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - i
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: idx
    functionSourceFile: /src/bind9/tests/isc/heap_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void idx(void *p, unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/heap_test.c:59,1
    - Dst: isc_heap_create
      Src: /src/bind9/tests/isc/heap_test.c:61,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/heap_test.c:62,1
    - Dst: isc_heap_insert
      Src: /src/bind9/tests/isc/heap_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/heap_test.c:65,1
    - Dst: isc_heap_delete
      Src: /src/bind9/tests/isc/heap_test.c:67,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/heap_test.c:68,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/tests/isc/heap_test.c:70,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/heap_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/heap_test.c
    functionUses: 0
    functionsReached:
    - isc_heap_destroy
    - isc_heap_insert
    - assert_null
    - assert_int_equal
    - UNUSED
    - isc_heap_delete
    - assert_non_null
    - isc_heap_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_heap_delete)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/tests/isc/rwlock_test.c:63,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/rwlock_test.c:65,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:67,1
    - Dst: getenv
      Src: /src/bind9/tests/isc/rwlock_test.c:69,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/rwlock_test.c:71,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:73,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/rwlock_test.c:75,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/rwlock_test.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: setup_env
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - atoi
    - assert_int_not_equal
    - isc_random_uniform
    - getenv
    linkageType: ''
    returnType: int
    signature: int setup_env(void **unused __attribute__((__unused__)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/rwlock_test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: teardown_env
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    linkageType: ''
    returnType: int
    signature: int teardown_env(void **state __attribute__((__unused__)))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_init
      Src: /src/bind9/tests/isc/rwlock_test.c:92,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/isc/rwlock_test.c:94,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/isc/rwlock_test.c:95,1
    - Dst: pthread_rwlock_init
      Src: /src/bind9/tests/isc/rwlock_test.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: rwlock_setup
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_barrier_init
    - pthread_rwlock_init
    - isc_rwlock_init
    linkageType: ''
    returnType: int
    signature: int rwlock_setup(void **state __attribute__((__unused__)))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:105,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:108,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:109,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: rwlock_teardown
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_destroy
    - isc_barrier_destroy
    - isc_rwlock_destroy
    linkageType: ''
    returnType: int
    signature: int rwlock_teardown(void **state __attribute__((__unused__)))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:120,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:121,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - isc_rwlock_lock
    - isc_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rwlock_rdlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:129,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:130,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - isc_rwlock_lock
    - isc_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rwlock_wrlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:139,1
    - Dst: isc_rwlock_tryupgrade
      Src: /src/bind9/tests/isc/rwlock_test.c:140,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:146,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:149,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_rwlock_tryupgrade
    - assert_int_equal
    - isc_rwlock_lock
    - isc_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rwlock_tryupgrade)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:156,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:158,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:159,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:161,1
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:163,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:165,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:166,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: trylock_thread1
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_barrier_wait
    - isc_rwlock_lock
    - isc_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      trylock_thread1(void *arg __attribute__((__unused__)))'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:177,1
    - Dst: isc_rwlock_trylock
      Src: /src/bind9/tests/isc/rwlock_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:180,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:182,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:183,1
    - Dst: isc_rwlock_trylock
      Src: /src/bind9/tests/isc/rwlock_test.c:185,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:186,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:188,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: trylock_thread2
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_rwlock_trylock
    - isc_barrier_wait
    - isc_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      trylock_thread2(void *arg __attribute__((__unused__)))'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:199,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:200,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:202,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_create
    - isc_thread_join
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rwlock_trylock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/bind9/tests/isc/rwlock_test.c:212,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:214,1
    - Dst: pthread_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:216,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/bind9/tests/isc/rwlock_test.c:218,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:219,1
    - Dst: pthread_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:220,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 226
    functionName: pthread_rwlock_thread
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_rdlock
    - pthread_rwlock_wrlock
    - isc_pause_n
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      pthread_rwlock_thread(void *arg __attribute__((__unused__)))'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:234,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:236,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:238,1
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:240,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:241,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:242,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: isc_rwlock_thread
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - isc_rwlock_lock
    - isc_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_rwlock_thread(void *arg __attribute__((__unused__)))'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:265,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:274,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:278,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:284,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/rwlock_test.c:286,1
    - Dst: printf
      Src: /src/bind9/tests/isc/rwlock_test.c:288,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:297,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:306,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:310,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:316,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/rwlock_test.c:318,1
    - Dst: printf
      Src: /src/bind9/tests/isc/rwlock_test.c:320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - threads
    - nthreads
    - pct
    argTypes:
    - isc_thread_t*
    - unsigned int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 326
    functionName: isc__rwlock_benchmark
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_join
    - isc_thread_create
    - printf
    - isc_time_now_hires
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: "void isc__rwlock_benchmark(isc_thread_t *threads, unsigned int nthreads,\n\t\t
      \     uint8_t pct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/rwlock_test.c:329,1
    - Dst: memset
      Src: /src/bind9/tests/isc/rwlock_test.c:331,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:334,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:335,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:336,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:337,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:338,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:339,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:340,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/rwlock_test.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc__rwlock_benchmark
    - isc_mem_cput
    - memset
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rwlock_benchmark)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/tests/isc/async_test.c:44,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/async_test.c:46,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/async_test.c:48,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/async_test.c:51,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:52,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/async_test.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: async_cb
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_tid
    - isc_async_run
    - UNUSED
    - isc_loop_get
    linkageType: ''
    returnType: void
    signature: void async_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/async_test.c:60,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/async_test.c:61,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/async_test.c:63,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: async_setup_cb
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - UNUSED
    - isc_loop_get
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void async_setup_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/async_test.c:69,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/async_test.c:69,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/async_test.c:70,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/async_test.c:71,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/async_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_loopmgr_run
    - atomic_load
    - isc_loop_main
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_async_run)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/bind9/tests/isc/async_test.c:80,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/async_test.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: append
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 19
    functionsReached:
    - strlcat
    - sprintf
    linkageType: ''
    returnType: void
    signature: void append(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/async_test.c:86,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/async_test.c:88,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:90,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:91,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:92,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:93,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:94,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/async_test.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: async_multiple
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loopmgr_shutdown
    - isc_loop
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void async_multiple(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/async_test.c:100,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/async_test.c:100,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/async_test.c:101,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/async_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - assert_string_equal
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_async_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: setup_test_dnsbuf
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_allocate
    linkageType: ''
    returnType: int
    signature: int setup_test_dnsbuf(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: teardown_test_dnsbuf
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    linkageType: ''
    returnType: int
    signature: int teardown_test_dnsbuf(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:59,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:60,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:61,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:62,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - dnsasm
    - result
    - region
    - cbarg
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_result_t
    - isc_region_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: dnsasm_dummy
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool dnsasm_dummy(isc_dnsstream_assembler_t *dnsasm, const isc_result_t
      result,\n\t     isc_region_t *restrict region, void *cbarg, void *userarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_new
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: setup_test_dnsasm
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - isc_dnsstream_assembler_new
    linkageType: ''
    returnType: int
    signature: int setup_test_dnsasm(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_free
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: teardown_test_dnsasm
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - isc_dnsstream_assembler_free
    linkageType: ''
    returnType: int
    signature: int teardown_test_dnsasm(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:94,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:94,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:95,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:95,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:96,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:96,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:98,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:100,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:100,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:101,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:101,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:103,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:103,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:105,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:107,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:107,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:108,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:108,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:109,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:109,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:111,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:113,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:113,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:114,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:114,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:116,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:116,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:118,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:120,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:122,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:125,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:125,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:126,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:126,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:128,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:130,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:130,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:131,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:131,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:133,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:133,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:135,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:137,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:139,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:142,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:144,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:144,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:146,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:148,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:150,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:153,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:153,1
    - Dst: isc_buffer_trycompact
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:154,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:156,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:156,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:158,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:160,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:161,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:161,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:162,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:167,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:170,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:171,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:171,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:173,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:174,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:174,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:176,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:178,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:178,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:180,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:180,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:184,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:187,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:187,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:188,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:188,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:190,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:190,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:194,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:196,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 201
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_buffer_clear
    - isc_buffer_remainingregion
    - isc_buffer_putmem
    - isc_buffer_length
    - isc_buffer_forward
    - isc_buffer_remaininglength
    - isc_buffer_usedlength
    - isc_buffer_current
    - isc_buffer_trycompact
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsbuffer_generic_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:212,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:215,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:217,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:219,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:222,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:222,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:226,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:229,1
    - Dst: isc_buffer_length
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:229,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:231,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:232,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 236
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_buffer_putmem
    - isc_buffer_length
    - isc_buffer_forward
    - isc_buffer_current
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsbuffer_resize_alloc_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:244,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:244,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:246,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:248,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:248,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:250,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:251,1
    - Dst: htons
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:251,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:253,1
    - Dst: isc_buffer_peekuint16
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:253,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:254,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:255,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:255,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:257,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:257,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:258,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 259
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - htons
    - assert_int_equal
    - isc_buffer_getuint16
    - isc_buffer_remaininglength
    - isc_buffer_putuint16
    - isc_buffer_current
    - isc_buffer_peekuint16
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsbuffer_be_test)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:274,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:276,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:276,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:287,1
    - Dst: isc_dnsstream_assembler_clear
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - dnsasm
    - result
    - region
    - cbarg
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_result_t
    - isc_region_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 300
    functionName: verify_dnsmsg
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_dnsstream_assembler_clear
    - UNUSED
    - memcmp
    - isc_dnsstream_assembler_result
    linkageType: ''
    returnType: bool
    signature: "bool verify_dnsmsg(isc_dnsstream_assembler_t *dnsasm, const isc_result_t
      result,\n\t      isc_region_t *restrict region, void *cbarg, void *userarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:315,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:317,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:317,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - dnsasm
    - result
    - region
    - cbarg
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_result_t
    - isc_region_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 338
    functionName: verify_dnsmsg_regions
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memcmp
    - UNUSED
    - isc_dnsstream_assembler_result
    linkageType: ''
    returnType: bool
    signature: "bool verify_dnsmsg_regions(isc_dnsstream_assembler_t *dnsasm,\n\t\t
      \     const isc_result_t result, isc_region_t *restrict region,\n\t\t      void
      *cbarg, void *userarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:348,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:349,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:351,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:352,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:352,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:355,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:356,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:358,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:359,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:359,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:362,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:363,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:366,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:367,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:367,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:370,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:371,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:374,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:375,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 376
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - isc_dnsstream_assembler_setcb
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_result
    - assert_true
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsasm_sequence_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:384,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:385,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:386,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:387,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:388,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:390,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:399,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:400,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:401,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:402,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:404,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:405,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:406,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:407,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:407,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:413,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:414,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:415,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:415,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:418,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:419,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:420,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:420,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:423,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:424,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:425,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:425,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:430,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:431,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:432,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 433
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_buffer_putmem
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_current
    - isc_dnsstream_assembler_setcb
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_result
    - isc_buffer_setmctx
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsasm_multiple_messages_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:442,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:443,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:446,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:447,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:447,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:450,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:451,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:453,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:455,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:456,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_dnsstream_assembler_remaininglength
    - isc_dnsstream_assembler_setcb
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_result
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsasm_torn_apart_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:466,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:467,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:469,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:470,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:471,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:472,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:478,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:479,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:480,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:481,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:483,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:484,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:486,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:487,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:487,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:489,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:489,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:490,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:492,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:493,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:493,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:494,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:494,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:496,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:497,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:498,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 499
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_dnsstream_assembler_remaininglength
    - isc_buffer_putmem
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_current
    - isc_dnsstream_assembler_setcb
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_result
    - isc_buffer_setmctx
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsasm_error_data_test)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:520,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:521,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:524,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:530,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:533,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:534,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:535,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:542,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:544,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:546,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:550,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:557,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:560,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:561,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:561,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:562,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:562,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:565,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:573,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:577,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:578,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:579,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:581,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:582,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:584,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:587,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:588,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:588,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:589,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:589,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:591,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 594
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_dnsstream_assembler_remaininglength
    - isc_buffer_putmem
    - isc_dnsstream_assembler_incoming
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - isc_buffer_forward
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_current
    - isc_dnsstream_assembler_setcb
    - isc_random_uniform
    - isc_dnsstream_assembler_result
    - isc_buffer_setmctx
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsasm_torn_randomly_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:602,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:603,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:605,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:606,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:607,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:612,1
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:613,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:614,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:615,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:617,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:618,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:620,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:621,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:621,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:623,1
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/tests/isc/dnsstream_utils_test.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 624
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/dnsstream_utils_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_dnsstream_assembler_remaininglength
    - isc_buffer_putmem
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_current
    - isc_dnsstream_assembler_setcb
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_result
    - isc_buffer_setmctx
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsasm_clear_buffer_within_cb_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noop
      Src: /src/bind9/tests/isc/tcp_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_noop
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_noop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_noresponse
      Src: /src/bind9/tests/isc/tcp_test.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_noresponse
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_noresponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownconnect
      Src: /src/bind9/tests/isc/tcp_test.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownconnect
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_shutdownconnect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_shutdownread
      Src: /src/bind9/tests/isc/tcp_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_shutdownread
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_shutdownread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_timeout_recovery
      Src: /src/bind9/tests/isc/tcp_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 4
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_timeout_recovery
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_timeout_recovery)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/tcp_test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/tcp_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_two)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tcp_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_send)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tcp_test.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_send_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tcp_test.c:101,1
    - Dst: stream_recv_one
      Src: /src/bind9/tests/isc/tcp_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_one
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_one_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tcp_test.c:107,1
    - Dst: stream_recv_two
      Src: /src/bind9/tests/isc/tcp_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 4
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_two
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_two_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tcp_test.c:113,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tcp_test.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_send_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/tcp_test.c:118,1
    - Dst: stream_recv_send
      Src: /src/bind9/tests/isc/tcp_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - stream_recv_send
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(tcp_recv_send_quota_sendback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: tcp_setup
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ISC_TEST_LIST_END
    signature: ISC_TEST_LIST_END tcp_setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:56,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - client
    - client_cert_verified
    - tls_subtlv_type
    - data
    - cbarg
    argTypes:
    - uint8_t
    - bool
    - isc_proxy2_tlv_subtype_tls_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: dummy_subtlv_iter_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool dummy_subtlv_iter_cb(const uint8_t client, const bool client_cert_verified,\n\t\t
      \    const isc_proxy2_tlv_subtype_tls_t tls_subtlv_type,\n\t\t     const isc_region_t
      *restrict data, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_subtlv_tls_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:85,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:89,1
    - Dst: isc_proxy2_subtlv_tls_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:91,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tlv_type
    - data
    - cbarg
    argTypes:
    - isc_proxy2_tlv_type_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: dummy_tlv_iter_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_proxy2_subtlv_tls_header_data
    - isc_proxy2_subtlv_tls_iterate
    linkageType: ''
    returnType: bool
    signature: "bool dummy_tlv_iter_cb(const isc_proxy2_tlv_type_t tlv_type,\n\t\t
      \ const isc_region_t *restrict data, void *cbarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:108,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/proxyheader_test.c:118,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/proxyheader_test.c:119,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/proxyheader_test.c:121,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/proxyheader_test.c:122,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/proxyheader_test.c:123,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/proxyheader_test.c:130,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:137,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:137,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 8
    argNames:
    - result
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlv_blob
    - extra
    - cbarg
    argTypes:
    - isc_result_t
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 144
    functionName: proxy2_handler_dummy
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - UNUSED
    - INSIST
    - isc_proxy2_tlv_data_verify
    - isc_proxy2_tlv_iterate
    linkageType: ''
    returnType: void
    signature: "void proxy2_handler_dummy(const isc_result_t result, const isc_proxy2_command_t
      cmd,\n\t\t     const int socktype,\n\t\t     const isc_sockaddr_t *restrict
      src_addr,\n\t\t     const isc_sockaddr_t *restrict dst_addr,\n\t\t     const
      isc_region_t *restrict tlv_blob,\n\t\t     const isc_region_t *restrict extra,
      void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_new
      Src: /src/bind9/tests/isc/proxyheader_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: setup_test_proxy
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_new
    linkageType: ''
    returnType: int
    signature: int setup_test_proxy(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_free
      Src: /src/bind9/tests/isc/proxyheader_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: teardown_test_proxy
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_free
    linkageType: ''
    returnType: int
    signature: int teardown_test_proxy(void **state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:169,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/proxyheader_test.c:170,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/proxyheader_test.c:172,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/proxyheader_test.c:177,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/proxyheader_test.c:178,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:182,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:185,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:186,1
    - Dst: isc_proxy2_handler_result
      Src: /src/bind9/tests/isc/proxyheader_test.c:186,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/proxyheader_test.c:189,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:196,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:197,1
    - Dst: isc_proxy2_handler_result
      Src: /src/bind9/tests/isc/proxyheader_test.c:197,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:200,1
    - Dst: isc_proxy2_handler_result
      Src: /src/bind9/tests/isc/proxyheader_test.c:200,1
    - Dst: isc_proxy2_handler_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:201,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:202,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:203,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - handler
    - data
    - size
    - tear_apart
    - tear_randomly
    argTypes:
    - isc_proxy2_handler_t*
    - void*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 204
    functionName: test_header_data
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - assert_true
    - isc_proxy2_handler_push
    - isc_buffer_forward
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_proxy2_handler_push_data
    - memcmp
    - isc_buffer_add
    - isc_proxy2_handler_header
    - isc_random_uniform
    - isc_proxy2_handler_result
    linkageType: ''
    returnType: void
    signature: "void test_header_data(isc_proxy2_handler_t *handler, const void *data,\n\t\t
      const size_t size, const bool tear_apart,\n\t\t const bool tear_randomly)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:214,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:215,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:216,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:216,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:217,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:217,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:219,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:220,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:220,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:221,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:222,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:222,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:225,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:227,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:228,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:228,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:229,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:229,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:230,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:233,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:234,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:235,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - handler
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - dummy_handler_cbarg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 237
    functionName: verify_proxy_v2_header
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_sockaddr_pf
    - isc_proxy2_handler_addresses
    - isc_sockaddr_format
    - strcmp
    - isc_sockaddr_equal
    linkageType: ''
    returnType: void
    signature: "void verify_proxy_v2_header(isc_proxy2_handler_t *handler,\n\t\t       dummy_handler_cbarg_t
      *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:247,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:248,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:249,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:249,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:250,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:250,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:252,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:253,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:253,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:254,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:255,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:255,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:258,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:260,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:261,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:261,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:262,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:262,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:263,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:266,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:267,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:268,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:269,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:272,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:273,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - handler
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - dummy_handler_cbarg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 274
    functionName: verify_proxy_v2_header_with_TLS
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_sockaddr_pf
    - isc_proxy2_handler_addresses
    - isc_sockaddr_format
    - memcmp
    - strcmp
    - isc_sockaddr_equal
    linkageType: ''
    returnType: void
    signature: "void verify_proxy_v2_header_with_TLS(isc_proxy2_handler_t *handler,\n\t\t\t\tdummy_handler_cbarg_t
      *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:284,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:285,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:286,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:286,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:287,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:287,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:289,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:290,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:290,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:291,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:292,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:292,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:295,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:297,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:298,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:298,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:299,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:299,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:300,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:303,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:304,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:305,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:308,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:311,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:312,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:312,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:315,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:316,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - handler
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - dummy_handler_cbarg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 317
    functionName: verify_proxy_v2_header_with_TLS_CN
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_sockaddr_pf
    - isc_proxy2_handler_addresses
    - isc_sockaddr_format
    - memcmp
    - strcmp
    - isc_sockaddr_equal
    linkageType: ''
    returnType: void
    signature: "void verify_proxy_v2_header_with_TLS_CN(isc_proxy2_handler_t *handler,\n\t\t\t\t
      \  dummy_handler_cbarg_t *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:322,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:323,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:329,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:332,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - handler
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - dummy_handler_cbarg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: verify_proxy_v2_header_with_AF_UNIX
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_int_equal
    - isc_proxy2_handler_addresses
    linkageType: ''
    returnType: void
    signature: "void verify_proxy_v2_header_with_AF_UNIX(isc_proxy2_handler_t *handler,\n\t\t\t\t
      \   dummy_handler_cbarg_t *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_setcb
      Src: /src/bind9/tests/isc/proxyheader_test.c:342,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:344,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:346,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:349,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:351,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:354,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:356,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:359,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 362
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - verify_proxy_v2_header_with_TLS
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - isc_proxy2_handler_setcb
    - verify_proxy_v2_header
    - test_header_data
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_generic_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_setcb
      Src: /src/bind9/tests/isc/proxyheader_test.c:368,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:370,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:372,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:373,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:376,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:378,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:379,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:383,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:385,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:386,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:390,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:392,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 395
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - verify_proxy_v2_header_with_TLS
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - isc_proxy2_handler_setcb
    - verify_proxy_v2_header
    - test_header_data
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_generic_byte_by_byte_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_setcb
      Src: /src/bind9/tests/isc/proxyheader_test.c:401,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:403,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:405,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:408,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:410,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:413,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:415,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:418,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 421
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - verify_proxy_v2_header_with_TLS
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - isc_proxy2_handler_setcb
    - verify_proxy_v2_header
    - test_header_data
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_generic_torn_apart_randomly_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:431,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:433,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:434,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:435,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:440,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:442,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:443,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:444,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:445,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:450,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:452,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:453,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:454,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:455,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:460,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:462,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:463,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 465
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - verify_proxy_v2_header_with_TLS
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - verify_proxy_v2_header
    - isc_proxy2_tlv_iterate
    - isc_proxy2_header_handle_directly
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_direct_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:473,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:482,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 485
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_push_data
    - assert_true
    - memmove
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_detect_bad_signature_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:505,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/proxyheader_test.c:507,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/proxyheader_test.c:508,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:510,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:512,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:513,1
    - Dst: isc_proxy2_handler_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:516,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:517,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:518,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:519,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:519,1
    - Dst: isc_proxy2_handler_extra
      Src: /src/bind9/tests/isc/proxyheader_test.c:522,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:523,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:524,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:525,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 526
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - assert_true
    - isc_buffer_putmem
    - isc_proxy2_handler_extra
    - isc_proxy2_handler_push
    - isc_buffer_init
    - memcmp
    - isc_proxy2_handler_header
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_extra_data_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:532,1
    - Dst: isc_proxy2_handler_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:534,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:537,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:540,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/tests/isc/proxyheader_test.c:542,1
    - Dst: isc_proxy2_handler_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:544,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:547,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:550,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/tests/isc/proxyheader_test.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 553
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_proxy2_handler_init
    - isc_proxy2_handler_uninit
    - UNUSED
    - isc_proxy2_handler_push_data
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_max_size_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/bind9/tests/isc/proxyheader_test.c:573,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/proxyheader_test.c:575,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/proxyheader_test.c:576,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/proxyheader_test.c:577,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/proxyheader_test.c:578,1
    - Dst: isc_proxy2_handler_setcb
      Src: /src/bind9/tests/isc/proxyheader_test.c:579,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:581,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:582,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:585,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:587,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:589,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:590,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:593,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:595,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:597,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:598,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:601,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:602,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:603,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:607,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:609,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:612,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:614,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:615,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:618,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:620,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:622,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:623,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:627,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:628,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:629,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:631,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:632,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:632,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:633,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:633,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:635,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:635,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:636,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:636,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:640,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:642,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:645,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:647,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:648,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:651,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:653,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:655,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:658,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:659,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:661,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:662,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:664,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:666,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:667,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:669,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:671,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:675,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:675,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:676,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:678,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:679,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:681,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:682,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:682,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:683,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:683,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:685,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:685,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:686,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:686,1
    - Dst: isc_proxy2_handler_tlvs
      Src: /src/bind9/tests/isc/proxyheader_test.c:689,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:690,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:690,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:692,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:694,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:696,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:696,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:697,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:697,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:698,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:700,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:700,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:701,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:701,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 703
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_setcb
    - memcmp
    - isc_buffer_usedregion
    - isc_proxy2_append_tlv_string
    - isc_proxy2_handler_push
    - isc_proxy2_handler_tlvs
    - isc_sockaddr_fromin
    - isc_buffer_clear
    - htonl
    - isc_proxy2_make_tls_subheader
    - strlen
    - isc_proxy2_tlv_data_verify
    - isc_sockaddr_equal
    - isc_proxy2_make_header
    - assert_true
    - isc_sockaddr_pf
    - isc_proxy2_header_append_tlv
    - isc_buffer_init
    - isc_sockaddr_fromin6
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_make_header_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:712,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:713,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:715,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - client
    - client_cert_verified
    - tls_subtlv_type
    - data
    - cbarg
    argTypes:
    - uint8_t
    - bool
    - isc_proxy2_tlv_subtype_tls_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 719
    functionName: rebuild_subtlv_iter_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_append_tlv
    - UNUSED
    - assert_true
    linkageType: ''
    returnType: bool
    signature: "bool rebuild_subtlv_iter_cb(const uint8_t client, const bool client_cert_verified,\n\t\t
      \      const isc_proxy2_tlv_subtype_tls_t tls_subtlv_type,\n\t\t       const
      isc_region_t *restrict data, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:734,1
    - Dst: isc_proxy2_subtlv_tls_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:737,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:739,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:742,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:744,1
    - Dst: isc_proxy2_subtlv_tls_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:747,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:749,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:751,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:752,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:754,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:756,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - tlv_type
    - data
    - cbarg
    argTypes:
    - isc_proxy2_tlv_type_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 761
    functionName: rebuild_tlv_iter_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_proxy2_header_append_tlv
    - isc_buffer_init
    - isc_proxy2_make_tls_subheader
    - isc_buffer_usedregion
    - isc_proxy2_subtlv_tls_header_data
    - isc_proxy2_subtlv_tls_iterate
    linkageType: ''
    returnType: bool
    signature: "bool rebuild_tlv_iter_cb(const isc_proxy2_tlv_type_t tlv_type,\n\t\t
      \   const isc_region_t *restrict data, void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:777,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:779,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:782,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:786,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:787,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/proxyheader_test.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - header_result
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlv_blob
    - extra
    - cbarg
    argTypes:
    - isc_result_t
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 790
    functionName: proxy2_handler_rebuild_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_make_header
    - assert_true
    - isc_buffer_putmem
    - isc_proxy2_tlv_data_verify
    - isc_proxy2_tlv_iterate
    linkageType: ''
    returnType: void
    signature: "void proxy2_handler_rebuild_cb(const isc_result_t header_result,\n\t\t\t
      \ const isc_proxy2_command_t cmd, const int socktype,\n\t\t\t  const isc_sockaddr_t
      *restrict src_addr,\n\t\t\t  const isc_sockaddr_t *restrict dst_addr,\n\t\t\t
      \ const isc_region_t *restrict tlv_blob,\n\t\t\t  const isc_region_t *restrict
      extra, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:797,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:800,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/tests/isc/proxyheader_test.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - outbuf
    - data
    - size
    argTypes:
    - isc_buffer_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: proxy2_handler_rebuild
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_push_data
    - isc_proxy2_handler_uninit
    - isc_proxy2_handler_init
    linkageType: ''
    returnType: void
    signature: "void proxy2_handler_rebuild(isc_buffer_t *restrict outbuf, const void
      *data,\n\t\t       const size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:811,1
    - Dst: proxy2_handler_rebuild
      Src: /src/bind9/tests/isc/proxyheader_test.c:813,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:814,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:815,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:816,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 817
    functionName: try_rebuild_header
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - proxy2_handler_rebuild
    - isc_buffer_init
    - memcmp
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void try_rebuild_header(const void *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try_rebuild_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:820,1
    - Dst: try_rebuild_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:821,1
    - Dst: try_rebuild_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 825
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - try_rebuild_header
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_rebuild_header_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:834,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:837,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:839,1
    - Dst: isc_proxy2_handler_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:840,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:843,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 847
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_push_data
    - assert_true
    - memmove
    - isc_proxy2_handler_clear
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_bad_header_signature_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:855,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:859,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:863,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:865,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:869,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 872
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_push_data
    - assert_true
    - memmove
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_bad_proto_version_command_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:880,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:884,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:888,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:890,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:894,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 897
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_push_data
    - assert_true
    - memmove
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_bad_family_socktype_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/bind9/tests/isc/proxyheader_test.c:901,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - botched_header
    - newlen
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 904
    functionName: update_header_length
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - memmove
    - htons
    linkageType: ''
    returnType: void
    signature: void update_header_length(uint8_t *botched_header, uint16_t newlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:911,1
    - Dst: update_header_length
      Src: /src/bind9/tests/isc/proxyheader_test.c:913,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:914,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:916,1
    - Dst: update_header_length
      Src: /src/bind9/tests/isc/proxyheader_test.c:918,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:919,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:921,1
    - Dst: update_header_length
      Src: /src/bind9/tests/isc/proxyheader_test.c:923,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:924,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:926,1
    - Dst: isc_proxy2_handler_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 928
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - update_header_length
    - isc_proxy2_handler_push_data
    - isc_proxy2_handler_clear
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_bad_unexpected_not_enough_length_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:942,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:943,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:948,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:949,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:952,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:955,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:957,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:958,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:960,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:961,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:963,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:966,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:968,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:969,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:971,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:972,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:975,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:978,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:980,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:981,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:983,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:984,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:986,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:989,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:991,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:992,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:994,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:995,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:998,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1000,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1002,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1003,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1005,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1006,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1008,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1009,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1012,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1013,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1015,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1017,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1018,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1019,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1022,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1024,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1026,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1027,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1028,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1031,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1032,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1033,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1034,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1035,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1036,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1038,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1039,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1040,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1041,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1044,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1045,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1046,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1048,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1049,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1050,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1052,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1053,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1054,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1055,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1058,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1059,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1060,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1062,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1064,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1066,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1067,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1068,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1070,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1071,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1072,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1073,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1076,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1077,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1078,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1080,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1081,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1083,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1084,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1086,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1087,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1088,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1090,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1091,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1092,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1093,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1096,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1097,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1098,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1099,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1100,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1102,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1103,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1104,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1106,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1107,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1108,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1109,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1112,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1113,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1114,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1117,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1118,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1120,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1121,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1122,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1124,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1125,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1126,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1127,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1130,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1131,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1132,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1134,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1135,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1137,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1138,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1139,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1141,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1142,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1143,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1144,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1147,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1148,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1149,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1153,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1154,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1156,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1157,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1158,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1159,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1160,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1162,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1163,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1164,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1165,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1168,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1171,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/tests/isc/proxyheader_test.c:1173,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1174,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1175,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 1177
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_buffer_clear
    - isc_buffer_subtract
    - isc_buffer_init
    - isc_proxy2_make_tls_subheader
    - isc_proxy2_tlv_data_verify
    - isc_buffer_usedregion
    - isc_proxy2_append_tlv
    - isc_proxy2_append_tlv_string
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(proxyheader_tlv_data_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/buffer_test.c:43,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/isc/buffer_test.c:46,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:47,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/tests/isc/buffer_test.c:53,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:54,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/buffer_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:56,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/tests/isc/buffer_test.c:62,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:63,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/buffer_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:65,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/tests/isc/buffer_test.c:71,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:72,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/buffer_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:74,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/tests/isc/buffer_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:81,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/buffer_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:83,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/buffer_test.c:86,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/tests/isc/buffer_test.c:91,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:92,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/buffer_test.c:93,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:94,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/isc/buffer_test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 97
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/buffer_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_buffer_reserve
    - UNUSED
    - isc_buffer_free
    - assert_non_null
    - isc_buffer_allocate
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_buffer_reserve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/buffer_test.c:105,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/isc/buffer_test.c:108,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/buffer_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:110,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/isc/buffer_test.c:112,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/tests/isc/buffer_test.c:115,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/buffer_test.c:117,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/isc/buffer_test.c:121,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/buffer_test.c:124,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/isc/buffer_test.c:128,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/buffer_test.c:131,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/tests/isc/buffer_test.c:134,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/buffer_test.c:136,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/isc/buffer_test.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 139
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/buffer_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_int_equal
    - UNUSED
    - isc_buffer_putstr
    - isc_buffer_free
    - isc_buffer_putuint16
    - assert_non_null
    - isc_buffer_allocate
    - isc_buffer_putuint8
    - isc_buffer_putuint32
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_buffer_dynamic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/buffer_test.c:152,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/isc/buffer_test.c:154,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/tests/isc/buffer_test.c:159,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:160,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/tests/isc/buffer_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:166,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/isc/buffer_test.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/buffer_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_buffer_copyregion
    - UNUSED
    - isc_buffer_free
    - isc_buffer_allocate
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_buffer_copyregion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/buffer_test.c:179,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/isc/buffer_test.c:185,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:191,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:192,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:193,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:195,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:196,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:197,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:198,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/buffer_test.c:204,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/buffer_test.c:204,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/buffer_test.c:211,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:216,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:217,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:218,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:220,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:221,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:222,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:224,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:225,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:226,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/buffer_test.c:232,1
    - Dst: isc_buffer_current
      Src: /src/bind9/tests/isc/buffer_test.c:232,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:244,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:245,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:246,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:247,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/isc/buffer_test.c:249,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/buffer_test.c:254,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:255,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:256,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:257,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:258,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:260,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:261,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:262,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:263,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:265,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:266,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:267,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:268,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/tests/isc/buffer_test.c:270,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:271,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/isc/buffer_test.c:272,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/buffer_test.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 274
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/buffer_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - assert_int_equal
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_init
    - isc_buffer_free
    - isc_buffer_usedlength
    - isc_buffer_printf
    - isc_buffer_allocate
    - isc_buffer_current
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_buffer_printf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/tests/isc/parse_test.c:40,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/parse_test.c:41,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/parse_test.c:42,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/tests/isc/parse_test.c:44,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/parse_test.c:45,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/tests/isc/parse_test.c:47,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/parse_test.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/parse_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_parse_uint32
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(parse_overflow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: have_expected_ssends
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_ssends(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: have_expected_sreads
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_sreads(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: have_expected_saccepts
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_saccepts(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: have_expected_csends
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_csends(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: have_expected_cconnects
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_cconnects(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: have_expected_creads
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_creads(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: have_expected_ctimeouts
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: have_expected_ctimeouts(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: do_ssends_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_ssends_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: do_sreads_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_sreads_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: do_saccepts_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_saccepts_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: do_csends_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_csends_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: do_cconnects_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_cconnects_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: do_creads_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_creads_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: do_ctimeouts_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_ctimeouts_shutdown(lm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - op
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: WAIT_FOR
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR(v, op, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: WAIT_FOR_EQ
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR_EQ(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: WAIT_FOR_NE
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR_NE(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: WAIT_FOR_LE
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR_LE(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: WAIT_FOR_LT
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR_LT(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: WAIT_FOR_GE
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR_GE(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: WAIT_FOR_GT
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WAIT_FOR_GT(v, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: DONE
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DONE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: CHECK_RANGE_FULL
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE_FULL(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: CHECK_RANGE_HALF
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RANGE_HALF(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: X
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: P
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: F
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loopmgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: isc_loopmgr_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_loopmgr_shutdown(loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: atomic_assert_int_eq
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_assert_int_eq(val, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: atomic_assert_int_ne
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_assert_int_ne(val, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: atomic_assert_int_le
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_assert_int_le(val, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: atomic_assert_int_lt
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_assert_int_lt(val, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: atomic_assert_int_ge
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_assert_int_ge(val, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: atomic_assert_int_gt
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_assert_int_gt(val, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:69,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/timer_test.c:70,1
    - Dst: UNLOCK
      Src: /src/bind9/tests/isc/timer_test.c:71,1
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:73,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: setup_test_run
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_timer_create
    - UNLOCK
    - isc_time_now
    - isc_timer_start
    - isc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void setup_test_run(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/timer_test.c:84,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/timer_test.c:85,1
    - Dst: isc_mutex_init
      Src: /src/bind9/tests/isc/timer_test.c:87,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/timer_test.c:89,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/timer_test.c:91,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/timer_test.c:92,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/timer_test.c:94,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/timer_test.c:94,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/tests/isc/timer_test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - timertype
    - interval
    - action
    argTypes:
    - isc_timertype_t
    - isc_interval_t*
    - isc_job_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    - assert_int_equal
    - atomic_init
    - isc_loopmgr_run
    - atomic_load
    - atomic_store
    - isc_time_settoepoch
    - isc_mutex_destroy
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: "void setup_test(isc_timertype_t timertype, isc_interval_t *interval,\n\t
      \  isc_job_cb action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/tests/isc/timer_test.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: set_global_error
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - atomic_compare_exchange_strong
    linkageType: ''
    returnType: void
    signature: void set_global_error(isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/isc/timer_test.c:108,1
    - Dst: set_global_error
      Src: /src/bind9/tests/isc/timer_test.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - expected
    - file
    - line
    argTypes:
    - bool
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: subthread_assert_true
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - set_global_error
    - printf
    linkageType: ''
    returnType: void
    signature: void subthread_assert_true(bool expected, const char *file, unsigned
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: subthread_assert_true
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subthread_assert_true(expected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/isc/timer_test.c:119,1
    - Dst: set_global_error
      Src: /src/bind9/tests/isc/timer_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - result
    - expected
    - file
    - line
    argTypes:
    - isc_result_t
    - isc_result_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: subthread_assert_result_equal
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - set_global_error
    - printf
    linkageType: ''
    returnType: void
    signature: "void subthread_assert_result_equal(isc_result_t result, isc_result_t
      expected,\n\t\t\t      const char *file, unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - observed
    - ','
    - expected
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: subthread_assert_result_equal
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subthread_assert_result_equal(observed, expected)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/timer_test.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:138,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:141,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/timer_test.c:144,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:146,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:147,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:148,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/timer_test.c:149,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:150,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:152,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:153,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:154,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/timer_test.c:156,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:157,1
    - Dst: subthread_assert_true
      Src: /src/bind9/tests/isc/timer_test.c:159,1
    - Dst: isc_time_compare
      Src: /src/bind9/tests/isc/timer_test.c:159,1
    - Dst: subthread_assert_true
      Src: /src/bind9/tests/isc/timer_test.c:160,1
    - Dst: isc_time_compare
      Src: /src/bind9/tests/isc/timer_test.c:160,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:162,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:163,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:164,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/timer_test.c:165,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:166,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/timer_test.c:168,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/timer_test.c:169,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/isc/timer_test.c:170,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/timer_test.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 173
    functionName: ticktock
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_interval_set
    - isc_timer_destroy
    - atomic_fetch_add
    - isc_time_add
    - UNUSED
    - isc_time_compare
    - subthread_assert_result_equal
    - isc_time_now
    - isc_mutex_lock
    - isc_time_subtract
    - atomic_load
    - print_message
    - isc_mutex_unlock
    - subthread_assert_true
    linkageType: ''
    returnType: void
    signature: void ticktock(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:183,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:189,1
    - Dst: setup_test
      Src: /src/bind9/tests/isc/timer_test.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setup_test
    - isc_interval_set
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ticker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/timer_test.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:204,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:207,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/timer_test.c:210,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:212,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:213,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:214,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/timer_test.c:215,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:216,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:218,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:219,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:220,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/timer_test.c:222,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:223,1
    - Dst: subthread_assert_true
      Src: /src/bind9/tests/isc/timer_test.c:225,1
    - Dst: isc_time_compare
      Src: /src/bind9/tests/isc/timer_test.c:225,1
    - Dst: subthread_assert_true
      Src: /src/bind9/tests/isc/timer_test.c:226,1
    - Dst: isc_time_compare
      Src: /src/bind9/tests/isc/timer_test.c:226,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:228,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:229,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:230,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/timer_test.c:231,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/isc/timer_test.c:233,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/timer_test.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 235
    functionName: test_idle
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_interval_set
    - isc_timer_destroy
    - atomic_fetch_add
    - isc_time_add
    - UNUSED
    - isc_time_compare
    - subthread_assert_result_equal
    - isc_time_now
    - isc_mutex_lock
    - isc_time_subtract
    - print_message
    - isc_mutex_unlock
    - subthread_assert_true
    linkageType: ''
    returnType: void
    signature: void test_idle(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:241,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:247,1
    - Dst: setup_test
      Src: /src/bind9/tests/isc/timer_test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setup_test
    - isc_interval_set
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(once_idle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/timer_test.c:261,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:263,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:266,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/timer_test.c:273,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:275,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:276,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:277,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/timer_test.c:278,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:279,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:281,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:282,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:283,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/timer_test.c:285,1
    - Dst: subthread_assert_result_equal
      Src: /src/bind9/tests/isc/timer_test.c:286,1
    - Dst: subthread_assert_true
      Src: /src/bind9/tests/isc/timer_test.c:288,1
    - Dst: isc_time_compare
      Src: /src/bind9/tests/isc/timer_test.c:288,1
    - Dst: subthread_assert_true
      Src: /src/bind9/tests/isc/timer_test.c:289,1
    - Dst: isc_time_compare
      Src: /src/bind9/tests/isc/timer_test.c:289,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:291,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/timer_test.c:292,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/timer_test.c:293,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/timer_test.c:294,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:298,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:299,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/isc/timer_test.c:302,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/timer_test.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 305
    functionName: test_reset
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_interval_set
    - isc_timer_destroy
    - atomic_fetch_add
    - isc_time_add
    - UNUSED
    - isc_time_compare
    - subthread_assert_result_equal
    - isc_time_now
    - isc_mutex_lock
    - isc_time_subtract
    - isc_timer_start
    - print_message
    - isc_mutex_unlock
    - subthread_assert_true
    linkageType: ''
    returnType: void
    signature: void test_reset(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:310,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:316,1
    - Dst: setup_test
      Src: /src/bind9/tests/isc/timer_test.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 319
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setup_test
    - isc_interval_set
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(reset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:329,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/timer_test.c:331,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:333,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/timer_test.c:338,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:340,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/isc/timer_test.c:347,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/timer_test.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: tick_event
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_timer_destroy
    - atomic_fetch_add
    - UNUSED
    - atomic_load
    - print_message
    linkageType: ''
    returnType: void
    signature: void tick_event(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:354,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:357,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/timer_test.c:363,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/isc/timer_test.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: once_event
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - print_message
    - UNUSED
    - isc_timer_destroy
    linkageType: ''
    returnType: void
    signature: void once_event(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/timer_test.c:369,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/timer_test.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - atomic_init
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(purge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/timer_test.c:374,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/timer_test.c:374,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/timer_test.c:375,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/timer_test.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 376
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(purge)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/timer_test.c:382,1
    - Dst: print_message
      Src: /src/bind9/tests/isc/timer_test.c:385,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/timer_test.c:388,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:392,1
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:395,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:396,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:400,1
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:402,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 404
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - UNUSED
    - atomic_init
    - isc_timer_start
    - print_message
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(purge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/timer_test.c:418,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/timer_test.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEARDOWN_IMPL(timer_expect)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/isc/timer_test.c:425,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/timer_test.c:426,1
    - Dst: isc_loop_now
      Src: /src/bind9/tests/isc/timer_test.c:427,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/timer_test.c:427,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: timer_event
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_timer_destroy
    - isc_timer_start
    - isc_loop
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void timer_event(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_now
      Src: /src/bind9/tests/isc/timer_test.c:434,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/timer_test.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(reschedule_up)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:442,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:445,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:446,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:449,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 451
    functionName: ISC_LOOP_TEST_CUSTOM_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: "void ISC_LOOP_TEST_CUSTOM_IMPL(reschedule_up, setup_loop_reschedule_up,\n\t\t\t
      \ teardown_loop_timer_expect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_now
      Src: /src/bind9/tests/isc/timer_test.c:454,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/timer_test.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(reschedule_down)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:462,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:465,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:466,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:469,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 471
    functionName: ISC_LOOP_TEST_CUSTOM_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: "void ISC_LOOP_TEST_CUSTOM_IMPL(reschedule_down, setup_loop_reschedule_down,\n\t\t\t
      \ teardown_loop_timer_expect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_now
      Src: /src/bind9/tests/isc/timer_test.c:474,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/timer_test.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(reschedule_from_callback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:483,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:485,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 487
    functionName: ISC_LOOP_TEST_CUSTOM_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: "void ISC_LOOP_TEST_CUSTOM_IMPL(reschedule_from_callback,\n\t\t\t  setup_loop_reschedule_from_callback,\n\t\t\t
      \ teardown_loop_timer_expect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_now
      Src: /src/bind9/tests/isc/timer_test.c:490,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/timer_test.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 494
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:497,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:500,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: ISC_LOOP_TEST_CUSTOM_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_CUSTOM_IMPL(zero, setup_loop_zero, teardown_loop_timer_expect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_now
      Src: /src/bind9/tests/isc/timer_test.c:505,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/timer_test.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_SETUP_IMPL(reschedule_ticker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_create
      Src: /src/bind9/tests/isc/timer_test.c:513,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:516,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/isc/timer_test.c:517,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/isc/timer_test.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 521
    functionName: ISC_LOOP_TEST_CUSTOM_IMPL
    functionSourceFile: /src/bind9/tests/isc/timer_test.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: "void ISC_LOOP_TEST_CUSTOM_IMPL(reschedule_ticker, setup_loop_reschedule_ticker,\n\t\t\t
      \ teardown_loop_timer_expect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_create
      Src: /src/bind9/tests/ns/notify_test.c:48,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/ns/notify_test.c:50,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:51,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/ns/notify_test.c:53,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/tests/ns/notify_test.c:54,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:57,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/ns/notify_test.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: check_response
    functionSourceFile: /src/bind9/tests/ns/notify_test.c
    functionUses: 0
    functionsReached:
    - dns_message_parse
    - assert_int_equal
    - isc_buffer_init
    - dns_rcode_totext
    - dns_message_detach
    - dns_message_create
    linkageType: ''
    returnType: void
    signature: void check_response(isc_buffer_t *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ns_test_getclient
      Src: /src/bind9/tests/ns/notify_test.c:72,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/ns/notify_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:75,1
    - Dst: ns_test_serve_zone
      Src: /src/bind9/tests/ns/notify_test.c:77,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:80,1
    - Dst: ns_test_getdata
      Src: /src/bind9/tests/ns/notify_test.c:87,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:89,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/ns/notify_test.c:90,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/ns/notify_test.c:91,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/ns/notify_test.c:93,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/ns/notify_test.c:95,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:96,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/ns/notify_test.c:103,1
    - Dst: ns_notify_start
      Src: /src/bind9/tests/ns/notify_test.c:108,1
    - Dst: ns_test_cleanup_zone
      Src: /src/bind9/tests/ns/notify_test.c:113,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/ns/notify_test.c:116,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/ns/notify_test.c:117,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/notify_test.c:119,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/notify_test.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 121
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/notify_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nmhandle_detach
    - isc_loopmgr_shutdown
    - ns_test_getdata
    - ns_test_getclient
    - dns_message_parse
    - assert_int_equal
    - ns_notify_start
    - ns_test_serve_zone
    - isc_buffer_init
    - ns_test_cleanup_zone
    - isc_buffer_add
    - dns_test_makeview
    - dns_message_detach
    - dns_message_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(notify_start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/ns/netmgr_wrap.c:49,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/netmgr_wrap.c:53,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/netmgr_wrap.c:54,1
    - Dst: atomic_load
      Src: /src/bind9/tests/ns/netmgr_wrap.c:54,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/ns/netmgr_wrap.c:56,1
    - Dst: fprintf
      Src: /src/bind9/tests/ns/netmgr_wrap.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - isc_nmhandle_t*
    - isc_nmhandle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 64
    functionName: isc_nmhandle_attach
    functionSourceFile: /src/bind9/tests/ns/netmgr_wrap.c
    functionUses: 21
    functionsReached:
    - atomic_load
    - atomic_fetch_add
    - fprintf
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_attach(isc_nmhandle_t *source, isc_nmhandle_t **targetp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/ns/netmgr_wrap.c:80,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/netmgr_wrap.c:84,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/ns/netmgr_wrap.c:86,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/ns/netmgr_wrap.c:87,1
    - Dst: ns__client_reset_cb
      Src: /src/bind9/tests/ns/netmgr_wrap.c:89,1
    - Dst: ns__client_put_cb
      Src: /src/bind9/tests/ns/netmgr_wrap.c:90,1
    - Dst: atomic_store
      Src: /src/bind9/tests/ns/netmgr_wrap.c:91,1
    - Dst: fprintf
      Src: /src/bind9/tests/ns/netmgr_wrap.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - handlep
    argTypes:
    - isc_nmhandle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: isc_nmhandle_detach
    functionSourceFile: /src/bind9/tests/ns/netmgr_wrap.c
    functionUses: 34
    functionsReached:
    - ns__client_reset_cb
    - atomic_store
    - INSIST
    - fprintf
    - ns__client_put_cb
    - atomic_load
    - atomic_fetch_sub
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_detach(isc_nmhandle_t **handlep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: isc_nm_socket_type
    functionSourceFile: /src/bind9/tests/ns/netmgr_wrap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_nmsocket_type
    signature: isc_nmsocket_type isc_nm_socket_type(const isc_nmhandle_t *handle ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:66,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/ns/plugin_test.c:72,1
    - Dst: ns_plugin_expandpath
      Src: /src/bind9/tests/ns/plugin_test.c:77,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/plugin_test.c:83,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/plugin_test.c:86,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/plugin_test.c:87,1
    - Dst: strcmp
      Src: /src/bind9/tests/ns/plugin_test.c:93,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/plugin_test.c:94,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/ns/plugin_test.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - test
    - state
    argTypes:
    - ns_plugin_expandpath_test_params_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 101
    functionName: run_full_path_test
    functionSourceFile: /src/bind9/tests/ns/plugin_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isc_mem_free
    - fail_msg
    - isc_result_totext
    - ns_plugin_expandpath
    - REQUIRE
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: "void run_full_path_test(const ns_plugin_expandpath_test_params_t *test,\n\t\t
      \  void **state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:109,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:116,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:123,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:130,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:136,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:142,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:148,1
    - Dst: run_full_path_test
      Src: /src/bind9/tests/ns/plugin_test.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 158
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/plugin_test.c
    functionUses: 0
    functionsReached:
    - run_full_path_test
    - NS_TEST_ID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ns_plugin_expandpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: send_noop
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void send_noop(isc_buffer_t *buffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/query_test.c:86,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/query_test.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/query_test.c:88,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/ns/query_test.c:94,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:95,1
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/query_test.c:110,1
    - Dst: isc_interval_set
      Src: /src/bind9/tests/ns/query_test.c:121,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/tests/ns/query_test.c:122,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/query_test.c:123,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/ns/query_test.c:125,1
    - Dst: isc_time_seconds
      Src: /src/bind9/tests/ns/query_test.c:128,1
    - Dst: ns__query_sfcache
      Src: /src/bind9/tests/ns/query_test.c:134,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:138,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/query_test.c:141,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:145,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/query_test.c:148,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:155,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_sfcache_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 157
    functionName: run_sfcache_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - dns_badcache_add
    - isc_interval_set
    - fail_msg
    - assert_int_equal
    - ns__query_sfcache
    - ns_test_qctx_create
    - isc_result_totext
    - ns_hook_add
    - ns_test_qctx_destroy
    - ns_hooktable_free
    - ns_hooktable_create
    - isc_time_seconds
    - REQUIRE
    - isc_time_nowplusinterval
    linkageType: ''
    returnType: void
    signature: void run_sfcache_test(const ns__query_sfcache_test_params_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:166,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:175,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:186,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:199,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:211,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:223,1
    - Dst: run_sfcache_test
      Src: /src/bind9/tests/ns/query_test.c:232,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:235,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 237
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - NS_TEST_ID
    - run_sfcache_test
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ns__query_sfcache)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/query_test.c:287,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/query_test.c:288,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/query_test.c:289,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/ns/query_test.c:297,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:298,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:299,1
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:312,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/query_test.c:313,1
    - Dst: ns_test_serve_zone
      Src: /src/bind9/tests/ns/query_test.c:326,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/query_test.c:329,1
    - Dst: ns__query_start
      Src: /src/bind9/tests/ns/query_test.c:335,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:340,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/query_test.c:343,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:346,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:352,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:360,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/query_test.c:363,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:366,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:374,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:382,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/query_test.c:385,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:388,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:394,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/query_test.c:401,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/ns/query_test.c:405,1
    - Dst: ns_test_cleanup_zone
      Src: /src/bind9/tests/ns/query_test.c:412,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:414,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:415,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_start_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 416
    functionName: run_start_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - fail_msg
    - assert_int_equal
    - ns_test_qctx_create
    - ns_test_serve_zone
    - ns_hook_add
    - isc_result_totext
    - ns_test_qctx_destroy
    - ns_hooktable_create
    - ns__query_start
    - REQUIRE
    - ns_test_cleanup_zone
    - ns_hooktable_free
    linkageType: ''
    returnType: void
    signature: void run_start_test(const ns__query_start_test_params_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:428,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:440,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:452,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:466,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:481,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:496,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:511,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:526,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:541,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:556,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:570,1
    - Dst: run_start_test
      Src: /src/bind9/tests/ns/query_test.c:581,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:584,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 586
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - NS_TEST_ID
    - run_start_test
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ns__query_start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/ns/query_test.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - ns_hookasync_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: destroy_hookactx
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_hookactx(ns_hookasync_t **ctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ns_hookasync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 636
    functionName: cancel_hookactx
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancel_hookactx(ns_hookasync_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:651,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:652,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/ns/query_test.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - qctx
    - memctx
    - arg
    - loop
    - cb
    - evarg
    - ctxp
    argTypes:
    - query_ctx_t*
    - isc_mem_t*
    - void*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - ns_hookasync_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 674
    functionName: test_hookasync
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_mem_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t test_hookasync(query_ctx_t *qctx, isc_mem_t *memctx,
      void *arg,\n\t       isc_loop_t *loop, isc_job_cb cb, void *evarg,\n\t       ns_hookasync_t
      **ctxp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ns_query_hookasync
      Src: /src/bind9/tests/ns/query_test.c:694,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:704,1
    - Dst: HANDLE_RECTYPE_HOOK
      Src: /src/bind9/tests/ns/query_test.c:704,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - arg
    - data
    - resultp
    - hookpoint
    argTypes:
    - void*
    - void*
    - isc_result_t*
    - ns_hookpoint_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 719
    functionName: hook_async_common
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - HANDLE_RECTYPE_HOOK
    - INSIST
    - ns_query_hookasync
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_common(void *arg, void *data, isc_result_t
      *resultp,\n\t\t  ns_hookpoint_t hookpoint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: hook_async_query_setup
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_setup(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 2
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: hook_async_query_start_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_start_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: hook_async_query_lookup_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_lookup_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: hook_async_query_resume_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_resume_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 745
    functionName: hook_async_query_got_answer_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_query_got_answer_begin(void *arg, void
      *data,\n\t\t\t\t  isc_result_t *resultp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 752
    functionName: hook_async_query_respond_any_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_query_respond_any_begin(void *arg, void
      *data,\n\t\t\t\t   isc_result_t *resultp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: hook_async_query_addanswer_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_addanswer_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: hook_async_query_notfound_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_notfound_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 769
    functionName: hook_async_query_prep_delegation_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_query_prep_delegation_begin(void *arg,
      void *data,\n\t\t\t\t       isc_result_t *resultp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: hook_async_query_zone_delegation_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_query_zone_delegation_begin(void *arg,
      void *data,\n\t\t\t\t       isc_result_t *resultp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 782
    functionName: hook_async_query_delegation_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_query_delegation_begin(void *arg, void
      *data,\n\t\t\t\t  isc_result_t *resultp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 789
    functionName: hook_async_query_delegation_recurse_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t hook_async_query_delegation_recurse_begin(void *arg,
      void *data,\n\t\t\t\t\t  isc_result_t *resultp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 794
    functionName: hook_async_query_nodata_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_nodata_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 796
    functionDepth: 2
    functionLinenumber: 796
    functionLinenumberEnd: 799
    functionName: hook_async_query_nxdomain_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_nxdomain_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: hook_async_query_ncache_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_ncache_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: hook_async_query_cname_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_cname_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: hook_async_query_dname_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_dname_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 819
    functionName: hook_async_query_respond_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_respond_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 825
    functionName: hook_async_query_response_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_response_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hook_async_common
      Src: /src/bind9/tests/ns/query_test.c:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 2
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: hook_async_query_done_begin
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - hook_async_common
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_query_done_begin(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 844
    functionName: ns_test_qctx_destroy_hook
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns_test_qctx_destroy_hook(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/ns/query_test.c:873,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:874,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:880,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:882,1
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:890,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:891,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/ns/query_test.c:899,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/tests/ns/query_test.c:901,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:902,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/tests/ns/query_test.c:906,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/ns/query_test.c:919,1
    - Dst: ns__query_start
      Src: /src/bind9/tests/ns/query_test.c:928,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:929,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:935,1
    - Dst: ns_query_cancel
      Src: /src/bind9/tests/ns/query_test.c:943,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:945,1
    - Dst: hookasync_data_t::rev::cb
      Src: /src/bind9/tests/ns/query_test.c:950,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:953,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:954,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:955,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/tests/ns/query_test.c:955,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:958,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/tests/ns/query_test.c:958,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:965,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:966,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:969,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:977,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/tests/ns/query_test.c:977,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:982,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:984,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:992,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:993,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/ns/query_test.c:995,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_hookasync_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 997
    functionName: run_hookasync_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_release
    - ISC_LINK_LINKED
    - INSIST
    - ns_test_qctx_create
    - ns_hook_add
    - isc_quota_acquire
    - ns_stats_get_counter
    - ns_hooktable_create
    - isc_nmhandle_attach
    - ns__query_start
    - isc_quota_max
    - ns_query_cancel
    - hookasync_data_t::rev::cb
    - ns_test_qctx_destroy
    - ns_hooktable_free
    linkageType: ''
    returnType: void
    signature: void run_hookasync_test(const ns__query_hookasync_test_params_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1004,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1013,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1022,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1031,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1044,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1053,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1062,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1071,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1080,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1089,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1098,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1107,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1116,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1125,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1134,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1143,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1152,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1161,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1170,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1179,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1188,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1197,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1206,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1215,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1224,1
    - Dst: run_hookasync_test
      Src: /src/bind9/tests/ns/query_test.c:1235,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:1238,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1240
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - NS_TEST_ID
    - run_hookasync_test
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ns__query_hookasync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ns_hookasync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1277
    functionName: cancel_e2ehookactx
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void cancel_e2ehookactx(ns_hookasync_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:1292,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:1293,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/ns/query_test.c:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - qctx
    - memctx
    - arg
    - loop
    - cb
    - evarg
    - ctxp
    argTypes:
    - query_ctx_t*
    - isc_mem_t*
    - void*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - ns_hookasync_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1314
    functionName: test_hookasync_e2e
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_mem_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t test_hookasync_e2e(query_ctx_t *qctx, isc_mem_t *memctx,
      void *arg,\n\t\t   isc_loop_t *loop, isc_job_cb cb, void *evarg,\n\t\t   ns_hookasync_t
      **ctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_query_hookasync
      Src: /src/bind9/tests/ns/query_test.c:1324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1316
    functionDepth: 1
    functionLinenumber: 1316
    functionLinenumberEnd: 1340
    functionName: hook_async_e2e
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns_query_hookasync
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_async_e2e(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1355
    functionName: hook_donesend
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t hook_donesend(void *arg, void *data, isc_result_t *resultp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/ns/query_test.c:1383,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:1384,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:1385,1
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:1387,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1388,1
    - Dst: ns_test_serve_zone
      Src: /src/bind9/tests/ns/query_test.c:1393,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1395,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/ns/query_test.c:1401,1
    - Dst: ns__query_start
      Src: /src/bind9/tests/ns/query_test.c:1406,1
    - Dst: ns_query_cancel
      Src: /src/bind9/tests/ns/query_test.c:1410,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1417,1
    - Dst: hookasync_e2e_data_t::rev::cb
      Src: /src/bind9/tests/ns/query_test.c:1418,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1425,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1426,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1428,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:1432,1
    - Dst: ns_test_cleanup_zone
      Src: /src/bind9/tests/ns/query_test.c:1433,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:1434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_hookasync_e2e_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1435
    functionName: run_hookasync_e2e_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns_test_serve_zone
    - INSIST
    - ns_hook_add
    - ns_test_qctx_create
    - ns_query_cancel
    - ns_hooktable_create
    - isc_nmhandle_attach
    - ns__query_start
    - ns_test_qctx_destroy
    - ns_test_cleanup_zone
    - ns_hooktable_free
    - hookasync_e2e_data_t::rev::cb
    linkageType: ''
    returnType: void
    signature: void run_hookasync_e2e_test(const ns__query_hookasync_e2e_test_params_t
      *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1440,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1448,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1456,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1464,1
    - Dst: run_hookasync_e2e_test
      Src: /src/bind9/tests/ns/query_test.c:1474,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:1477,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1479
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - run_hookasync_e2e_test
    - isc_loopmgr_shutdown
    - NS_TEST_ID
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ns__query_hookasync_e2e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/isccfg/parser_test.c:43,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/isccfg/parser_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: ISC_SETUP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void ISC_SETUP_TEST_IMPL(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/parser_test.c:56,1
    - Dst: snprintf
      Src: /src/bind9/tests/isccfg/parser_test.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: append
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 19
    functionsReached:
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: void append(void *arg, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parser_create
      Src: /src/bind9/tests/isccfg/parser_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:77,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isccfg/parser_test.c:79,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/isccfg/parser_test.c:83,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/parser_test.c:83,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/parser_test.c:84,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/parser_test.c:84,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:88,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/parser_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:95,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/parser_test.c:97,1
    - Dst: cfg_list_first
      Src: /src/bind9/tests/isccfg/parser_test.c:97,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:98,1
    - Dst: strlcpy
      Src: /src/bind9/tests/isccfg/parser_test.c:100,1
    - Dst: cfg_printx
      Src: /src/bind9/tests/isccfg/parser_test.c:101,1
    - Dst: strlcat
      Src: /src/bind9/tests/isccfg/parser_test.c:102,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:103,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/tests/isccfg/parser_test.c:105,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/tests/isccfg/parser_test.c:106,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/tests/isccfg/parser_test.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - cfg_printx
    - cfg_parser_reset
    - cfg_parse_buffer
    - ARRAY_SIZE
    - strlcpy
    - cfg_parser_create
    - assert_int_equal
    - cfg_list_first
    - assert_string_equal
    - strlcat
    - cfg_obj_destroy
    - strlen
    - isc_buffer_add
    - assert_ptr_not_equal
    - cfg_parser_destroy
    - cfg_map_get
    - cfg_listelt_value
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(addzoneconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/parser_test.c:120,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/parser_test.c:121,1
    - Dst: cfg_parser_create
      Src: /src/bind9/tests/isccfg/parser_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:125,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:127,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:129,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:130,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/parser_test.c:132,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/parser_test.c:133,1
    - Dst: cfg_parser_create
      Src: /src/bind9/tests/isccfg/parser_test.c:136,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:137,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:142,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/tests/isccfg/parser_test.c:144,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/tests/isccfg/parser_test.c:145,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/tests/isccfg/parser_test.c:147,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/tests/isccfg/parser_test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 149
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - cfg_parse_buffer
    - cfg_parser_create
    - assert_int_equal
    - cfg_obj_destroy
    - isc_buffer_init
    - isc_buffer_add
    - cfg_parser_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(parse_buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_firstclause
      Src: /src/bind9/tests/isccfg/parser_test.c:157,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:158,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:159,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - assert_non_null
    - cfg_map_firstclause
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cfg_map_firstclause)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_firstclause
      Src: /src/bind9/tests/isccfg/parser_test.c:169,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:170,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:171,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:172,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/tests/isccfg/parser_test.c:175,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:177,1
    - Dst: assert_null
      Src: /src/bind9/tests/isccfg/parser_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - cfg_map_nextclause
    - assert_int_equal
    - assert_non_null
    - cfg_map_firstclause
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cfg_map_nextclause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/grammar_test.c:52,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/isccfg/grammar_test.c:53,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/isccfg/grammar_test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: ISC_SETUP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_log_createandusechannel
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void ISC_SETUP_TEST_IMPL(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isccfg/grammar_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - text
    - textlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: write_to_buffer
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    linkageType: ''
    returnType: void
    signature: void write_to_buffer(void *closure, const char *text, int textlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/grammar_test.c:70,1
    - Dst: strcasecmp
      Src: /src/bind9/tests/isccfg/grammar_test.c:70,1
    - Dst: isc_buffer_base
      Src: /src/bind9/tests/isccfg/grammar_test.c:70,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isccfg/grammar_test.c:71,1
    - Dst: memset
      Src: /src/bind9/tests/isccfg/grammar_test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: assert_text
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - memset
    - assert_int_equal
    - isc_buffer_base
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void assert_text(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_firstclause
      Src: /src/bind9/tests/isccfg/grammar_test.c:81,1
    - Dst: strcasecmp
      Src: /src/bind9/tests/isccfg/grammar_test.c:82,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/tests/isccfg/grammar_test.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - map
    - name
    argTypes:
    - cfg_type_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: find_clause
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_map_firstclause
    - cfg_map_nextclause
    linkageType: ''
    returnType: cfg_clausedef_t
    signature: 'cfg_clausedef_t *

      find_clause(const cfg_type_t *map, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_clause
      Src: /src/bind9/tests/isccfg/grammar_test.c:93,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/grammar_test.c:94,1
    - Dst: find_clause
      Src: /src/bind9/tests/isccfg/grammar_test.c:97,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/grammar_test.c:98,1
    - Dst: cfg_clausedef_t*::type::doc
      Src: /src/bind9/tests/isccfg/grammar_test.c:99,1
    - Dst: assert_text
      Src: /src/bind9/tests/isccfg/grammar_test.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - clause_name
    - name
    - expected
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: test__querysource
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - find_clause
    - assert_text
    - cfg_clausedef_t*::type::doc
    linkageType: ''
    returnType: void
    signature: "void test__querysource(const char *clause_name, const char *name,\n\t\t
      \ const char *expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test__querysource
      Src: /src/bind9/tests/isccfg/grammar_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - test__querysource
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(query_source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test__querysource
      Src: /src/bind9/tests/isccfg/grammar_test.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - test__querysource
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(query_source_v6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test__querysource
      Src: /src/bind9/tests/isccfg/grammar_test.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - test__querysource
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(server_query_source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test__querysource
      Src: /src/bind9/tests/isccfg/grammar_test.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - test__querysource
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(server_query_source_v6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parser_create
      Src: /src/bind9/tests/isccfg/grammar_test.c:130,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/grammar_test.c:131,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/isccfg/grammar_test.c:133,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/grammar_test.c:133,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/grammar_test.c:134,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/grammar_test.c:134,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/grammar_test.c:136,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/grammar_test.c:138,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/grammar_test.c:139,1
    - Dst: cfg_obj_t*::type::print
      Src: /src/bind9/tests/isccfg/grammar_test.c:144,1
    - Dst: assert_text
      Src: /src/bind9/tests/isccfg/grammar_test.c:145,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/tests/isccfg/grammar_test.c:147,1
    - Dst: cfg_parser_reset
      Src: /src/bind9/tests/isccfg/grammar_test.c:148,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/tests/isccfg/grammar_test.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - config
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: test__query_source_print
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - cfg_parser_reset
    - cfg_parse_buffer
    - cfg_parser_create
    - assert_int_equal
    - assert_text
    - cfg_obj_destroy
    - strlen
    - assert_non_null
    - isc_buffer_add
    - cfg_parser_destroy
    - cfg_obj_t*::type::print
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void test__query_source_print(const char *config, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:153,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:155,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:158,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - test__query_source_print
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(query_source_print_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:165,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:167,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:169,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 3
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - test__query_source_print
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(query_source_print_addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/isccfg/duration_test.c:42,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/isccfg/duration_test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: ISC_SETUP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/duration_test.c
    functionUses: 0
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void ISC_SETUP_TEST_IMPL(group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/isccfg/duration_test.c:62,1
    - Dst: snprintf
      Src: /src/bind9/tests/isccfg/duration_test.c:64,1
    - Dst: INSIST
      Src: /src/bind9/tests/isccfg/duration_test.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - closure
    - text
    - textlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: output
    functionSourceFile: /src/bind9/tests/isccfg/duration_test.c
    functionUses: 1
    functionsReached:
    - snprintf
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void output(void *closure, const char *text, int textlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isccfg/duration_test.c:127,1
    - Dst: snprintf
      Src: /src/bind9/tests/isccfg/duration_test.c:141,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/duration_test.c:143,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:143,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/duration_test.c:144,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:144,1
    - Dst: cfg_parser_create
      Src: /src/bind9/tests/isccfg/duration_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:148,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/duration_test.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:153,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/tests/isccfg/duration_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:157,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/duration_test.c:159,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:160,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:167,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:170,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:172,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/duration_test.c:173,1
    - Dst: cfg_list_first
      Src: /src/bind9/tests/isccfg/duration_test.c:175,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:176,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:178,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:179,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:181,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:184,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/tests/isccfg/duration_test.c:185,1
    - Dst: cfg_print_duration_or_unlimited
      Src: /src/bind9/tests/isccfg/duration_test.c:187,1
    - Dst: strncasecmp
      Src: /src/bind9/tests/isccfg/duration_test.c:188,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:191,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:192,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/tests/isccfg/duration_test.c:195,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/tests/isccfg/duration_test.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 198
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/duration_test.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asduration
    - cfg_parse_buffer
    - ARRAY_SIZE
    - cfg_parser_create
    - assert_int_equal
    - cfg_list_first
    - cfg_tuple_get
    - isc_buffer_init
    - strlen
    - cfg_obj_destroy
    - snprintf
    - assert_non_null
    - isc_buffer_add
    - cfg_parser_destroy
    - cfg_map_get
    - cfg_listelt_value
    - strncasecmp
    - cfg_print_duration_or_unlimited
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:167,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:170,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:172,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/duration_test.c:173,1
    - Dst: cfg_list_first
      Src: /src/bind9/tests/isccfg/duration_test.c:175,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:176,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:178,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:179,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:181,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:184,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/tests/isccfg/duration_test.c:185,1
    - Dst: cfg_print_duration_or_unlimited
      Src: /src/bind9/tests/isccfg/duration_test.c:187,1
    - Dst: strncasecmp
      Src: /src/bind9/tests/isccfg/duration_test.c:188,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:191,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 193
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/tests/isccfg/duration_test.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asduration
    - assert_int_equal
    - cfg_list_first
    - cfg_tuple_get
    - strlen
    - assert_non_null
    - cfg_map_get
    - cfg_listelt_value
    - strncasecmp
    - cfg_print_duration_or_unlimited
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (kasps, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:53,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:54,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:58,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:60,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:61,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:65,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:66,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:69,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:70,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:71,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:73,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_badcache_add
    - dns_badcache_destroy
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - dns_name_fromstring
    - isc_stdtime_now
    - dns_badcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:81,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:82,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:86,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:88,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:89,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:90,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:92,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:93,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:94,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:96,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:98,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:100,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:101,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:103,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:104,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:106,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:108,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:110,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:112,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 115
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_badcache_add
    - dns_badcache_destroy
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - dns_name_fromstring
    - isc_stdtime_now
    - dns_badcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(expire)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:120,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:121,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:138,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:140,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:141,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:142,1
    - Dst: fopen
      Src: /src/bind9/tests/dns/badcache_test.c:144,1
    - Dst: dns_badcache_print
      Src: /src/bind9/tests/dns/badcache_test.c:145,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/badcache_test.c:146,1
    - Dst: fopen
      Src: /src/bind9/tests/dns/badcache_test.c:148,1
    - Dst: fread
      Src: /src/bind9/tests/dns/badcache_test.c:149,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/badcache_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:150,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/badcache_test.c:151,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/badcache_test.c:154,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:154,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:155,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/badcache_test.c:159,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:159,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:160,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/badcache_test.c:162,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:162,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:163,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/badcache_test.c:178,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/badcache_test.c:181,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:181,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:182,1
    - Dst: strtol
      Src: /src/bind9/tests/dns/badcache_test.c:184,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/badcache_test.c:185,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/badcache_test.c:186,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/badcache_test.c:189,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:189,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/badcache_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:196,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:198,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 201
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - assert_true
    - dns_badcache_add
    - ARRAY_SIZE
    - dns_badcache_destroy
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - fopen
    - fclose
    - strlen
    - dns_name_fromstring
    - isc_stdtime_now
    - strtol
    - assert_ptr_not_equal
    - fread
    - dns_badcache_print
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(print)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:206,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:207,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:211,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:213,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:214,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:216,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:217,1
    - Dst: dns_badcache_flush
      Src: /src/bind9/tests/dns/badcache_test.c:219,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:221,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:222,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:224,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 227
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_badcache_add
    - dns_badcache_flush
    - dns_badcache_destroy
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - dns_name_fromstring
    - isc_stdtime_now
    - dns_badcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:232,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:233,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:237,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:239,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:240,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:241,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:242,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:244,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:245,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:246,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:247,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:249,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:250,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:251,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:252,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:254,1
    - Dst: dns_badcache_flushname
      Src: /src/bind9/tests/dns/badcache_test.c:255,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:257,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:258,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:259,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:260,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:262,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:263,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:264,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:266,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:267,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:268,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:270,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 273
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_badcache_add
    - dns_badcache_destroy
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - dns_name_fromstring
    - isc_stdtime_now
    - dns_badcache_flushname
    - dns_badcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(flushname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:278,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:279,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:283,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:285,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:286,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:288,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:289,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:291,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:292,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:293,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:294,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:295,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:297,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:298,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:299,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:300,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:301,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:303,1
    - Dst: dns_badcache_flushtree
      Src: /src/bind9/tests/dns/badcache_test.c:304,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:306,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:307,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:308,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:310,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:312,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:314,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:315,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:316,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:317,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:319,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 322
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_badcache_add
    - dns_badcache_destroy
    - dns_badcache_flushtree
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - dns_name_fromstring
    - isc_stdtime_now
    - dns_badcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(flushtree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/badcache_test.c:327,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/badcache_test.c:328,1
    - Dst: dns_badcache_new
      Src: /src/bind9/tests/dns/badcache_test.c:332,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:334,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:335,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:336,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:338,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:340,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:341,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:342,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:344,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:346,1
    - Dst: dns_badcache_add
      Src: /src/bind9/tests/dns/badcache_test.c:347,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:350,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:352,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:354,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:356,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:357,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:359,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:361,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:362,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:364,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/badcache_test.c:366,1
    - Dst: dns_badcache_find
      Src: /src/bind9/tests/dns/badcache_test.c:367,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/badcache_test.c:369,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/tests/dns/badcache_test.c:371,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/badcache_test.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 374
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/badcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_badcache_add
    - dns_badcache_destroy
    - dns_fixedname_initname
    - assert_int_equal
    - dns_badcache_new
    - dns_name_fromstring
    - isc_stdtime_now
    - dns_badcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(purge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/dns/keytable_test.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 3
    functionsReached:
    - setup_loopmgr
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/keytable_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 5
    functionsReached:
    - teardown_loopmgr
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/keytable_test.c:97,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/keytable_test.c:98,1
    - Dst: UNCONST
      Src: /src/bind9/tests/dns/keytable_test.c:98,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/keytable_test.c:98,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/keytable_test.c:99,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/keytable_test.c:99,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:100,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/keytable_test.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - namestr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: str2name
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - assert_int_equal
    - isc_buffer_init
    - strlen
    - UNCONST
    - isc_buffer_add
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      str2name(const char *namestr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/tests/dns/keytable_test.c:117,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/keytable_test.c:122,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:123,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/tests/dns/keytable_test.c:123,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/keytable_test.c:125,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/dns/keytable_test.c:127,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/keytable_test.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - flags
    - proto
    - alg
    - keystr
    - keystruct
    argTypes:
    - uint16_t
    - uint8_t
    - uint8_t
    - char*
    - dns_rdata_dnskey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 129
    functionName: create_keystruct
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert_int_equal
    - ISC_LINK_INIT
    - isc_mem_allocate
    - isc_buffer_init
    - isc_base64_decodestring
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: "void create_keystruct(uint16_t flags, uint8_t proto, uint8_t alg,
      const char *keystr,\n\t\t dns_rdata_dnskey_t *keystruct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:144,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/keytable_test.c:149,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/keytable_test.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:153,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/tests/dns/keytable_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:160,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - name
    - flags
    - proto
    - alg
    - keystr
    - digest
    - digest_len
    - dsstruct
    argTypes:
    - dns_name_t*
    - uint16_t
    - uint8_t
    - uint8_t
    - char*
    - unsigned char*
    - size_t
    - dns_rdata_ds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: create_dsstruct
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_ds_fromkeyrdata
    - dns_rdata_fromstruct
    - assert_int_equal
    - isc_buffer_init
    - create_keystruct
    - dns_rdata_freestruct
    linkageType: ''
    returnType: void
    signature: "void create_dsstruct(dns_name_t *name, uint16_t flags, uint8_t proto,
      uint8_t alg,\n\t\tconst char *keystr, unsigned char *digest, size_t digest_len,\n\t\tdns_rdata_ds_t
      *dsstruct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/keytable_test.c:171,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/keytable_test.c:172,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:174,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/keytable_test.c:174,1
    - Dst: dns_keytable_create
      Src: /src/bind9/tests/dns/keytable_test.c:177,1
    - Dst: dns_ntatable_create
      Src: /src/bind9/tests/dns/keytable_test.c:178,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:181,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:184,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:184,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:189,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:192,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:192,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:197,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/tests/dns/keytable_test.c:198,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:198,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:202,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/tests/dns/keytable_test.c:202,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 206
    functionName: create_tables
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_keytable_create
    - str2name
    - dns_keytable_add
    - dns_test_namefromstring
    - assert_int_equal
    - dns_fixedname_name
    - dns_keytable_marksecure
    - isc_stdtime_now
    - dns_test_makeview
    - dns_ntatable_create
    - create_dsstruct
    - dns_ntatable_add
    linkageType: ''
    returnType: void
    signature: void create_tables(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_ntatable_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:211,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:212,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:215,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/keytable_test.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: destroy_tables
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_view_detach
    - dns_keytable_detach
    - dns_ntatable_shutdown
    - dns_ntatable_detach
    linkageType: ''
    returnType: void
    signature: void destroy_tables(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/keytable_test.c:228,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:230,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:232,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:237,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:238,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:238,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:245,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:246,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:248,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:248,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:251,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:252,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:253,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:253,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:257,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:258,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:260,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:260,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:263,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:264,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:264,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:266,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:273,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:274,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:276,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:276,1
    - Dst: dns_keynode_trust
      Src: /src/bind9/tests/dns/keytable_test.c:277,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:278,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:278,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:279,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:286,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:289,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:289,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:292,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:293,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:293,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:295,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:295,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:296,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:304,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:304,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:307,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:308,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:308,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:310,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:310,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:311,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:317,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:320,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:320,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:323,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:324,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:324,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:326,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:326,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:327,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:335,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:337,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:337,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:340,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:341,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:341,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:343,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:343,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:344,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:350,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:350,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:350,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:353,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:354,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:356,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:356,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:359,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:360,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:360,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/keytable_test.c:362,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:363,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:371,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/tests/dns/keytable_test.c:372,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:372,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:374,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:374,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:374,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/keytable_test.c:377,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:378,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:380,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:381,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 384
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - destroy_tables
    - isc_loopmgr_shutdown
    - str2name
    - dns_keytable_add
    - dns_test_namefromstring
    - assert_int_equal
    - create_tables
    - dns_keynode_initial
    - UNUSED
    - dns_fixedname_name
    - dns_keytable_marksecure
    - dns_keytable_find
    - dns_keynode_detach
    - create_dsstruct
    - dns_keynode_trust
    - assert_ptr_equal
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:388,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:390,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:393,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:393,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:393,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:396,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:396,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:397,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:400,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:400,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:400,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:405,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:405,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:405,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:410,1
    - Dst: dns_ntatable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:411,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:411,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:414,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 417
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - destroy_tables
    - isc_loopmgr_shutdown
    - str2name
    - assert_int_equal
    - create_tables
    - UNUSED
    - dns_keytable_delete
    - dns_ntatable_delete
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/keytable_test.c:423,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:425,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:427,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:430,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:431,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:432,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:432,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:434,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:437,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:438,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:439,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:439,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:441,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:444,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:445,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:446,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:446,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:448,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:455,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:456,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:456,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:458,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:458,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:465,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:465,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:467,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:467,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:469,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:475,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:476,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:477,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:477,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:479,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:479,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:481,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:483,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 486
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - destroy_tables
    - isc_loopmgr_shutdown
    - dns_keytable_deletekey
    - dns_test_namefromstring
    - assert_int_equal
    - create_tables
    - UNUSED
    - dns_fixedname_name
    - dns_keytable_delete
    - create_keystruct
    - dns_rdata_freestruct
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(deletekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:494,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:496,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:502,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:503,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:503,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:505,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:505,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:506,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:509,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:510,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:510,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:512,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:513,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:514,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:514,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:516,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/keytable_test.c:522,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:523,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:523,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:524,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:526,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/keytable_test.c:526,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:526,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:527,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:527,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:528,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:530,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/keytable_test.c:530,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:530,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:531,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:531,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:532,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:534,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:534,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:535,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:537,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/keytable_test.c:537,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:537,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:539,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 489
    functionDepth: 4
    functionLinenumber: 489
    functionLinenumberEnd: 542
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - destroy_tables
    - isc_loopmgr_shutdown
    - str2name
    - dns_keytable_finddeepestmatch
    - assert_int_equal
    - create_tables
    - dns_fixedname_initname
    - UNUSED
    - dns_name_equal
    - dns_keytable_find
    - dns_keynode_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(find)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:551,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:552,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:561,1
    - Dst: dns_keytable_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:561,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:562,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:565,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:572,1
    - Dst: dns_keytable_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:572,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:573,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:576,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:578,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 581
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - destroy_tables
    - isc_loopmgr_shutdown
    - str2name
    - assert_int_equal
    - create_tables
    - dns_keytable_issecuredomain
    - UNUSED
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(issecuredomain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/bind9/tests/dns/keytable_test.c:585,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:587,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:589,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:595,1
    - Dst: dns_keytable_dump
      Src: /src/bind9/tests/dns/keytable_test.c:595,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/keytable_test.c:596,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:598,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 601
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - destroy_tables
    - isc_loopmgr_shutdown
    - assert_int_equal
    - create_tables
    - UNUSED
    - fopen
    - fclose
    - dns_keytable_dump
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/keytable_test.c:608,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/keytable_test.c:612,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/keytable_test.c:614,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:615,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/tests/dns/keytable_test.c:617,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/tests/dns/keytable_test.c:619,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:620,1
    - Dst: dns_view_initntatable
      Src: /src/bind9/tests/dns/keytable_test.c:622,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/tests/dns/keytable_test.c:623,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:624,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:626,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:627,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:629,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:631,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/tests/dns/keytable_test.c:633,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:633,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:635,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:638,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:639,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:641,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:642,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:643,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:646,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:647,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:649,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:650,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:651,1
    - Dst: dns_view_ntacovers
      Src: /src/bind9/tests/dns/keytable_test.c:654,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:654,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:656,1
    - Dst: dns_view_ntacovers
      Src: /src/bind9/tests/dns/keytable_test.c:659,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:659,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:661,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:664,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:665,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:667,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:668,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:669,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:672,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:672,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:674,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:675,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:676,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/tests/dns/keytable_test.c:678,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:678,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:680,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:682,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:682,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:684,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:685,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:686,1
    - Dst: dns_ntatable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:688,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:688,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:689,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:691,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:691,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:693,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:694,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:695,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:697,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:700,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:701,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/keytable_test.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 703
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - assert_false
    - dns_view_initntatable
    - str2name
    - dns_test_namefromstring
    - dns_view_initsecroots
    - dns_ntatable_delete
    - isc_stdtime_now
    - create_dsstruct
    - dns_ntatable_add
    - dns_view_detach
    - dns_fixedname_name
    - dns_ntatable_detach
    - dns_view_getsecroots
    - assert_true
    - dns_keytable_add
    - dns_view_getntatable
    - dns_view_issecuredomain
    - dns_view_ntacovers
    - dns_test_makeview
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(nta)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:123,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:131,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:133,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/dns/qp_test.c:135,1
    - Dst: qp_test_printkey
      Src: /src/bind9/tests/dns/qp_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:140,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/qp_test.c:141,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:143,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/dns/qp_test.c:144,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:145,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:146,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/dns/qp_test.c:148,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/qp_test.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 151
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - assert_true
    - ARRAY_SIZE
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_int_equal
    - dns_qpkey_toname
    - dns_name_equal
    - dns_qpkey_fromname
    - qp_test_printkey
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpkey_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:181,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:182,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/qp_test.c:184,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/dns/qp_test.c:185,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:190,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:191,1
    - Dst: dns_name_compare
      Src: /src/bind9/tests/dns/qp_test.c:192,1
    - Dst: ISC_MIN
      Src: /src/bind9/tests/dns/qp_test.c:194,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/qp_test.c:197,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:200,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:201,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:202,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:206,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 211
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - ARRAY_SIZE
    - dns_test_namefromstring
    - ISC_MIN
    - dns_fixedname_name
    - dns_qpkey_fromname
    - memcmp
    - dns_name_compare
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpkey_sort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/qp_test.c:218,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qp_test.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: check_leaf
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_in_range
    - assert_ptr_equal
    linkageType: ''
    returnType: void
    signature: void check_leaf(void *uctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_leaf
      Src: /src/bind9/tests/dns/qp_test.c:224,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/qp_test.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - key
    - uctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: qpiter_makekey
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - check_leaf
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: size_t qpiter_makekey(dns_qpkey_t key, void *uctx, void *pval, uint32_t
      ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/tests/dns/qp_test.c:241,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: getname
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 32
    functionsReached:
    - UNUSED
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void getname(void *uctx, char *buf, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:263,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qp_test.c:265,1
    - Dst: qpiter_makekey
      Src: /src/bind9/tests/dns/qp_test.c:274,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/dns/qp_test.c:275,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/tests/dns/qp_test.c:278,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qp_test.c:279,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:280,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/tests/dns/qp_test.c:286,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:287,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/qp_test.c:290,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:291,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qp_test.c:292,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:301,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:308,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:313,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/tests/dns/qp_test.c:316,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:317,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:321,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:324,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:327,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/tests/dns/qp_test.c:330,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:331,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:332,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:337,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:345,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:346,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:350,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:351,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:353,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:355,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:356,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:358,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:360,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:361,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:363,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:365,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:366,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:368,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:370,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:371,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 377
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qp_destroy
    - dns_qp_create
    - qpiter_makekey
    - dns_qp_deletekey
    - assert_int_equal
    - dns_qpiter_next
    - dns_qpiter_init
    - assert_in_range
    - dns_qpiter_current
    - dns_qp_insert
    - dns_qpiter_prev
    - isc_random_uniform
    - assert_ptr_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:381,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:382,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - uctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: no_op
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void no_op(void *uctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:391,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:392,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/dns/qp_test.c:393,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/qp_test.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - uctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: qpkey_fromstring
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    - UNUSED
    - dns_fixedname_name
    - dns_test_namefromstring
    linkageType: ''
    returnType: size_t
    signature: size_t qpkey_fromstring(dns_qpkey_t key, void *uctx, void *pval, uint32_t
      ival)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:415,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:416,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:419,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/dns/qp_test.c:420,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:424,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:428,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:429,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:433,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:435,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:435,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/qp_test.c:448,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/qp_test.c:449,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qp_test.c:451,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:451,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:452,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/tests/dns/qp_test.c:453,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qp_test.c:457,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/qp_test.c:459,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - qp
    - check
    - space
    argTypes:
    - dns_qp_t*
    - struct check_partialmatch[]
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 462
    functionName: check_partialmatch
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_name_issubdomain
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_int_equal
    - assert_false
    - assert_string_equal
    - dns_name_equal
    - isc_result_totext
    - dns_qp_lookup
    - fprintf
    - dns_name_isabsolute
    - assert_null
    linkageType: ''
    returnType: void
    signature: "void check_partialmatch(dns_qp_t *qp, struct check_partialmatch check[],\n\t\t
      \  dns_namespace_t space)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/tests/dns/qp_test.c:469,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/dns/qp_test.c:470,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - qp
    - str
    - space
    argTypes:
    - dns_qp_t*
    - char*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: insert_name
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - INSIST
    - dns_qp_insert
    linkageType: ''
    returnType: void
    signature: void insert_name(dns_qp_t *qp, const char *str, dns_namespace_t space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_deletekey
      Src: /src/bind9/tests/dns/qp_test.c:478,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qp
    - space
    argTypes:
    - dns_qp_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: delete_rootkey
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qp_deletekey
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void delete_rootkey(dns_qp_t *qp, dns_namespace_t space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:486,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:501,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:502,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:503,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:522,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:523,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:524,1
    - Dst: INSIST
      Src: /src/bind9/tests/dns/qp_test.c:527,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:528,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:529,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:530,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:540,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:541,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:542,1
    - Dst: delete_rootkey
      Src: /src/bind9/tests/dns/qp_test.c:548,1
    - Dst: delete_rootkey
      Src: /src/bind9/tests/dns/qp_test.c:549,1
    - Dst: delete_rootkey
      Src: /src/bind9/tests/dns/qp_test.c:550,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:557,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:558,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:559,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 562
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_destroy
    - dns_qp_create
    - INSIST
    - delete_rootkey
    - check_partialmatch
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(partialmatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:578,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/tests/dns/qp_test.c:581,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:582,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/dns/qp_test.c:583,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:586,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:589,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:590,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/tests/dns/qp_test.c:591,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:594,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:595,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/tests/dns/qp_test.c:595,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:598,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:599,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:600,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/tests/dns/qp_test.c:601,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/qp_test.c:604,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:605,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:608,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - qp
    - check
    - iter
    argTypes:
    - dns_qp_t*
    - struct check_qpchain[]
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 611
    functionName: check_qpchainiter
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpchain_init
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_int_equal
    - dns_name_equal
    - isc_result_totext
    - dns_qp_lookup
    - fprintf
    - dns_qpchain_length
    - dns_qpchain_node
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: "void check_qpchainiter(dns_qp_t *qp, struct check_qpchain check[],\n\t\t
      \ dns_qpiter_t *iter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpiter_init
      Src: /src/bind9/tests/dns/qp_test.c:616,1
    - Dst: check_qpchainiter
      Src: /src/bind9/tests/dns/qp_test.c:617,1
    - Dst: check_qpchainiter
      Src: /src/bind9/tests/dns/qp_test.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qp
    - check
    argTypes:
    - dns_qp_t*
    - struct check_qpchain[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: check_qpchain
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - check_qpchainiter
    - dns_qpiter_init
    linkageType: ''
    returnType: void
    signature: void check_qpchain(dns_qp_t *qp, struct check_qpchain check[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:629,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:632,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:633,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:634,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:734,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:735,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:741,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:744,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:745,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:746,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:769,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 771
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_destroy
    - dns_qp_create
    - check_qpchain
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpchain)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:787,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:788,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:795,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:803,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:805,1
    - Dst: dns_name_tostring
      Src: /src/bind9/tests/dns/qp_test.c:806,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:807,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/dns/qp_test.c:809,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:812,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:818,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:819,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:821,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:828,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:830,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/tests/dns/qp_test.c:838,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:840,1
    - Dst: dns_name_tostring
      Src: /src/bind9/tests/dns/qp_test.c:842,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:844,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:847,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/qp_test.c:848,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:849,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:852,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/qp_test.c:854,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/qp_test.c:855,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:858,1
    - Dst: dns_name_tostring
      Src: /src/bind9/tests/dns/qp_test.c:861,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:862,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:863,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/qp_test.c:864,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:870,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - qp
    - check
    - chain
    argTypes:
    - dns_qp_t*
    - struct check_predecessors[]
    - dns_qpchain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 876
    functionName: check_predecessors_withchain
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_int_equal
    - assert_string_equal
    - dns_qpiter_next
    - isc_result_totext
    - dns_qp_lookup
    - fprintf
    - dns_qpiter_current
    - dns_qpiter_prev
    - dns_name_tostring
    linkageType: ''
    returnType: void
    signature: "void check_predecessors_withchain(dns_qp_t *qp, struct check_predecessors
      check[],\n\t\t\t     dns_qpchain_t *chain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpchain_init
      Src: /src/bind9/tests/dns/qp_test.c:881,1
    - Dst: check_predecessors_withchain
      Src: /src/bind9/tests/dns/qp_test.c:882,1
    - Dst: check_predecessors_withchain
      Src: /src/bind9/tests/dns/qp_test.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qp
    - check
    argTypes:
    - dns_qp_t*
    - struct check_predecessors[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 884
    functionName: check_predecessors
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpchain_init
    - check_predecessors_withchain
    linkageType: ''
    returnType: void
    signature: void check_predecessors(dns_qp_t *qp, struct check_predecessors check[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:896,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:898,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:899,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:900,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1140,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1144,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1145,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1146,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1384,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 1387
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_destroy
    - dns_qp_create
    - check_predecessors
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(predecessors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1415,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1417,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1418,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1419,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1476,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1477,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1482,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1484,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1485,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1486,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1522,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1523,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1533,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1535,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1536,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1537,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1554,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1555,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1561,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1563,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1564,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1565,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1608,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1393
    functionDepth: 3
    functionLinenumber: 1393
    functionLinenumberEnd: 1610
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_destroy
    - dns_qp_create
    - check_predecessors
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(fixiterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:1632,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/tests/dns/qp_test.c:1635,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:1636,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/tests/dns/qp_test.c:1637,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:1640,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:1641,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:1642,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:1644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - check
    argTypes:
    - dns_qp_t*
    - struct check_delete[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1646
    functionName: check_delete
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpchain_init
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_int_equal
    - isc_result_totext
    - dns_qp_deletename
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_delete(dns_qp_t *qp, struct check_delete check[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1685,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1688,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:1797,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1872,1
    - Dst: check_delete
      Src: /src/bind9/tests/dns/qp_test.c:1887,1
    - Dst: check_delete
      Src: /src/bind9/tests/dns/qp_test.c:1902,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:1982,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:2057,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:2059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 1648
    functionDepth: 3
    functionLinenumber: 1648
    functionLinenumberEnd: 2060
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_destroy
    - dns_qp_create
    - check_qpchain
    - check_delete
    - check_predecessors
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpkey_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/tests/dns/resconf_test.c:40,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/resconf_test.c:41,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/resconf_test.c:42,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/dns/resconf_test.c:43,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/resconf_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - resconf
    - expected
    argTypes:
    - irs_resconf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: check_nameserver
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - irs_resconf_getnameservers
    - assert_true
    - ISC_LIST_HEAD
    - isc_sockaddr_format
    - assert_string_equal
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_nameserver(irs_resconf_t *resconf, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nameserver
      Src: /src/bind9/tests/dns/resconf_test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: check_ns4
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - check_nameserver
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_ns4(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nameserver
      Src: /src/bind9/tests/dns/resconf_test.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: check_ns6
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - check_nameserver
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_ns6(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_nameserver
      Src: /src/bind9/tests/dns/resconf_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: check_scoped
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - check_nameserver
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_scoped(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - expected
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: check_number
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_number(unsigned int n, unsigned int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_number
      Src: /src/bind9/tests/dns/resconf_test.c:70,1
    - Dst: irs_resconf_getattempts
      Src: /src/bind9/tests/dns/resconf_test.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: check_attempts
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - check_number
    - irs_resconf_getattempts
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_attempts(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_number
      Src: /src/bind9/tests/dns/resconf_test.c:75,1
    - Dst: irs_resconf_gettimeout
      Src: /src/bind9/tests/dns/resconf_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: check_timeout
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - check_number
    - irs_resconf_gettimeout
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_timeout(irs_resconf_t *resconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_number
      Src: /src/bind9/tests/dns/resconf_test.c:80,1
    - Dst: irs_resconf_getndots
      Src: /src/bind9/tests/dns/resconf_test.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: check_ndots
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - check_number
    - irs_resconf_getndots
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_ndots(irs_resconf_t *resconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: irs_resconf_getsearchlist
      Src: /src/bind9/tests/dns/resconf_test.c:87,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/resconf_test.c:91,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/resconf_test.c:92,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/resconf_test.c:93,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/tests/dns/resconf_test.c:95,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/resconf_test.c:96,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/resconf_test.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 99
    functionName: search_example
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - ISC_LIST_HEAD
    - irs_resconf_getsearchlist
    - assert_string_equal
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t search_example(irs_resconf_t *resconf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: irs_resconf_getattempts
      Src: /src/bind9/tests/dns/resconf_test.c:103,1
    - Dst: irs_resconf_getndots
      Src: /src/bind9/tests/dns/resconf_test.c:107,1
    - Dst: irs_resconf_gettimeout
      Src: /src/bind9/tests/dns/resconf_test.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: check_options
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - irs_resconf_getattempts
    - irs_resconf_getndots
    - irs_resconf_gettimeout
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_options(irs_resconf_t *resconf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/resconf_test.c:169,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/dns/resconf_test.c:171,1
    - Dst: chdir
      Src: /src/bind9/tests/dns/resconf_test.c:171,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/resconf_test.c:175,1
    - Dst: irs_resconf_load
      Src: /src/bind9/tests/dns/resconf_test.c:177,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/resconf_test.c:179,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/resconf_test.c:180,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/resconf_test.c:184,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/resconf_test.c:186,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/resconf_test.c:193,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/resconf_test.c:194,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/tests/dns/resconf_test.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 202
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resconf_test.c
    functionUses: 0
    functionsReached:
    - irs_resconf_destroy
    - fail_msg
    - irs_resconf_load
    - UNUSED
    - isc_result_totext
    - chdir
    - fprintf
    - assert_return_code
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(irs_resconf_load)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:87,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:89,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:90,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/tests/dns/name_test.c:96,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:98,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:100,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/tests/dns/name_test.c:103,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:105,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:107,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/tests/dns/name_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:111,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/dns/name_test.c:113,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:114,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/tests/dns/name_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:121,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:122,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 125
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_fullcompare
    - dns_name_fromstring
    - dns_fixedname_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(fullcompare)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:139,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:140,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/name_test.c:146,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/name_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:151,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:151,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:153,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:155,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:157,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:157,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/tests/dns/name_test.c:162,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:164,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:164,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/tests/dns/name_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:170,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:170,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:172,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:172,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/tests/dns/name_test.c:176,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:178,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:178,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:181,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:182,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/name_test.c:182,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/tests/dns/name_test.c:184,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:186,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/dns/name_test.c:187,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/tests/dns/name_test.c:187,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/dns/name_test.c:188,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/tests/dns/name_test.c:188,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/dns/name_test.c:190,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/tests/dns/name_test.c:190,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/dns/name_test.c:192,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/tests/dns/name_test.c:192,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/dns/name_test.c:194,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/tests/dns/name_test.c:194,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:197,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:198,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/name_test.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 10
    argNames:
    - name1
    - name2
    - name3
    - compressed
    - compressed_length
    - expanded
    - expanded_length
    - cctx
    - dctx
    - rdata
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - dns_compress_t*
    - dns_decompress_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 199
    functionName: compress_test
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - RUNTIME_CHECK
    - assert_int_equal
    - dns_compress_setmultiuse
    - isc_buffer_init
    - isc_buffer_putuint16
    - dns_name_towire
    - memcmp
    - dns_name_fromwire
    - isc_buffer_setactive
    - isc_buffer_getuint16
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void compress_test(const dns_name_t *name1, const dns_name_t *name2,\n\t
      \     const dns_name_t *name3, unsigned char *compressed,\n\t      unsigned
      int compressed_length, unsigned char *expanded,\n\t      unsigned int expanded_length,
      dns_compress_t *cctx,\n\t      dns_decompress_t dctx, bool rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:243,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:245,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:248,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:250,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:253,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:255,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:258,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:260,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:263,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:266,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:268,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:273,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:274,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:275,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:277,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:280,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:281,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:285,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:286,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:287,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:289,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:292,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:293,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:297,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:298,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:299,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:301,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:304,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:305,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:309,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:310,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:311,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:313,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:316,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:317,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:321,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:322,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:323,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:325,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:329,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:330,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:334,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:335,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:336,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:338,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:341,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:342,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:346,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:347,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:348,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:350,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:353,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:354,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:358,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:359,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:360,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:362,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:365,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:366,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:370,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:371,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:372,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:374,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:378,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:379,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:383,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:384,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/tests/dns/name_test.c:385,1
    - Dst: compress_test
      Src: /src/bind9/tests/dns/name_test.c:387,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:391,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 393
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_invalidate
    - dns_compress_setpermitted
    - dns_name_init
    - dns_decompress_setpermitted
    - UNUSED
    - dns_compress_rollback
    - dns_compress_init
    - compress_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(compression)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/name_test.c:410,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:411,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:412,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/name_test.c:418,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/name_test.c:426,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/name_test.c:428,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:433,1
    - Dst: dns_compress_name
      Src: /src/bind9/tests/dns/name_test.c:438,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:441,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:442,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:445,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:446,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:448,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/tests/dns/name_test.c:450,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/name_test.c:451,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:452,1
    - Dst: dns_compress_name
      Src: /src/bind9/tests/dns/name_test.c:457,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:459,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:460,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/tests/dns/name_test.c:464,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/dns/name_test.c:465,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/name_test.c:466,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/name_test.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 471
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_buffer_clear
    - dns_compress_invalidate
    - dns_compress_name
    - assert_int_equal
    - dns_compress_setmultiuse
    - isc_buffer_init
    - isc_buffer_putuint16
    - dns_name_towire
    - isc_buffer_usedlength
    - snprintf
    - dns_compress_rollback
    - dns_compress_init
    - isc_buffer_add
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(collision)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:488,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:489,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/tests/dns/name_test.c:490,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:493,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:494,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/name_test.c:495,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:496,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/name_test.c:496,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:502,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:503,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:506,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:507,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/name_test.c:508,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:509,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/name_test.c:509,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:515,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:516,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:519,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:520,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/name_test.c:521,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/name_test.c:522,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/name_test.c:522,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:527,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:528,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/tests/dns/name_test.c:531,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:532,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/name_test.c:533,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/name_test.c:534,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/name_test.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 535
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - assert_true
    - assert_int_equal
    - assert_false
    - isc_buffer_init
    - dns_name_setbuffer
    - assert_ptr_equal
    - dns_name_isabsolute
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(fromregion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:569,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:571,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:574,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:576,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:577,1
    - Dst: dns_name_istat
      Src: /src/bind9/tests/dns/name_test.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 579
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_istat
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(istat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - attributes
    argTypes:
    - struct dns_name_attrs
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 589
    functionName: name_attr_zero
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool name_attr_zero(struct dns_name_attrs attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:595,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/name_test.c:597,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:598,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/name_test.c:599,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:600,1
    - Dst: name_attr_zero
      Src: /src/bind9/tests/dns/name_test.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 601
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - name_attr_zero
    - assert_int_equal
    - assert_null
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(init)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:607,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/tests/dns/name_test.c:608,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/name_test.c:610,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:611,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/name_test.c:612,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:613,1
    - Dst: name_attr_zero
      Src: /src/bind9/tests/dns/name_test.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 614
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - name_attr_zero
    - assert_int_equal
    - dns_name_invalidate
    - assert_null
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(invalidate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:622,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:624,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:625,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/tests/dns/name_test.c:626,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/name_test.c:627,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:628,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/tests/dns/name_test.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 629
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_name_hasbuffer
    - UNUSED
    - isc_buffer_init
    - dns_name_setbuffer
    - assert_ptr_equal
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:641,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/name_test.c:650,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/name_test.c:651,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/name_test.c:652,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:654,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:655,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/tests/dns/name_test.c:656,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/name_test.c:657,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:658,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:660,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/name_test.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 663
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_constinit
    - dns_name_fromtext
    - assert_int_equal
    - UNUSED
    - isc_buffer_init
    - strlen
    - dns_name_setbuffer
    - isc_buffer_add
    - dns_name_isabsolute
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isabsolute)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:682,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:690,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:691,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:693,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:695,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:696,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:698,1
    - Dst: dns_name_hash
      Src: /src/bind9/tests/dns/name_test.c:701,1
    - Dst: dns_name_hash
      Src: /src/bind9/tests/dns/name_test.c:702,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/name_test.c:705,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:711,1
    - Dst: dns_name_hash
      Src: /src/bind9/tests/dns/name_test.c:714,1
    - Dst: dns_name_hash
      Src: /src/bind9/tests/dns/name_test.c:715,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/name_test.c:718,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 726
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_fromstring
    - print_message
    - dns_name_hash
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:742,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:749,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:750,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:752,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:754,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:755,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:757,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/name_test.c:760,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:766,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/tests/dns/name_test.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 769
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_fromstring
    - print_message
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(issubdomain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:793,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:800,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:802,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:804,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/name_test.c:807,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:812,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/dns/name_test.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 815
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_fromstring
    - print_message
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(countlabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:831,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:840,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:841,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:843,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:845,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:846,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:848,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/tests/dns/name_test.c:850,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/tests/dns/name_test.c:851,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:852,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 858
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_getlabel
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(getlabel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:875,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:884,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:885,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:888,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:889,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:891,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:893,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:894,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:896,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/tests/dns/name_test.c:898,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/tests/dns/name_test.c:900,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:903,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/name_test.c:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 905
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - assert_true
    - dns_fixedname_initname
    - assert_int_equal
    - UNUSED
    - dns_name_equal
    - dns_name_fromstring
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(getlabelsequence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:920,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:921,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:922,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/name_test.c:924,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/name_test.c:925,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:927,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/name_test.c:928,1
    - Dst: dns_name_isvalid
      Src: /src/bind9/tests/dns/name_test.c:928,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:929,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/dns/name_test.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 930
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_name_countlabels
    - dns_name_isvalid
    - dns_fixedname_initname
    - assert_int_equal
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(maxlabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:951,1
    - Dst: dns_decompress_init
      Src: /src/bind9/tests/dns/name_test.c:953,1
    - Dst: dns_decompress_setmethods
      Src: /src/bind9/tests/dns/name_test.c:954,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:956,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/name_test.c:957,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/name_test.c:958,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/dns/name_test.c:964,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/dns/name_test.c:965,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/name_test.c:966,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/tests/dns/name_test.c:967,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/name_test.c:969,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/tests/dns/name_test.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 974
    functionName: (fromwire_thread(void *arg)
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - dns_name_fromwire
    - dns_decompress_setmethods
    - UNUSED
    - isc_buffer_init
    - isc_buffer_add
    - isc_buffer_setactive
    - dns_decompress_init
    - dns_name_init
    linkageType: ''
    returnType: ISC_RUN_TEST_IMPL
    signature: ISC_RUN_TEST_IMPL (fromwire_thread(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/name_test.c:984,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/dns/name_test.c:988,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:989,1
    - Dst: ISC_MIN
      Src: /src/bind9/tests/dns/name_test.c:991,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/dns/name_test.c:991,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/dns/name_test.c:992,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/dns/name_test.c:994,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/dns/name_test.c:998,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/dns/name_test.c:1001,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/name_test.c:1002,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/dns/name_test.c:1004,1
    - Dst: printf
      Src: /src/bind9/tests/dns/name_test.c:1006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 1009
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/name_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_join
    - assert_int_equal
    - ISC_MIN
    - isc_thread_create
    - UNUSED
    - isc_time_now
    - printf
    - isc_os_ncpus
    - isc_time_microdiff
    - ISC_MAX
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(benchmark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/nsec3_test.c:42,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:43,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/tests/dns/nsec3_test.c:45,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:47,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/nsec3_test.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - file
    - expected
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: iteration_test
    functionSourceFile: /src/bind9/tests/dns/nsec3_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_db_detach
    - dns_test_loaddb
    - dns_nsec3_maxiterations
    linkageType: ''
    returnType: void
    signature: void iteration_test(const char *file, unsigned int expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/nsec3_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:83,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/nsec3_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:85,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/tests/dns/nsec3_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:91,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:92,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/nsec3_test.c:99,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nsec3_test.c:100,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nsec3_test.c:101,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/tests/dns/nsec3_test.c:103,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:104,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/tests/dns/nsec3_test.c:106,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:107,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/tests/dns/nsec3_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3_test.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - params
    argTypes:
    - nsec3param_salttotext_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 111
    functionName: nsec3param_salttotext_test
    functionSourceFile: /src/bind9/tests/dns/nsec3_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - assert_true
    - assert_int_equal
    - assert_string_equal
    - strlen
    - dns_test_rdatafromstring
    - dns_nsec3param_salttotext
    linkageType: ''
    returnType: void
    signature: void nsec3param_salttotext_test(const nsec3param_salttotext_test_params_t
      *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/nsec3_test.c:118,1
    - Dst: iteration_test
      Src: /src/bind9/tests/dns/nsec3_test.c:120,1
    - Dst: iteration_test
      Src: /src/bind9/tests/dns/nsec3_test.c:121,1
    - Dst: iteration_test
      Src: /src/bind9/tests/dns/nsec3_test.c:122,1
    - Dst: iteration_test
      Src: /src/bind9/tests/dns/nsec3_test.c:123,1
    - Dst: iteration_test
      Src: /src/bind9/tests/dns/nsec3_test.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nsec3_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - iteration_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(max_iterations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/nsec3_test.c:145,1
    - Dst: nsec3param_salttotext_test
      Src: /src/bind9/tests/dns/nsec3_test.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nsec3_test.c
    functionUses: 0
    functionsReached:
    - nsec3param_salttotext_test
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nsec3param_salttotext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/dns/dst_test.c:60,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:61,1
    - Dst: isc_file_getsizefd
      Src: /src/bind9/tests/dns/dst_test.c:63,1
    - Dst: fileno
      Src: /src/bind9/tests/dns/dst_test.c:63,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:64,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dst_test.c:66,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dst_test.c:67,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/dns/dst_test.c:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:73,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/dns/dst_test.c:77,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/dst_test.c:110,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/dst_test.c:116,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - path
    - buf
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 118
    functionName: sig_fromfile
    functionSourceFile: /src/bind9/tests/dns/dst_test.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - assert_int_equal
    - isc_stdio_read
    - isc_mem_get
    - isc_stdio_open
    - assert_non_null
    - isc_buffer_putuint8
    - isc_mem_put
    - isc_file_getsizefd
    - fileno
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t sig_fromfile(const char *path, isc_buffer_t *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/dns/dst_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:142,1
    - Dst: isc_file_getsizefd
      Src: /src/bind9/tests/dns/dst_test.c:144,1
    - Dst: fileno
      Src: /src/bind9/tests/dns/dst_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:145,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dst_test.c:147,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dst_test.c:148,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/dns/dst_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:154,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/dns/dst_test.c:158,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dst_test.c:163,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dst_test.c:164,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:164,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dst_test.c:165,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:165,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dst_test.c:166,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:167,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/tests/dns/dst_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:170,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dst_test.c:172,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dst_test.c:173,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/dst_test.c:174,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dst_test.c:176,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dst_test.c:177,1
    - Dst: sig_fromfile
      Src: /src/bind9/tests/dns/dst_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:183,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/tests/dns/dst_test.c:188,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/dst_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:192,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/dst_test.c:194,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:195,1
    - Dst: dst_context_verify
      Src: /src/bind9/tests/dns/dst_test.c:196,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/dst_test.c:207,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/dst_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:210,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/dst_test.c:212,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:213,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dst_test.c:217,1
    - Dst: dst_context_sign
      Src: /src/bind9/tests/dns/dst_test.c:219,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:220,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/dst_test.c:223,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dst_test.c:227,1
    - Dst: isc_hex_totext
      Src: /src/bind9/tests/dns/dst_test.c:229,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/dst_test.c:231,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/dst_test.c:234,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/dst_test.c:235,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/dst_test.c:236,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dst_test.c:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 7
    argNames:
    - datapath
    - sigpath
    - keyname
    - id
    - alg
    - type
    - expect
    argTypes:
    - char*
    - char*
    - char*
    - dns_keytag_t
    - dns_secalg_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 242
    functionName: check_sig
    functionSourceFile: /src/bind9/tests/dns/dst_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - dst_context_adddata
    - isc_buffer_usedregion
    - isc_mem_put
    - dns_fixedname_initname
    - dst_context_sign
    - sig_fromfile
    - fprintf
    - dst_context_verify
    - isc_stdio_close
    - isc_buffer_constinit
    - dst_context_destroy
    - dns_name_fromtext
    - isc_stdio_read
    - isc_mem_get
    - strlen
    - dst_context_create
    - isc_stdio_open
    - assert_non_null
    - isc_buffer_remainingregion
    - assert_true
    - dst_key_free
    - dst_key_fromfile
    - isc_buffer_init
    - isc_buffer_add
    - isc_hex_totext
    - isc_file_getsizefd
    - fileno
    linkageType: ''
    returnType: void
    signature: "void check_sig(const char *datapath, const char *sigpath, const char
      *keyname,\n\t  dns_keytag_t id, dns_secalg_t alg, int type, bool expect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_supported
      Src: /src/bind9/tests/dns/dst_test.c:271,1
    - Dst: check_sig
      Src: /src/bind9/tests/dns/dst_test.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 280
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dst_test.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - check_sig
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(sig_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dst_test.c:298,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dst_test.c:299,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:299,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dst_test.c:300,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:300,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dst_test.c:301,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:302,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/tests/dns/dst_test.c:303,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:305,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dst_test.c:310,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dst_test.c:311,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:311,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dst_test.c:312,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:312,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dst_test.c:313,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:314,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/tests/dns/dst_test.c:315,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:317,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dst_test.c:323,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/tests/dns/dst_test.c:323,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dst_test.c:329,1
    - Dst: dst_key_compare
      Src: /src/bind9/tests/dns/dst_test.c:329,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/dst_test.c:334,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/dst_test.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 7
    argNames:
    - key1_name
    - key1_id
    - key2_name
    - key2_id
    - alg
    - type
    - expect
    argTypes:
    - char*
    - dns_keytag_t
    - char*
    - dns_keytag_t
    - dns_secalg_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 338
    functionName: check_cmp
    functionSourceFile: /src/bind9/tests/dns/dst_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_name_fromtext
    - dst_key_free
    - dns_fixedname_initname
    - assert_int_equal
    - dst_key_fromfile
    - dst_key_compare
    - dst_key_pubcompare
    - strlen
    - isc_buffer_add
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: "void check_cmp(const char *key1_name, dns_keytag_t key1_id, const
      char *key2_name,\n\t  dns_keytag_t key2_id, dns_secalg_t alg, int type, bool
      expect)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_supported
      Src: /src/bind9/tests/dns/dst_test.c:417,1
    - Dst: check_cmp
      Src: /src/bind9/tests/dns/dst_test.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 426
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dst_test.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - check_cmp
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cmp_test)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dst_test.c:441,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:441,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dst_test.c:442,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:442,1
    - Dst: isc_buffer_region
      Src: /src/bind9/tests/dns/dst_test.c:443,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dst_test.c:445,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dst_test.c:446,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:446,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dst_test.c:447,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dst_test.c:447,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dst_test.c:448,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:449,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/tests/dns/dst_test.c:450,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:453,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/tests/dns/dst_test.c:454,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:455,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/dst_test.c:457,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/dst_test.c:458,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:460,1
    - Dst: dst_context_sign
      Src: /src/bind9/tests/dns/dst_test.c:461,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:462,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/dst_test.c:463,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/dst_test.c:465,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/dst_test.c:466,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:468,1
    - Dst: dst_context_sign
      Src: /src/bind9/tests/dns/dst_test.c:469,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dst_test.c:470,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/dst_test.c:471,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/tests/dns/dst_test.c:474,1
    - Dst: assert_memory_not_equal
      Src: /src/bind9/tests/dns/dst_test.c:475,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/dst_test.c:477,1
    - Dst: assert_memory_not_equal
      Src: /src/bind9/tests/dns/dst_test.c:480,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/dst_test.c:483,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/dst_test.c:484,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/dst_test.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 487
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dst_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - dns_name_fromtext
    - dst_key_free
    - isc_buffer_region
    - dns_fixedname_initname
    - assert_int_equal
    - dst_key_fromfile
    - dst_context_destroy
    - assert_memory_not_equal
    - dst_context_sign
    - strlen
    - dst_context_create
    - isc_crypto_fips_mode
    - isc_buffer_free
    - isc_buffer_allocate
    - isc_buffer_add
    - dst_key_sigsize
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ecdsa_determinism_test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/nsec3param_test.c:69,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/tests/dns/nsec3param_test.c:70,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - string
    - salt
    - saltlen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: decode_salt
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_hex_decodestring
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void decode_salt(const char *string, unsigned char *salt, size_t saltlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/tests/dns/nsec3param_test.c:83,1
    - Dst: decode_salt
      Src: /src/bind9/tests/dns/nsec3param_test.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - from
    - to
    - saltbuf
    - saltlen
    argTypes:
    - nsec3param_rdata_test_params_t
    - dns_rdata_nsec3param_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: copy_params
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - decode_salt
    linkageType: ''
    returnType: void
    signature: "void copy_params(nsec3param_rdata_test_params_t from, dns_rdata_nsec3param_t
      *to,\n\t    unsigned char *saltbuf, size_t saltlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - hash
    - flags
    - iter
    - saltlen
    - salt
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: rdata_fromparams
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: nsec3param_rdata_test_params_t
    signature: "nsec3param_rdata_test_params_t rdata_fromparams(uint8_t hash, uint8_t
      flags, uint16_t iter, uint8_t saltlen,\n\t\t const char *salt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/nsec3param_test.c:119,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:120,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/nsec3param_test.c:122,1
    - Dst: dns_zone_load
      Src: /src/bind9/tests/dns/nsec3param_test.c:126,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:127,1
    - Dst: copy_params
      Src: /src/bind9/tests/dns/nsec3param_test.c:132,1
    - Dst: copy_params
      Src: /src/bind9/tests/dns/nsec3param_test.c:133,1
    - Dst: dns__zone_lookup_nsec3param
      Src: /src/bind9/tests/dns/nsec3param_test.c:138,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:140,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:142,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:143,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:144,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/nsec3param_test.c:145,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/nsec3param_test.c:147,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nsec3param_test.c:148,1
    - Dst: decode_salt
      Src: /src/bind9/tests/dns/nsec3param_test.c:156,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/nsec3param_test.c:157,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nsec3param_test.c:158,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/nsec3param_test.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - test
    argTypes:
    - nsec3param_change_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 165
    functionName: nsec3param_change_test
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_int_equal
    - assert_false
    - dns_zone_setfile
    - dns_test_makezone
    - dns__zone_lookup_nsec3param
    - copy_params
    - dns_zone_detach
    - memcmp
    - decode_salt
    - assert_non_null
    - dns_zone_load
    linkageType: ''
    returnType: void
    signature: void nsec3param_change_test(const nsec3param_change_test_params_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:179,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:180,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:187,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:188,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:196,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:197,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:204,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:205,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:211,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:212,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:219,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:220,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:226,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:227,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:233,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:234,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:241,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:242,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:248,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:249,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/nsec3param_test.c:253,1
    - Dst: nsec3param_change_test
      Src: /src/bind9/tests/dns/nsec3param_test.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 261
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - rdata_fromparams
    - UNUSED
    - nsec3param_change_test
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nsec3param_change)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/acl_test.c:53,1
    - Dst: dns_acl_any
      Src: /src/bind9/tests/dns/acl_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/acl_test.c:56,1
    - Dst: dns_acl_none
      Src: /src/bind9/tests/dns/acl_test.c:58,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/acl_test.c:59,1
    - Dst: dns_acl_create
      Src: /src/bind9/tests/dns/acl_test.c:61,1
    - Dst: dns_acl_create
      Src: /src/bind9/tests/dns/acl_test.c:63,1
    - Dst: dns_acl_merge
      Src: /src/bind9/tests/dns/acl_test.c:65,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/acl_test.c:66,1
    - Dst: dns_acl_merge
      Src: /src/bind9/tests/dns/acl_test.c:68,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/acl_test.c:69,1
    - Dst: dns_acl_create
      Src: /src/bind9/tests/dns/acl_test.c:72,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/acl_test.c:75,1
    - Dst: strlcpy
      Src: /src/bind9/tests/dns/acl_test.c:76,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/acl_test.c:81,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/tests/dns/acl_test.c:82,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/tests/dns/acl_test.c:83,1
    - Dst: dns_acl_create
      Src: /src/bind9/tests/dns/acl_test.c:86,1
    - Dst: dns_acl_merge
      Src: /src/bind9/tests/dns/acl_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/acl_test.c:89,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/acl_test.c:92,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/tests/dns/acl_test.c:92,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/acl_test.c:93,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/tests/dns/acl_test.c:93,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/acl_test.c:94,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/tests/dns/acl_test.c:94,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/acl_test.c:95,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/tests/dns/acl_test.c:95,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/acl_test.c:98,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/tests/dns/acl_test.c:98,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/acl_test.c:99,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/tests/dns/acl_test.c:99,1
    - Dst: dns_acl_detach
      Src: /src/bind9/tests/dns/acl_test.c:102,1
    - Dst: dns_acl_detach
      Src: /src/bind9/tests/dns/acl_test.c:103,1
    - Dst: dns_acl_detach
      Src: /src/bind9/tests/dns/acl_test.c:104,1
    - Dst: dns_acl_detach
      Src: /src/bind9/tests/dns/acl_test.c:105,1
    - Dst: dns_acl_detach
      Src: /src/bind9/tests/dns/acl_test.c:107,1
    - Dst: dns_acl_detach
      Src: /src/bind9/tests/dns/acl_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 110
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/acl_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_acl_detach
    - strlcpy
    - assert_int_equal
    - assert_false
    - dns_acl_merge
    - UNUSED
    - dns_acl_none
    - dns_acl_create
    - dns_acl_node_count
    - dns_acl_isinsecure
    - assert_non_null
    - dns_acl_any
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_acl_isinsecure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:41,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:42,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:45,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - stats
    - type
    argTypes:
    - dns_stats_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: set_typestats
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_VALUE
    - dns_rdatasetstats_increment
    linkageType: ''
    returnType: void
    signature: void set_typestats(dns_stats_t *stats, dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:55,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stats
    argTypes:
    - dns_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: set_nxdomainstats
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_VALUE
    - dns_rdatasetstats_increment
    linkageType: ''
    returnType: void
    signature: void set_nxdomainstats(dns_stats_t *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:65,1
    - Dst: dns_rdatasetstats_decrement
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:66,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:69,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:70,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:73,1
    - Dst: dns_rdatasetstats_decrement
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:74,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:77,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - stats
    - type
    - from
    - to
    argTypes:
    - dns_stats_t*
    - dns_rdatatype_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: mark_stale
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetstats_decrement
    - DNS_RDATASTATSTYPE_VALUE
    - dns_rdatasetstats_increment
    linkageType: ''
    returnType: void
    signature: void mark_stale(dns_stats_t *stats, dns_rdatatype_t type, int from,
      int to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:87,1
    - Dst: dns_rdatasetstats_decrement
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:88,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:91,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - stats
    - from
    - to
    argTypes:
    - dns_stats_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: mark_nxdomain_stale
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetstats_decrement
    - DNS_RDATASTATSTYPE_VALUE
    - dns_rdatasetstats_increment
    linkageType: ''
    returnType: void
    signature: void mark_nxdomain_stale(dns_stats_t *stats, int from, int to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: ATTRIBUTE_SET
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATTRIBUTE_SET(y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:103,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:104,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:106,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:108,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:110,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:111,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:112,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:113,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:114,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:115,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:121,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - which
    - value
    - arg
    argTypes:
    - dns_rdatastatstype_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: verify_active_counters
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_BASE
    - ATTRIBUTE_SET
    - assert_int_equal
    - DNS_RDATASTATSTYPE_ATTR
    - UNUSED
    - fprintf
    linkageType: ''
    returnType: void
    signature: void verify_active_counters(dns_rdatastatstype_t which, uint64_t value,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:135,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:137,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:139,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:141,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:142,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:143,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:144,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:145,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - which
    - value
    - arg
    argTypes:
    - dns_rdatastatstype_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: verify_stale_counters
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_BASE
    - ATTRIBUTE_SET
    - assert_int_equal
    - DNS_RDATASTATSTYPE_ATTR
    - UNUSED
    - fprintf
    linkageType: ''
    returnType: void
    signature: void verify_stale_counters(dns_rdatastatstype_t which, uint64_t value,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:164,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:166,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:168,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:170,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:171,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:172,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:173,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:174,1
    - Dst: ATTRIBUTE_SET
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:175,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - which
    - value
    - arg
    argTypes:
    - dns_rdatastatstype_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 183
    functionName: verify_ancient_counters
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_BASE
    - ATTRIBUTE_SET
    - assert_int_equal
    - DNS_RDATASTATSTYPE_ATTR
    - UNUSED
    - fprintf
    linkageType: ''
    returnType: void
    signature: void verify_ancient_counters(dns_rdatastatstype_t which, uint64_t value,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetstats_create
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:198,1
    - Dst: set_typestats
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:202,1
    - Dst: set_typestats
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:205,1
    - Dst: set_nxdomainstats
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:206,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:209,1
    - Dst: mark_stale
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:214,1
    - Dst: mark_stale
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:217,1
    - Dst: mark_nxdomain_stale
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:219,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:222,1
    - Dst: mark_stale
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:230,1
    - Dst: mark_stale
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:233,1
    - Dst: mark_nxdomain_stale
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:235,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:240,1
    - Dst: dns_stats_detach
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - servestale
    argTypes:
    - void**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 243
    functionName: rdatasetstats
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetstats_create
    - set_nxdomainstats
    - set_typestats
    - mark_stale
    - dns_stats_detach
    - mark_nxdomain_stale
    - dns_rdatasetstats_dump
    linkageType: ''
    returnType: void
    signature: void rdatasetstats(void **state ISC_ATTR_UNUSED, bool servestale)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdatasetstats
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 249
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - rdatasetstats
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(active_stale_ancient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdatasetstats
      Src: /src/bind9/tests/dns/rdatasetstats_test.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdatasetstats_test.c
    functionUses: 0
    functionsReached:
    - rdatasetstats
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(active_ancient)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:112,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:113,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:118,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:119,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:126,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/tests/dns/skr_test.c:127,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:128,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/skr_test.c:129,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/skr_test.c:130,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:132,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:133,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - rdata
    argTypes:
    - FILE*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 136
    functionName: print_rdata
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 2
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - assert_int_equal
    - isc_buffer_init
    - isc_mem_get
    - ISC_LIST_UNLINK
    - fprintf
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    - isc_mem_put
    - dns_rdataset_totext
    linkageType: ''
    returnType: void
    signature: void print_rdata(FILE *fp, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/skr_test.c:141,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:146,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/tests/dns/skr_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:149,1
    - Dst: print_rdata
      Src: /src/bind9/tests/dns/skr_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - fp
    - inception
    - expiration
    - rrset
    - target_mem
    - rrsig
    argTypes:
    - FILE*
    - isc_stdtime_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: sign_rrset
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - dns_dnssec_sign
    - assert_int_equal
    - isc_buffer_init
    - print_rdata
    linkageType: ''
    returnType: void
    signature: "void sign_rrset(FILE *fp, isc_stdtime_t inception, isc_stdtime_t expiration,\n\t
      \  dns_rdataset_t *rrset, char *target_mem, dns_rdata_t *rrsig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:163,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/skr_test.c:164,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:164,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/skr_test.c:165,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:165,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/dns/skr_test.c:168,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/tests/dns/skr_test.c:173,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/tests/dns/skr_test.c:174,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/dns/skr_test.c:175,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:176,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/tests/dns/skr_test.c:178,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:180,1
    - Dst: print_rdata
      Src: /src/bind9/tests/dns/skr_test.c:182,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/dns/skr_test.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 5
    argNames:
    - fp
    - rdtype
    - rdatastr
    - target_mem
    - rdata
    argTypes:
    - FILE*
    - dns_rdatatype_t
    - char*
    - char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 185
    functionName: write_record
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_lex_setcomments
    - isc_lex_setspecials
    - isc_buffer_init
    - strlen
    - dns_rdata_fromtext
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - print_rdata
    - isc_lex_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: "void write_record(FILE *fp, dns_rdatatype_t rdtype, const char *rdatastr,\n\t
      \    char *target_mem, dns_rdata_t *rdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:201,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/tests/dns/skr_test.c:202,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:203,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/skr_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:205,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/skr_test.c:207,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/skr_test.c:208,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:212,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:213,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:217,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:218,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:223,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:224,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:229,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:230,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:231,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/skr_test.c:232,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:236,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:237,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:238,1
    - Dst: sign_rrset
      Src: /src/bind9/tests/dns/skr_test.c:239,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:242,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:243,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:245,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:246,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:249,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:250,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:254,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:255,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:256,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/skr_test.c:257,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:261,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:262,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:263,1
    - Dst: sign_rrset
      Src: /src/bind9/tests/dns/skr_test.c:264,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:267,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:268,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:270,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:271,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:274,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:275,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:278,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:279,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:280,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/skr_test.c:281,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:285,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:286,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:287,1
    - Dst: sign_rrset
      Src: /src/bind9/tests/dns/skr_test.c:288,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:290,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:291,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:293,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 74
    argCount: 3
    argNames:
    - fp
    - btime
    - bnum
    argTypes:
    - FILE*
    - isc_stdtime_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 300
    functionName: create_bundle
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - isc_stdtime_tostring
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - write_record
    - assert_int_equal
    - dns_rdataset_init
    - isc_buffer_init
    - isc_mem_get
    - ISC_LIST_UNLINK
    - fprintf
    - ISC_LIST_FOREACH
    - dns_time32_totext
    - isc_mem_put
    - sign_rrset
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void create_bundle(FILE *fp, isc_stdtime_t btime, int bnum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/skr_test.c:306,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/tests/dns/skr_test.c:309,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:310,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:318,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:321,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:324,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:330,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/skr_test.c:332,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:333,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:335,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - bundle
    - tb
    - rrtype
    - ret
    argTypes:
    - dns_skrbundle_t*
    - skr__testbundle_t*
    - dns_rdatatype_t
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 338
    functionName: check_rrsig
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_skrbundle_getsig
    - dns_rdata_compare
    - ISC_LIST_HEAD
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: "void check_rrsig(dns_skrbundle_t *bundle, skr__testbundle_t *tb,\n\t
      \   dns_rdatatype_t rrtype, isc_result_t ret)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:344,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/skr_test.c:346,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:354,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:359,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:362,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:367,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:376,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:379,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:388,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/tests/dns/skr_test.c:389,1
    - Dst: check_rrsig
      Src: /src/bind9/tests/dns/skr_test.c:392,1
    - Dst: check_rrsig
      Src: /src/bind9/tests/dns/skr_test.c:393,1
    - Dst: check_rrsig
      Src: /src/bind9/tests/dns/skr_test.c:394,1
    - Dst: check_rrsig
      Src: /src/bind9/tests/dns/skr_test.c:395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - bundle
    - tb
    - bnum
    argTypes:
    - dns_skrbundle_t*
    - skr__testbundle_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 396
    functionName: check_bundle
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - ISC_LIST_HEAD
    - assert_int_equal
    - check_rrsig
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void check_bundle(dns_skrbundle_t *bundle, skr__testbundle_t *tb, int
      bnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:407,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:408,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/tests/dns/skr_test.c:409,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:410,1
    - Dst: isc_file_openunique
      Src: /src/bind9/tests/dns/skr_test.c:411,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:412,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/skr_test.c:414,1
    - Dst: create_bundle
      Src: /src/bind9/tests/dns/skr_test.c:416,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/skr_test.c:420,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/dns/skr_test.c:422,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:423,1
    - Dst: isc_file_rename
      Src: /src/bind9/tests/dns/skr_test.c:424,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:425,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/skr_test.c:427,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 429
    functionName: create_skr_file
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - isc_file_mktemplate
    - assert_int_equal
    - isc_file_rename
    - isc_file_remove
    - isc_mem_get
    - strlen
    - create_bundle
    - isc_file_openunique
    - isc_stdtime_now
    - fprintf
    - isc_mem_put
    - isc_stdio_close
    linkageType: ''
    returnType: void
    signature: void create_skr_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/tests/dns/skr_test.c:432,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/skr_test.c:440,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:441,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:441,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/skr_test.c:442,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:442,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/skr_test.c:443,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:444,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/tests/dns/skr_test.c:447,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/tests/dns/skr_test.c:448,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:450,1
    - Dst: create_skr_file
      Src: /src/bind9/tests/dns/skr_test.c:453,1
    - Dst: dns_skr_create
      Src: /src/bind9/tests/dns/skr_test.c:454,1
    - Dst: dns_skr_read
      Src: /src/bind9/tests/dns/skr_test.c:455,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:457,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/skr_test.c:459,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:462,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:465,1
    - Dst: dns_skr_lookup
      Src: /src/bind9/tests/dns/skr_test.c:471,1
    - Dst: check_bundle
      Src: /src/bind9/tests/dns/skr_test.c:472,1
    - Dst: dns_skr_lookup
      Src: /src/bind9/tests/dns/skr_test.c:474,1
    - Dst: check_bundle
      Src: /src/bind9/tests/dns/skr_test.c:475,1
    - Dst: dns_skr_destroy
      Src: /src/bind9/tests/dns/skr_test.c:479,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/skr_test.c:481,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/skr_test.c:482,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:483,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/skr_test.c:484,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/tests/dns/skr_test.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 487
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - dns_skr_read
    - assert_int_equal
    - dns_dnssec_findmatchingkeys
    - ISC_LIST_HEAD
    - dns_fixedname_initname
    - ISC_LIST_INIT
    - dns_dnsseckey_destroy
    - dns_name_fromtext
    - ISC_LIST_EMPTY
    - create_skr_file
    - strlen
    - UNCONST
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - dns_skr_create
    - dst_key_free
    - isc_file_remove
    - isc_buffer_init
    - dns_skr_lookup
    - dns_skr_destroy
    - isc_buffer_add
    - check_bundle
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(skr_read)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/dnstap_test.c:50,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/dnstap_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: cleanup
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 15
    functionsReached:
    - isc_file_remove
    linkageType: ''
    returnType: void
    signature: void cleanup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/bind9/tests/dns/dnstap_test.c:59,1
    - Dst: setenv
      Src: /src/bind9/tests/dns/dnstap_test.c:65,1
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/dns/dnstap_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: setup
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 52
    functionsReached:
    - setup_loopmgr
    - setenv
    - cleanup
    linkageType: ''
    returnType: int
    signature: int setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/bind9/tests/dns/dnstap_test.c:74,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/dnstap_test.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: teardown
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 56
    functionsReached:
    - teardown_loopmgr
    - cleanup
    linkageType: ''
    returnType: int
    signature: int teardown(void **state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:87,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:88,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:89,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:91,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:93,1
    - Dst: dns_dt_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:95,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:98,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dnstap_test.c:101,1
    - Dst: isc_file_exists
      Src: /src/bind9/tests/dns/dnstap_test.c:101,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:103,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:104,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:105,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:109,1
    - Dst: dns_dt_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:111,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:114,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/dnstap_test.c:118,1
    - Dst: isc_file_exists
      Src: /src/bind9/tests/dns/dnstap_test.c:118,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:120,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:121,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:122,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:125,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dnstap_test.c:126,1
    - Dst: dns_dt_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:128,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:131,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dnstap_test.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 135
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_loopmgr_shutdown
    - fstrm_iothr_options_init
    - dns_dt_create
    - assert_int_equal
    - fstrm_iothr_options_destroy
    - assert_false
    - dns_dt_detach
    - isc_file_exists
    - assert_non_null
    - fstrm_iothr_options_set_num_input_queues
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dns_dt_create)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/dnstap_test.c:158,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/dnstap_test.c:163,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:164,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:166,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:167,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:168,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:170,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:172,1
    - Dst: dns_dt_attach
      Src: /src/bind9/tests/dns/dnstap_test.c:174,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dnstap_test.c:180,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dnstap_test.c:181,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:182,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dnstap_test.c:183,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:184,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dnstap_test.c:186,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:187,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/dnstap_test.c:188,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/dnstap_test.c:189,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/dnstap_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:191,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/dnstap_test.c:192,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/dnstap_test.c:193,1
    - Dst: inet_addr
      Src: /src/bind9/tests/dns/dnstap_test.c:195,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/dnstap_test.c:196,1
    - Dst: inet_addr
      Src: /src/bind9/tests/dns/dnstap_test.c:197,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/dnstap_test.c:198,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/dns/dnstap_test.c:200,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/dns/dnstap_test.c:201,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:205,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:206,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:207,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:209,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:211,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:212,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:213,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:215,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:217,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:218,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:219,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:221,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:224,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:225,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:226,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:247,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:248,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:250,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:252,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:254,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:255,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:257,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:259,1
    - Dst: dns_dt_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:263,1
    - Dst: dns_dt_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:264,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:265,1
    - Dst: dns_dt_open
      Src: /src/bind9/tests/dns/dnstap_test.c:267,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:268,1
    - Dst: dns_dt_getframe
      Src: /src/bind9/tests/dns/dnstap_test.c:270,1
    - Dst: dns_dt_parse
      Src: /src/bind9/tests/dns/dnstap_test.c:279,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:286,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/tests/dns/dnstap_test.c:291,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:295,1
    - Dst: dns_dt_close
      Src: /src/bind9/tests/dns/dnstap_test.c:298,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dnstap_test.c:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 302
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 0
    functionsReached:
    - dns_compress_invalidate
    - isc_loopmgr_shutdown
    - memset
    - dns_dt_create
    - inet_addr
    - assert_int_equal
    - isc_buffer_usedregion
    - dns_dt_parse
    - isc_time_set
    - dns_dt_open
    - dns_fixedname_initname
    - dns_dt_getframe
    - isc_stdtime_now
    - isc_sockaddr_fromin
    - fstrm_iothr_options_set_num_input_queues
    - dns_dt_close
    - isc_buffer_constinit
    - dns_dt_attach
    - dns_name_fromtext
    - dns_dtdata_free
    - fstrm_iothr_options_destroy
    - dns_name_towire
    - assert_non_null
    - fstrm_iothr_options_init
    - dns_test_getdata
    - dns_compress_setpermitted
    - dns_dt_send
    - isc_buffer_init
    - dns_dt_detach
    - isc_buffer_add
    - dns_test_makeview
    - dns_compress_init
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dns_dt_send)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_dt_open
      Src: /src/bind9/tests/dns/dnstap_test.c:312,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:313,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/dns/dnstap_test.c:315,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:316,1
    - Dst: dns_dt_getframe
      Src: /src/bind9/tests/dns/dnstap_test.c:318,1
    - Dst: fgets
      Src: /src/bind9/tests/dns/dnstap_test.c:328,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:329,1
    - Dst: strchr
      Src: /src/bind9/tests/dns/dnstap_test.c:334,1
    - Dst: dns_dt_parse
      Src: /src/bind9/tests/dns/dnstap_test.c:340,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:341,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/dnstap_test.c:346,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:347,1
    - Dst: dns_dt_datatotext
      Src: /src/bind9/tests/dns/dnstap_test.c:353,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:354,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:356,1
    - Dst: isc_buffer_base
      Src: /src/bind9/tests/dns/dnstap_test.c:356,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/tests/dns/dnstap_test.c:358,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/dnstap_test.c:359,1
    - Dst: dns_dt_close
      Src: /src/bind9/tests/dns/dnstap_test.c:363,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dnstap_test.c:365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 366
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 0
    functionsReached:
    - dns_dt_open
    - isc_buffer_base
    - isc_loopmgr_shutdown
    - dns_dt_datatotext
    - dns_dtdata_free
    - assert_int_equal
    - strchr
    - assert_string_equal
    - fgets
    - dns_dt_getframe
    - isc_buffer_free
    - isc_stdio_open
    - isc_buffer_allocate
    - assert_non_null
    - assert_ptr_equal
    - dns_dt_parse
    - dns_dt_close
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dns_dt_totext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - function_call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: check_assertion
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_assertion(function_call)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:69,1
    - Dst: mock_assert
      Src: /src/bind9/tests/dns/dbversion_test.c:71,1
    - Dst: longjmp
      Src: /src/bind9/tests/dns/dbversion_test.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - file
    - line
    - type
    - cond
    argTypes:
    - char*
    - int
    - isc_assertiontype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: local_callback
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - longjmp
    - mock_assert
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void local_callback(const char *file, int line, isc_assertiontype_t
      type,\n\t       const char *cond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:79,1
    - Dst: isc_assertion_setcallback
      Src: /src/bind9/tests/dns/dbversion_test.c:81,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/dbversion_test.c:83,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:85,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:86,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:87,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/dbversion_test.c:89,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:91,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:92,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 3
    functionsReached:
    - assert_int_equal
    - UNUSED
    - isc_assertion_setcallback
    - assert_non_null
    - dns_db_create
    - dns_db_newversion
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:100,1
    - Dst: strcmp
      Src: /src/bind9/tests/dns/dbversion_test.c:102,1
    - Dst: unlink
      Src: /src/bind9/tests/dns/dbversion_test.c:103,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:107,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:108,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbversion_test.c:111,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:112,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:116,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:117,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbversion_test.c:120,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 125
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 5
    functionsReached:
    - dns_db_detach
    - UNUSED
    - strcmp
    - assert_null
    - unlink
    - dns_db_closeversion
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:134,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/tests/dns/dbversion_test.c:136,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:137,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:138,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:139,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:141,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/tests/dns/dbversion_test.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_attachversion
    - UNUSED
    - check_assertion
    - assert_ptr_equal
    - assert_null
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(attachversion)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:149,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:151,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:152,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:153,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:155,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - check_assertion
    - assert_non_null
    - assert_null
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(closeversion)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:168,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbversion_test.c:170,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:172,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/dbversion_test.c:173,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dbversion_test.c:182,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/tests/dns/dbversion_test.c:184,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:185,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:188,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:189,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/dbversion_test.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 192
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_db_find
    - dns_fixedname_initname
    - UNUSED
    - dns_rdataset_isassociated
    - check_assertion
    - dns_rdataset_disassociate
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(find)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:203,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:205,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:206,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/tests/dns/dbversion_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:209,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:211,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/tests/dns/dbversion_test.c:211,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/tests/dns/dbversion_test.c:213,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:214,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:216,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - assert_int_equal
    - UNUSED
    - check_assertion
    - dns_db_allrdatasets
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(allrdatasets)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:229,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:231,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:232,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:234,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:235,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:237,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/tests/dns/dbversion_test.c:239,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:240,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:243,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:244,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:244,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:247,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 249
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - assert_int_equal
    - dns_db_findrdataset
    - UNUSED
    - dns_rdataset_isassociated
    - check_assertion
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - assert_null
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(findrdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:259,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:261,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:262,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:264,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:265,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:267,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:268,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:269,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - assert_int_equal
    - UNUSED
    - check_assertion
    - dns_db_deleterdataset
    - dns_db_detachnode
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(deleterdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:283,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:285,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:286,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:290,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:292,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:293,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:295,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:296,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/tests/dns/dbversion_test.c:298,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:299,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:302,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:303,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:305,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:306,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:308,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 310
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_findnode
    - dns_rdatalist_init
    - assert_int_equal
    - UNUSED
    - dns_db_subtractrdataset
    - dns_rdataset_isassociated
    - check_assertion
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - assert_null
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(subtract)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:322,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:324,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:325,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:329,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:331,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:332,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:334,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:335,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:337,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:338,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:340,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_findnode
    - dns_rdatalist_init
    - dns_db_addrdataset
    - assert_int_equal
    - UNUSED
    - check_assertion
    - dns_db_detachnode
    - assert_null
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(addrdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:356,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/tests/dns/dbversion_test.c:358,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:360,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:362,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/tests/dns/dbversion_test.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_getnsec3parameters
    - assert_int_equal
    - UNUSED
    - check_assertion
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(getnsec3parameters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbversion_test.c:381,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbversion_test.c:381,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:385,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dbversion_test.c:387,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:399,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:405,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:406,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:408,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:409,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:412,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:413,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:414,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:415,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:416,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:417,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:418,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:419,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:422,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:423,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:424,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:425,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:426,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:427,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:428,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:429,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:432,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:433,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:434,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:435,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:438,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:439,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:440,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:441,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:442,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:443,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:444,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:445,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:448,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:449,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:450,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:451,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:452,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:453,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:454,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:455,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/dbversion_test.c:458,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:459,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:460,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:461,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:462,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:464,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/tests/dns/dbversion_test.c:467,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:468,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/tests/dns/dbversion_test.c:469,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/dbversion_test.c:471,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:472,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/dbversion_test.c:473,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:476,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:478,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:480,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:481,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:482,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:483,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/dbversion_test.c:486,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:487,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:488,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:489,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:490,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:492,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/tests/dns/dbversion_test.c:495,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:496,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/tests/dns/dbversion_test.c:497,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dbversion_test.c:498,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/dbversion_test.c:499,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:500,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/dbversion_test.c:501,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:504,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:506,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:508,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:509,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:510,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 512
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - assert_int_equal
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdata_totext
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_db_currentversion
    - UNUSED
    - strlen
    - assert_non_null
    - isc_buffer_putuint8
    - dns_db_newversion
    - ISC_LIST_APPEND
    - assert_string_equal
    - isc_buffer_init
    - dns_db_detachnode
    - assert_null
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(rollback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbdiff_test.c:46,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:47,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbdiff_test.c:49,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - oldfile
    - old
    - newfile
    - newdb
    argTypes:
    - char*
    - dns_db_t**
    - char*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: test_create
    functionSourceFile: /src/bind9/tests/dns/dbdiff_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: "void test_create(const char *oldfile, dns_db_t **old, const char *newfile,\n\t
      \   dns_db_t **newdb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbdiff_test.c:59,1
    - Dst: test_create
      Src: /src/bind9/tests/dns/dbdiff_test.c:61,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/dns/dbdiff_test.c:64,1
    - Dst: dns_db_diffx
      Src: /src/bind9/tests/dns/dbdiff_test.c:66,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:67,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dbdiff_test.c:69,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/dbdiff_test.c:69,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/dbdiff_test.c:71,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbdiff_test.c:72,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbdiff_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbdiff_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - ISC_LIST_EMPTY
    - assert_int_equal
    - dns_db_detach
    - UNUSED
    - test_create
    - dns_db_diffx
    - dns_diff_clear
    - dns_diff_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(diffx_same)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbdiff_test.c:83,1
    - Dst: test_create
      Src: /src/bind9/tests/dns/dbdiff_test.c:85,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/dns/dbdiff_test.c:88,1
    - Dst: dns_db_diffx
      Src: /src/bind9/tests/dns/dbdiff_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:91,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/dbdiff_test.c:93,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/dbdiff_test.c:93,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/dbdiff_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:95,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:98,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/dbdiff_test.c:100,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbdiff_test.c:101,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbdiff_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbdiff_test.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - assert_int_equal
    - assert_false
    - dns_db_detach
    - UNUSED
    - test_create
    - dns_db_diffx
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - dns_diff_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(diffx_add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbdiff_test.c:112,1
    - Dst: test_create
      Src: /src/bind9/tests/dns/dbdiff_test.c:114,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/dns/dbdiff_test.c:117,1
    - Dst: dns_db_diffx
      Src: /src/bind9/tests/dns/dbdiff_test.c:119,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:120,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/dbdiff_test.c:122,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/dbdiff_test.c:122,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/dbdiff_test.c:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbdiff_test.c:127,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/dbdiff_test.c:129,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbdiff_test.c:130,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbdiff_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 132
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbdiff_test.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - assert_int_equal
    - assert_false
    - dns_db_detach
    - UNUSED
    - test_create
    - dns_db_diffx
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - dns_diff_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(diffx_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: CHECK
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 186
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:60,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/tests/dns/tsig_test.c:61,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:63,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:64,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/tsig_test.c:64,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/tsig_test.c:65,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/dns/tsig_test.c:66,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:67,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/tsig_test.c:68,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/tsig_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - tsigctx
    - buf
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: add_mac
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - isc_buffer_putmem
    - dst_context_adddata
    - isc_buffer_init
    - dns_rdata_freestruct
    - CHECK
    - isc_buffer_putuint16
    - isc_buffer_usedregion
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_mac(dst_context_t *tsigctx, isc_buffer_t *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/tests/dns/tsig_test.c:91,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/tsig_test.c:93,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/tests/dns/tsig_test.c:97,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/tsig_test.c:98,1
    - Dst: dns_name_clone
      Src: /src/bind9/tests/dns/tsig_test.c:99,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/tests/dns/tsig_test.c:99,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:108,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/tests/dns/tsig_test.c:109,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/tsig_test.c:110,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:111,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:112,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/tsig_test.c:112,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:114,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/tests/dns/tsig_test.c:114,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/tsig_test.c:115,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:116,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:117,1
    - Dst: dst_context_sign
      Src: /src/bind9/tests/dns/tsig_test.c:117,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/tsig_test.c:118,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:119,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/dns/tsig_test.c:121,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:124,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:125,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/tsig_test.c:125,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/tsig_test.c:127,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/tsig_test.c:130,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/tsig_test.c:131,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/tsig_test.c:132,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:133,1
    - Dst: dns_rdataset_towire
      Src: /src/bind9/tests/dns/tsig_test.c:133,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/tsig_test.c:145,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:148,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/tsig_test.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 5
    argNames:
    - tsigctx
    - key
    - target
    - now
    - mangle_sig
    argTypes:
    - dst_context_t*
    - dns_tsigkey_t*
    - isc_buffer_t*
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 153
    functionName: add_tsig
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_tsigkey_algorithm
    - dns_compress_invalidate
    - dns_rdatalist_init
    - memset
    - assert_int_equal
    - dst_context_adddata
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_rdataset_init
    - ISC_LINK_INIT
    - isc_buffer_putuint48
    - dst_context_sign
    - dst_key_sigsize
    - dns_rdata_fromstruct
    - isc_mem_get
    - isc_buffer_putuint16
    - isc_buffer_free
    - isc_random_buf
    - ISC_LIST_APPEND
    - dns_rdataset_towire
    - isc_buffer_init
    - dns_name_clone
    - CHECK
    - isc_buffer_usedlength
    - isc_mem_put
    - dns_compress_init
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_tsig(dst_context_t *tsigctx, dns_tsigkey_t *key,
      isc_buffer_t *target,\n\t isc_stdtime_t now, bool mangle_sig)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/tsig_test.c:167,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:169,1
    - Dst: dns_message_totext
      Src: /src/bind9/tests/dns/tsig_test.c:170,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/tsig_test.c:173,1
    - Dst: printf
      Src: /src/bind9/tests/dns/tsig_test.c:176,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/tsig_test.c:176,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/tsig_test.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 183
    functionName: printmessage
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 4
    functionsReached:
    - isc_buffer_init
    - isc_mem_get
    - dns_message_totext
    - isc_buffer_usedlength
    - printf
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void printmessage(dns_message_t *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:192,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:193,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:212,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:213,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:215,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/tsig_test.c:218,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/tests/dns/tsig_test.c:220,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:221,1
    - Dst: dns_message_renderend
      Src: /src/bind9/tests/dns/tsig_test.c:223,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:224,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:229,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/tsig_test.c:230,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:231,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:234,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:238,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/tsig_test.c:241,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 6
    argNames:
    - buf
    - flags
    - key
    - tsigin
    - tsigout
    - tsigctx
    argTypes:
    - isc_buffer_t*
    - unsigned int
    - dns_tsigkey_t*
    - isc_buffer_t**
    - isc_buffer_t**
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 243
    functionName: render
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns_compress_invalidate
    - dns_compress_init
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - assert_int_equal
    - dst_context_adddata
    - dns_message_detach
    - isc_buffer_free
    - dns_message_renderbegin
    - assert_non_null
    - dns_message_renderend
    - isc_buffer_usedregion
    - dns_message_setquerytsig
    - dns_message_create
    linkageType: ''
    returnType: void
    signature: "void render(isc_buffer_t *buf, unsigned int flags, dns_tsigkey_t *key,\n
      \      isc_buffer_t **tsigin, isc_buffer_t **tsigout, dst_context_t *tsigctx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/tsig_test.c:264,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/tsig_test.c:265,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:266,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/tests/dns/tsig_test.c:268,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:269,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/tests/dns/tsig_test.c:271,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:273,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/tests/dns/tsig_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:275,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:276,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:281,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:282,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:283,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:288,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:289,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:290,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:295,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:296,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:298,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:299,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/dns/tsig_test.c:301,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:302,1
    - Dst: printmessage
      Src: /src/bind9/tests/dns/tsig_test.c:304,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:306,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/tests/dns/tsig_test.c:308,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:309,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:310,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:311,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:316,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/tests/dns/tsig_test.c:316,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:319,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:323,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:324,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/tsig_test.c:326,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:328,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:329,1
    - Dst: add_mac
      Src: /src/bind9/tests/dns/tsig_test.c:334,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:335,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:340,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:342,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:343,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:348,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:349,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:355,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:356,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/dns/tsig_test.c:358,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:359,1
    - Dst: printmessage
      Src: /src/bind9/tests/dns/tsig_test.c:361,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:363,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/tests/dns/tsig_test.c:365,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:366,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:367,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:368,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:374,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/tests/dns/tsig_test.c:374,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:378,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:379,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:384,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:385,1
    - Dst: add_tsig
      Src: /src/bind9/tests/dns/tsig_test.c:387,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:388,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:393,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:394,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:400,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:401,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/dns/tsig_test.c:403,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:404,1
    - Dst: printmessage
      Src: /src/bind9/tests/dns/tsig_test.c:406,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:411,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/tests/dns/tsig_test.c:411,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:413,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/tests/dns/tsig_test.c:415,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:418,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:419,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:420,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:423,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:424,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:425,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/dns/tsig_test.c:428,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:432,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:435,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:436,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:438,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:439,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/tsig_test.c:442,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:445,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:448,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:451,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/tests/dns/tsig_test.c:453,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/tests/dns/tsig_test.c:455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 119
    argCount: 3
    argNames:
    - now
    - expected_result
    - mangle_sig
    argTypes:
    - isc_stdtime_t
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 457
    functionName: tsig_tcp
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns_message_parse
    - assert_int_equal
    - dns_message_gettsig
    - dns_tsigkeyring_detach
    - dns_name_fromstring
    - isc_buffer_allocate
    - add_mac
    - dns_tsigkeyring_add
    - UNREACHABLE
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - dns_message_create
    - dst_context_destroy
    - dns_tsigkeyring_create
    - isc_buffer_free
    - dst_context_create
    - dns_tsig_verify
    - assert_non_null
    - dns_message_detach
    - dns_message_setquerytsig
    - assert_true
    - add_tsig
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - dns_tsigkey_create
    - printmessage
    - render
    linkageType: ''
    returnType: void
    signature: void tsig_tcp(isc_stdtime_t now, isc_result_t expected_result, bool
      mangle_sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsig_tcp
      Src: /src/bind9/tests/dns/tsig_test.c:467,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - tsig_tcp
    - isc_stdtime_now
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(tsig_tcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsig_tcp
      Src: /src/bind9/tests/dns/tsig_test.c:472,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:472,1
    - Dst: tsig_tcp
      Src: /src/bind9/tests/dns/tsig_test.c:474,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - tsig_tcp
    - isc_stdtime_now
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(tsig_badtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsig_tcp
      Src: /src/bind9/tests/dns/tsig_test.c:479,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - tsig_tcp
    - isc_stdtime_now
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(tsig_badsig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/tsig_test.c:484,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:486,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:486,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:488,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:488,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:489,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:489,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:490,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:490,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:491,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:491,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:492,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:492,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/tsig_test.c:494,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns__tsig_algvalid
    - UNUSED
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(algvalid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:96,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:101,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/sigs_test.c:106,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/sigs_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:109,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/sigs_test.c:110,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/sigs_test.c:111,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/sigs_test.c:111,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:116,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/sigs_test.c:122,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/tests/dns/sigs_test.c:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:125,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/sigs_test.c:130,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/tests/dns/sigs_test.c:131,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:132,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:143,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/sigs_test.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:151,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/sigs_test.c:152,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/tests/dns/sigs_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - expected
    - found
    - index
    argTypes:
    - zonediff_t*
    - dns_difftuple_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 164
    functionName: compare_tuples
    functionSourceFile: /src/bind9/tests/dns/sigs_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - assert_true
    - assert_int_equal
    - dns_fixedname_initname
    - dns_name_equal
    - isc_buffer_init
    - strlen
    - dns_name_fromstring
    - REQUIRE
    - dns_name_format
    - dns_rdatatype_totext
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: void
    signature: "void compare_tuples(const zonediff_t *expected, dns_difftuple_t *found,\n\t
      \      size_t index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:191,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/sigs_test.c:196,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:197,1
    - Dst: dns_test_difffromchanges
      Src: /src/bind9/tests/dns/sigs_test.c:202,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:203,1
    - Dst: dns_diff_apply
      Src: /src/bind9/tests/dns/sigs_test.c:210,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/dns/sigs_test.c:215,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/tests/dns/sigs_test.c:220,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:223,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/sigs_test.c:224,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/sigs_test.c:224,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/sigs_test.c:225,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/sigs_test.c:225,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/sigs_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:241,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/sigs_test.c:248,1
    - Dst: compare_tuples
      Src: /src/bind9/tests/dns/sigs_test.c:249,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/sigs_test.c:257,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/sigs_test.c:258,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/sigs_test.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 6
    argNames:
    - test
    - zone
    - db
    - zone_keys
    - nkeys
    - now
    argTypes:
    - updatesigs_test_params_t*
    - dns_zone_t*
    - dns_db_t*
    - dst_key_t*[]
    - unsigned int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 260
    functionName: updatesigs_test
    functionSourceFile: /src/bind9/tests/dns/sigs_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - ISC_LIST_EMPTY
    - assert_int_equal
    - assert_false
    - dns_db_closeversion
    - dns__zone_updatesigs
    - compare_tuples
    - REQUIRE
    - dns_test_difffromchanges
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - dns_diff_apply
    - dns_diff_init
    - dns_db_newversion
    linkageType: ''
    returnType: void
    signature: "void updatesigs_test(const updatesigs_test_params_t *test, dns_zone_t
      *zone,\n\t\tdns_db_t *db, dst_key_t *zone_keys[], unsigned int nkeys,\n\t\tisc_stdtime_t
      now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/sigs_test.c:269,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/sigs_test.c:272,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/sigs_test.c:278,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:279,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/sigs_test.c:281,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:283,1
    - Dst: dns_zone_setkeydirectory
      Src: /src/bind9/tests/dns/sigs_test.c:285,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/tests/dns/sigs_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:289,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:290,1
    - Dst: updatesigs_test
      Src: /src/bind9/tests/dns/sigs_test.c:398,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/sigs_test.c:405,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/sigs_test.c:407,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/sigs_test.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 409
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/sigs_test.c
    functionUses: 0
    functionsReached:
    - updatesigs_test
    - dns_zone_setkeydirectory
    - dst_key_free
    - assert_int_equal
    - dns_db_detach
    - dns_test_makezone
    - UNUSED
    - dns_zone_detach
    - dns_zone_findkeys
    - isc_stdtime_now
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(updatesigs_next)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:62,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:63,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/unreachcache_test.c:64,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/unreachcache_test.c:65,1
    - Dst: dns_unreachcache_new
      Src: /src/bind9/tests/dns/unreachcache_test.c:67,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:69,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:70,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:74,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:75,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:76,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:79,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:80,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:82,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:83,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:84,1
    - Dst: dns_unreachcache_remove
      Src: /src/bind9/tests/dns/unreachcache_test.c:87,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:89,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:92,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:93,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:95,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/tests/dns/unreachcache_test.c:97,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/unreachcache_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 100
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/unreachcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_unreachcache_destroy
    - dns_unreachcache_new
    - assert_int_equal
    - dns_unreachcache_add
    - isc_sockaddr_fromin6
    - dns_unreachcache_remove
    - isc_sockaddr_fromin
    - dns_unreachcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:110,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:111,1
    - Dst: dns_unreachcache_new
      Src: /src/bind9/tests/dns/unreachcache_test.c:113,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:116,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:117,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:119,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:120,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:122,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:124,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:126,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:127,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:128,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:134,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:136,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:138,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:140,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:142,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:144,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:146,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/tests/dns/unreachcache_test.c:148,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/unreachcache_test.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 151
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/unreachcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_unreachcache_destroy
    - dns_unreachcache_new
    - assert_int_equal
    - dns_unreachcache_add
    - sleep
    - isc_sockaddr_fromin
    - dns_unreachcache_find
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(expire)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:161,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:162,1
    - Dst: dns_unreachcache_new
      Src: /src/bind9/tests/dns/unreachcache_test.c:164,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:167,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:168,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:170,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:171,1
    - Dst: dns_unreachcache_flush
      Src: /src/bind9/tests/dns/unreachcache_test.c:173,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:175,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:176,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/tests/dns/unreachcache_test.c:178,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/unreachcache_test.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 181
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/unreachcache_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_unreachcache_destroy
    - dns_unreachcache_new
    - assert_int_equal
    - dns_unreachcache_add
    - isc_sockaddr_fromin
    - dns_unreachcache_find
    - dns_unreachcache_flush
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:50,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:53,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/tests/dns/db_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:56,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:57,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/tests/dns/db_test.c:59,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:60,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:61,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:63,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - dns_db_detach
    - dns_db_detachnode
    - dns_db_getoriginnode
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(getoriginnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:76,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/tests/dns/db_test.c:79,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:81,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/tests/dns/db_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:85,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/tests/dns/db_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:89,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:90,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:92,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 94
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_db_getservestalettl
    - assert_int_equal
    - dns_db_detach
    - dns_db_setservestalettl
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(getsetservestalettl)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:111,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:114,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/db_test.c:116,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/db_test.c:117,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/db_test.c:119,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:120,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/db_test.c:136,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/db_test.c:140,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/tests/dns/db_test.c:148,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:149,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/tests/dns/db_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:154,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:158,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/db_test.c:159,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/db_test.c:161,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:162,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/db_test.c:164,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:166,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:168,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:169,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:171,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:173,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/db_test.c:181,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:182,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/db_test.c:183,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:184,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:185,1
    - Dst: usleep
      Src: /src/bind9/tests/dns/db_test.c:187,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:189,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:194,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:199,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:204,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/db_test.c:214,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:215,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:216,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:218,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:219,1
    - Dst: usleep
      Src: /src/bind9/tests/dns/db_test.c:221,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:223,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/db_test.c:232,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:236,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:241,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:242,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 243
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - isc_loopmgr_shutdown
    - dns_rdatalist_init
    - assert_int_equal
    - dns_rdataset_disassociate
    - dns_name_fromstring
    - usleep
    - dns_rdataset_init
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_fixedname_initname
    - dns_db_detach
    - dns_db_setservestalettl
    - dns_db_create
    - assert_in_range
    - assert_true
    - ISC_LIST_APPEND
    - dns_db_find
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dns_dbfind_staleok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:250,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:253,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/dns/db_test.c:255,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:257,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:259,1
    - Dst: dns_db_class
      Src: /src/bind9/tests/dns/db_test.c:259,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:261,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: (class)
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_db_class
    - assert_int_equal
    - dns_db_load
    - dns_db_detach
    - dns_db_create
    linkageType: ''
    returnType: ISC_LOOP_TEST_IMPL
    signature: ISC_LOOP_TEST_IMPL (class)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:271,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:274,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/dns/db_test.c:275,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:277,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/db_test.c:278,1
    - Dst: dns_db_iszone
      Src: /src/bind9/tests/dns/db_test.c:278,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/db_test.c:279,1
    - Dst: dns_db_iscache
      Src: /src/bind9/tests/dns/db_test.c:279,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:280,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:286,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/db_test.c:287,1
    - Dst: dns_db_iscache
      Src: /src/bind9/tests/dns/db_test.c:287,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/db_test.c:288,1
    - Dst: dns_db_iszone
      Src: /src/bind9/tests/dns/db_test.c:288,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:289,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 291
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_db_iszone
    - isc_loopmgr_shutdown
    - assert_int_equal
    - dns_db_load
    - assert_false
    - dns_db_detach
    - dns_db_iscache
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dbtype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/db_test.c:303,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:305,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/db_test.c:308,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:309,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/db_test.c:310,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/db_test.c:311,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:312,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:313,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:315,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:316,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:317,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:318,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/db_test.c:321,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:322,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/db_test.c:323,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/db_test.c:324,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:325,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:326,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:328,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/db_test.c:330,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:331,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/tests/dns/db_test.c:334,1
    - Dst: dns_rdatatype_a::dns_rdatatype_a
      Src: /src/bind9/tests/dns/db_test.c:334,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:335,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:337,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:338,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:341,1
    - Dst: dns_rdatatype_a::dns_rdatatype_a
      Src: /src/bind9/tests/dns/db_test.c:341,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:343,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:345,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:350,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:351,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/db_test.c:354,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:355,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/db_test.c:356,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:357,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/db_test.c:358,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:359,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:360,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:361,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:364,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:365,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:366,1
    - Dst: dns_rdatatype_a::dns_rdatatype_a
      Src: /src/bind9/tests/dns/db_test.c:366,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:368,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:371,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:374,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:375,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:377,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/tests/dns/db_test.c:379,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:380,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:383,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:385,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:387,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 389
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_test_namefromstring
    - dns_fixedname_initname
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_rdatatype_a::dns_rdatatype_a
    - dns_test_loaddb
    - dns_db_currentversion
    - dns_fixedname_name
    - dns_db_newversion
    - dns_db_find
    - dns_db_deleterdataset
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:47,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: nullmsg
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:74,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/master_test.c:76,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/tests/dns/master_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - owner
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: add_callback
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - dns_rdataset_totext
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_callback(void *arg, const dns_name_t *owner,\n\t
      \    dns_rdataset_t *dataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - h
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: rawdata_callback
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void rawdata_callback(dns_zone_t *zone, dns_masterrawheader_t *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/master_test.c:95,1
    - Dst: strlcpy
      Src: /src/bind9/tests/dns/master_test.c:96,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/master_test.c:97,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/master_test.c:98,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/master_test.c:99,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/tests/dns/master_test.c:100,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/tests/dns/master_test.c:101,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/master_test.c:103,1
    - Dst: dns_rdatacallbacks_init_stdio
      Src: /src/bind9/tests/dns/master_test.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: setup_master
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - dns_master_initrawheader
    - dns_name_fromtext
    - strlcpy
    - dns_fixedname_initname
    - isc_buffer_init
    - strlen
    - dns_rdatacallbacks_init_stdio
    - isc_buffer_add
    - isc_buffer_setactive
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setup_master(void (*warn)(struct dns_rdatacallbacks *,
      const char *, ...),\n\t     void (*error)(struct dns_rdatacallbacks *, const
      char *, ...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setup_master
      Src: /src/bind9/tests/dns/master_test.c:129,1
    - Dst: dns_rdatacallbacks_init_stdio
      Src: /src/bind9/tests/dns/master_test.c:134,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:146,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/tests/dns/master_test.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - workdir
    - testfile
    - format
    argTypes:
    - char*
    - char*
    - dns_masterformat_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: test_master
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - setup_master
    - dns_rdatacallbacks_init_stdio
    - isc_dir_chdir
    - dns_master_loadfile
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t test_master(const char *workdir, const char *testfile,\n\t
      \   dns_masterformat_t format,\n\t    void (*warn)(struct dns_rdatacallbacks
      *, const char *, ...),\n\t    void (*error)(struct dns_rdatacallbacks *, const
      char *, ...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/tests/dns/master_test.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: include_callback
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    linkageType: ''
    returnType: void
    signature: void include_callback(const char *filename, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:172,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:174,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(load)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:186,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:188,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(unexpected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:201,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(noowner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:216,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:218,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 221
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nottl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:231,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 236
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(badclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:245,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:247,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(toobig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:259,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:261,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(maxrdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:273,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:275,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnskey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:290,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:292,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 295
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnsnokey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:304,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:306,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 309
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(include)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:319,1
    - Dst: setup_master
      Src: /src/bind9/tests/dns/master_test.c:321,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:322,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:324,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:325,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/tests/dns/master_test.c:327,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:331,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/master_test.c:332,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:334,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/master_test.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - dns_master_loadfile
    - assert_non_null
    - isc_dir_chdir
    - setup_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(master_includelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:346,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(includefail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:360,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:362,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(blanklines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:375,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:377,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(leadingzero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:390,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/master_test.c:393,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/master_test.c:398,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/master_test.c:399,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/master_test.c:401,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/tests/dns/master_test.c:402,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:405,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:406,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/master_test.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 413
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_master_rdatasettotext
    - dns_rdatalist_init
    - assert_int_equal
    - UNUSED
    - isc_buffer_init
    - isc_buffer_usedlength
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(totext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:422,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:425,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:427,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:427,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:428,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:429,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:432,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:434,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:434,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:435,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:436,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:439,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:441,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:441,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:442,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:443,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 445
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_string_equal
    - assert_int_equal
    - UNUSED
    - isc_result_totext
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(loadraw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:456,1
    - Dst: setup_master
      Src: /src/bind9/tests/dns/master_test.c:458,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:459,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/master_test.c:461,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:464,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:466,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:467,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/dns/master_test.c:469,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:471,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:473,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:474,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/master_test.c:476,1
    - Dst: dns_master_dump
      Src: /src/bind9/tests/dns/master_test.c:478,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:480,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:482,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:484,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:484,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:485,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:486,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/tests/dns/master_test.c:488,1
    - Dst: unlink
      Src: /src/bind9/tests/dns/master_test.c:492,1
    - Dst: dns_master_dump
      Src: /src/bind9/tests/dns/master_test.c:493,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:495,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:497,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:499,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:499,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:500,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:501,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:502,1
    - Dst: unlink
      Src: /src/bind9/tests/dns/master_test.c:504,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/master_test.c:505,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/master_test.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 507
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - assert_true
    - dns_master_initrawheader
    - assert_int_equal
    - dns_db_load
    - assert_string_equal
    - UNUSED
    - dns_master_dump
    - isc_result_totext
    - dns_db_closeversion
    - dns_db_detach
    - isc_dir_chdir
    - test_master
    - setup_master
    - unlink
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dumpraw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:517,1
    - Dst: va_start
      Src: /src/bind9/tests/dns/master_test.c:521,1
    - Dst: vsnprintf
      Src: /src/bind9/tests/dns/master_test.c:522,1
    - Dst: va_end
      Src: /src/bind9/tests/dns/master_test.c:523,1
    - Dst: strstr
      Src: /src/bind9/tests/dns/master_test.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mycallbacks
    - fmt
    argTypes:
    - struct dns_rdatacallbacks*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 529
    functionName: warn_expect
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - va_end
    - UNUSED
    - va_start
    - strstr
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void warn_expect(struct dns_rdatacallbacks *mycallbacks, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:538,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:541,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:543,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 3
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - UNUSED
    - assert_true
    - test_master
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(neworigin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/dns/zonefile_test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/zonefile_test.c
    functionUses: 3
    functionsReached:
    - setup_loopmgr
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/zonefile_test.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/zonefile_test.c
    functionUses: 5
    functionsReached:
    - teardown_loopmgr
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/zonefile_test.c:77,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:78,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zonefile_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:82,1
    - Dst: dns_zone_setview
      Src: /src/bind9/tests/dns/zonefile_test.c:84,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zonefile_test.c:85,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/zonefile_test.c:87,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zonefile_test.c:88,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:91,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/tests/dns/zonefile_test.c:91,1
    - Dst: memset
      Src: /src/bind9/tests/dns/zonefile_test.c:96,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zonefile_test.c:97,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:99,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/tests/dns/zonefile_test.c:99,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/zonefile_test.c:106,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zonefile_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:109,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/zonefile_test.c:109,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/zonefile_test.c:110,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:111,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/tests/dns/zonefile_test.c:111,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zonefile_test.c:113,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonefile_test.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 115
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonefile_test.c
    functionUses: 0
    functionsReached:
    - dns_zone_getfile
    - isc_loopmgr_shutdown
    - memmove
    - ARRAY_SIZE
    - memset
    - assert_int_equal
    - assert_string_equal
    - dns_test_makezone
    - dns_zone_setfile
    - dns_zone_detach
    - dns_zone_setview
    - strlen
    - dns_test_makeview
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:52,1
    - Dst: setenv
      Src: /src/bind9/tests/dns/update_test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 3
    functionsReached:
    - setenv
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/tests/dns/update_test.c:65,1
    - Dst: timegm
      Src: /src/bind9/tests/dns/update_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: set_mystdtime
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - memset
    - timegm
    linkageType: ''
    returnType: void
    signature: void set_mystdtime(int year, int month, int day)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: isc_stdtime_now
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t isc_stdtime_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:82,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:84,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:85,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:85,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(increment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:95,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:97,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:98,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:98,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:99,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(increment_past_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:108,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:110,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:113,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:114,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:114,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:115,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(past_to_unix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:124,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:126,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:129,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:130,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:130,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:131,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(now_to_unix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:140,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:142,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:145,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:146,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:146,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(future_to_unix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:156,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:158,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:162,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:163,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:163,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:164,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(undefined_plus1_to_unix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:173,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:175,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:179,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:180,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:180,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:181,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(undefined_minus1_to_unix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:190,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:192,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:195,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:196,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:196,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:197,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(undefined_to_unix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:206,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:211,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:212,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:212,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:213,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(unixtime_zero)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:222,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:224,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:225,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:226,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:228,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:229,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:229,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:230,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:231,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(past_to_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:241,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:243,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:244,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:246,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:247,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:247,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:248,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:249,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:250,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:253,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:254,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:254,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:255,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:256,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:257,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:263,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:264,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:264,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:265,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:266,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(now_to_date)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:276,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:278,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:279,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:280,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:282,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:283,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:283,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:285,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:286,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:289,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:290,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:290,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:291,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:292,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 294
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_serial_lt
    - assert_int_equal
    - UNUSED
    - set_mystdtime
    - assert_int_not_equal
    - dns_update_soaserial
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(future_to_date)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/qpdb_test.c:70,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/qpdb_test.c:77,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/qpdb_test.c:85,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qpdb_test.c:87,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/qpdb_test.c:88,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/qpdb_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:91,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/qpdb_test.c:92,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/qpdb_test.c:94,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/qpdb_test.c:100,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/qpdb_test.c:104,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/qpdb_test.c:106,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/qpdb_test.c:107,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:110,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/qpdb_test.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 6
    argNames:
    - db
    - now
    - idx
    - rtype
    - rdata_len
    - longname
    argTypes:
    - dns_db_t*
    - isc_stdtime_t
    - int
    - dns_rdatatype_t
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 113
    functionName: overmempurge_addrdataset
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - dns_db_findnode
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_test_namefromstring
    - dns_db_addrdataset
    - assert_int_equal
    - dns_fixedname_name
    - snprintf
    - REQUIRE
    - assert_non_null
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void overmempurge_addrdataset(dns_db_t *db, isc_stdtime_t now, int
      idx,\n\t\t\t dns_rdatatype_t rtype, size_t rdata_len,\n\t\t\t bool longname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpcache_ref
      Src: /src/bind9/tests/dns/qpdb_test.c:118,1
    - Dst: cleanup_deadnodes
      Src: /src/bind9/tests/dns/qpdb_test.c:120,1
    - Dst: qpcache_unref
      Src: /src/bind9/tests/dns/qpdb_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: cleanup_all_deadnodes
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - cleanup_deadnodes
    - qpcache_ref
    - qpcache_unref
    linkageType: ''
    returnType: void
    signature: void cleanup_all_deadnodes(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/qpdb_test.c:132,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/dns/qpdb_test.c:135,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/qpdb_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:140,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/tests/dns/qpdb_test.c:142,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/dns/qpdb_test.c:150,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:151,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:153,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/dns/qpdb_test.c:153,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:162,1
    - Dst: cleanup_all_deadnodes
      Src: /src/bind9/tests/dns/qpdb_test.c:163,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/qpdb_test.c:165,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:166,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:168,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:168,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:171,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:172,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/qpdb_test.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 174
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - cleanup_all_deadnodes
    - assert_true
    - print_message
    - isc_loopmgr_shutdown
    - isc_mem_detach
    - assert_int_equal
    - dns_db_detach
    - isc_mem_inuse
    - overmempurge_addrdataset
    - isc_mem_setwater
    - isc_stdtime_now
    - isc_mem_isovermem
    - isc_mem_create
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(overmempurge_bigrdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/qpdb_test.c:183,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/dns/qpdb_test.c:186,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/qpdb_test.c:188,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:191,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/tests/dns/qpdb_test.c:193,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/dns/qpdb_test.c:201,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:202,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:204,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/dns/qpdb_test.c:204,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:213,1
    - Dst: cleanup_all_deadnodes
      Src: /src/bind9/tests/dns/qpdb_test.c:214,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/qpdb_test.c:216,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:217,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:219,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:219,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:222,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:223,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/qpdb_test.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 225
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - cleanup_all_deadnodes
    - assert_true
    - print_message
    - isc_loopmgr_shutdown
    - isc_mem_detach
    - assert_int_equal
    - dns_db_detach
    - isc_mem_inuse
    - overmempurge_addrdataset
    - isc_mem_setwater
    - isc_stdtime_now
    - isc_mem_isovermem
    - isc_mem_create
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(overmempurge_longname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dbiterator_test.c:43,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbiterator_test.c:43,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dbiterator_test.c:44,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbiterator_test.c:44,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dbiterator_test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - src
    - name
    argTypes:
    - char*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: make_name
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - strlen
    - isc_buffer_add
    - dns_name_fromtext
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t make_name(const char *src, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:56,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:58,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:59,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:61,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: test_create
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 3
    functionsReached:
    - assert_int_equal
    - dns_db_detach
    - dns_dbiterator_destroy
    - dns_db_createiterator
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: void test_create(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:66,1
    - Dst: test_create
      Src: /src/bind9/tests/dns/dbiterator_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_create
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:72,1
    - Dst: test_create
      Src: /src/bind9/tests/dns/dbiterator_test.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_create
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(create_nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbiterator_test.c:88,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:91,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:93,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:94,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:97,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:98,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:99,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:103,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:105,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - filename
    - flags
    - nodes
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 107
    functionName: test_walk
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - dns_dbiterator_destroy
    - dns_db_detach
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: void test_walk(const char *filename, int flags, int nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:97,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:98,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_dbiterator_current
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:110,1
    - Dst: test_walk
      Src: /src/bind9/tests/dns/dbiterator_test.c:112,1
    - Dst: test_walk
      Src: /src/bind9/tests/dns/dbiterator_test.c:113,1
    - Dst: test_walk
      Src: /src/bind9/tests/dns/dbiterator_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_walk
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(walk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:120,1
    - Dst: test_walk
      Src: /src/bind9/tests/dns/dbiterator_test.c:122,1
    - Dst: test_walk
      Src: /src/bind9/tests/dns/dbiterator_test.c:123,1
    - Dst: test_walk
      Src: /src/bind9/tests/dns/dbiterator_test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_walk
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(walk_nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbiterator_test.c:140,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:142,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:143,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:146,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/tests/dns/dbiterator_test.c:148,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/tests/dns/dbiterator_test.c:149,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:151,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:152,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:157,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:159,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - filename
    - flags
    - nodes
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 161
    functionName: test_reverse
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - dns_dbiterator_prev
    - dns_dbiterator_destroy
    - dns_db_detach
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_test_loaddb
    - dns_dbiterator_last
    linkageType: ''
    returnType: void
    signature: void test_reverse(const char *filename, int flags, int nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:164,1
    - Dst: test_reverse
      Src: /src/bind9/tests/dns/dbiterator_test.c:166,1
    - Dst: test_reverse
      Src: /src/bind9/tests/dns/dbiterator_test.c:167,1
    - Dst: test_reverse
      Src: /src/bind9/tests/dns/dbiterator_test.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_reverse
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(reverse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:174,1
    - Dst: test_reverse
      Src: /src/bind9/tests/dns/dbiterator_test.c:176,1
    - Dst: test_reverse
      Src: /src/bind9/tests/dns/dbiterator_test.c:177,1
    - Dst: test_reverse
      Src: /src/bind9/tests/dns/dbiterator_test.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_reverse
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(reverse_nsec3)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbiterator_test.c:194,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbiterator_test.c:195,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:197,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:198,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:200,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:201,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:204,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:209,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:211,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:215,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:216,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:217,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/tests/dns/dbiterator_test.c:218,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:222,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:226,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:229,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:232,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:238,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:239,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/tests/dns/dbiterator_test.c:240,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:244,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:246,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - filename
    - flags
    - nodes
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 248
    functionName: test_seek_node
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - make_name
    - dns_dbiterator_next
    - dns_dbiterator_prev
    - dns_dbiterator_destroy
    - dns_db_detach
    - dns_dbiterator_seek
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: void test_seek_node(const char *filename, int flags, int nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:251,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:253,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:254,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_seek_node
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(seek_node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:261,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:263,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:264,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 268
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_seek_node
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(seek_node_nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbiterator_test.c:282,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:285,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:288,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:290,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:291,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:293,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:294,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:296,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 298
    functionName: test_seek_empty
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - make_name
    - dns_dbiterator_destroy
    - dns_db_detach
    - dns_dbiterator_seek
    - dns_db_createiterator
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: void test_seek_empty(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:301,1
    - Dst: test_seek_empty
      Src: /src/bind9/tests/dns/dbiterator_test.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_seek_empty
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(seek_empty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:307,1
    - Dst: test_seek_empty
      Src: /src/bind9/tests/dns/dbiterator_test.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_seek_empty
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(seek_empty_nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dbiterator_test.c:323,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:325,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:326,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:328,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:329,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:331,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:332,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:334,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:335,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:337,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:338,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:340,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:341,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:343,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 345
    functionName: test_seek_nx
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - make_name
    - dns_dbiterator_destroy
    - dns_db_detach
    - dns_dbiterator_seek
    - dns_db_createiterator
    - dns_test_loaddb
    linkageType: ''
    returnType: void
    signature: void test_seek_nx(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:348,1
    - Dst: test_seek_nx
      Src: /src/bind9/tests/dns/dbiterator_test.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 351
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_seek_nx
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(seek_nx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:354,1
    - Dst: test_seek_nx
      Src: /src/bind9/tests/dns/dbiterator_test.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_seek_nx
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(seek_nx_nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/diff_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - diff
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: count_elements
    functionSourceFile: /src/bind9/tests/dns/diff_test.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: size_t
    signature: size_t count_elements(dns_diff_t *diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/diff_test.c:67,1
    - Dst: INSIST
      Src: /src/bind9/tests/dns/diff_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rdata
    - dest
    - dest_size
    argTypes:
    - dns_rdata_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: prepare_rdata
    functionSourceFile: /src/bind9/tests/dns/diff_test.c
    functionUses: 0
    functionsReached:
    - dns_test_rdatafromstring
    - INSIST
    linkageType: ''
    returnType: void
    signature: void prepare_rdata(dns_rdata_t *rdata, unsigned char *dest, size_t
      dest_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/tests/dns/diff_test.c:74,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:76,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:76,1
    - Dst: prepare_rdata
      Src: /src/bind9/tests/dns/diff_test.c:83,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/dns/diff_test.c:87,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/dns/diff_test.c:89,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/dns/diff_test.c:91,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/dns/diff_test.c:95,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/dns/diff_test.c:97,1
    - Dst: dns_diff_append
      Src: /src/bind9/tests/dns/diff_test.c:100,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:101,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:101,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:102,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:102,1
    - Dst: count_elements
      Src: /src/bind9/tests/dns/diff_test.c:102,1
    - Dst: dns_diff_append
      Src: /src/bind9/tests/dns/diff_test.c:104,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:105,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:105,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:106,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:106,1
    - Dst: count_elements
      Src: /src/bind9/tests/dns/diff_test.c:106,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/tests/dns/diff_test.c:108,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:109,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:109,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:110,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:110,1
    - Dst: count_elements
      Src: /src/bind9/tests/dns/diff_test.c:110,1
    - Dst: dns_diff_append
      Src: /src/bind9/tests/dns/diff_test.c:112,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:113,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:113,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:114,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:114,1
    - Dst: count_elements
      Src: /src/bind9/tests/dns/diff_test.c:114,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/tests/dns/diff_test.c:116,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:117,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:117,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:118,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:118,1
    - Dst: count_elements
      Src: /src/bind9/tests/dns/diff_test.c:118,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/diff_test.c:120,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:121,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:121,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/diff_test.c:122,1
    - Dst: dns_diff_size
      Src: /src/bind9/tests/dns/diff_test.c:122,1
    - Dst: count_elements
      Src: /src/bind9/tests/dns/diff_test.c:122,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/tests/dns/diff_test.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 133
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/diff_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_diff_appendminimal
    - dns_difftuple_create
    - dns_diff_append
    - prepare_rdata
    - dns_diff_size
    - count_elements
    - dns_diff_clear
    - dns_diff_init
    - dns_difftuple_free
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_diff_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_managers
      Src: /src/bind9/tests/dns/resolver_test.c:50,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/resolver_test.c:52,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/resolver_test.c:53,1
    - Dst: dns_view_getdispatchmgr
      Src: /src/bind9/tests/dns/resolver_test.c:55,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/resolver_test.c:56,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/tests/dns/resolver_test.c:58,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/resolver_test.c:59,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/resolver_test.c:60,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/resolver_test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 3
    functionsReached:
    - assert_int_equal
    - dns_dispatchmgr_detach
    - dns_dispatch_createudp
    - isc_sockaddr_any
    - setup_managers
    - assert_non_null
    - dns_test_makeview
    - dns_view_getdispatchmgr
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatch_detach
      Src: /src/bind9/tests/dns/resolver_test.c:69,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/resolver_test.c:70,1
    - Dst: teardown_managers
      Src: /src/bind9/tests/dns/resolver_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 5
    functionsReached:
    - dns_dispatch_detach
    - teardown_managers
    - dns_view_detach
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/tests/dns/resolver_test.c:80,1
    - Dst: dns_resolver_create
      Src: /src/bind9/tests/dns/resolver_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/resolver_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - resolverp
    argTypes:
    - dns_resolver_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: mkres
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - dns_resolver_create
    - assert_int_equal
    - isc_tlsctx_cache_create
    linkageType: ''
    returnType: void
    signature: void mkres(dns_resolver_t **resolverp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_resolver_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:88,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/tests/dns/resolver_test.c:89,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/tests/dns/resolver_test.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - resolverp
    argTypes:
    - dns_resolver_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: destroy_resolver
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - dns_resolver_shutdown
    - isc_tlsctx_cache_detach
    - dns_resolver_detach
    linkageType: ''
    returnType: void
    signature: void destroy_resolver(dns_resolver_t **resolverp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkres
      Src: /src/bind9/tests/dns/resolver_test.c:99,1
    - Dst: destroy_resolver
      Src: /src/bind9/tests/dns/resolver_test.c:100,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - mkres
    - destroy_resolver
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkres
      Src: /src/bind9/tests/dns/resolver_test.c:109,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:111,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/resolver_test.c:112,1
    - Dst: destroy_resolver
      Src: /src/bind9/tests/dns/resolver_test.c:114,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_loopmgr_shutdown
    - mkres
    - destroy_resolver
    - dns_resolver_gettimeout
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(gettimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkres
      Src: /src/bind9/tests/dns/resolver_test.c:123,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:125,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/tests/dns/resolver_test.c:126,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:127,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/resolver_test.c:128,1
    - Dst: destroy_resolver
      Src: /src/bind9/tests/dns/resolver_test.c:130,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - isc_loopmgr_shutdown
    - dns_resolver_settimeout
    - mkres
    - destroy_resolver
    - dns_resolver_gettimeout
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(settimeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkres
      Src: /src/bind9/tests/dns/resolver_test.c:139,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:141,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/tests/dns/resolver_test.c:142,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/resolver_test.c:145,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/tests/dns/resolver_test.c:147,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:148,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/resolver_test.c:149,1
    - Dst: destroy_resolver
      Src: /src/bind9/tests/dns/resolver_test.c:151,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_resolver_settimeout
    - assert_int_equal
    - mkres
    - destroy_resolver
    - dns_resolver_gettimeout
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(settimeout_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkres
      Src: /src/bind9/tests/dns/resolver_test.c:160,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:162,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/tests/dns/resolver_test.c:163,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:165,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/resolver_test.c:166,1
    - Dst: destroy_resolver
      Src: /src/bind9/tests/dns/resolver_test.c:168,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_resolver_settimeout
    - mkres
    - assert_in_range
    - destroy_resolver
    - dns_resolver_gettimeout
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(settimeout_belowmin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mkres
      Src: /src/bind9/tests/dns/resolver_test.c:177,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:179,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/tests/dns/resolver_test.c:180,1
    - Dst: dns_resolver_gettimeout
      Src: /src/bind9/tests/dns/resolver_test.c:182,1
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/resolver_test.c:183,1
    - Dst: destroy_resolver
      Src: /src/bind9/tests/dns/resolver_test.c:185,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/resolver_test.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/resolver_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_resolver_settimeout
    - mkres
    - assert_in_range
    - destroy_resolver
    - dns_resolver_gettimeout
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(settimeout_overmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:57,1
    - Dst: dns_nametree_create
      Src: /src/bind9/tests/dns/nametree_test.c:59,1
    - Dst: dns_nametree_create
      Src: /src/bind9/tests/dns/nametree_test.c:60,1
    - Dst: dns_nametree_create
      Src: /src/bind9/tests/dns/nametree_test.c:61,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:65,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:65,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:68,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:68,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:69,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:69,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:70,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:70,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:74,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:74,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:77,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:77,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:82,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: setup
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 52
    functionsReached:
    - dns_test_namefromstring
    - assert_int_equal
    - dns_fixedname_name
    - dns_nametree_add
    - dns_nametree_create
    linkageType: ''
    returnType: int
    signature: int setup(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_nametree_detach
      Src: /src/bind9/tests/dns/nametree_test.c:89,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/tests/dns/nametree_test.c:90,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/tests/dns/nametree_test.c:91,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/dns/nametree_test.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: teardown
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 56
    functionsReached:
    - dns_nametree_detach
    - rcu_barrier
    linkageType: ''
    returnType: int
    signature: int teardown(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:99,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:104,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:105,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:105,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:112,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:113,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:113,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:115,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:121,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:121,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:122,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:122,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 125
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_nametree_find
    - dns_ntnode_detach
    - dns_test_namefromstring
    - assert_int_equal
    - dns_fixedname_name
    - dns_nametree_add
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(add_bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:130,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:135,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:136,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:136,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:138,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:143,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:143,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:144,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:145,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:146,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:146,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:148,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:154,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:155,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:155,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 158
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_nametree_find
    - dns_ntnode_detach
    - dns_test_namefromstring
    - assert_int_equal
    - dns_fixedname_name
    - dns_nametree_add
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(add_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:162,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:166,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:166,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:167,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:167,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:168,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:169,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:169,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:170,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:170,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:173,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:173,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:174,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:174,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:176,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:176,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:177,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:177,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:179,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:180,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:180,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:182,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:183,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:183,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:185,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:185,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:186,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:186,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:188,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:188,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:189,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 190
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_test_namefromstring
    - assert_int_equal
    - assert_false
    - dns_fixedname_name
    - dns_nametree_add
    - dns_nametree_covered
    - dns_nametree_delete
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(add_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/nametree_test.c:194,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/nametree_test.c:195,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:203,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:204,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:204,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:207,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:208,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:208,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:212,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:213,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:213,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/nametree_test.c:214,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/nametree_test.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 216
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_false
    - assert_string_equal
    - dns_nametree_covered
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(covered_bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:220,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:223,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:224,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:224,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:225,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:225,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:226,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:226,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:227,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:227,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:228,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:228,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:229,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:229,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:230,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:230,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:233,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:233,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:234,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:234,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:237,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:238,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:238,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:239,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:239,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:240,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:240,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:241,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:241,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:242,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:242,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:245,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:246,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:246,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:247,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:247,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:248,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:248,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:249,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:249,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:250,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:250,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:251,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:251,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:252,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:252,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:255,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:256,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:256,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:257,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:257,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:258,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:258,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:259,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:259,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:260,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:260,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:261,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:261,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:262,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:262,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:265,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:266,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:266,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:267,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:267,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:268,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:268,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:269,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:269,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:270,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:270,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:271,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:271,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:272,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 273
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_test_namefromstring
    - assert_int_equal
    - assert_false
    - dns_fixedname_name
    - dns_nametree_covered
    - dns_nametree_add
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(covered_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:277,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:281,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:281,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:285,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:285,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:292,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:293,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:293,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:294,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:294,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:296,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:297,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:297,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:298,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_nametree_delete
    - assert_int_equal
    - dns_fixedname_name
    - dns_test_namefromstring
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/nametree_test.c:304,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:310,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:311,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:311,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:313,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:314,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:314,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:316,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:317,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:317,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 320
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_nametree_find
    - dns_ntnode_detach
    - dns_test_namefromstring
    - assert_int_equal
    - dns_fixedname_name
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(find)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdataset_test.c:44,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/rdataset_test.c:46,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/rdataset_test.c:47,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/tests/dns/rdataset_test.c:54,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:56,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/tests/dns/rdataset_test.c:63,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:64,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:65,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/tests/dns/rdataset_test.c:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:75,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/tests/dns/rdataset_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:83,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:84,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/tests/dns/rdataset_test.c:91,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:92,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:93,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/tests/dns/rdataset_test.c:100,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:102,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdataset_test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 104
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdataset_test.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_trimttl
    - assert_int_equal
    - UNUSED
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(trimttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:52,1
    - Dst: load_geoip
      Src: /src/bind9/tests/dns/geoip_test.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 3
    functionsReached:
    - load_geoip
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:62,1
    - Dst: close_geoip
      Src: /src/bind9/tests/dns/geoip_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 5
    functionsReached:
    - close_geoip
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/tests/dns/geoip_test.c:74,1
    - Dst: MMDB_open
      Src: /src/bind9/tests/dns/geoip_test.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dir
    - dbfile
    - mmdb
    argTypes:
    - char*
    - char*
    - MMDB_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: open_geoip2
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 1
    functionsReached:
    - snprintf
    - MMDB_open
    linkageType: ''
    returnType: MMDB_s
    signature: 'MMDB_s *

      open_geoip2(const char *dir, const char *dbfile, MMDB_s *mmdb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open_geoip2
      Src: /src/bind9/tests/dns/geoip_test.c:85,1
    - Dst: open_geoip2
      Src: /src/bind9/tests/dns/geoip_test.c:86,1
    - Dst: open_geoip2
      Src: /src/bind9/tests/dns/geoip_test.c:87,1
    - Dst: open_geoip2
      Src: /src/bind9/tests/dns/geoip_test.c:88,1
    - Dst: open_geoip2
      Src: /src/bind9/tests/dns/geoip_test.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: load_geoip
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 1
    functionsReached:
    - open_geoip2
    linkageType: ''
    returnType: void
    signature: void load_geoip(const char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MMDB_close
      Src: /src/bind9/tests/dns/geoip_test.c:94,1
    - Dst: MMDB_close
      Src: /src/bind9/tests/dns/geoip_test.c:95,1
    - Dst: MMDB_close
      Src: /src/bind9/tests/dns/geoip_test.c:96,1
    - Dst: MMDB_close
      Src: /src/bind9/tests/dns/geoip_test.c:97,1
    - Dst: MMDB_close
      Src: /src/bind9/tests/dns/geoip_test.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: close_geoip
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 1
    functionsReached:
    - MMDB_close
    linkageType: ''
    returnType: void
    signature: void close_geoip(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/tests/dns/geoip_test.c:109,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/tests/dns/geoip_test.c:110,1
    - Dst: inet_pton
      Src: /src/bind9/tests/dns/geoip_test.c:111,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/dns/geoip_test.c:112,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/dns/geoip_test.c:114,1
    - Dst: geoip2_database
      Src: /src/bind9/tests/dns/geoip_test.c:117,1
    - Dst: fix_subtype
      Src: /src/bind9/tests/dns/geoip_test.c:117,1
    - Dst: get_entry_for
      Src: /src/bind9/tests/dns/geoip_test.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - subtype
    - addr
    argTypes:
    - dns_geoip_subtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: entry_exists
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_netaddr_fromin
    - fix_subtype
    - get_entry_for
    - inet_pton
    - isc_netaddr_fromin6
    - geoip2_database
    linkageType: ''
    returnType: bool
    signature: bool entry_exists(dns_geoip_subtype_t subtype, const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:132,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:136,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:136,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:137,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:137,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:138,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:138,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:139,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:139,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:143,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:143,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:144,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:144,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:145,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:145,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:146,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:146,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:150,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:150,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:151,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:151,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:152,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:152,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:153,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:153,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:157,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:157,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:158,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:158,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:159,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:159,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:160,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:160,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:164,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:164,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:165,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:165,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:166,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:166,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/geoip_test.c:167,1
    - Dst: entry_exists
      Src: /src/bind9/tests/dns/geoip_test.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 168
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_false
    - UNUSED
    - entry_exists
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(baseline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/tests/dns/geoip_test.c:178,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/geoip_test.c:179,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/tests/dns/geoip_test.c:180,1
    - Dst: strlcpy
      Src: /src/bind9/tests/dns/geoip_test.c:183,1
    - Dst: dns_geoip_match
      Src: /src/bind9/tests/dns/geoip_test.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - addr
    - subtype
    - string
    argTypes:
    - char*
    - dns_geoip_subtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: do_lookup_string
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - dns_geoip_match
    - strlcpy
    - assert_int_equal
    - inet_pton
    linkageType: ''
    returnType: bool
    signature: "bool do_lookup_string(const char *addr, dns_geoip_subtype_t subtype,\n\t\t
      const char *string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/tests/dns/geoip_test.c:196,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/geoip_test.c:197,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/tests/dns/geoip_test.c:198,1
    - Dst: strlcpy
      Src: /src/bind9/tests/dns/geoip_test.c:201,1
    - Dst: dns_geoip_match
      Src: /src/bind9/tests/dns/geoip_test.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - addr
    - subtype
    - string
    argTypes:
    - char*
    - dns_geoip_subtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: do_lookup_string_v6
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - dns_geoip_match
    - strlcpy
    - assert_int_equal
    - inet_pton
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: bool
    signature: "bool do_lookup_string_v6(const char *addr, dns_geoip_subtype_t subtype,\n\t\t
      \   const char *string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:210,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:213,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:216,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:217,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:219,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:221,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:223,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:224,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:226,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 229
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - do_lookup_string
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(country)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:235,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:238,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:241,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:243,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:245,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - do_lookup_string_v6
    - assert_true
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(country_v6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:254,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:257,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:260,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:262,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:264,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:265,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:267,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:269,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:271,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:272,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:274,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:276,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:278,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:280,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:282,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 285
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - do_lookup_string
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(city)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:291,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:294,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:297,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:299,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:301,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:303,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:305,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:308,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:310,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:312,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:314,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:316,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:318,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:320,1
    - Dst: do_lookup_string_v6
      Src: /src/bind9/tests/dns/geoip_test.c:322,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 325
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - do_lookup_string_v6
    - assert_true
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(city_v6)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:331,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:334,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:337,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - do_lookup_string
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(asnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:345,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:348,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:351,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - do_lookup_string
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:360,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:363,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:366,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - do_lookup_string
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(org)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/geoip_test.c:375,1
    - Dst: skip
      Src: /src/bind9/tests/dns/geoip_test.c:378,1
    - Dst: do_lookup_string
      Src: /src/bind9/tests/dns/geoip_test.c:381,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/geoip_test.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 383
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/geoip_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - do_lookup_string
    - UNUSED
    - skip
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(domain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/time_test.c:45,1
    - Dst: memset
      Src: /src/bind9/tests/dns/time_test.c:47,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/time_test.c:48,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/time_test.c:49,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:50,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/time_test.c:51,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/tests/dns/time_test.c:52,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:53,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_time32_totext
    - dns_time32_fromtext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(epoch_minus_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/time_test.c:66,1
    - Dst: memset
      Src: /src/bind9/tests/dns/time_test.c:68,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/time_test.c:69,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/time_test.c:70,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:71,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/time_test.c:72,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/tests/dns/time_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_time32_totext
    - dns_time32_fromtext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/time_test.c:87,1
    - Dst: memset
      Src: /src/bind9/tests/dns/time_test.c:89,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/time_test.c:90,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/time_test.c:91,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:92,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/time_test.c:93,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/tests/dns/time_test.c:94,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:95,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 97
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_time32_totext
    - dns_time32_fromtext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(half_maxint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/time_test.c:108,1
    - Dst: memset
      Src: /src/bind9/tests/dns/time_test.c:110,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/time_test.c:111,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/time_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:113,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/time_test.c:114,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/tests/dns/time_test.c:115,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:116,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_time32_totext
    - dns_time32_fromtext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(half_plus_one)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/time_test.c:129,1
    - Dst: memset
      Src: /src/bind9/tests/dns/time_test.c:131,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/time_test.c:132,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/time_test.c:133,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:134,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/time_test.c:135,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/tests/dns/time_test.c:136,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:137,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_time32_totext
    - dns_time32_fromtext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(fifty_before)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/time_test.c:150,1
    - Dst: memset
      Src: /src/bind9/tests/dns/time_test.c:152,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/time_test.c:153,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/time_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:155,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/time_test.c:156,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/tests/dns/time_test.c:157,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/time_test.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/time_test.c
    functionUses: 0
    functionsReached:
    - memset
    - assert_int_equal
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_time32_totext
    - dns_time32_fromtext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(some_ago)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_list_new
      Src: /src/bind9/tests/dns/transport_test.c:41,1
    - Dst: dns_transport_new
      Src: /src/bind9/tests/dns/transport_test.c:42,1
    - Dst: dns_transport_new
      Src: /src/bind9/tests/dns/transport_test.c:43,1
    - Dst: dns_transport_new
      Src: /src/bind9/tests/dns/transport_test.c:44,1
    - Dst: dns_transport_new
      Src: /src/bind9/tests/dns/transport_test.c:45,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/transport_test.c:47,1
    - Dst: dns_transport_totext
      Src: /src/bind9/tests/dns/transport_test.c:47,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/tests/dns/transport_test.c:47,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/transport_test.c:49,1
    - Dst: dns_transport_totext
      Src: /src/bind9/tests/dns/transport_test.c:49,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/tests/dns/transport_test.c:49,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/transport_test.c:51,1
    - Dst: dns_transport_totext
      Src: /src/bind9/tests/dns/transport_test.c:51,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/tests/dns/transport_test.c:51,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/transport_test.c:53,1
    - Dst: dns_transport_totext
      Src: /src/bind9/tests/dns/transport_test.c:53,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/tests/dns/transport_test.c:53,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/tests/dns/transport_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 57
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/transport_test.c
    functionUses: 0
    functionsReached:
    - dns_transport_get_type
    - dns_transport_new
    - assert_string_equal
    - dns_transport_list_detach
    - dns_transport_list_new
    - dns_transport_totext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_transport_totext)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_in_range
      Src: /src/bind9/tests/dns/ede_test.c:57,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/ede_test.c:58,1
    - Dst: ISC_U8TO16_BE
      Src: /src/bind9/tests/dns/ede_test.c:60,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/ede_test.c:61,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/ede_test.c:64,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/ede_test.c:66,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/ede_test.c:69,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/ede_test.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - expected
    - expected_count
    - edectx
    argTypes:
    - ede_test_expected_t*
    - size_t
    - dns_edectx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 75
    functionName: dns_ede_test_equals
    functionSourceFile: /src/bind9/tests/dns/ede_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - assert_int_equal
    - assert_in_range
    - ISC_U8TO16_BE
    - assert_non_null
    - assert_null
    linkageType: ''
    returnType: void
    signature: "void dns_ede_test_equals(const ede_test_expected_t *expected, size_t
      expected_count,\n\t\t    dns_edectx_t *edectx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:80,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:86,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:87,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:88,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:98,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 101
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/ede_test.c
    functionUses: 0
    functionsReached:
    - dns_ede_init
    - dns_ede_add
    - dns_ede_reset
    - dns_ede_test_equals
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_ede_test_text_max_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:106,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:108,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:109,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:110,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:111,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:112,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:120,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/ede_test.c
    functionUses: 0
    functionsReached:
    - dns_ede_init
    - dns_ede_add
    - dns_ede_reset
    - dns_ede_test_equals
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_ede_test_max_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:128,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:130,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:131,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:132,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:137,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:139,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 143
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/ede_test.c
    functionUses: 0
    functionsReached:
    - dns_ede_init
    - dns_ede_add
    - dns_ede_reset
    - dns_ede_test_equals
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_ede_test_duplicates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:148,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:150,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/dns/ede_test.c:151,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:151,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:156,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/ede_test.c
    functionUses: 0
    functionsReached:
    - expect_assert_failure
    - dns_ede_reset
    - dns_ede_add
    - dns_ede_test_equals
    - dns_ede_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_ede_test_infocode_range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:166,1
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:167,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:169,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:170,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:171,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:179,1
    - Dst: dns_ede_copy
      Src: /src/bind9/tests/dns/ede_test.c:180,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:181,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:182,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:184,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:185,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:186,1
    - Dst: dns_ede_copy
      Src: /src/bind9/tests/dns/ede_test.c:194,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:195,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:196,1
    - Dst: dns_ede_init
      Src: /src/bind9/tests/dns/ede_test.c:198,1
    - Dst: dns_ede_add
      Src: /src/bind9/tests/dns/ede_test.c:199,1
    - Dst: dns_ede_copy
      Src: /src/bind9/tests/dns/ede_test.c:200,1
    - Dst: dns_ede_test_equals
      Src: /src/bind9/tests/dns/ede_test.c:207,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:209,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:210,1
    - Dst: dns_ede_reset
      Src: /src/bind9/tests/dns/ede_test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 212
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/ede_test.c
    functionUses: 0
    functionsReached:
    - dns_ede_reset
    - dns_ede_add
    - dns_ede_test_equals
    - dns_ede_init
    - dns_ede_copy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_ede_test_copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/private_test.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - testcase
    - private
    - buf
    - len
    argTypes:
    - signing_testcase_t*
    - dns_rdata_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: make_signing
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    linkageType: ''
    returnType: void
    signature: "void make_signing(signing_testcase_t *testcase, dns_rdata_t *private,\n\t
      \    unsigned char *buf, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/bind9/tests/dns/private_test.c:87,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/private_test.c:114,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/private_test.c:115,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/private_test.c:118,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/tests/dns/private_test.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - testcase
    - private
    - pbuf
    argTypes:
    - nsec3_testcase_t*
    - dns_rdata_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 122
    functionName: make_nsec3
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - htonl
    - dns_nsec3param_toprivate
    - dns_rdata_fromstruct
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: "void make_nsec3(nsec3_testcase_t *testcase, dns_rdata_t *private,\n\t
      \  unsigned char *pbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/private_test.c:141,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/private_test.c:148,1
    - Dst: make_signing
      Src: /src/bind9/tests/dns/private_test.c:150,1
    - Dst: dns_private_totext
      Src: /src/bind9/tests/dns/private_test.c:151,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/private_test.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 154
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_private_totext
    - make_signing
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(private_signing_totext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/private_test.c:178,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/private_test.c:185,1
    - Dst: make_nsec3
      Src: /src/bind9/tests/dns/private_test.c:187,1
    - Dst: dns_private_totext
      Src: /src/bind9/tests/dns/private_test.c:188,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/private_test.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 191
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - assert_string_equal
    - UNUSED
    - isc_buffer_init
    - dns_private_totext
    - make_nsec3
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(private_nsec3_totext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatch_done
      Src: /src/bind9/tests/dns/dispatch_test.c:96,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:97,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:98,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/dispatch_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: test_dispatch_done
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    - dns_dispatch_done
    - isc_mem_put
    - dns_dispatchmgr_detach
    linkageType: ''
    returnType: void
    signature: void test_dispatch_done(test_dispatch_t *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_dispatch_done
      Src: /src/bind9/tests/dns/dispatch_test.c:104,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: test_dispatch_shutdown
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - test_dispatch_done
    linkageType: ''
    returnType: void
    signature: void test_dispatch_shutdown(test_dispatch_t *test)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:114,1
    - Dst: socket
      Src: /src/bind9/tests/dns/dispatch_test.c:116,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:118,1
    - Dst: bind
      Src: /src/bind9/tests/dns/dispatch_test.c:122,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:125,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:126,1
    - Dst: getsockname
      Src: /src/bind9/tests/dns/dispatch_test.c:130,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:132,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:133,1
    - Dst: setsockopt_on
      Src: /src/bind9/tests/dns/dispatch_test.c:141,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:143,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - addr
    - family
    argTypes:
    - isc_sockaddr_t*
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: setup_ephemeral_port
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 1
    functionsReached:
    - socket
    - close
    - setsockopt_on
    - isc_sockaddr_fromin6
    - bind
    - perror
    - getsockname
    linkageType: ''
    returnType: int
    signature: int setup_ephemeral_port(isc_sockaddr_t *addr, sa_family_t family)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - socket
    - ','
    - level
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: setsockopt_on
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsockopt_on(socket, level, name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dispatch_test.c:156,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:161,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:162,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/dns/dispatch_test.c:164,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:166,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:169,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:172,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:175,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/dns/dispatch_test.c:178,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:182,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/dns/dispatch_test.c:185,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:189,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/dns/dispatch_test.c:192,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:196,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:198,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:199,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:200,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:201,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:202,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:208,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:209,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:210,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:211,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:212,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:214,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:217,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/tests/dns/dispatch_test.c:219,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/tests/dns/dispatch_test.c:221,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dispatch_test.c:227,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dispatch_test.c:227,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dispatch_test.c:228,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dispatch_test.c:228,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dispatch_test.c:229,1
    - Dst: dns_transport_list_new
      Src: /src/bind9/tests/dns/dispatch_test.c:234,1
    - Dst: dns_transport_new
      Src: /src/bind9/tests/dns/dispatch_test.c:235,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/tests/dns/dispatch_test.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 56
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 240
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 3
    functionsReached:
    - memset
    - isc_tlsctx_cache_create
    - isc_nm_setidletimeout
    - isc_loop_main
    - isc_loopmgr_create
    - isc_nm_setprimariestimeout
    - dns_transport_new
    - dns_fixedname_initname
    - isc_nm_setadvertisedtimeout
    - isc_nm_setkeepalivetimeout
    - dns_transport_list_new
    - isc_buffer_constinit
    - dns_name_fromtext
    - close
    - isc_netmgr_create
    - strlen
    - isc_nm_setinitialtimeout
    - isc_tlsctx_createserver
    - setup_netmgr
    - isc_sockaddr_fromin6
    - dns_transport_set_tlsname
    - isc_buffer_add
    - setup_ephemeral_port
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_list_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:244,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:245,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/dns/dispatch_test.c:246,1
    - Dst: isc_nm_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:248,1
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/dns/dispatch_test.c:250,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/dispatch_test.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 5
    functionsReached:
    - teardown_netmgr
    - dns_transport_list_detach
    - isc_tlsctx_cache_detach
    - isc_nm_detach
    - isc_tlsctx_free
    - teardown_loopmgr
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_any
      Src: /src/bind9/tests/dns/dispatch_test.c:263,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:264,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/tests/dns/dispatch_test.c:269,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dispatchmgr
    - ndisps
    - dsetp
    argTypes:
    - dns_dispatchmgr_t*
    - unsigned int
    - dns_dispatchset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: make_dispatchset
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatchset_create
    - isc_sockaddr_any
    - dns_dispatch_detach
    - dns_dispatch_createudp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t make_dispatchset(dns_dispatchmgr_t *dispatchmgr, unsigned
      int ndisps,\n\t\t dns_dispatchset_t **dsetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:281,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:285,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:288,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:289,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:291,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:292,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:293,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:295,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 298
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - UNUSED
    - dns_dispatchmgr_detach
    - make_dispatchset
    - dns_dispatchmgr_create
    - dns_dispatchset_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatchset_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:308,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:310,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:312,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:314,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:315,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:317,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:318,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:319,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:320,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:321,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:323,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:324,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:325,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:326,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:328,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:330,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:331,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:340,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:342,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:344,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:346,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:348,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:350,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:351,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:352,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:353,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:354,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:356,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:357,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 359
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - UNUSED
    - dns_dispatchmgr_detach
    - assert_ptr_not_equal
    - assert_ptr_equal
    - make_dispatchset
    - dns_dispatchset_get
    - dns_dispatchmgr_create
    - dns_dispatchset_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatchset_get)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:365,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:366,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: server_senddone
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void server_senddone(isc_nmhandle_t *handle, isc_result_t eresult,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/dns/dispatch_test.c:383,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:384,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/dispatch_test.c:387,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:388,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/dns/dispatch_test.c:396,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/dns/dispatch_test.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - ISC_ATTR_UNUSED
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 404
    functionName: nameserver
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 7
    functionsReached:
    - isc_nm_send
    - memmove
    - memset
    linkageType: ''
    returnType: void
    signature: "void nameserver(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\t   void *arg ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:408,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: accept_cb
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t accept_cb(isc_nmhandle_t *handle, isc_result_t eresult,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:417,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:418,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:419,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: noop_nameserver
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void noop_nameserver(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\tisc_region_t
      *region, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/tests/dns/dispatch_test.c:428,1
    - Dst: dns_dispatch_getnext
      Src: /src/bind9/tests/dns/dispatch_test.c:429,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:430,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - result
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: response_getnext
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - atomic_compare_exchange_strong
    - assert_int_equal
    - test_dispatch_shutdown
    - dns_dispatch_getnext
    linkageType: ''
    returnType: void
    signature: "void response_getnext(isc_result_t result, isc_region_t *region ISC_ATTR_UNUSED,\n\t\t
      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_dispatch_done
      Src: /src/bind9/tests/dns/dispatch_test.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 444
    functionName: response_noop
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - test_dispatch_done
    linkageType: ''
    returnType: void
    signature: "void response_noop(isc_result_t eresult, isc_region_t *region ISC_ATTR_UNUSED,\n\t
      \     void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:451,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: response_shutdown
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - test_dispatch_shutdown
    linkageType: ''
    returnType: void
    signature: "void response_shutdown(isc_result_t eresult, isc_region_t *region
      ISC_ATTR_UNUSED,\n\t\t  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:461,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: response_timeout
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - test_dispatch_shutdown
    linkageType: ''
    returnType: void
    signature: "void response_timeout(isc_result_t eresult, isc_region_t *region ISC_ATTR_UNUSED,\n\t\t
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:468,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:469,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - eresult
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: client_senddone
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void client_senddone(isc_result_t eresult, isc_region_t *region, void
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:481,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:484,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/tests/dns/dispatch_test.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 488
    functionName: connected
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - test_dispatch_shutdown
    - dns_dispatch_send
    linkageType: ''
    returnType: void
    signature: "void connected(isc_result_t eresult, isc_region_t *region ISC_ATTR_UNUSED,\n\t
      \ void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:500,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: connected_shutdown
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - test_dispatch_shutdown
    linkageType: ''
    returnType: void
    signature: "void connected_shutdown(isc_result_t eresult, isc_region_t *region
      ISC_ATTR_UNUSED,\n\t\t   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:513,1
    - Dst: dns_dispatchmgr_ref
      Src: /src/bind9/tests/dns/dispatch_test.c:515,1
    - Dst: dns_dispatch_gettcp
      Src: /src/bind9/tests/dns/dispatch_test.c:518,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:520,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:522,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:524,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:525,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:529,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:531,1
    - Dst: test_dispatch_done
      Src: /src/bind9/tests/dns/dispatch_test.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 534
    functionName: connected_gettcp
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatchmgr_ref
    - dns_dispatch_connect
    - assert_int_equal
    - dns_dispatch_gettcp
    - test_dispatch_done
    - isc_mem_get
    - dns_dispatch_add
    - assert_ptr_equal
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: "void connected_gettcp(isc_result_t eresult ISC_ATTR_UNUSED,\n\t\t
      isc_region_t *region ISC_ATTR_UNUSED, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:543,1
    - Dst: dns_dispatchmgr_ref
      Src: /src/bind9/tests/dns/dispatch_test.c:545,1
    - Dst: dns_dispatch_gettcp
      Src: /src/bind9/tests/dns/dispatch_test.c:547,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:549,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:551,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:554,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:556,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:558,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:559,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:563,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:565,1
    - Dst: test_dispatch_done
      Src: /src/bind9/tests/dns/dispatch_test.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 568
    functionName: connected_newtcp
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatchmgr_ref
    - dns_dispatch_connect
    - assert_int_equal
    - dns_dispatch_gettcp
    - test_dispatch_done
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - assert_ptr_not_equal
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: "void connected_newtcp(isc_result_t eresult ISC_ATTR_UNUSED,\n\t\t
      isc_region_t *region ISC_ATTR_UNUSED, void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:581,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 585
    functionName: timeout_connected
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - test_dispatch_shutdown
    linkageType: ''
    returnType: void
    signature: "void timeout_connected(isc_result_t eresult, isc_region_t *region
      ISC_ATTR_UNUSED,\n\t\t  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:589,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:594,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:599,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:601,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:603,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:606,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:608,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:609,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:613,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 619
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_connect
    - assert_int_equal
    - isc_sockaddr_fromin6
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_timeout_tcp_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:623,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/tests/dns/dispatch_test.c:625,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/tests/dns/dispatch_test.c:626,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dispatch_test.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: stop_listening
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_null
    - isc_nm_stoplistening
    - UNUSED
    - isc_nmsocket_close
    linkageType: ''
    returnType: void
    signature: void stop_listening(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:632,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:636,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:639,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:642,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:642,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:645,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:647,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:649,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:652,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:654,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:654,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:659,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 662
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - assert_int_equal
    - dns_dispatch_connect
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_timeout_tcp_response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:666,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:670,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:673,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:675,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:675,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:681,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:683,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:685,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:688,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:690,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:690,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:695,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 701
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - assert_int_equal
    - dns_dispatch_connect
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_tcp_response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:705,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:709,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:713,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:715,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:715,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:721,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:723,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:725,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:728,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:730,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:731,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:735,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 741
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - assert_int_equal
    - dns_dispatch_connect
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_tls_response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:745,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/dns/dispatch_test.c:749,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:751,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:754,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:754,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:757,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:759,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:761,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:763,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:765,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:765,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:770,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 773
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - dns_dispatch_connect
    - assert_int_equal
    - isc_nm_listenudp
    - dns_dispatch_createudp
    - isc_mem_get
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_timeout_udp_response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:778,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/dns/dispatch_test.c:782,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:784,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:786,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:786,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:792,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:794,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:796,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:798,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:800,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:800,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:805,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 811
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - dns_dispatch_connect
    - assert_int_equal
    - isc_nm_listenudp
    - dns_dispatch_createudp
    - isc_mem_get
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_getnext)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:815,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:819,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:822,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:825,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:825,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:827,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:829,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:832,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:835,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:837,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:838,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:842,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 845
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - assert_int_equal
    - dns_dispatch_connect
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_gettcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:849,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:853,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:856,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:859,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:859,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:862,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:864,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:866,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:869,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:871,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:872,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:876,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 879
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - assert_int_equal
    - dns_dispatch_connect
    - isc_mem_get
    - dns_dispatch_createtcp
    - dns_dispatch_add
    - dns_dispatchmgr_create
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_newtcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/zt_test.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: count_zone
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t count_zone(dns_zone_t *zone, void *uap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:65,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:66,1
    - Dst: dns_zone_getview
      Src: /src/bind9/tests/dns/zt_test.c:68,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:69,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:70,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:71,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:75,1
    - Dst: dns_view_apply
      Src: /src/bind9/tests/dns/zt_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:77,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:78,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/dns/zt_test.c:81,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:83,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:84,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/dns/zt_test.c:85,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zt_test.c:88,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:89,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zt_test.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - rcu_dereference
    - isc_loopmgr_shutdown
    - dns_zone_getview
    - dns_view_apply
    - assert_int_equal
    - dns_test_managezone
    - dns_test_makezone
    - dns_zone_detach
    - rcu_read_unlock
    - assert_non_null
    - dns_test_setupzonemgr
    - dns_test_closezonemgr
    - dns_view_detach
    - dns_test_releasezone
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(apply)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/dns/zt_test.c:99,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:100,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:102,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:104,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:107,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/dns/zt_test.c:108,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:110,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zt_test.c:111,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zt_test.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: load_done_last
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - dns_db_detach
    - dns_zone_getdb
    - dns_zone_detach
    - assert_non_null
    - dns_test_closezonemgr
    - dns_view_detach
    - dns_test_releasezone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_done_last(void *uap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/dns/zt_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:125,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:126,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: load_done_new_only
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_db_detach
    - dns_zone_getdb
    - dns_zone_asyncload
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_done_new_only(void *uap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/dns/zt_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:140,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:141,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/zt_test.c:147,1
    - Dst: fflush
      Src: /src/bind9/tests/dns/zt_test.c:148,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/zt_test.c:149,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: load_done_first
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_db_detach
    - fclose
    - dns_zone_getdb
    - fprintf
    - fflush
    - dns_zone_asyncload
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_done_first(void *uap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:164,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:165,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/dns/zt_test.c:167,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:169,1
    - Dst: dns_zone_getview
      Src: /src/bind9/tests/dns/zt_test.c:171,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:172,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:173,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:174,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:175,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/zt_test.c:177,1
    - Dst: dns__zone_loadpending
      Src: /src/bind9/tests/dns/zt_test.c:177,1
    - Dst: fopen
      Src: /src/bind9/tests/dns/zt_test.c:178,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:179,1
    - Dst: fopen
      Src: /src/bind9/tests/dns/zt_test.c:180,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:181,1
    - Dst: fread
      Src: /src/bind9/tests/dns/zt_test.c:182,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/zt_test.c:183,1
    - Dst: fwrite
      Src: /src/bind9/tests/dns/zt_test.c:184,1
    - Dst: fflush
      Src: /src/bind9/tests/dns/zt_test.c:185,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:187,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 191
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - rcu_dereference
    - dns_zone_getview
    - assert_int_equal
    - dns_test_managezone
    - assert_false
    - dns_test_makezone
    - fopen
    - fclose
    - fwrite
    - rcu_read_unlock
    - dns_zone_setfile
    - assert_non_null
    - dns__zone_loadpending
    - dns_test_setupzonemgr
    - fflush
    - dns_zone_asyncload
    - fread
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(asyncload_zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/dns/zt_test.c:200,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:201,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:202,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:204,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/dns/zt_test.c:207,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:208,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:209,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:211,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:214,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:215,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:216,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/dns/zt_test.c:217,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:219,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:220,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:221,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zt_test.c:222,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zt_test.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: all_done
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - assert_int_equal
    - dns_db_detach
    - dns_zone_getdb
    - dns_zone_detach
    - assert_non_null
    - dns_test_closezonemgr
    - dns_view_detach
    - dns_test_releasezone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t all_done(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/tests/dns/zt_test.c:234,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:236,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:237,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:238,1
    - Dst: dns_zone_getview
      Src: /src/bind9/tests/dns/zt_test.c:240,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:242,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:243,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:244,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:248,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:249,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:250,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:253,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:254,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:255,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:256,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/dns/zt_test.c:258,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:259,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:260,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:261,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:262,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:263,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:264,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/zt_test.c:266,1
    - Dst: dns__zone_loadpending
      Src: /src/bind9/tests/dns/zt_test.c:266,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/zt_test.c:267,1
    - Dst: dns__zone_loadpending
      Src: /src/bind9/tests/dns/zt_test.c:267,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/zt_test.c:268,1
    - Dst: atomic_load
      Src: /src/bind9/tests/dns/zt_test.c:268,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:270,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:271,1
    - Dst: dns_zt_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:272,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 274
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - rcu_dereference
    - dns_zone_getview
    - assert_int_equal
    - dns_test_managezone
    - assert_false
    - dns_zone_setfile
    - dns_test_makezone
    - rcu_read_unlock
    - atomic_init
    - assert_non_null
    - dns__zone_loadpending
    - dns_test_setupzonemgr
    - atomic_load
    - dns_zt_asyncload
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(asyncload_zt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/dns/zonemgr_test.c:40,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/dns/zonemgr_test.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 3
    functionsReached:
    - setup_netmgr
    - setup_loopmgr
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/dns/zonemgr_test.c:48,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/zonemgr_test.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 5
    functionsReached:
    - teardown_netmgr
    - teardown_loopmgr
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/zonemgr_test.c:58,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/dns/zonemgr_test.c:60,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:62,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:63,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:64,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - UNUSED
    - dns_zonemgr_detach
    - assert_null
    - dns_zonemgr_create
    - dns_zonemgr_shutdown
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(zonemgr_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/zonemgr_test.c:75,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/dns/zonemgr_test.c:77,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:79,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:80,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:82,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/tests/dns/zonemgr_test.c:82,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:85,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:88,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/tests/dns/zonemgr_test.c:88,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:90,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:91,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:93,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/tests/dns/zonemgr_test.c:93,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:95,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:96,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:97,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 100
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_zonemgr_managezone
    - dns_zonemgr_releasezone
    - assert_int_equal
    - dns_zonemgr_getcount
    - dns_test_makezone
    - UNUSED
    - dns_zone_detach
    - dns_zonemgr_detach
    - assert_null
    - dns_zonemgr_create
    - dns_zonemgr_shutdown
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(zonemgr_managezone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/zonemgr_test.c:108,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/dns/zonemgr_test.c:110,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/tests/dns/zonemgr_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:113,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:114,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:116,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:117,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:119,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:121,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:122,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:123,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - dns_zonemgr_managezone
    - assert_int_equal
    - UNUSED
    - dns_zone_detach
    - assert_non_null
    - dns_zonemgr_createzone
    - dns_zonemgr_detach
    - assert_null
    - dns_zonemgr_create
    - dns_zonemgr_shutdown
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(zonemgr_createzone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rsa_test.c:131,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/rsa_test.c:133,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/rsa_test.c:134,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/rsa_test.c:135,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/rsa_test.c:136,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:137,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/tests/dns/rsa_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:141,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/tests/dns/rsa_test.c:144,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/rsa_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:149,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/rsa_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:154,1
    - Dst: dst_context_verify
      Src: /src/bind9/tests/dns/rsa_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:159,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/rsa_test.c:161,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/rsa_test.c:168,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:170,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/rsa_test.c:174,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:175,1
    - Dst: dst_context_verify
      Src: /src/bind9/tests/dns/rsa_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:180,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/rsa_test.c:182,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/rsa_test.c:188,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:190,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/rsa_test.c:194,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:195,1
    - Dst: dst_context_verify
      Src: /src/bind9/tests/dns/rsa_test.c:199,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:200,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/rsa_test.c:202,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/rsa_test.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 205
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rsa_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dst_key_free
    - dns_fixedname_initname
    - assert_int_equal
    - dst_key_fromfile
    - UNUSED
    - dst_algorithm_supported
    - dst_context_adddata
    - dst_context_destroy
    - dst_context_create
    - isc_buffer_add
    - dst_context_verify
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rsa_verify)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r1
    - ','
    - r2
    - ','
    - answer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: COMPARE
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(r1, r2, answer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: COMPARE_SENTINEL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE_SENTINEL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data_in
    - ','
    - data_out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: TEXT_VALID_CHANGED
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_VALID_CHANGED(data_in, data_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: TEXT_VALID
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_VALID(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loop
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: TEXT_VALID_LOOP
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_VALID_LOOP(loop, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - loop
    - ','
    - data_in
    - ','
    - data_out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: TEXT_VALID_LOOPCHG
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_VALID_LOOPCHG(loop, data_in, data_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: TEXT_INVALID
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_INVALID(data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: TEXT_SENTINEL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_SENTINEL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: VARGC
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VARGC(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ok
    - ','
    - loop
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: WIRE_TEST
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIRE_TEST(ok, loop, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: WIRE_VALID
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIRE_VALID(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loop
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: WIRE_VALID_LOOP
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIRE_VALID_LOOP(loop, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FIRST
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: WIRE_INVALID
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIRE_INVALID(FIRST, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: WIRE_SENTINEL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIRE_SENTINEL()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error_all
      Src: /src/bind9/tests/dns/rdata_test.c:114,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:117,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: detect_uncleared_libcrypto_error
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - ERR_get_error_all
    - fprintf
    - assert_false
    linkageType: ''
    returnType: void
    signature: void detect_uncleared_libcrypto_error(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/rdata_test.c:141,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/rdata_test.c:142,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/tests/dns/rdata_test.c:143,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:148,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/tests/dns/rdata_test.c:153,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - src
    - srclen
    - rdclass
    - type
    - dst
    - dstlen
    - rdata
    argTypes:
    - unsigned char*
    - size_t
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned char*
    - size_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: wire_to_rdata
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_fromwire
    - detect_uncleared_libcrypto_error
    - isc_buffer_init
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t wire_to_rdata(const unsigned char *src, size_t srclen,
      dns_rdataclass_t rdclass,\n\t      dns_rdatatype_t type, unsigned char *dst,
      size_t dstlen,\n\t      dns_rdata_t *rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:173,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/rdata_test.c:178,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/tests/dns/rdata_test.c:179,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:180,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/rdata_test.c:181,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/rdata_test.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - rdata
    - dst
    - dstlen
    - length
    argTypes:
    - dns_rdata_t*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: rdata_towire
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - detect_uncleared_libcrypto_error
    - isc_buffer_init
    - dns_rdata_towire
    - isc_buffer_usedlength
    - dns_compress_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdata_towire(dns_rdata_t *rdata, unsigned char *dst,
      size_t dstlen,\n\t     size_t *length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdata_test.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdata_test.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdata_test.c:193,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdata_test.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - arg
    - name
    - qtype
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: additionaldata_cb
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t additionaldata_cb(void *arg, const dns_name_t *name,
      dns_rdatatype_t qtype,\n\t\t  dns_rdataset_t *found DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_additionaldata
      Src: /src/bind9/tests/dns/rdata_test.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: rdata_additionadata
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_additionaldata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdata_additionadata(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/rdata_test.c:223,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/rdata_test.c:224,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:226,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:227,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/rdata_test.c:229,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:231,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:232,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:233,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/rdata_test.c:235,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:237,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:238,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:239,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/rdata_test.c:241,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:242,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:243,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: rdata_checknames
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 2
    functionsReached:
    - dns_fixedname_initname
    - assert_int_equal
    - dns_rdata_checknames
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: void rdata_checknames(dns_rdata_t *rdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/dns/rdata_test.c:267,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/rdata_test.c:268,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/rdata_test.c:273,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:275,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:280,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/rdata_test.c:281,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:288,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/rdata_test.c:288,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:290,1
    - Dst: dns_rdata_hip_first
      Src: /src/bind9/tests/dns/rdata_test.c:300,1
    - Dst: dns_rdata_hip_next
      Src: /src/bind9/tests/dns/rdata_test.c:301,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/rdata_test.c:304,1
    - Dst: dns_rdata_hip_current
      Src: /src/bind9/tests/dns/rdata_test.c:305,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/rdata_test.c:306,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/dns/rdata_test.c:306,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:307,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/rdata_test.c:307,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:310,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:311,1
    - Dst: dns_rdata_in_https_first
      Src: /src/bind9/tests/dns/rdata_test.c:317,1
    - Dst: dns_rdata_in_https_next
      Src: /src/bind9/tests/dns/rdata_test.c:319,1
    - Dst: dns_rdata_in_https_current
      Src: /src/bind9/tests/dns/rdata_test.c:322,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:323,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:326,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:327,1
    - Dst: dns_rdata_in_svcb_first
      Src: /src/bind9/tests/dns/rdata_test.c:333,1
    - Dst: dns_rdata_in_svcb_next
      Src: /src/bind9/tests/dns/rdata_test.c:335,1
    - Dst: dns_rdata_in_svcb_current
      Src: /src/bind9/tests/dns/rdata_test.c:338,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:339,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:342,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:343,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/rdata_test.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 3
    argNames:
    - rdata
    - structsize
    - loop
    argTypes:
    - dns_rdata_t*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 349
    functionName: check_struct_conversions
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - assert_int_equal
    - dns_rdata_tostruct
    - assert_memory_equal
    - dns_name_countlabels
    - dns_rdata_in_svcb_current
    - dns_rdata_in_https_current
    - dns_rdata_in_svcb_first
    - isc_mem_allocate
    - dns_rdata_hip_first
    - dns_rdata_hip_next
    - dns_rdata_fromstruct
    - dns_rdata_in_https_next
    - detect_uncleared_libcrypto_error
    - dns_rdata_hip_current
    - assert_non_null
    - dns_rdata_in_svcb_next
    - dns_name_isabsolute
    - assert_int_not_equal
    - assert_true
    - isc_mem_free
    - isc_buffer_init
    - isc_buffer_usedlength
    - dns_rdata_in_https_first
    linkageType: ''
    returnType: void
    signature: "void check_struct_conversions(dns_rdata_t *rdata, size_t structsize,\n\t\t\t
      unsigned int loop)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:367,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:373,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:381,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:382,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:383,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:385,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:388,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/rdata_test.c:390,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:405,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/rdata_test.c:406,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:407,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:410,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:411,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:414,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:416,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:418,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:420,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/rdata_test.c:426,1
    - Dst: strcmp
      Src: /src/bind9/tests/dns/rdata_test.c:427,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:428,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/rdata_test.c:431,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:434,1
    - Dst: wire_to_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:440,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:442,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:443,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:444,1
    - Dst: rdata_towire
      Src: /src/bind9/tests/dns/rdata_test.c:449,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:450,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:451,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:452,1
    - Dst: rdata_additionadata
      Src: /src/bind9/tests/dns/rdata_test.c:457,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:458,1
    - Dst: rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:463,1
    - Dst: check_struct_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:469,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 4
    argNames:
    - text_ok
    - rdclass
    - type
    - structsize
    argTypes:
    - text_ok_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 470
    functionName: check_text_ok_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - rdata_checknames
    - strcmp
    - assert_int_equal
    - assert_string_equal
    - isc_result_totext
    - detect_uncleared_libcrypto_error
    - isc_buffer_init
    - dns_rdata_totext
    - wire_to_rdata
    - rdata_towire
    - fprintf
    - isc_buffer_putuint8
    - assert_int_not_equal
    - dns_test_rdatafromstring
    - check_struct_conversions
    - rdata_additionadata
    linkageType: ''
    returnType: void
    signature: "void check_text_ok_single(const text_ok_t *text_ok, dns_rdataclass_t
      rdclass,\n\t\t     dns_rdatatype_t type, size_t structsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:494,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/rdata_test.c:495,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:496,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:497,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/rdata_test.c:503,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:505,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:511,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:515,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:515,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:516,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:518,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:519,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 521
    functionName: check_text_conversions
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - assert_int_equal
    - isc_result_totext
    - detect_uncleared_libcrypto_error
    - isc_buffer_init
    - dns_rdata_totext
    - fprintf
    - isc_buffer_putuint8
    - dns_test_rdatafromstring
    linkageType: ''
    returnType: void
    signature: void check_text_conversions(dns_rdata_t *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:546,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/tests/dns/rdata_test.c:547,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/tests/dns/rdata_test.c:548,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:550,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:551,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/rdata_test.c:557,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:559,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:566,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:569,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:570,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 572
    functionName: check_multiline_text_conversions
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - dns_rdata_tofmttext
    - assert_int_equal
    - detect_uncleared_libcrypto_error
    - isc_buffer_init
    - fprintf
    - isc_buffer_putuint8
    - dns_test_rdatafromstring
    - dns_master_styleflags
    linkageType: ''
    returnType: void
    signature: void check_multiline_text_conversions(dns_rdata_t *rdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wire_to_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:589,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:595,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/rdata_test.c:597,1
    - Dst: check_struct_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:614,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/tests/dns/rdata_test.c:615,1
    - Dst: check_text_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:616,1
    - Dst: check_multiline_text_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:617,1
    - Dst: rdata_towire
      Src: /src/bind9/tests/dns/rdata_test.c:623,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:624,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:625,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:626,1
    - Dst: rdata_additionadata
      Src: /src/bind9/tests/dns/rdata_test.c:631,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:632,1
    - Dst: rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - wire_ok
    - rdclass
    - type
    - structsize
    argTypes:
    - wire_ok_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 638
    functionName: check_wire_ok_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - rdata_checknames
    - check_text_conversions
    - assert_int_equal
    - dns_rdatatype_ismeta
    - wire_to_rdata
    - rdata_towire
    - check_multiline_text_conversions
    - assert_int_not_equal
    - check_struct_conversions
    - rdata_additionadata
    linkageType: ''
    returnType: void
    signature: "void check_wire_ok_single(const wire_ok_t *wire_ok, dns_rdataclass_t
      rdclass,\n\t\t     dns_rdatatype_t type, size_t structsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_text_ok_single
      Src: /src/bind9/tests/dns/rdata_test.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - text_ok
    - rdclass
    - type
    - structsize
    argTypes:
    - text_ok_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: check_text_ok
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_text_ok_single
    linkageType: ''
    returnType: void
    signature: "void check_text_ok(const text_ok_t *text_ok, dns_rdataclass_t rdclass,\n\t
      \     dns_rdatatype_t type, size_t structsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_TEST
      Src: /src/bind9/tests/dns/rdata_test.c:669,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:677,1
    - Dst: check_wire_ok_single
      Src: /src/bind9/tests/dns/rdata_test.c:680,1
    - Dst: check_wire_ok_single
      Src: /src/bind9/tests/dns/rdata_test.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - wire_ok
    - empty_ok
    - rdclass
    - type
    - structsize
    argTypes:
    - wire_ok_t*
    - bool
    - dns_rdataclass_t
    - dns_rdatatype_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 666
    functionDepth: 4
    functionLinenumber: 666
    functionLinenumberEnd: 687
    functionName: check_wire_ok
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_TEST
    - fprintf
    - check_wire_ok_single
    linkageType: ''
    returnType: void
    signature: "void check_wire_ok(const wire_ok_t *wire_ok, bool empty_ok, dns_rdataclass_t
      rdclass,\n\t      dns_rdatatype_t type, size_t structsize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:700,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:704,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:708,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:713,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/rdata_test.c:717,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:718,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:720,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:727,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - compare_ok
    - rdclass
    - type
    argTypes:
    - compare_ok_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 740
    functionName: check_compare_ok_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - fail_msg
    - dns_rdata_compare
    - dns_test_rdatafromstring
    - detect_uncleared_libcrypto_error
    linkageType: ''
    returnType: void
    signature: "void check_compare_ok_single(const compare_ok_t *compare_ok,\n\t\t\tdns_rdataclass_t
      rdclass, dns_rdatatype_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_compare_ok_single
      Src: /src/bind9/tests/dns/rdata_test.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - compare_ok
    - rdclass
    - type
    argTypes:
    - compare_ok_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 756
    functionName: check_compare_ok
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_compare_ok_single
    linkageType: ''
    returnType: void
    signature: "void check_compare_ok(const compare_ok_t *compare_ok, dns_rdataclass_t
      rdclass,\n\t\t dns_rdatatype_t type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_text_ok
      Src: /src/bind9/tests/dns/rdata_test.c:773,1
    - Dst: check_wire_ok
      Src: /src/bind9/tests/dns/rdata_test.c:776,1
    - Dst: check_compare_ok
      Src: /src/bind9/tests/dns/rdata_test.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - text_ok
    - wire_ok
    - compare_ok
    - empty_ok
    - rdclass
    - type
    - structsize
    argTypes:
    - text_ok_t*
    - wire_ok_t*
    - compare_ok_t*
    - bool
    - dns_rdataclass_t
    - dns_rdatatype_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 781
    functionName: check_rdata
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_compare_ok
    - check_wire_ok
    - check_text_ok
    linkageType: ''
    returnType: void
    signature: "void check_rdata(const text_ok_t *text_ok, const wire_ok_t *wire_ok,\n\t
      \   const compare_ok_t *compare_ok, bool empty_ok,\n\t    dns_rdataclass_t rdclass,
      dns_rdatatype_t type, size_t structsize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:793,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:797,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:798,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:798,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:800,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:801,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:805,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:806,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:806,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:808,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:810,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:811,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:814,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/rdata_test.c:815,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:817,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:820,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:825,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - textvsunknown
    - rdclass
    - type
    argTypes:
    - textvsunknown_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 826
    functionName: check_textvsunknown_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - assert_int_equal
    - isc_result_totext
    - memcmp
    - fprintf
    - dns_test_rdatafromstring
    linkageType: ''
    returnType: void
    signature: "void check_textvsunknown_single(const textvsunknown_t *textvsunknown,\n\t\t\t
      \  dns_rdataclass_t rdclass, dns_rdatatype_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_textvsunknown_single
      Src: /src/bind9/tests/dns/rdata_test.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - textvsunknown
    - rdclass
    - type
    argTypes:
    - textvsunknown_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 828
    functionDepth: 2
    functionLinenumber: 828
    functionLinenumberEnd: 839
    functionName: check_textvsunknown
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_textvsunknown_single
    linkageType: ''
    returnType: void
    signature: "void check_textvsunknown(const textvsunknown_t *textvsunknown,\n\t\t
      \   dns_rdataclass_t rdclass, dns_rdatatype_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:864,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:865,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:866,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:867,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:868,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:869,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:870,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdata_test.c:873,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - state
    - type
    - size
    argTypes:
    - void**
    - dns_rdatatype_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 848
    functionDepth: 6
    functionLinenumber: 848
    functionLinenumberEnd: 876
    functionName: key_required
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - UNUSED
    - WIRE_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void key_required(void **state, dns_rdatatype_t type, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:882,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:884,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:884,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:886,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:886,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:888,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:888,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:889,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:889,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:891,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:891,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:893,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:894,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:896,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:898,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:900,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:900,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:904,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:907,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:909,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:911,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:913,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:917,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 879
    functionDepth: 6
    functionLinenumber: 879
    functionLinenumberEnd: 922
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(apl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:962,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:963,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:967,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:971,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:975,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:979,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:983,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:987,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:992,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:996,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1000,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1004,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1009,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1009,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1013,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1017,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1021,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 961
    functionDepth: 6
    functionLinenumber: 961
    functionLinenumberEnd: 1026
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(atma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1031,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1031,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1031,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1033,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1033,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1034,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1035,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1036,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1039,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1040,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1041,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1042,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1043,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1044,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1047,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1048,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1048,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1049,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1050,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1053,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1055,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1057,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1058,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1059,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1060,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1063,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1063,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1064,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1064,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1065,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1065,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1070,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1073,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1073,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1074,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1074,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1075,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1077,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1077,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1078,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1079,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1080,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1081,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1083,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1083,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1084,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1087,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1091,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1091,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1092,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1094,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1094,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1098,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1029
    functionDepth: 6
    functionLinenumber: 1029
    functionLinenumberEnd: 1103
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(amtrelay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_required
      Src: /src/bind9/tests/dns/rdata_test.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 7
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - key_required
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cdnskey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1174,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1175,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1176,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1177,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1178,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1179,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1180,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1181,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1182,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1183,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1188,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1192,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1196,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1200,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1204,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1208,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1212,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1216,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1220,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1225,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1173
    functionDepth: 6
    functionLinenumber: 1173
    functionLinenumberEnd: 1230
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(csync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_required
      Src: /src/bind9/tests/dns/rdata_test.c:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 7
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - key_required
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dnskey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1301,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1305,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1312,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1318,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1322,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1326,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1330,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1334,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1338,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1342,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1346,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1350,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1354,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1358,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1370,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1374,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1380,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1385,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1390,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1395,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1400,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1405,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1440,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1296
    functionDepth: 6
    functionLinenumber: 1296
    functionLinenumberEnd: 1445
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(doa)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1514,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1518,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1522,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1526,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1530,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1534,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1535,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1539,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1543,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1548,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1549,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1554,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1563,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1568,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1572,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1573,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1579,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1592,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1598,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1602,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1608,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1612,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1616,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1620,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1624,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1628,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1629,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1635,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1641,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1648,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1649,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1657,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1665,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1673,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1677,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1678,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1688,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1697,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1704,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1708,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1509
    functionDepth: 6
    functionLinenumber: 1509
    functionLinenumberEnd: 1713
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1780,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1784,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1788,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1792,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1796,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1801,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1806,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1812,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1817,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1823,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1827,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1831,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1835,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1840,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1846,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1775
    functionDepth: 6
    functionLinenumber: 1775
    functionLinenumberEnd: 1851
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_INVALID
    - check_rdata
    - WIRE_SENTINEL
    - WIRE_VALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(edns_client_subnet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1858,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1862,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1866,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1870,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1875,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1880,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1885,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1853
    functionDepth: 6
    functionLinenumber: 1853
    functionLinenumberEnd: 1890
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_INVALID
    - check_rdata
    - WIRE_SENTINEL
    - WIRE_VALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(edns_rad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1902,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1903,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1904,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1908,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1909,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1909,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1913,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1901
    functionDepth: 6
    functionLinenumber: 1901
    functionLinenumberEnd: 1917
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(eid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:1925,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:1931,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:1938,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1948,1
    - Dst: wire_to_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1966,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:1968,1
    - Dst: check_text_ok
      Src: /src/bind9/tests/dns/rdata_test.c:1969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1922
    functionDepth: 5
    functionLinenumber: 1922
    functionLinenumberEnd: 1971
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_LOOP
    - assert_int_equal
    - wire_to_rdata
    - TEXT_SENTINEL
    - check_text_ok
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(hip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2038,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2042,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2046,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2050,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2054,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2034
    functionDepth: 6
    functionLinenumber: 2034
    functionLinenumberEnd: 2059
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_rdata
    - WIRE_SENTINEL
    - WIRE_VALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isdn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2084,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2084,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2085,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2086,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2087,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2088,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2089,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2091,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2094,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2097,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2099,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2101,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2104,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2107,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2110,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2112,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2115,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2117,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2119,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2121,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2123,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2125,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2128,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2130,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2134,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2064
    functionDepth: 6
    functionLinenumber: 2064
    functionLinenumberEnd: 2139
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2146,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2148,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2150,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2152,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2155,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2158,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2161,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2164,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2165,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2166,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2167,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2168,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2169,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2170,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2171,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2172,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2173,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2174,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2175,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2177,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2178,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2179,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2180,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2181,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2183,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2184,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2185,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2186,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2187,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2188,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2189,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2190,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2191,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2196,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2144
    functionDepth: 6
    functionLinenumber: 2144
    functionLinenumberEnd: 2201
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - TEXT_VALID
    - TEXT_INVALID
    - TEXT_SENTINEL
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(loc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2213,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2214,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2215,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2219,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2220,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2220,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2224,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2212
    functionDepth: 6
    functionLinenumber: 2212
    functionLinenumberEnd: 2228
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nimloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2297,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2297,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2298,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2298,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2299,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2299,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2300,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2301,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2302,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2296
    functionDepth: 6
    functionLinenumber: 2296
    functionLinenumberEnd: 2306
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nsec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2314,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2315,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2316,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2317,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2318,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2321,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2324,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2327,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2329,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2331,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2313
    functionDepth: 6
    functionLinenumber: 2313
    functionLinenumberEnd: 2335
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID
    - TEXT_INVALID
    - check_rdata
    - TEXT_SENTINEL
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2340,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2345,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2349,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2350,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2352,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2354,1
    - Dst: COMPARE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2354,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2338
    functionDepth: 6
    functionLinenumber: 2338
    functionLinenumberEnd: 2359
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - COMPARE_SENTINEL
    - COMPARE
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nxt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2365,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2369,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2370,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2374,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2379,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2383,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2384,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2388,1
    - Dst: key_required
      Src: /src/bind9/tests/dns/rdata_test.c:2390,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2361
    functionDepth: 7
    functionLinenumber: 2361
    functionLinenumberEnd: 2393
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - key_required
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(rkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2397,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2405,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2395
    functionDepth: 6
    functionLinenumber: 2395
    functionLinenumberEnd: 2409
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - TEXT_SENTINEL
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(resinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2413,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2414,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2415,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2416,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2417,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2419,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2421,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2424,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2428,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2435,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2445,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2447,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2448,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2449,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2452,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2452,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2453,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2457,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2461,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2465,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2465,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2466,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2472,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2477,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2483,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2483,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2486,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2491
      start: 2412
    functionDepth: 6
    functionLinenumber: 2412
    functionLinenumberEnd: 2491
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(sshfp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2494,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2500,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2493
    functionDepth: 6
    functionLinenumber: 2493
    functionLinenumberEnd: 2503
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - TEXT_SENTINEL
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2548,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2553,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2557,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2562,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2566,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2570,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2574,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2578,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2544
    functionDepth: 6
    functionLinenumber: 2544
    functionLinenumberEnd: 2583
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(wks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2592,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2594,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2596,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2598,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2600,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2602,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2604,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2606,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2607,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2608,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2610,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2612,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2615,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2618,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2620,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2622,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2624,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2628,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2629,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2632,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2633,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2634,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2636,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2637,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2639,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2643,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2644,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2645,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2646,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2648,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2651,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2652,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2653,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2654,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2655,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2657,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2658,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2659,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2661,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2663,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2665,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2670,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2671,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2672,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2673,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2674,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2677,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2678,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2680,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2683,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2685,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2686,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2687,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2690,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2691,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2692,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2693,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2694,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2695,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2696,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2697,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2698,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2699,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2702,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2704,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2706,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2708,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2710,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2711,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2713,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2716,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2718,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2720,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2724,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2729,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2730,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2731,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2732,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2734,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2736,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2738,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2740,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2742,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2744,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2746,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2747,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2754,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2758,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2762,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2766,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2770,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2771,1
    - Dst: WIRE_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2773,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2778,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2783,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2788,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2793,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2797,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2802,1
    - Dst: WIRE_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2808,1
    - Dst: WIRE_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2813,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2818,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2822,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2824,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2879,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2881,1
    - Dst: check_textvsunknown
      Src: /src/bind9/tests/dns/rdata_test.c:2884,1
    - Dst: check_textvsunknown
      Src: /src/bind9/tests/dns/rdata_test.c:2886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2585
    functionDepth: 6
    functionLinenumber: 2585
    functionLinenumberEnd: 2888
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_LOOPCHG
    - TEXT_VALID_LOOP
    - WIRE_VALID
    - check_textvsunknown
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - WIRE_VALID_LOOP
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(https_svcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2977,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2979,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2981,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2983,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2985,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2987,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2989,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2991,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2993,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2995,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2997,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2999,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3001,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3003,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3005,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3010,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3016,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3020,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:3024,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3030,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3034,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3038,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3042,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3046,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3050,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3054,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3060,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3067,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3073,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3083,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3094,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3105,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3116,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3129,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:3139,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:3142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 2975
    functionDepth: 6
    functionLinenumber: 2975
    functionLinenumberEnd: 3144
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_VALID
    - TEXT_VALID
    - WIRE_SENTINEL
    - TEXT_INVALID
    - TEXT_SENTINEL
    - WIRE_INVALID
    - check_rdata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(zonemd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/tests/dns/rdata_test.c:3151,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3157,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:3159,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3163,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:3165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3146
    functionDepth: 1
    functionLinenumber: 3146
    functionLinenumberEnd: 3170
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_rdatatype_atcname
    - print_message
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(atcname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/tests/dns/rdata_test.c:3177,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3181,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:3183,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3187,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:3189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3194
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_rdatatype_atparent
    - print_message
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(atparent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_iszonecutauth
      Src: /src/bind9/tests/dns/rdata_test.c:3200,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3208,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:3210,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3214,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:3216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3196
    functionDepth: 1
    functionLinenumber: 3196
    functionLinenumberEnd: 3221
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - print_message
    - dns_rdatatype_iszonecutauth
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(iszonecutauth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: TRACE
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ASSERT
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ASSERT
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/tests/dns/qpmulti_test.c:73,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/dns/qpmulti_test.c:75,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/dns/qpmulti_test.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: setup_logging
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 13
    functionsReached:
    - isc_log_createandusechannel
    - isc_log_setdebuglevel
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void setup_logging(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:94,1
    - Dst: INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: item_attach
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: void
    signature: void item_attach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qpmulti_test.c:101,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:102,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: item_detach
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - assert_int_not_equal
    - assert_null
    - assert_ptr_equal
    linkageType: ''
    returnType: void
    signature: void item_detach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:109,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:113,1
    - Dst: ISC_INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:116,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:116,1
    - Dst: ISC_INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:117,1
    - Dst: ISC_INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:118,1
    - Dst: ISC_INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:119,1
    - Dst: ISC_INSIST
      Src: /src/bind9/tests/dns/qpmulti_test.c:120,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/qpmulti_test.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - key
    - ctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 124
    functionName: item_makekey
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - memmove
    - ARRAY_SIZE
    - ISC_INSIST
    - INSIST
    linkageType: ''
    returnType: size_t
    signature: size_t item_makekey(dns_qpkey_t key, void *ctx, void *pval, uint32_t
      ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/qpmulti_test.c:128,1
    - Dst: strlcpy
      Src: /src/bind9/tests/dns/qpmulti_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: testname
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void testname(void *ctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: random_byte
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t random_byte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qpmulti_test.c:148,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:149,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:151,1
    - Dst: random_byte
      Src: /src/bind9/tests/dns/qpmulti_test.c:154,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/qpmulti_test.c:156,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/dns/qpmulti_test.c:157,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:160,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/dns/qpmulti_test.c:160,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: setup_items
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - random_byte
    - memmove
    - ARRAY_SIZE
    - dns_qp_create
    - dns_qp_destroy
    - dns_qp_getkey
    - qp_test_keytoascii
    - assert_int_equal
    - dns_qp_insert
    - isc_random_uniform
    linkageType: ''
    returnType: void
    signature: void setup_items(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:171,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpmulti_test.c:173,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:174,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:175,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpmulti_test.c:177,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qpmulti_test.c:178,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:179,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/dns/qpmulti_test.c:181,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:184,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qpmulti_test.c:185,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qpmulti_test.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - qpr
    - i
    - exists
    - rubric
    argTypes:
    - dns_qpreadable_t
    - size_t
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 190
    functionName: checkkey
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - UNREACHABLE
    - TRACE
    - dns_qp_getkey
    - assert_int_equal
    - assert_false
    - UNUSED
    - isc_result_totext
    - assert_ptr_equal
    - assert_null
    linkageType: ''
    returnType: bool
    signature: bool checkkey(dns_qpreadable_t qpr, size_t i, bool exists, const char
      *rubric)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:195,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:196,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:196,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/dns/qpmulti_test.c:199,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: checkallro
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - TRACE
    - ARRAY_SIZE
    - qp_test_dumptrie
    - ASSERT
    - checkkey
    linkageType: ''
    returnType: bool
    signature: bool checkallro(dns_qpreadable_t qp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:208,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:209,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:209,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/dns/qpmulti_test.c:212,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: checkallrw
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - TRACE
    - ARRAY_SIZE
    - qp_test_dumptrie
    - ASSERT
    - checkkey
    linkageType: ''
    returnType: bool
    signature: bool checkallrw(dns_qpreadable_t qp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:228,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:229,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:230,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:231,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:233,1
    - Dst: dns_qpmulti_snapshot
      Src: /src/bind9/tests/dns/qpmulti_test.c:245,1
    - Dst: dns_qpmulti_update
      Src: /src/bind9/tests/dns/qpmulti_test.c:251,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/tests/dns/qpmulti_test.c:253,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/dns/qpmulti_test.c:257,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qpmulti_test.c:262,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:262,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:264,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:264,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:265,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:265,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/tests/dns/qpmulti_test.c:272,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:274,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:275,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:276,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/dns/qpmulti_test.c:281,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:282,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:286,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:286,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:287,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:287,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:290,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/dns/qpmulti_test.c:291,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/dns/qpmulti_test.c:292,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpmulti_test.c:294,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpmulti_test.c:297,1
    - Dst: checkallro
      Src: /src/bind9/tests/dns/qpmulti_test.c:297,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpmulti_test.c:298,1
    - Dst: checkallrw
      Src: /src/bind9/tests/dns/qpmulti_test.c:298,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:301,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:305,1
    - Dst: dns_qpmulti_rollback
      Src: /src/bind9/tests/dns/qpmulti_test.c:306,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/dns/qpmulti_test.c:308,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:309,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:311,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:311,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:315,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:315,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:317,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:319,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/tests/dns/qpmulti_test.c:320,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/dns/qpmulti_test.c:322,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpmulti_test.c:323,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:325,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:325,1
    - Dst: ASSERT
      Src: /src/bind9/tests/dns/qpmulti_test.c:329,1
    - Dst: checkkey
      Src: /src/bind9/tests/dns/qpmulti_test.c:329,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:331,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:335,1
    - Dst: dns_qpsnap_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:337,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:340,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:345,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/dns/qpmulti_test.c:346,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/dns/qpmulti_test.c:347,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:348,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpmulti_test.c:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 1
    argNames:
    - qpm
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 351
    functionName: one_transaction
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - dns_qp_deletekey
    - ASSERT
    - dns_qpsnap_destroy
    - checkkey
    - dns_qpmulti_update
    - TRACE
    - dns_qpmulti_commit
    - checkallrw
    - checkallro
    - ARRAY_SIZE
    - dns_qpread_destroy
    - isc_random_uniform
    - assert_true
    - dns_qpmulti_snapshot
    - qp_test_dumptrie
    - dns_qpmulti_rollback
    - dns_qp_insert
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: void one_transaction(dns_qpmulti_t *qpm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qpmulti_test.c:355,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/tests/dns/qpmulti_test.c:358,1
    - Dst: TRACE
      Src: /src/bind9/tests/dns/qpmulti_test.c:362,1
    - Dst: one_transaction
      Src: /src/bind9/tests/dns/qpmulti_test.c:363,1
    - Dst: rcu_quiescent_state
      Src: /src/bind9/tests/dns/qpmulti_test.c:364,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:367,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/qpmulti_test.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: many_transactions
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - TRACE
    - rcu_quiescent_state
    - UNUSED
    - dns_qpmulti_destroy
    - dns_qpmulti_create
    - one_transaction
    linkageType: ''
    returnType: void
    signature: void many_transactions(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/dns/qpmulti_test.c:372,1
    - Dst: setup_logging
      Src: /src/bind9/tests/dns/qpmulti_test.c:373,1
    - Dst: setup_items
      Src: /src/bind9/tests/dns/qpmulti_test.c:374,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/dns/qpmulti_test.c:375,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/qpmulti_test.c:375,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/dns/qpmulti_test.c:376,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/dns/qpmulti_test.c:377,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - setup_logging
    - setup_loopmgr
    - isc_loopmgr_run
    - isc_loopmgr_destroy
    - setup_items
    - isc_loop_main
    - rcu_barrier
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpmulti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: CASESET
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASESET(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:128,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:129,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:132,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:132,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:133,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:133,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:134,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:135,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:137,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:137,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:138,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:138,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:140,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/tests/dns/qpzone_test.c:143,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:145,1
    - Dst: CASESET
      Src: /src/bind9/tests/dns/qpzone_test.c:145,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/tests/dns/qpzone_test.c:148,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/tests/dns/qpzone_test.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 151
    functionName: ownercase_test_one
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_name_caseequal
    - dns_name_fromtext
    - dns_rdataset_getownercase
    - dns_rdataset_setownercase
    - dns_fixedname_initname
    - assert_int_equal
    - CASESET
    - strlen
    - isc_buffer_add
    - isc_buffer_constinit
    linkageType: ''
    returnType: bool
    signature: bool ownercase_test_one(const char *str1, const char *str2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qpzone_test.c:154,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpzone_test.c:156,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:157,1
    - Dst: ownercase_test_one
      Src: /src/bind9/tests/dns/qpzone_test.c:157,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:161,1
    - Dst: ownercase_test_one
      Src: /src/bind9/tests/dns/qpzone_test.c:161,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:164,1
    - Dst: ownercase_test_one
      Src: /src/bind9/tests/dns/qpzone_test.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - ARRAY_SIZE
    - assert_false
    - UNUSED
    - ownercase_test_one
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ownercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:193,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qpzone_test.c:196,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:199,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:199,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:200,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:200,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:201,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:202,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:204,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:204,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:205,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:205,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:207,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:209,1
    - Dst: CASESET
      Src: /src/bind9/tests/dns/qpzone_test.c:209,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/tests/dns/qpzone_test.c:212,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:214,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/tests/dns/qpzone_test.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 215
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - dns_name_caseequal
    - dns_name_fromtext
    - dns_rdataset_getownercase
    - dns_fixedname_initname
    - assert_int_equal
    - assert_false
    - UNUSED
    - CASESET
    - strlen
    - isc_buffer_add
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(setownercase)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dns64_test.c:65,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/tests/dns/dns64_test.c:70,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dns64_test.c:72,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dns64_test.c:77,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dns64_test.c:78,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/dns64_test.c:80,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dns64_test.c:81,1
    - Dst: dns_dns64_findprefix
      Src: /src/bind9/tests/dns/dns64_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:83,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:87,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:88,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/dns64_test.c:89,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/dns64_test.c:92,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dns64_test.c:96,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dns64_test.c:97,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dns64_test.c:104,1
    - Dst: dns_dns64_findprefix
      Src: /src/bind9/tests/dns/dns64_test.c:105,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:106,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:110,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/dns64_test.c:111,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/dns64_test.c:114,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dns64_test.c:118,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dns64_test.c:121,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dns64_test.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 124
    functionName: multiple_prefixes
    functionSourceFile: /src/bind9/tests/dns/dns64_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - assert_true
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - ARRAY_SIZE
    - memset
    - dns_dns64_findprefix
    - assert_int_equal
    - memcmp
    - dns_rdataset_init
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void multiple_prefixes(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/dns64_test.c:169,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dns64_test.c:183,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dns64_test.c:184,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/dns64_test.c:185,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/dns64_test.c:186,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/tests/dns/dns64_test.c:197,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/tests/dns/dns64_test.c:201,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dns64_test.c:204,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dns64_test.c:208,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dns64_test.c:209,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dns64_test.c:210,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dns64_test.c:211,1
    - Dst: dns_dns64_findprefix
      Src: /src/bind9/tests/dns/dns64_test.c:213,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:214,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:216,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:217,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dns64_test.c:219,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/dns64_test.c:220,1
    - Dst: multiple_prefixes
      Src: /src/bind9/tests/dns/dns64_test.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 230
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dns64_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - assert_memory_equal
    - memmove
    - ARRAY_SIZE
    - memset
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_dns64_findprefix
    - assert_int_equal
    - multiple_prefixes
    - dns_rdataset_init
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns64_findprefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: NS_TEST_ID
    functionSourceFile: /src/bind9/tests/include/tests/ns.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_TEST_ID(desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: ISC_TEST_ENTRY
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_ENTRY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: ISC_TEST_ENTRY_SETUP
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_ENTRY_SETUP(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: ISC_TEST_ENTRY_TEARDOWN
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_ENTRY_TEARDOWN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: ISC_TEST_ENTRY_SETUP_TEARDOWN
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_ENTRY_SETUP_TEARDOWN(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - setup
    - ','
    - teardown
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: ISC_TEST_ENTRY_CUSTOM
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_ENTRY_CUSTOM(name, setup, teardown)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: ISC_SETUP_TEST_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SETUP_TEST_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: ISC_RUN_TEST_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_RUN_TEST_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: ISC_TEARDOWN_TEST_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEARDOWN_TEST_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - setup
    - ','
    - teardown
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ISC_LOOP_TEST_CUSTOM_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_CUSTOM_DECLARE(name, setup, teardown)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: ISC_LOOP_TEST_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: ISC_LOOP_TEST_SETUP_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_SETUP_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_SETUP_TEARDOWN_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: ISC_LOOP_TEST_TEARDOWN_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_TEARDOWN_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: ISC_LOOP_SETUP_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_SETUP_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: ISC_SETUP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SETUP_TEST_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_RUN_TEST_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: ISC_TEARDOWN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEARDOWN_TEST_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - setup
    - ','
    - teardown
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 144
    functionName: ISC_LOOP_TEST_CUSTOM_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_CUSTOM_IMPL(name, setup, teardown)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: ISC_LOOP_TEST_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_SETUP_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: ISC_LOOP_TEST_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEST_TEARDOWN_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: ISC_LOOP_SETUP_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_SETUP_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ISC_LOOP_TEARDOWN_IMPL
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOOP_TEARDOWN_IMPL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: ISC_TEST_DECLARE
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_DECLARE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - setup
    - ','
    - teardown
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 256
    functionName: ISC_TEST_MAIN_CUSTOM
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_TEST_MAIN_CUSTOM(setup, teardown)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qp_common_character
      Src: /src/bind9/tests/libtest/qp.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - bit
    argTypes:
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: qp_test_bittoascii
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - qp_common_character
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t qp_test_bittoascii(dns_qpshift_t bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qp_test_bittoascii
      Src: /src/bind9/tests/libtest/qp.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - dns_qpkey_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: qp_test_keytoascii
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - qp_test_bittoascii
    linkageType: ''
    returnType: char
    signature: 'char *

      qp_test_keytoascii(dns_qpkey_t key, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_tag
      Src: /src/bind9/tests/libtest/qp.c:73,1
    - Dst: branch_twigs
      Src: /src/bind9/tests/libtest/qp.c:77,1
    - Dst: branch_twigs_size
      Src: /src/bind9/tests/libtest/qp.c:78,1
    - Dst: getheight
      Src: /src/bind9/tests/libtest/qp.c:80,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/libtest/qp.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: getheight
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - getheight
    - node_tag
    - ISC_MAX
    - branch_twigs_size
    - branch_twigs
    linkageType: ''
    returnType: size_t
    signature: size_t getheight(dns_qp_t *qp, dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_root
      Src: /src/bind9/tests/libtest/qp.c:88,1
    - Dst: getheight
      Src: /src/bind9/tests/libtest/qp.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: qp_test_getheight
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - getheight
    - get_root
    linkageType: ''
    returnType: size_t
    signature: size_t qp_test_getheight(dns_qp_t *qp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_tag
      Src: /src/bind9/tests/libtest/qp.c:94,1
    - Dst: leaf_qpkey
      Src: /src/bind9/tests/libtest/qp.c:96,1
    - Dst: branch_twigs
      Src: /src/bind9/tests/libtest/qp.c:99,1
    - Dst: branch_twigs_size
      Src: /src/bind9/tests/libtest/qp.c:100,1
    - Dst: maxkeylen
      Src: /src/bind9/tests/libtest/qp.c:102,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/libtest/qp.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: maxkeylen
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - leaf_qpkey
    - maxkeylen
    - node_tag
    - ISC_MAX
    - branch_twigs_size
    - branch_twigs
    linkageType: ''
    returnType: size_t
    signature: size_t maxkeylen(dns_qp_t *qp, dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_root
      Src: /src/bind9/tests/libtest/qp.c:110,1
    - Dst: maxkeylen
      Src: /src/bind9/tests/libtest/qp.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: qp_test_maxkeylen
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - get_root
    - maxkeylen
    linkageType: ''
    returnType: size_t
    signature: size_t qp_test_maxkeylen(dns_qp_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/tests/libtest/qp.c:121,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:122,1
    - Dst: ref_chunk
      Src: /src/bind9/tests/libtest/qp.c:123,1
    - Dst: ref_cell
      Src: /src/bind9/tests/libtest/qp.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qpr
    - type
    - tail
    argTypes:
    - dns_qpreadable_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: dumpread
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - ref_cell
    - dns_qpreader
    - printf
    - ref_chunk
    linkageType: ''
    returnType: void
    signature: void dumpread(dns_qpreadable_t qpr, const char *type, const char *tail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpread
      Src: /src/bind9/tests/libtest/qp.c:129,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:130,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:131,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:133,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - type
    argTypes:
    - dns_qp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: dumpqp
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - dumpread
    - printf
    linkageType: ''
    returnType: void
    signature: void dumpqp(dns_qp_t *qp, const char *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpread
      Src: /src/bind9/tests/libtest/qp.c:143,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: qp_test_dumpread
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - dumpread
    - fflush
    linkageType: ''
    returnType: void
    signature: void qp_test_dumpread(dns_qpreadable_t qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpread
      Src: /src/bind9/tests/libtest/qp.c:149,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:150,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qpsnap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: qp_test_dumpsnap
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - dumpread
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void qp_test_dumpsnap(dns_qpsnap_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpqp
      Src: /src/bind9/tests/libtest/qp.c:156,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: qp_test_dumpqp
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - dumpqp
    - fflush
    linkageType: ''
    returnType: void
    signature: void qp_test_dumpqp(dns_qp_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcu_dereference
      Src: /src/bind9/tests/libtest/qp.c:163,1
    - Dst: unpack_reader
      Src: /src/bind9/tests/libtest/qp.c:164,1
    - Dst: dumpqp
      Src: /src/bind9/tests/libtest/qp.c:165,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:166,1
    - Dst: ref_chunk
      Src: /src/bind9/tests/libtest/qp.c:167,1
    - Dst: ref_cell
      Src: /src/bind9/tests/libtest/qp.c:167,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:169,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/libtest/qp.c:171,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:174,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: qp_test_dumpmulti
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - rcu_dereference
    - dumpqp
    - unpack_reader
    - ref_cell
    - printf
    - ref_chunk
    - ISC_LIST_FOREACH
    - fflush
    linkageType: ''
    returnType: void
    signature: void qp_test_dumpmulti(dns_qpmulti_t *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumpqp
      Src: /src/bind9/tests/libtest/qp.c:182,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:184,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:192,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: qp_test_dumpchunks
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - dumpqp
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void qp_test_dumpchunks(dns_qp_t *qp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/tests/libtest/qp.c:198,1
    - Dst: get_root
      Src: /src/bind9/tests/libtest/qp.c:215,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:217,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:218,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:221,1
    - Dst: is_branch
      Src: /src/bind9/tests/libtest/qp.c:225,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/tests/libtest/qp.c:226,1
    - Dst: branch_twigs_size
      Src: /src/bind9/tests/libtest/qp.c:227,1
    - Dst: ref_ptr
      Src: /src/bind9/tests/libtest/qp.c:228,1
    - Dst: branch_has_twig
      Src: /src/bind9/tests/libtest/qp.c:236,1
    - Dst: assert
      Src: /src/bind9/tests/libtest/qp.c:240,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/libtest/qp.c:241,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:242,1
    - Dst: ref_chunk
      Src: /src/bind9/tests/libtest/qp.c:243,1
    - Dst: ref_cell
      Src: /src/bind9/tests/libtest/qp.c:243,1
    - Dst: branch_key_offset
      Src: /src/bind9/tests/libtest/qp.c:244,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/libtest/qp.c:252,1
    - Dst: leaf_qpkey
      Src: /src/bind9/tests/libtest/qp.c:252,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:253,1
    - Dst: leaf_pval
      Src: /src/bind9/tests/libtest/qp.c:254,1
    - Dst: leaf_ival
      Src: /src/bind9/tests/libtest/qp.c:254,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:260,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:261,1
    - Dst: fprintf
      Src: /src/bind9/tests/libtest/qp.c:268,1
    - Dst: ref_ptr
      Src: /src/bind9/tests/libtest/qp.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - qpr
    argTypes:
    - dns_qpreadable_t
    assertStmts:
    - condition: (len == max)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/bind9/tests/libtest/qp.c
    constantsTouched: []
    func_position:
      end: 272
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 272
    functionName: qp_test_dumptrie
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 3
    functionsReached:
    - get_root
    - assert
    - qp_test_keytoascii
    - leaf_qpkey
    - branch_has_twig
    - ref_cell
    - branch_twigs_size
    - ref_ptr
    - printf
    - fflush
    - is_branch
    - ref_chunk
    - leaf_pval
    - branch_twigs_ref
    - leaf_ival
    - dns_qpreader
    - branch_key_offset
    - fprintf
    linkageType: ''
    returnType: void
    signature: void qp_test_dumptrie(dns_qpreadable_t qpr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:277,1
    - Dst: is_branch
      Src: /src/bind9/tests/libtest/qp.c:278,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/tests/libtest/qp.c:279,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:280,1
    - Dst: ref_chunk
      Src: /src/bind9/tests/libtest/qp.c:280,1
    - Dst: ref_cell
      Src: /src/bind9/tests/libtest/qp.c:280,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:282,1
    - Dst: leaf_pval
      Src: /src/bind9/tests/libtest/qp.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: dumpdot_name
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - ref_cell
    - printf
    - ref_chunk
    - is_branch
    - leaf_pval
    - branch_twigs_ref
    linkageType: ''
    returnType: void
    signature: void dumpdot_name(dns_qpnode_t *n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:289,1
    - Dst: is_branch
      Src: /src/bind9/tests/libtest/qp.c:290,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:291,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:292,1
    - Dst: branch_key_offset
      Src: /src/bind9/tests/libtest/qp.c:293,1
    - Dst: branch_has_twig
      Src: /src/bind9/tests/libtest/qp.c:298,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:299,1
    - Dst: branch_twig_pos
      Src: /src/bind9/tests/libtest/qp.c:300,1
    - Dst: qp_test_bittoascii
      Src: /src/bind9/tests/libtest/qp.c:301,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:305,1
    - Dst: branch_twigs
      Src: /src/bind9/tests/libtest/qp.c:307,1
    - Dst: branch_twigs_size
      Src: /src/bind9/tests/libtest/qp.c:308,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:311,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:312,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:313,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:314,1
    - Dst: dumpdot_twig
      Src: /src/bind9/tests/libtest/qp.c:318,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/libtest/qp.c:324,1
    - Dst: leaf_qpkey
      Src: /src/bind9/tests/libtest/qp.c:324,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:325,1
    - Dst: leaf_pval
      Src: /src/bind9/tests/libtest/qp.c:326,1
    - Dst: leaf_ival
      Src: /src/bind9/tests/libtest/qp.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 328
    functionName: dumpdot_twig
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - qp_test_bittoascii
    - dumpdot_name
    - qp_test_keytoascii
    - leaf_qpkey
    - branch_twig_pos
    - branch_has_twig
    - branch_twigs_size
    - printf
    - is_branch
    - leaf_pval
    - leaf_ival
    - branch_twigs
    - branch_key_offset
    - dumpdot_twig
    linkageType: ''
    returnType: void
    signature: void dumpdot_twig(dns_qp_t *qp, dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/qp.c:332,1
    - Dst: QP_VALID
      Src: /src/bind9/tests/libtest/qp.c:332,1
    - Dst: get_root
      Src: /src/bind9/tests/libtest/qp.c:333,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:334,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:335,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:336,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:337,1
    - Dst: dumpdot_twig
      Src: /src/bind9/tests/libtest/qp.c:338,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: qp_test_dumpdot
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - get_root
    - dumpdot_name
    - printf
    - REQUIRE
    - QP_VALID
    - dumpdot_twig
    linkageType: ''
    returnType: void
    signature: void qp_test_dumpdot(dns_qp_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/qp.c:345,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/libtest/qp.c:349,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/libtest/qp.c:350,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:351,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/libtest/qp.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - dns_qpkey_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 356
    functionName: qp_test_printkey
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - dns_fixedname_initname
    - dns_qpkey_toname
    - printf
    - dns_name_format
    - dns_name_isabsolute
    linkageType: ''
    returnType: void
    signature: void qp_test_printkey(const dns_qpkey_t key, size_t keylen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/bind9/tests/libtest/isc.c:46,1
    - Dst: setrlimit
      Src: /src/bind9/tests/libtest/isc.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: adjustnofile
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 1
    functionsReached:
    - setrlimit
    - getrlimit
    linkageType: ''
    returnType: void
    signature: void adjustnofile(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/tests/libtest/isc.c:56,1
    - Dst: atoi
      Src: /src/bind9/tests/libtest/isc.c:58,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/libtest/isc.c:60,1
    - Dst: INSIST
      Src: /src/bind9/tests/libtest/isc.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: setup_workers
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached:
    - atoi
    - getenv
    - INSIST
    - isc_os_ncpus
    linkageType: ''
    returnType: int
    signature: int setup_workers(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/tests/libtest/isc.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: setup_mctx
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int setup_mctx(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/libtest/isc.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: teardown_mctx
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    linkageType: ''
    returnType: int
    signature: int teardown_mctx(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/isc.c:89,1
    - Dst: setup_workers
      Src: /src/bind9/tests/libtest/isc.c:91,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/libtest/isc.c:93,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/libtest/isc.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: setup_loopmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 9
    functionsReached:
    - setup_workers
    - isc_loopmgr_create
    - REQUIRE
    - isc_loop_main
    linkageType: ''
    returnType: int
    signature: int setup_loopmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/isc.c:101,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/tests/libtest/isc.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: teardown_loopmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 9
    functionsReached:
    - isc_loopmgr_destroy
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int teardown_loopmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/isc.c:111,1
    - Dst: adjustnofile
      Src: /src/bind9/tests/libtest/isc.c:113,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/libtest/isc.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: setup_netmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 3
    functionsReached:
    - adjustnofile
    - REQUIRE
    - isc_netmgr_create
    linkageType: ''
    returnType: int
    signature: int setup_netmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/isc.c:122,1
    - Dst: isc_nm_detach
      Src: /src/bind9/tests/libtest/isc.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: teardown_netmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 3
    functionsReached:
    - isc_nm_detach
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int teardown_netmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/libtest/isc.c:131,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/libtest/isc.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: setup_managers
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 1
    functionsReached:
    - setup_netmgr
    - setup_loopmgr
    linkageType: ''
    returnType: int
    signature: int setup_managers(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/libtest/isc.c:139,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/libtest/isc.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: teardown_managers
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 1
    functionsReached:
    - teardown_netmgr
    - teardown_loopmgr
    linkageType: ''
    returnType: int
    signature: int teardown_managers(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:64,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:65,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:67,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:69,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:70,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:71,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:72,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 11
    argNames:
    - srcaddr
    - destaddr
    - message
    - env
    - lsctx
    - loop
    - cb
    - cbarg
    - sigresultp
    - viewmatchresultp
    - viewp
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    - dns_message_t*
    - dns_aclenv_t*
    - ns_server_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_result_t*
    - isc_result_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: matchview
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t matchview(isc_netaddr_t *srcaddr, isc_netaddr_t *destaddr,\n\t
      \ dns_message_t *message, dns_aclenv_t *env, ns_server_t *lsctx,\n\t  isc_loop_t
      *loop, isc_job_cb cb, void *cbarg,\n\t  isc_result_t *sigresultp, isc_result_t
      *viewmatchresultp,\n\t  dns_view_t **viewp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:81,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/tests/libtest/ns.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: scan_interfaces
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - ns_interfacemgr_scan
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void scan_interfaces(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_managers
      Src: /src/bind9/tests/libtest/ns.c:89,1
    - Dst: ns_server_create
      Src: /src/bind9/tests/libtest/ns.c:91,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/libtest/ns.c:93,1
    - Dst: ns_interfacemgr_create
      Src: /src/bind9/tests/libtest/ns.c:98,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/libtest/ns.c:104,1
    - Dst: teardown_server
      Src: /src/bind9/tests/libtest/ns.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 4
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: setup_server
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - ns_server_create
    - ns_interfacemgr_create
    - setup_managers
    - teardown_server
    - dns_dispatchmgr_create
    - isc_loop_setup
    linkageType: ''
    returnType: int
    signature: int setup_server(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_shutdown
      Src: /src/bind9/tests/libtest/ns.c:116,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/tests/libtest/ns.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: shutdown_interfacemgr
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_shutdown
    - ns_interfacemgr_detach
    linkageType: ''
    returnType: void
    signature: void shutdown_interfacemgr(void *arg ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shutdown_interfacemgr
      Src: /src/bind9/tests/libtest/ns.c:123,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/libtest/ns.c:126,1
    - Dst: ns_server_detach
      Src: /src/bind9/tests/libtest/ns.c:130,1
    - Dst: teardown_managers
      Src: /src/bind9/tests/libtest/ns.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: teardown_server
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - shutdown_interfacemgr
    - teardown_managers
    - dns_dispatchmgr_detach
    - ns_server_detach
    linkageType: ''
    returnType: int
    signature: int teardown_server(void **state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/libtest/ns.c:148,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/libtest/ns.c:156,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/libtest/ns.c:161,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/libtest/ns.c:171,1
    - Dst: dns_zone_load
      Src: /src/bind9/tests/libtest/ns.c:173,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/libtest/ns.c:181,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/libtest/ns.c:186,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/libtest/ns.c:192,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/libtest/ns.c:194,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/libtest/ns.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - zonename
    - filename
    - view
    argTypes:
    - char*
    - char*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 198
    functionName: ns_test_serve_zone
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 3
    functionsReached:
    - dns_test_managezone
    - dns_db_detach
    - dns_zone_setfile
    - dns_test_makezone
    - dns_zone_getdb
    - dns_zone_detach
    - dns_test_setupzonemgr
    - dns_zone_load
    - dns_test_closezonemgr
    - dns_test_releasezone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_test_serve_zone(const char *zonename, const char *filename,\n\t\t
      \  dns_view_t *view)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/libtest/ns.c:202,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/libtest/ns.c:203,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/libtest/ns.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: ns_test_cleanup_zone
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 3
    functionsReached:
    - dns_zone_detach
    - dns_test_closezonemgr
    - dns_test_releasezone
    linkageType: ''
    returnType: void
    signature: void ns_test_cleanup_zone(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:215,1
    - Dst: ns_interfacemgr_getclientmgr
      Src: /src/bind9/tests/libtest/ns.c:217,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/libtest/ns.c:219,1
    - Dst: ns__client_setup
      Src: /src/bind9/tests/libtest/ns.c:220,1
    - Dst: atomic_load
      Src: /src/bind9/tests/libtest/ns.c:223,1
    - Dst: atomic_load
      Src: /src/bind9/tests/libtest/ns.c:224,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:229,1
    - Dst: atomic_store
      Src: /src/bind9/tests/libtest/ns.c:231,1
    - Dst: atomic_store
      Src: /src/bind9/tests/libtest/ns.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ifp0
    - tcp
    - clientp
    argTypes:
    - ns_interface_t*
    - bool
    - ns_client_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 235
    functionName: ns_test_getclient
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - ns__client_setup
    - atomic_store
    - UNUSED
    - ns_interfacemgr_getclientmgr
    - isc_mem_get
    - REQUIRE
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void ns_test_getclient(ns_interface_t *ifp0, bool tcp, ns_client_t
      **clientp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:253,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/libtest/ns.c:258,1
    - Dst: isc_random16
      Src: /src/bind9/tests/libtest/ns.c:264,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/tests/libtest/ns.c:274,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/tests/libtest/ns.c:275,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/ns.c:282,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/tests/libtest/ns.c:286,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/libtest/ns.c:287,1
    - Dst: dns_message_addname
      Src: /src/bind9/tests/libtest/ns.c:288,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/libtest/ns.c:293,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/libtest/ns.c:294,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/tests/libtest/ns.c:295,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/tests/libtest/ns.c:299,1
    - Dst: dns_message_renderend
      Src: /src/bind9/tests/libtest/ns.c:303,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/libtest/ns.c:307,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/libtest/ns.c:313,1
    - Dst: isc_buffer_first
      Src: /src/bind9/tests/libtest/ns.c:318,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/libtest/ns.c:319,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/tests/libtest/ns.c:322,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/tests/libtest/ns.c:323,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/libtest/ns.c:325,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 4
    argNames:
    - client
    - qnamestr
    - qtype
    - qflags
    argTypes:
    - ns_client_t*
    - char*
    - dns_rdatatype_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 328
    functionName: attach_query_msg_to_client
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - dns_compress_invalidate
    - dns_message_parse
    - dns_message_renderbegin
    - dns_message_gettempname
    - REQUIRE
    - dns_name_fromstring
    - dns_message_puttempname
    - dns_message_gettemprdataset
    - dns_message_create
    - dns_message_puttemprdataset
    - dns_message_rendersection
    - dns_message_addname
    - dns_message_detach
    - ISC_LIST_APPEND
    - isc_random16
    - dns_rdataset_makequestion
    - isc_buffer_init
    - isc_buffer_first
    - dns_compress_init
    - dns_message_renderend
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t attach_query_msg_to_client(ns_client_t *client, const
      char *qnamestr,\n\t\t\t   dns_rdatatype_t qtype, unsigned int qflags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:340,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:341,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:342,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/libtest/ns.c:349,1
    - Dst: memmove
      Src: /src/bind9/tests/libtest/ns.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 357
    functionName: extract_qctx
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t extract_qctx(void *arg, void *data, isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:374,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:375,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:376,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/libtest/ns.c:386,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/libtest/ns.c:387,1
    - Dst: ns_query_start
      Src: /src/bind9/tests/libtest/ns.c:392,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/libtest/ns.c:395,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - client
    - qctxp
    argTypes:
    - ns_client_t*
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 400
    functionName: create_qctx_for_client
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - ns_hook_add
    - ns_hooktable_free
    - ns_hooktable_create
    - REQUIRE
    - ns_query_start
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_qctx_for_client(ns_client_t *client, query_ctx_t
      **qctxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:409,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:410,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:411,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:412,1
    - Dst: ns_test_getclient
      Src: /src/bind9/tests/libtest/ns.c:417,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/libtest/ns.c:418,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/libtest/ns.c:423,1
    - Dst: attach_query_msg_to_client
      Src: /src/bind9/tests/libtest/ns.c:433,1
    - Dst: create_qctx_for_client
      Src: /src/bind9/tests/libtest/ns.c:450,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:461,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/libtest/ns.c:466,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/libtest/ns.c:468,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - params
    - qctxp
    argTypes:
    - ns_test_qctx_create_params_t*
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 473
    functionName: ns_test_qctx_create
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 4
    functionsReached:
    - isc_nmhandle_detach
    - create_qctx_for_client
    - attach_query_msg_to_client
    - ns_test_getclient
    - isc_time_now
    - REQUIRE
    - dns_test_makeview
    - dns_message_detach
    - dns_view_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_test_qctx_create(const ns_test_qctx_create_params_t
      *params,\n\t\t    query_ctx_t **qctxp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:479,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:480,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/libtest/ns.c:486,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/libtest/ns.c:489,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:492,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/libtest/ns.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - qctxp
    argTypes:
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 496
    functionName: ns_test_qctx_destroy
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 4
    functionsReached:
    - isc_nmhandle_detach
    - dns_db_detach
    - dns_zone_detach
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ns_test_qctx_destroy(query_ctx_t **qctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:500,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: ns_test_hook_catch_call
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns_test_hook_catch_call(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/ns.c:517,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/ns.c:519,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/libtest/ns.c:524,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/libtest/ns.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - db
    - dbtype
    - origin
    - testfile
    argTypes:
    - dns_db_t**
    - dns_dbtype_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 532
    functionName: ns_test_loaddb
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 10
    functionsReached:
    - dns_fixedname_initname
    - dns_db_load
    - dns_name_fromstring
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const
      char *origin,\n\t       const char *testfile)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/libtest/ns.c:544,1
    - Dst: exit
      Src: /src/bind9/tests/libtest/ns.c:545,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 546
    functionName: fromhex
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: int
    signature: int fromhex(char c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/libtest/ns.c:559,1
    - Dst: fgets
      Src: /src/bind9/tests/libtest/ns.c:565,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/ns.c:594,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/ns.c:596,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/libtest/ns.c:606,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - file
    - buf
    - bufsiz
    - sizep
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 608
    functionName: ns_test_getdata
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 2
    functionsReached:
    - fromhex
    - fgets
    - isc_stdio_open
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_test_getdata(const char *file, unsigned char *buf,
      size_t bufsiz,\n\t\tsize_t *sizep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/libtest/dns.c:68,1
    - Dst: dns_view_create
      Src: /src/bind9/tests/libtest/dns.c:75,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/libtest/dns.c:79,1
    - Dst: dns_cache_create
      Src: /src/bind9/tests/libtest/dns.c:83,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/libtest/dns.c:86,1
    - Dst: dns_view_setcache
      Src: /src/bind9/tests/libtest/dns.c:90,1
    - Dst: dns_cache_detach
      Src: /src/bind9/tests/libtest/dns.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - name
    - with_dispatchmgr
    - with_cache
    - viewp
    argTypes:
    - char*
    - bool
    - bool
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 102
    functionName: dns_test_makeview
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 7
    functionsReached:
    - dns_view_setcache
    - dns_view_create
    - dns_cache_create
    - dns_dispatchmgr_detach
    - dns_cache_detach
    - dns_dispatchmgr_create
    - dns_view_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_test_makeview(const char *name, bool with_dispatchmgr,
      bool with_cache,\n\t\t  dns_view_t **viewp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:112,1
    - Dst: dns_zone_create
      Src: /src/bind9/tests/libtest/dns.c:117,1
    - Dst: dns_zone_settype
      Src: /src/bind9/tests/libtest/dns.c:122,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:123,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/dns.c:124,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/tests/libtest/dns.c:128,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/libtest/dns.c:134,1
    - Dst: dns_zone_setview
      Src: /src/bind9/tests/libtest/dns.c:145,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/tests/libtest/dns.c:146,1
    - Dst: dns_view_addzone
      Src: /src/bind9/tests/libtest/dns.c:147,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/tests/libtest/dns.c:149,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/libtest/dns.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - name
    - zonep
    - view
    - createview
    argTypes:
    - char*
    - dns_zone_t**
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 160
    functionName: dns_test_makezone
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 8
    functionsReached:
    - dns_zone_setclass
    - dns_zone_setorigin
    - dns_fixedname_initname
    - dns_zone_settype
    - dns_zone_detach
    - dns_zone_setview
    - dns_name_fromstring
    - REQUIRE
    - dns_view_addzone
    - dns_test_makeview
    - dns_zone_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_test_makezone(const char *name, dns_zone_t **zonep,
      dns_view_t *view,\n\t\t  bool createview)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:164,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/libtest/dns.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: dns_test_setupzonemgr
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_zonemgr_create
    linkageType: ''
    returnType: void
    signature: void dns_test_setupzonemgr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:172,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/tests/libtest/dns.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: dns_test_managezone
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 4
    functionsReached:
    - dns_zonemgr_managezone
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_test_managezone(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:180,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/tests/libtest/dns.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: dns_test_releasezone
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_zonemgr_releasezone
    linkageType: ''
    returnType: void
    signature: void dns_test_releasezone(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:186,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/libtest/dns.c:188,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/libtest/dns.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: dns_test_closezonemgr
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 5
    functionsReached:
    - dns_zonemgr_detach
    - REQUIRE
    - dns_zonemgr_shutdown
    linkageType: ''
    returnType: void
    signature: void dns_test_closezonemgr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/bind9/tests/libtest/dns.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - usec
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: dns_test_nap
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 0
    functionsReached:
    - nanosleep
    linkageType: ''
    returnType: void
    signature: void dns_test_nap(uint32_t usec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:213,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/dns.c:215,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/libtest/dns.c:220,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/libtest/dns.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - db
    - dbtype
    - origin
    - testfile
    argTypes:
    - dns_db_t**
    - dns_dbtype_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 228
    functionName: dns_test_loaddb
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 10
    functionsReached:
    - dns_fixedname_initname
    - dns_db_load
    - dns_name_fromstring
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_test_loaddb(dns_db_t **db, dns_dbtype_t dbtype, const
      char *origin,\n\t\tconst char *testfile)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/libtest/dns.c:240,1
    - Dst: exit
      Src: /src/bind9/tests/libtest/dns.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: fromhex
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 2
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: int
    signature: int fromhex(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/tests/libtest/dns.c:256,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/libtest/dns.c:257,1
    - Dst: isc_hex_totext
      Src: /src/bind9/tests/libtest/dns.c:258,1
    - Dst: INSIST
      Src: /src/bind9/tests/libtest/dns.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - data
    - len
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: dns_test_tohex
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_hex_totext
    - memset
    - INSIST
    linkageType: ''
    returnType: char
    signature: "char *\ndns_test_tohex(const unsigned char *data, size_t len, char
      *buf,\n\t       size_t buflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/libtest/dns.c:275,1
    - Dst: fgets
      Src: /src/bind9/tests/libtest/dns.c:281,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/dns.c:310,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/dns.c:312,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/libtest/dns.c:321,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - file
    - buf
    - bufsiz
    - sizep
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 323
    functionName: dns_test_getdata
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 1
    functionsReached:
    - fromhex
    - fgets
    - isc_stdio_open
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_test_getdata(const char *file, unsigned char *buf,
      size_t bufsiz,\n\t\t size_t *sizep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/dns.c:327,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/dns.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: nullmsg
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:343,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/tests/libtest/dns.c:343,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:344,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:345,1
    - Dst: strlen
      Src: /src/bind9/tests/libtest/dns.c:350,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/libtest/dns.c:351,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/libtest/dns.c:352,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/libtest/dns.c:357,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/tests/libtest/dns.c:368,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/tests/libtest/dns.c:373,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/libtest/dns.c:378,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/libtest/dns.c:386,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/tests/libtest/dns.c:392,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/tests/libtest/dns.c:399,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/libtest/dns.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 7
    argNames:
    - rdata
    - rdclass
    - rdtype
    - dst
    - dstlen
    - src
    - warnings
    argTypes:
    - dns_rdata_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned char*
    - size_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 406
    functionName: dns_test_rdatafromstring
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 7
    functionsReached:
    - dns_rdatacallbacks_init
    - isc_lex_setcomments
    - DNS_RDATA_INITIALIZED
    - isc_lex_setspecials
    - isc_buffer_init
    - strlen
    - dns_rdata_fromtext
    - REQUIRE
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_lex_destroy
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_test_rdatafromstring(dns_rdata_t *rdata, dns_rdataclass_t
      rdclass,\n\t\t\t dns_rdatatype_t rdtype, unsigned char *dst,\n\t\t\t size_t
      dstlen, const char *src, bool warnings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/libtest/dns.c:415,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:417,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/libtest/dns.c:419,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/libtest/dns.c:421,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/libtest/dns.c:422,1
    - Dst: INSIST
      Src: /src/bind9/tests/libtest/dns.c:423,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/libtest/dns.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - namestr
    - fname
    argTypes:
    - char*
    - dns_fixedname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 426
    functionName: dns_test_namefromstring
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 21
    functionsReached:
    - dns_name_fromtext
    - isc_buffer_putmem
    - dns_fixedname_initname
    - INSIST
    - strlen
    - isc_buffer_free
    - isc_buffer_allocate
    linkageType: ''
    returnType: void
    signature: void dns_test_namefromstring(const char *namestr, dns_fixedname_t *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:441,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:442,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/libtest/dns.c:444,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:450,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/dns.c:451,1
    - Dst: strlen
      Src: /src/bind9/tests/libtest/dns.c:461,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/tests/libtest/dns.c:462,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/libtest/dns.c:471,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/libtest/dns.c:472,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/libtest/dns.c:483,1
    - Dst: dns_diff_append
      Src: /src/bind9/tests/libtest/dns.c:485,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/libtest/dns.c:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - diff
    - changes
    - warnings
    argTypes:
    - dns_diff_t*
    - zonechange_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 493
    functionName: dns_test_difffromchanges
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_difftuple_create
    - dns_diff_append
    - dns_fixedname_initname
    - dns_diff_clear
    - strlen
    - dns_name_fromstring
    - REQUIRE
    - dns_test_rdatafromstring
    - dns_diff_init
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_test_difffromchanges(dns_diff_t *diff, const zonechange_t
      *changes,\n\t\t\t bool warnings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/load-names.c:61,1
    - Dst: assert
      Src: /src/bind9/tests/bench/load-names.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts:
    - condition: (pval == &item[ival])
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/tests/bench/load-names.c
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: item_check
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert
    linkageType: ''
    returnType: void
    signature: void item_check(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/load-names.c:67,1
    - Dst: assert
      Src: /src/bind9/tests/bench/load-names.c:68,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/bench/load-names.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - ctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts:
    - condition: (pval == &item[ival])
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bind9/tests/bench/load-names.c
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: item_makekey
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    - UNUSED
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t item_makekey(dns_qpkey_t key, void *ctx, void *pval, uint32_t
      ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/bench/load-names.c:75,1
    - Dst: strlcpy
      Src: /src/bind9/tests/bench/load-names.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: testname
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void testname(void *ctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: CHECK
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 188
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(count, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_new
      Src: /src/bind9/tests/bench/load-names.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: new_lfht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - cds_lfht_new
    linkageType: ''
    returnType: void
    signature: 'void *

      new_lfht(isc_mem_t *mem ISC_ATTR_UNUSED)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/tests/bench/load-names.c:117,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/bench/load-names.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - _key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: lfht_match
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - dns_name_equal
    linkageType: ''
    returnType: int
    signature: int lfht_match(struct cds_lfht_node *ht_node, const void *_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_hash
      Src: /src/bind9/tests/bench/load-names.c:126,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/tests/bench/load-names.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - lfht
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: add_lfht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_name_hash
    - cds_lfht_add_unique
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_lfht(void *lfht, size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_hash
      Src: /src/bind9/tests/bench/load-names.c:141,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/tests/bench/load-names.c:144,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/tests/bench/load-names.c:146,1
    - Dst: caa_container_of
      Src: /src/bind9/tests/bench/load-names.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - lfht
    - count
    - pval
    argTypes:
    - void*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: get_lfht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - cds_lfht_iter_get_node
    - dns_name_hash
    - caa_container_of
    - cds_lfht_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_lfht(void *lfht, size_t count, void **pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/bench/load-names.c:159,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:161,1
    - Dst: add_lfht
      Src: /src/bind9/tests/bench/load-names.c:163,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:164,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:167,1
    - Dst: get_lfht
      Src: /src/bind9/tests/bench/load-names.c:170,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:171,1
    - Dst: assert
      Src: /src/bind9/tests/bench/load-names.c:172,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:175,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:177,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - void*
    assertStmts:
    - condition: (pval == &item[n])
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bind9/tests/bench/load-names.c
    constantsTouched: []
    func_position:
      end: 181
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 181
    functionName: thread_lfht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - assert
    - get_lfht
    - CHECK
    - isc_barrier_wait
    - isc_time_now_hires
    - isc_time_microdiff
    - add_lfht
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_lfht(void *arg0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/bench/load-names.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: new_hashmap
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_create
    linkageType: ''
    returnType: void
    signature: 'void *

      new_hashmap(isc_mem_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/tests/bench/load-names.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: name_match
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool name_match(void *node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/bench/load-names.c:203,1
    - Dst: dns_name_hash
      Src: /src/bind9/tests/bench/load-names.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hashmap
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 207
    functionName: add_hashmap
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_name_hash
    - isc_hashmap_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_hashmap(void *hashmap, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/bench/load-names.c:211,1
    - Dst: dns_name_hash
      Src: /src/bind9/tests/bench/load-names.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hashmap
    - count
    - pval
    argTypes:
    - void*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: get_hashmap
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_name_hash
    - isc_hashmap_find
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_hashmap(void *hashmap, size_t count, void **pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/bench/load-names.c:221,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:223,1
    - Dst: WRLOCK
      Src: /src/bind9/tests/bench/load-names.c:224,1
    - Dst: add_hashmap
      Src: /src/bind9/tests/bench/load-names.c:226,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:227,1
    - Dst: WRUNLOCK
      Src: /src/bind9/tests/bench/load-names.c:229,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:231,1
    - Dst: RDLOCK
      Src: /src/bind9/tests/bench/load-names.c:232,1
    - Dst: get_hashmap
      Src: /src/bind9/tests/bench/load-names.c:235,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:236,1
    - Dst: assert
      Src: /src/bind9/tests/bench/load-names.c:237,1
    - Dst: RDUNLOCK
      Src: /src/bind9/tests/bench/load-names.c:239,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:240,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:242,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - void*
    assertStmts:
    - condition: (pval == &item[n])
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/bind9/tests/bench/load-names.c
    constantsTouched: []
    func_position:
      end: 246
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 246
    functionName: thread_hashmap
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - RDUNLOCK
    - assert
    - add_hashmap
    - WRUNLOCK
    - RDLOCK
    - CHECK
    - isc_barrier_wait
    - isc_time_now_hires
    - WRLOCK
    - get_hashmap
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_hashmap(void *arg0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_init
      Src: /src/bind9/tests/bench/load-names.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: new_ht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - isc_ht_init
    linkageType: ''
    returnType: void
    signature: 'void *

      new_ht(isc_mem_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_add
      Src: /src/bind9/tests/bench/load-names.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 265
    functionName: add_ht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - isc_ht_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_ht(void *ht, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_find
      Src: /src/bind9/tests/bench/load-names.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ht
    - count
    - pval
    argTypes:
    - void*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: get_ht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_ht(void *ht, size_t count, void **pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/bench/load-names.c:278,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:280,1
    - Dst: WRLOCK
      Src: /src/bind9/tests/bench/load-names.c:281,1
    - Dst: add_ht
      Src: /src/bind9/tests/bench/load-names.c:283,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:284,1
    - Dst: WRUNLOCK
      Src: /src/bind9/tests/bench/load-names.c:286,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:288,1
    - Dst: RDLOCK
      Src: /src/bind9/tests/bench/load-names.c:289,1
    - Dst: get_ht
      Src: /src/bind9/tests/bench/load-names.c:292,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:293,1
    - Dst: assert
      Src: /src/bind9/tests/bench/load-names.c:294,1
    - Dst: RDUNLOCK
      Src: /src/bind9/tests/bench/load-names.c:296,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:297,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:299,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - void*
    assertStmts:
    - condition: (pval == &item[n])
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/bind9/tests/bench/load-names.c
    constantsTouched: []
    func_position:
      end: 303
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 303
    functionName: thread_ht
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - RDUNLOCK
    - add_ht
    - assert
    - get_ht
    - WRUNLOCK
    - RDLOCK
    - CHECK
    - isc_barrier_wait
    - isc_time_now_hires
    - WRLOCK
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_ht(void *arg0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_create
      Src: /src/bind9/tests/bench/load-names.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: new_qp
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_create
    linkageType: ''
    returnType: void
    signature: 'void *

      new_qp(isc_mem_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/load-names.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qp
    - count
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: add_qp
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_qp_insert
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_qp(void *qp, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/load-names.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qp
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: sqz_qp
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_qp_compact
    linkageType: ''
    returnType: void
    signature: void sqz_qp(void *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_getname
      Src: /src/bind9/tests/bench/load-names.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qp
    - count
    - pval
    argTypes:
    - void*
    - size_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: get_qp
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_qp_getname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_qp(void *qp, size_t count, void **pval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/bench/load-names.c:337,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/tests/bench/load-names.c:340,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:342,1
    - Dst: add_qp
      Src: /src/bind9/tests/bench/load-names.c:344,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:345,1
    - Dst: sqz_qp
      Src: /src/bind9/tests/bench/load-names.c:348,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/tests/bench/load-names.c:350,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/bench/load-names.c:352,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:355,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/bench/load-names.c:358,1
    - Dst: get_qp
      Src: /src/bind9/tests/bench/load-names.c:362,1
    - Dst: CHECK
      Src: /src/bind9/tests/bench/load-names.c:363,1
    - Dst: assert
      Src: /src/bind9/tests/bench/load-names.c:364,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/bench/load-names.c:367,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:369,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:371,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - arg0
    - sqz
    - brr
    argTypes:
    - void*
    - bool
    - bool
    assertStmts:
    - condition: (pval == &item[n])
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/bind9/tests/bench/load-names.c
    constantsTouched: []
    func_position:
      end: 375
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 375
    functionName: _thread_qp
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - assert
    - sqz_qp
    - get_qp
    - add_qp
    - CHECK
    - dns_qpmulti_commit
    - dns_qpread_destroy
    - isc_barrier_wait
    - isc_time_now_hires
    - isc_time_microdiff
    - rcu_barrier
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: 'void *

      _thread_qp(void *arg0, bool sqz, bool brr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _thread_qp
      Src: /src/bind9/tests/bench/load-names.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: thread_qp
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 1
    functionsReached:
    - _thread_qp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_qp(void *arg0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _thread_qp
      Src: /src/bind9/tests/bench/load-names.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: thread_qp_nosqz
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - _thread_qp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_qp_nosqz(void *arg0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _thread_qp
      Src: /src/bind9/tests/bench/load-names.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: thread_qp_brr
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached:
    - _thread_qp
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_qp_brr(void *arg0)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: FILE_CHECK
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_CHECK(check, msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_init
      Src: /src/bind9/tests/bench/load-names.c:423,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/bench/load-names.c:425,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/load-names.c:428,1
    - Dst: exit
      Src: /src/bind9/tests/bench/load-names.c:430,1
    - Dst: isc_file_getsize
      Src: /src/bind9/tests/bench/load-names.c:434,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/load-names.c:436,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/load-names.c:437,1
    - Dst: exit
      Src: /src/bind9/tests/bench/load-names.c:438,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/load-names.c:442,1
    - Dst: fopen
      Src: /src/bind9/tests/bench/load-names.c:443,1
    - Dst: fread
      Src: /src/bind9/tests/bench/load-names.c:444,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/load-names.c:445,1
    - Dst: strerror
      Src: /src/bind9/tests/bench/load-names.c:445,1
    - Dst: exit
      Src: /src/bind9/tests/bench/load-names.c:446,1
    - Dst: fclose
      Src: /src/bind9/tests/bench/load-names.c:448,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:457,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/bench/load-names.c:457,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/load-names.c:458,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:460,1
    - Dst: strcspn
      Src: /src/bind9/tests/bench/load-names.c:463,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:464,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/load-names.c:466,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/load-names.c:472,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/load-names.c:474,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/load-names.c:475,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/load-names.c:476,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:477,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/load-names.c:477,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/bench/load-names.c:480,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:484,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:487,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:492,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/bench/load-names.c:499,1
    - Dst: struct fun*::new
      Src: /src/bind9/tests/bench/load-names.c:500,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/bench/load-names.c:504,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:506,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/load-names.c:507,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/bench/load-names.c:516,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/bench/load-names.c:524,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/load-names.c:529,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/bench/load-names.c:531,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:533,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:534,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/load-names.c:535,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:537,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:550,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 552
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 44
    functionsReached:
    - isc_thread_create
    - printf
    - isc_time_now_hires
    - rcu_barrier
    - dns_name_countlabels
    - strspn
    - isc_thread_join
    - dns_fixedname_initname
    - strerror
    - fprintf
    - dns_name_fromtext
    - ARRAY_SIZE
    - isc_rwlock_init
    - isc_mem_inuse
    - fopen
    - fclose
    - isc_barrier_init
    - isc_mem_get
    - FILE_CHECK
    - isc_time_microdiff
    - fread
    - exit
    - isc_result_totext
    - isc_buffer_init
    - struct fun*::new
    - isc_buffer_add
    - isc_file_getsize
    - isc_mem_create
    - strcspn
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/bench/compress.c:35,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/compress.c:35,1
    - Dst: exit
      Src: /src/bind9/tests/bench/compress.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: CHECKRESULT
    functionSourceFile: /src/bind9/tests/bench/compress.c
    functionUses: 1
    functionsReached:
    - exit
    - printf
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void CHECKRESULT(isc_result_t result, const char *msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/tests/bench/compress.c:46,1
    - Dst: getline
      Src: /src/bind9/tests/bench/compress.c:54,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/compress.c:58,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/compress.c:59,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/bench/compress.c:61,1
    - Dst: errx
      Src: /src/bind9/tests/bench/compress.c:62,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/compress.c:64,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/compress.c:65,1
    - Dst: CHECKRESULT
      Src: /src/bind9/tests/bench/compress.c:66,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/compress.c:72,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/compress.c:78,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/bench/compress.c:79,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/compress.c:82,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/bench/compress.c:83,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/bench/compress.c:85,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/bench/compress.c:86,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/compress.c:87,1
    - Dst: CHECKRESULT
      Src: /src/bind9/tests/bench/compress.c:89,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/bench/compress.c:92,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/compress.c:96,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/compress.c:98,1
    - Dst: printf
      Src: /src/bind9/tests/bench/compress.c:99,1
    - Dst: printf
      Src: /src/bind9/tests/bench/compress.c:101,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/bench/compress.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/compress.c
    functionUses: 44
    functionsReached:
    - dns_compress_invalidate
    - dns_compress_init
    - dns_name_fromtext
    - ARRAY_SIZE
    - getline
    - errx
    - isc_mem_detach
    - dns_fixedname_initname
    - CHECKRESULT
    - dns_fixedname_name
    - isc_buffer_init
    - dns_name_towire
    - printf
    - isc_buffer_add
    - isc_time_now_hires
    - isc_mem_create
    - isc_time_microdiff
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/bench/iterated_hash.c:33,1
    - Dst: fflush
      Src: /src/bind9/tests/bench/iterated_hash.c:35,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/iterated_hash.c:37,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/tests/bench/iterated_hash.c:41,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/iterated_hash.c:44,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/iterated_hash.c:46,1
    - Dst: printf
      Src: /src/bind9/tests/bench/iterated_hash.c:47,1
    - Dst: fflush
      Src: /src/bind9/tests/bench/iterated_hash.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - count
    - iterations
    - salt
    - saltlen
    - in
    - inlen
    argTypes:
    - int
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: time_it
    functionSourceFile: /src/bind9/tests/bench/iterated_hash.c
    functionUses: 0
    functionsReached:
    - isc_iterated_hash
    - printf
    - fflush
    - isc_time_now_hires
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: "void time_it(const int count, const int iterations, const unsigned
      char *salt,\n\tconst int saltlen, const unsigned char *in, const int inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/iterated_hash.c:58,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/iterated_hash.c:59,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:61,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:62,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:63,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:68,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:69,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:70,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:75,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:76,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/iterated_hash.c
    functionUses: 44
    functionsReached:
    - isc_random_buf
    - time_it
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - count
    - ','
    - us
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: KILOHASHES
    functionSourceFile: /src/bind9/tests/bench/siphash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KILOHASHES(count, us)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/siphash.c:34,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/siphash.c:35,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:43,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/tests/bench/siphash.c:48,1
    - Dst: isc_siphash24
      Src: /src/bind9/tests/bench/siphash.c:49,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:54,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/siphash.c:56,1
    - Dst: printf
      Src: /src/bind9/tests/bench/siphash.c:57,1
    - Dst: KILOHASHES
      Src: /src/bind9/tests/bench/siphash.c:58,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:68,1
    - Dst: isc_siphash24
      Src: /src/bind9/tests/bench/siphash.c:72,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:78,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/siphash.c:80,1
    - Dst: printf
      Src: /src/bind9/tests/bench/siphash.c:81,1
    - Dst: KILOHASHES
      Src: /src/bind9/tests/bench/siphash.c:82,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:91,1
    - Dst: isc_siphash24
      Src: /src/bind9/tests/bench/siphash.c:95,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:101,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/siphash.c:103,1
    - Dst: printf
      Src: /src/bind9/tests/bench/siphash.c:104,1
    - Dst: KILOHASHES
      Src: /src/bind9/tests/bench/siphash.c:105,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:115,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/tests/bench/siphash.c:120,1
    - Dst: isc_halfsiphash24
      Src: /src/bind9/tests/bench/siphash.c:121,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:126,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/siphash.c:128,1
    - Dst: printf
      Src: /src/bind9/tests/bench/siphash.c:129,1
    - Dst: KILOHASHES
      Src: /src/bind9/tests/bench/siphash.c:130,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:140,1
    - Dst: isc_halfsiphash24
      Src: /src/bind9/tests/bench/siphash.c:144,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:150,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/siphash.c:152,1
    - Dst: printf
      Src: /src/bind9/tests/bench/siphash.c:153,1
    - Dst: KILOHASHES
      Src: /src/bind9/tests/bench/siphash.c:154,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:164,1
    - Dst: isc_halfsiphash24
      Src: /src/bind9/tests/bench/siphash.c:168,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/siphash.c:174,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/siphash.c:176,1
    - Dst: printf
      Src: /src/bind9/tests/bench/siphash.c:177,1
    - Dst: KILOHASHES
      Src: /src/bind9/tests/bench/siphash.c:178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 181
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/siphash.c
    functionUses: 44
    functionsReached:
    - isc_ascii_lowercopy
    - isc_halfsiphash24
    - KILOHASHES
    - isc_siphash24
    - printf
    - isc_time_now_hires
    - isc_random_buf
    - isc_time_microdiff
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TRACE
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:74,1
    - Dst: isc_random32
      Src: /src/bind9/tests/bench/qpmulti.c:76,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:77,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:79,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:80,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:80,1
    - Dst: isc_random32
      Src: /src/bind9/tests/bench/qpmulti.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - max
    - skew
    argTypes:
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 85
    functionName: rand_zipf
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - pow
    - isc_random32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rand_zipf(uint32_t max, double skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:96,1
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: item_refcount
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void item_refcount(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:103,1
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:104,1
    - Dst: memmove
      Src: /src/bind9/tests/bench/qpmulti.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key
    - ctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: item_makekey
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - memmove
    - UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t item_makekey(dns_qpkey_t key, void *ctx, void *pval, uint32_t
      ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:111,1
    - Dst: strlcpy
      Src: /src/bind9/tests/bench/qpmulti.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: benchname
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void benchname(void *ctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: random_byte
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 1
    functionsReached:
    - isc_random_uniform
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t random_byte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:132,1
    - Dst: isc_mem_callocate
      Src: /src/bind9/tests/bench/qpmulti.c:133,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/bench/qpmulti.c:136,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:139,1
    - Dst: random_byte
      Src: /src/bind9/tests/bench/qpmulti.c:143,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/bench/qpmulti.c:146,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:148,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qpmulti.c:148,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:150,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:152,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 155
    functionName: init_items
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - random_byte
    - dns_qp_destroy
    - dns_qp_create
    - dns_qp_getkey
    - INSIST
    - isc_time_monotonic
    - printf
    - dns_qp_insert
    - isc_random_uniform
    - isc_mem_callocate
    linkageType: ''
    returnType: void
    signature: void init_items(isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/tests/bench/qpmulti.c:160,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/bench/qpmulti.c:162,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/bench/qpmulti.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: init_logging
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_log_createandusechannel
    - isc_log_setdebuglevel
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void init_logging(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:196,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/bench/qpmulti.c:198,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/bench/qpmulti.c:200,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 202
    functionName: first_loop
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_time_monotonic
    - isc_loop
    - isc_barrier_wait
    - isc_job_run
    linkageType: ''
    returnType: void
    signature: void first_loop(void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:206,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/bench/qpmulti.c:211,1
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:211,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/bench/qpmulti.c:214,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/bench/qpmulti.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - args
    - start
    argTypes:
    - struct thread_args*
    - isc_nanosecs_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: next_loop
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_time_monotonic
    - isc_job_run
    - isc_loop
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void next_loop(struct thread_args *args, isc_nanosecs_t start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_zipf
      Src: /src/bind9/tests/bench/qpmulti.c:227,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:231,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/bench/qpmulti.c:235,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/bench/qpmulti.c:238,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:246,1
    - Dst: next_loop
      Src: /src/bind9/tests/bench/qpmulti.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 249
    functionName: read_zipf
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - dns_qp_getkey
    - rand_zipf
    - dns_qpread_destroy
    - isc_time_monotonic
    - next_loop
    linkageType: ''
    returnType: void
    signature: void read_zipf(void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:257,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/bench/qpmulti.c:262,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:264,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/bench/qpmulti.c:265,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:273,1
    - Dst: next_loop
      Src: /src/bind9/tests/bench/qpmulti.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: read_transactions
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - dns_qp_getkey
    - dns_qpread_destroy
    - isc_time_monotonic
    - next_loop
    - isc_random_uniform
    linkageType: ''
    returnType: void
    signature: void read_transactions(void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:281,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/tests/bench/qpmulti.c:285,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:287,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/tests/bench/qpmulti.c:289,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:292,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qpmulti.c:297,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:298,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/tests/bench/qpmulti.c:307,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qpmulti.c:308,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/tests/bench/qpmulti.c:311,1
    - Dst: next_loop
      Src: /src/bind9/tests/bench/qpmulti.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 315
    functionName: mutate_transactions
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - dns_qp_deletekey
    - dns_qp_memusage
    - INSIST
    - dns_qpmulti_commit
    - isc_time_monotonic
    - next_loop
    - dns_qp_insert
    - isc_random_uniform
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: void mutate_transactions(void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_create
      Src: /src/bind9/tests/bench/qpmulti.c:361,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:364,1
    - Dst: dns_qpmulti_update
      Src: /src/bind9/tests/bench/qpmulti.c:365,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:367,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:371,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qpmulti.c:371,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qpmulti.c:375,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/tests/bench/qpmulti.c:376,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:378,1
    - Dst: dns_qpmulti_memusage
      Src: /src/bind9/tests/bench/qpmulti.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - struct bench_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: load_multi
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_memusage
    - INSIST
    - dns_qpmulti_commit
    - isc_time_monotonic
    - dns_qp_compact
    - dns_qp_insert
    - dns_qpmulti_create
    - isc_random_uniform
    - dns_qpmulti_update
    linkageType: ''
    returnType: void
    signature: void load_multi(struct bench_state *bctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:385,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:386,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:387,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:388,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:389,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:391,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:392,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:393,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:394,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:395,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:396,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:397,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:398,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:399,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:401,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:402,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:403,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:404,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:405,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:406,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:407,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:408,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:409,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 411
    functionName: tsv_header
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void tsv_header(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:435,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/bench/qpmulti.c:436,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/bench/qpmulti.c:437,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:442,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:443,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:444,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:452,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:459,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:461,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:467,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:468,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:469,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:476,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:478,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:484,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:486,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:492,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:493,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:495,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:518,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:519,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:521,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:540,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:541,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:543,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:561,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:562,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:564,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:584,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:585,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:587,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:607,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:608,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:610,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:630,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:631,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:633,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:653,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:654,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:656,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:675,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:676,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:678,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/bench/qpmulti.c:700,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/bench/qpmulti.c:719,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/bench/qpmulti.c:719,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 266
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - struct bench_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 722
    functionName: dispatch
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 1
    functionsReached:
    - isc_loopmgr_shutdown
    - tsv_header
    - isc_mem_putanddetach
    - isc_async_run
    - isc_barrier_init
    - dns_qpmulti_destroy
    - load_multi
    - printf
    - isc_loop_get
    linkageType: ''
    returnType: void
    signature: void dispatch(struct bench_state *bctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/bind9/tests/bench/qpmulti.c:737,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:743,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/bench/qpmulti.c:751,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:760,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:762,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:763,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:764,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:765,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:766,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:769,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:770,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:771,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:772,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:773,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:774,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:775,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:776,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:777,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:782,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:783,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:784,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:785,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:786,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:787,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:788,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:789,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:790,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:791,1
    - Dst: dispatch
      Src: /src/bind9/tests/bench/qpmulti.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 794
    functionName: collect
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_barrier_destroy
    - TRACE
    - dispatch
    - INSIST
    - printf
    - ISC_MAX
    linkageType: ''
    returnType: void
    signature: void collect(void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:799,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/tests/bench/qpmulti.c:800,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/bench/qpmulti.c:801,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/bench/qpmulti.c:804,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/bench/qpmulti.c:811,1
    - Dst: dispatch
      Src: /src/bind9/tests/bench/qpmulti.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 814
    functionName: startup
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mem_cget
    - dispatch
    - isc_loop
    - isc_loop_getmctx
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void startup(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 826
    functionName: tick
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void tick(void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:831,1
    - Dst: isc_timer_create
      Src: /src/bind9/tests/bench/qpmulti.c:833,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/bench/qpmulti.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 839
    functionName: start_ticker
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_timer_create
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: void start_ticker(void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_stop
      Src: /src/bind9/tests/bench/qpmulti.c:845,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:846,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/bench/qpmulti.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 848
    functionName: stop_ticker
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_timer_stop
    - isc_timer_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void stop_ticker(void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/bench/qpmulti.c:852,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/bench/qpmulti.c:854,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qpmulti.c:855,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/bench/qpmulti.c:859,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/bench/qpmulti.c:860,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/bench/qpmulti.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - loopmgr
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: setup_tickers
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_loop_teardown
    - isc_mem_attach
    - isc_mem_get
    - isc_loop_get
    - isc_loopmgr_nloops
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void setup_tickers(isc_mem_t *mctx, isc_loopmgr_t *loopmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlinebuf
      Src: /src/bind9/tests/bench/qpmulti.c:870,1
    - Dst: getenv
      Src: /src/bind9/tests/bench/qpmulti.c:873,1
    - Dst: atoi
      Src: /src/bind9/tests/bench/qpmulti.c:876,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/bench/qpmulti.c:878,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:880,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/bench/qpmulti.c:882,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/tests/bench/qpmulti.c:883,1
    - Dst: init_logging
      Src: /src/bind9/tests/bench/qpmulti.c:884,1
    - Dst: init_items
      Src: /src/bind9/tests/bench/qpmulti.c:885,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/bench/qpmulti.c:887,1
    - Dst: setup_tickers
      Src: /src/bind9/tests/bench/qpmulti.c:888,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/bench/qpmulti.c:889,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/bench/qpmulti.c:889,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/bench/qpmulti.c:890,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:891,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/bench/qpmulti.c:893,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/tests/bench/qpmulti.c:894,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/bench/qpmulti.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 898
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 46
    functionsReached:
    - isc_loop_main
    - isc_loopmgr_create
    - isc_mem_setdestroycheck
    - isc_mem_checkdestroyed
    - isc_mem_free
    - isc_mem_detach
    - atoi
    - init_items
    - INSIST
    - isc_loopmgr_destroy
    - isc_loopmgr_run
    - setlinebuf
    - isc_os_ncpus
    - isc_mem_create
    - init_logging
    - getenv
    - setup_tickers
    - isc_loop_setup
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/ascii.c:34,1
    - Dst: copier
      Src: /src/bind9/tests/bench/ascii.c:36,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/ascii.c:39,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/ascii.c:41,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - copier
    - a
    - b
    - name
    argTypes:
    - copy_fn*
    - void*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: time_it
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 1
    functionsReached:
    - isc_time_microdiff
    - copier
    - printf
    - isc_time_now_hires
    linkageType: ''
    returnType: void
    signature: void time_it(copy_fn *copier, void *a, void *b, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/bench/ascii.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: copy_raw
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void copy_raw(void *a, void *b, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_toupper
      Src: /src/bind9/tests/bench/ascii.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: copy_toupper
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - isc_ascii_toupper
    linkageType: ''
    returnType: void
    signature: void copy_toupper(void *va, void *vb, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/tests/bench/ascii.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: copy_tolower8
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowercopy
    linkageType: ''
    returnType: void
    signature: void copy_tolower8(void *a, void *b, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: TOLOWER
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOLOWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/bind9/tests/bench/ascii.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: copy_tolower1
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: void
    signature: void copy_tolower1(void *va, void *vb, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/bind9/tests/bench/ascii.c:75,1
    - Dst: TOLOWER
      Src: /src/bind9/tests/bench/ascii.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: cmp_tolower1
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: bool
    signature: bool cmp_tolower1(void *va, void *vb, unsigned int size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:89,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:90,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:93,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:94,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:97,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:98,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:101,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:102,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:110,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/tests/bench/ascii.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 120
    functionName: cmp_oldskool
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - isc_ascii_tolower
    linkageType: ''
    returnType: void
    signature: void cmp_oldskool(void *va, void *vb, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmp_tolower1
      Src: /src/bind9/tests/bench/ascii.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: vcmp_tolower1
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - cmp_tolower1
    linkageType: ''
    returnType: void
    signature: void vcmp_tolower1(void *a, void *b, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/bench/ascii.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: cmp_swar
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    linkageType: ''
    returnType: void
    signature: void cmp_swar(void *a, void *b, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp_tolower1
      Src: /src/bind9/tests/bench/ascii.c:145,1
    - Dst: cmp_tolower1
      Src: /src/bind9/tests/bench/ascii.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: cmp_chunks1
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - cmp_tolower1
    linkageType: ''
    returnType: void
    signature: void cmp_chunks1(void *va, void *vb, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/bench/ascii.c:160,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/bench/ascii.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: cmp_chunks8
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    linkageType: ''
    returnType: void
    signature: void cmp_chunks8(void *va, void *vb, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp_oldskool
      Src: /src/bind9/tests/bench/ascii.c:179,1
    - Dst: cmp_oldskool
      Src: /src/bind9/tests/bench/ascii.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - va
    - vb
    - size
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: cmp_oldchunks
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 0
    functionsReached:
    - cmp_oldskool
    linkageType: ''
    returnType: void
    signature: void cmp_oldchunks(void *va, void *vb, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/ascii.c:194,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:197,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:200,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:203,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:206,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:208,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:209,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:211,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:212,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:214,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:215,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:218,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:219,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:220,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:221,1
    - Dst: time_it
      Src: /src/bind9/tests/bench/ascii.c:222,1
    - Dst: printf
      Src: /src/bind9/tests/bench/ascii.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 46
    functionsReached:
    - isc_random_buf
    - printf
    - time_it
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qplookups.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: smallname_length
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t smallname_length(void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qplookups.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: smallname_refcount
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_refcount_t
    signature: 'isc_refcount_t *

      smallname_refcount(void *pval, uint32_t ival)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qplookups.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: smallname_ndata
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - smallname_refcount
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      smallname_ndata(void *pval, uint32_t ival)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qplookups.c:55,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/bench/qplookups.c:57,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qplookups.c:57,1
    - Dst: memmove
      Src: /src/bind9/tests/bench/qplookups.c:58,1
    - Dst: smallname_ndata
      Src: /src/bind9/tests/bench/qplookups.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - name
    - valp
    - ctxp
    argTypes:
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: smallname_from_name
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_mem_get
    - isc_refcount_init
    - smallname_ndata
    - smallname_refcount
    linkageType: ''
    returnType: void
    signature: void smallname_from_name(const dns_name_t *name, void **valp, uint32_t
      *ctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallname_length
      Src: /src/bind9/tests/bench/qplookups.c:64,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/bench/qplookups.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: smallname_free
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - smallname_length
    linkageType: ''
    returnType: void
    signature: void smallname_free(void *pval, uint32_t ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_reset
      Src: /src/bind9/tests/bench/qplookups.c:70,1
    - Dst: smallname_ndata
      Src: /src/bind9/tests/bench/qplookups.c:71,1
    - Dst: smallname_length
      Src: /src/bind9/tests/bench/qplookups.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - name
    - pval
    - ival
    argTypes:
    - dns_name_t*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: name_from_smallname
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - smallname_length
    - dns_name_reset
    - smallname_ndata
    linkageType: ''
    returnType: void
    signature: void name_from_smallname(dns_name_t *name, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qplookups.c:81,1
    - Dst: name_from_smallname
      Src: /src/bind9/tests/bench/qplookups.c:83,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/bench/qplookups.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - ctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: qpkey_from_smallname
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - name_from_smallname
    - UNUSED
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: size_t qpkey_from_smallname(dns_qpkey_t key, void *ctx, void *pval,
      uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qplookups.c:89,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/bench/qplookups.c:90,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qplookups.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: smallname_attach
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - UNUSED
    - smallname_refcount
    linkageType: ''
    returnType: void
    signature: void smallname_attach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/bench/qplookups.c:95,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qplookups.c:95,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/bench/qplookups.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: smallname_detach
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - smallname_refcount
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void smallname_detach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/bench/qplookups.c:102,1
    - Dst: strlcpy
      Src: /src/bind9/tests/bench/qplookups.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: testname
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void testname(void *ctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qplookups.c:115,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qplookups.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: usage
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 38
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_getsize
      Src: /src/bind9/tests/bench/qplookups.c:128,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qplookups.c:130,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/qplookups.c:131,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qplookups.c:132,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qplookups.c:136,1
    - Dst: fopen
      Src: /src/bind9/tests/bench/qplookups.c:137,1
    - Dst: fread
      Src: /src/bind9/tests/bench/qplookups.c:138,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qplookups.c:139,1
    - Dst: strerror
      Src: /src/bind9/tests/bench/qplookups.c:139,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qplookups.c:140,1
    - Dst: fclose
      Src: /src/bind9/tests/bench/qplookups.c:142,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/qplookups.c:151,1
    - Dst: strcspn
      Src: /src/bind9/tests/bench/qplookups.c:156,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/qplookups.c:158,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/qplookups.c:163,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/qplookups.c:164,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/qplookups.c:165,1
    - Dst: smallname_from_name
      Src: /src/bind9/tests/bench/qplookups.c:167,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qplookups.c:168,1
    - Dst: smallname_free
      Src: /src/bind9/tests/bench/qplookups.c:171,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qplookups.c:175,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/qplookups.c:176,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qplookups.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - qp
    - filename
    argTypes:
    - dns_qp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 184
    functionName: load_qp
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - strspn
    - dns_fixedname_initname
    - fopen
    - fclose
    - exit
    - isc_result_totext
    - isc_buffer_init
    - isc_mem_get
    - strerror
    - smallname_from_name
    - fprintf
    - smallname_free
    - isc_buffer_add
    - isc_file_getsize
    - strcspn
    - fread
    - dns_qp_insert
    linkageType: ''
    returnType: size_t
    signature: size_t load_qp(dns_qp_t *qp, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/bind9/tests/bench/qplookups.c:197,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/bench/qplookups.c:200,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/bench/qplookups.c:202,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:204,1
    - Dst: load_qp
      Src: /src/bind9/tests/bench/qplookups.c:205,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qplookups.c:206,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:207,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:209,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:210,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/bench/qplookups.c:212,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/tests/bench/qplookups.c:213,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:215,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/qplookups.c:217,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/bench/qplookups.c:218,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:222,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:224,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:225,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:228,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/qplookups.c:230,1
    - Dst: dns_qp_getname
      Src: /src/bind9/tests/bench/qplookups.c:231,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:233,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:235,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:236,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:238,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/qplookups.c:240,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/bench/qplookups.c:241,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:244,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:246,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:247,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:249,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/qplookups.c:259,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/qplookups.c:261,1
    - Dst: dns_name_copy
      Src: /src/bind9/tests/bench/qplookups.c:262,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/bench/qplookups.c:267,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:270,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:272,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:274,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/bench/qplookups.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 278
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 46
    functionsReached:
    - dns_qp_create
    - dns_name_copy
    - isc_mem_cget
    - dns_fixedname_initname
    - dns_qpiter_next
    - dns_qpiter_init
    - dns_fixedname_name
    - dns_qp_lookup
    - isc_time_monotonic
    - snprintf
    - printf
    - usage
    - load_qp
    - isc_mem_create
    - isc_mem_cput
    - dns_qp_getname
    - dns_qp_compact
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qp-dump.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: smallname_length
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 2
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t smallname_length(void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qp-dump.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: smallname_labels
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t smallname_labels(void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qp-dump.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: smallname_refcount
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 4
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_refcount_t
    signature: 'isc_refcount_t *

      smallname_refcount(void *pval, uint32_t ival)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: smallname_ndata
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 2
    functionsReached:
    - smallname_refcount
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t *

      smallname_ndata(void *pval, uint32_t ival)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/bench/qp-dump.c:59,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qp-dump.c:61,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/bench/qp-dump.c:63,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:63,1
    - Dst: memmove
      Src: /src/bind9/tests/bench/qp-dump.c:64,1
    - Dst: smallname_ndata
      Src: /src/bind9/tests/bench/qp-dump.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - name
    - valp
    - ctxp
    argTypes:
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: smallname_from_name
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 1
    functionsReached:
    - dns_name_countlabels
    - memmove
    - isc_mem_get
    - isc_refcount_init
    - smallname_ndata
    - smallname_refcount
    linkageType: ''
    returnType: void
    signature: void smallname_from_name(const dns_name_t *name, void **valp, uint32_t
      *ctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: smallname_length
      Src: /src/bind9/tests/bench/qp-dump.c:70,1
    - Dst: smallname_labels
      Src: /src/bind9/tests/bench/qp-dump.c:70,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/bench/qp-dump.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: smallname_free
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 1
    functionsReached:
    - smallname_labels
    - isc_mem_put
    - smallname_length
    linkageType: ''
    returnType: void
    signature: void smallname_free(void *pval, uint32_t ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_reset
      Src: /src/bind9/tests/bench/qp-dump.c:76,1
    - Dst: smallname_ndata
      Src: /src/bind9/tests/bench/qp-dump.c:77,1
    - Dst: smallname_length
      Src: /src/bind9/tests/bench/qp-dump.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - name
    - pval
    - ival
    argTypes:
    - dns_name_t*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: name_from_smallname
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 1
    functionsReached:
    - smallname_length
    - dns_name_reset
    - smallname_ndata
    linkageType: ''
    returnType: void
    signature: void name_from_smallname(dns_name_t *name, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qp-dump.c:87,1
    - Dst: name_from_smallname
      Src: /src/bind9/tests/bench/qp-dump.c:89,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/bench/qp-dump.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - ctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: qpkey_from_smallname
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - name_from_smallname
    - UNUSED
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: size_t qpkey_from_smallname(dns_qpkey_t key, void *ctx, void *pval,
      uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qp-dump.c:95,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/bench/qp-dump.c:96,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: smallname_attach
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - UNUSED
    - smallname_refcount
    linkageType: ''
    returnType: void
    signature: void smallname_attach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/bench/qp-dump.c:101,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:101,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/bench/qp-dump.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: smallname_detach
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - smallname_refcount
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void smallname_detach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/bench/qp-dump.c:108,1
    - Dst: strlcpy
      Src: /src/bind9/tests/bench/qp-dump.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: testname
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void testname(void *ctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: usage
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 39
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_parse
      Src: /src/bind9/tests/bench/qp-dump.c:141,1
    - Dst: usage
      Src: /src/bind9/tests/bench/qp-dump.c:150,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:151,1
    - Dst: usage
      Src: /src/bind9/tests/bench/qp-dump.c:160,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:161,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/bench/qp-dump.c:164,1
    - Dst: isc_file_getsize
      Src: /src/bind9/tests/bench/qp-dump.c:167,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:169,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/qp-dump.c:170,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:171,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qp-dump.c:175,1
    - Dst: fopen
      Src: /src/bind9/tests/bench/qp-dump.c:176,1
    - Dst: fread
      Src: /src/bind9/tests/bench/qp-dump.c:177,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:178,1
    - Dst: strerror
      Src: /src/bind9/tests/bench/qp-dump.c:178,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:179,1
    - Dst: fclose
      Src: /src/bind9/tests/bench/qp-dump.c:181,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/bench/qp-dump.c:184,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/qp-dump.c:192,1
    - Dst: strcspn
      Src: /src/bind9/tests/bench/qp-dump.c:197,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/qp-dump.c:199,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/qp-dump.c:204,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/qp-dump.c:205,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/qp-dump.c:206,1
    - Dst: smallname_from_name
      Src: /src/bind9/tests/bench/qp-dump.c:208,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qp-dump.c:209,1
    - Dst: smallname_free
      Src: /src/bind9/tests/bench/qp-dump.c:212,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:216,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/qp-dump.c:217,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:218,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/bench/qp-dump.c:222,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qp-dump.c:225,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/tests/bench/qp-dump.c:233,1
    - Dst: dns_qp_gctime
      Src: /src/bind9/tests/bench/qp-dump.c:235,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:237,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:248,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:249,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:250,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:253,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:254,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:255,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:256,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:257,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:258,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:259,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:260,1
    - Dst: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:261,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/qp-dump.c:261,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:262,1
    - Dst: qp_test_getheight
      Src: /src/bind9/tests/bench/qp-dump.c:262,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:263,1
    - Dst: qp_test_maxkeylen
      Src: /src/bind9/tests/bench/qp-dump.c:263,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/bench/qp-dump.c:267,1
    - Dst: qp_test_dumpdot
      Src: /src/bind9/tests/bench/qp-dump.c:270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 91
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 46
    functionsReached:
    - print_megabytes
    - printf
    - qp_test_dumpdot
    - dns_name_countlabels
    - strspn
    - qp_test_getheight
    - dns_fixedname_initname
    - strerror
    - fprintf
    - smallname_free
    - usage
    - dns_qp_compact
    - qp_test_maxkeylen
    - dns_name_fromtext
    - dns_qp_gctime
    - dns_qp_create
    - isc_mem_inuse
    - fopen
    - fclose
    - dns_qp_memusage
    - isc_mem_get
    - smallname_from_name
    - fread
    - qp_test_dumptrie
    - isc_commandline_parse
    - exit
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_add
    - isc_file_getsize
    - isc_mem_create
    - strcspn
    - dns_qp_insert
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - label
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: print_megabytes
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_megabytes(label, value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:36,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:41,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:42,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:43,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:45,1
    - Dst: old_name_fromwire
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:46,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 53
    functionName: old_bench
    functionSourceFile: /src/bind9/tests/bench/dns_name_fromwire.c
    functionUses: 0
    functionsReached:
    - old_name_fromwire
    - dns_fixedname_initname
    - isc_buffer_forward
    - isc_buffer_consumedlength
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_buffer_constinit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t old_bench(const uint8_t *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:59,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:64,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:65,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:66,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:68,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:69,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 76
    functionName: new_bench
    functionSourceFile: /src/bind9/tests/bench/dns_name_fromwire.c
    functionUses: 0
    functionsReached:
    - dns_name_fromwire
    - dns_fixedname_initname
    - isc_buffer_forward
    - isc_buffer_consumedlength
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_buffer_constinit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t new_bench(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:81,1
    - Dst: old_bench
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:82,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:84,1
    - Dst: new_bench
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:85,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:87,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:89,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:90,1
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:91,1
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:92,1
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: oldnew_bench
    functionSourceFile: /src/bind9/tests/bench/dns_name_fromwire.c
    functionUses: 0
    functionsReached:
    - old_bench
    - printf
    - isc_time_now_hires
    - new_bench
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void oldnew_bench(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:103,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:104,1
    - Dst: oldnew_bench
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:105,1
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:121,1
    - Dst: oldnew_bench
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:122,1
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:132,1
    - Dst: oldnew_bench
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:133,1
    - Dst: printf
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:145,1
    - Dst: oldnew_bench
      Src: /src/bind9/tests/bench/dns_name_fromwire.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 147
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/dns_name_fromwire.c
    functionUses: 46
    functionsReached:
    - isc_random_buf
    - printf
    - oldnew_bench
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bind9/doc/misc/cfg_test.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - text
    - textlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: output
    functionSourceFile: /src/bind9/doc/misc/cfg_test.c
    functionUses: 1
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: void
    signature: void output(void *closure ISC_ATTR_UNUSED, const char *text, int textlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/doc/misc/cfg_test.c:36,1
    - Dst: exit
      Src: /src/bind9/doc/misc/cfg_test.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: usage
    functionSourceFile: /src/bind9/doc/misc/cfg_test.c
    functionUses: 40
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_logconfig_get
      Src: /src/bind9/doc/misc/cfg_test.c:44,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/doc/misc/cfg_test.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: setup_logging
    functionSourceFile: /src/bind9/doc/misc/cfg_test.c
    functionUses: 14
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    linkageType: ''
    returnType: void
    signature: void setup_logging(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/doc/misc/cfg_test.c:64,1
    - Dst: setup_logging
      Src: /src/bind9/doc/misc/cfg_test.c:66,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/doc/misc/cfg_test.c:71,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:74,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:78,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:80,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:82,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:85,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:87,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:88,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:91,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:92,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:95,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:97,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:99,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:101,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:103,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:105,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:107,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:110,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:112,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:114,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:116,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:119,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:128,1
    - Dst: cfg_print_grammar
      Src: /src/bind9/doc/misc/cfg_test.c:130,1
    - Dst: cfg_print_zonegrammar
      Src: /src/bind9/doc/misc/cfg_test.c:132,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:135,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/doc/misc/cfg_test.c:137,1
    - Dst: cfg_parser_create
      Src: /src/bind9/doc/misc/cfg_test.c:137,1
    - Dst: cfg_parse_file
      Src: /src/bind9/doc/misc/cfg_test.c:139,1
    - Dst: fprintf
      Src: /src/bind9/doc/misc/cfg_test.c:141,1
    - Dst: isc_result_totext
      Src: /src/bind9/doc/misc/cfg_test.c:141,1
    - Dst: exit
      Src: /src/bind9/doc/misc/cfg_test.c:144,1
    - Dst: cfg_print
      Src: /src/bind9/doc/misc/cfg_test.c:147,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/doc/misc/cfg_test.c:149,1
    - Dst: cfg_parser_destroy
      Src: /src/bind9/doc/misc/cfg_test.c:151,1
    - Dst: isc_mem_stats
      Src: /src/bind9/doc/misc/cfg_test.c:155,1
    - Dst: isc_mem_detach
      Src: /src/bind9/doc/misc/cfg_test.c:157,1
    - Dst: fflush
      Src: /src/bind9/doc/misc/cfg_test.c:159,1
    - Dst: ferror
      Src: /src/bind9/doc/misc/cfg_test.c:160,1
    - Dst: fprintf
      Src: /src/bind9/doc/misc/cfg_test.c:161,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 166
    functionName: main
    functionSourceFile: /src/bind9/doc/misc/cfg_test.c
    functionUses: 46
    functionsReached:
    - cfg_parser_create
    - cfg_print_grammar
    - fflush
    - cfg_obj_destroy
    - ferror
    - fprintf
    - usage
    - cfg_parser_destroy
    - isc_log_setdebuglevel
    - setup_logging
    - RUNTIME_CHECK
    - cfg_print_zonegrammar
    - cfg_print
    - cfg_parse_file
    - isc_mem_detach
    - isc_result_totext
    - exit
    - isc_mem_stats
    - strcmp
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_available_parallelism
      Src: /src/bind9/lib/isc/os.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: ncpus_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - uv_available_parallelism
    linkageType: ''
    returnType: void
    signature: void ncpus_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/bind9/lib/isc/os.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: sysconf_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - sysconf
    linkageType: ''
    returnType: int
    signature: int sysconf_ncpus(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/os.c:66,1
    - Dst: sysctlbyname
      Src: /src/bind9/lib/isc/os.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: sysctlbyname_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - sysctlbyname
    linkageType: ''
    returnType: int
    signature: int sysctlbyname_ncpus(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/os.c:88,1
    - Dst: sysctl
      Src: /src/bind9/lib/isc/os.c:89,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/os.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: sysctl_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - sysctl
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int sysctl_ncpus(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sched_getaffinity
      Src: /src/bind9/lib/isc/os.c:114,1
    - Dst: CPU_COUNT
      Src: /src/bind9/lib/isc/os.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: sched_affinity_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - CPU_COUNT
    - sched_getaffinity
    linkageType: ''
    returnType: int
    signature: int sched_affinity_ncpus(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cpuset_getaffinity
      Src: /src/bind9/lib/isc/os.c:132,1
    - Dst: CPU_COUNT
      Src: /src/bind9/lib/isc/os.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: cpuset_affinity_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - cpuset_getaffinity
    - CPU_COUNT
    linkageType: ''
    returnType: int
    signature: int cpuset_affinity_ncpus(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpuset_affinity_ncpus
      Src: /src/bind9/lib/isc/os.c:145,1
    - Dst: sched_affinity_ncpus
      Src: /src/bind9/lib/isc/os.c:150,1
    - Dst: sysctlbyname_ncpus
      Src: /src/bind9/lib/isc/os.c:155,1
    - Dst: sysctl_ncpus
      Src: /src/bind9/lib/isc/os.c:160,1
    - Dst: sysconf_ncpus
      Src: /src/bind9/lib/isc/os.c:164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: ncpus_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - sysconf_ncpus
    - sysctlbyname_ncpus
    - cpuset_affinity_ncpus
    - sched_affinity_ncpus
    - sysctl_ncpus
    linkageType: ''
    returnType: void
    signature: void ncpus_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/bind9/lib/isc/os.c:175,1
    - Dst: umask
      Src: /src/bind9/lib/isc/os.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: umask_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - umask
    linkageType: ''
    returnType: void
    signature: void umask_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: isc_os_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_os_ncpus(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: isc_os_cacheline
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long isc_os_cacheline(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: isc_os_umask
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: mode_t
    signature: mode_t isc_os_umask(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: umask_initialize
      Src: /src/bind9/lib/isc/os.c:196,1
    - Dst: ncpus_initialize
      Src: /src/bind9/lib/isc/os.c:197,1
    - Dst: sysconf
      Src: /src/bind9/lib/isc/os.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: isc__os_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - ncpus_initialize
    - sysconf
    - umask_initialize
    linkageType: ''
    returnType: void
    signature: void isc__os_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: isc__os_shutdown
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc__os_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: FAIL
    functionSourceFile: /src/bind9/lib/isc/regex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: FAIL
    functionSourceFile: /src/bind9/lib/isc/regex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(x)
  - BBCount: 112
    BranchProfiles: []
    Callsites:
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:68,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:88,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:94,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:120,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:123,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:149,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:160,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:177,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:180,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:210,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:216,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:223,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:230,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:233,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:258,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:276,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:285,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:297,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:311,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:328,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:361,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/regex.c:389,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/regex.c:395,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:402,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:420,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:423,1
    - Dst: FAIL
      Src: /src/bind9/lib/isc/regex.c:426,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 364
    argCount: 1
    argNames:
    - c
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 435
    functionName: isc_regex_validate
    functionSourceFile: /src/bind9/lib/isc/regex.c
    functionUses: 1
    functionsReached:
    - strlen
    - FAIL
    - strncmp
    linkageType: ''
    returnType: int
    signature: int isc_regex_validate(const char *c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dir
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: VALID_DIR
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DIR(dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dir
    argTypes:
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: isc_dir_init
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_dir_init(isc_dir_t *dir)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:54,1
    - Dst: VALID_DIR
      Src: /src/bind9/lib/isc/dir.c:54,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:55,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/dir.c:61,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/dir.c:65,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/dir.c:70,1
    - Dst: opendir
      Src: /src/bind9/lib/isc/dir.c:80,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/dir.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dir
    - dirname
    argTypes:
    - isc_dir_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 87
    functionName: isc_dir_open
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 1
    functionsReached:
    - isc__errno2result
    - strlcpy
    - opendir
    - strlen
    - REQUIRE
    - VALID_DIR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_dir_open(isc_dir_t *dir, const char *dirname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:100,1
    - Dst: VALID_DIR
      Src: /src/bind9/lib/isc/dir.c:100,1
    - Dst: readdir
      Src: /src/bind9/lib/isc/dir.c:105,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/dir.c:114,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/dir.c:118,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/dir.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dir
    argTypes:
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: isc_dir_read
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 0
    functionsReached:
    - readdir
    - strlcpy
    - strlen
    - REQUIRE
    - VALID_DIR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_dir_read(isc_dir_t *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:133,1
    - Dst: VALID_DIR
      Src: /src/bind9/lib/isc/dir.c:133,1
    - Dst: closedir
      Src: /src/bind9/lib/isc/dir.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: isc_dir_close
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 1
    functionsReached:
    - VALID_DIR
    - REQUIRE
    - closedir
    linkageType: ''
    returnType: void
    signature: void isc_dir_close(isc_dir_t *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:144,1
    - Dst: VALID_DIR
      Src: /src/bind9/lib/isc/dir.c:144,1
    - Dst: rewinddir
      Src: /src/bind9/lib/isc/dir.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dir
    argTypes:
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: isc_dir_reset
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 0
    functionsReached:
    - rewinddir
    - VALID_DIR
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_dir_reset(isc_dir_t *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:157,1
    - Dst: chdir
      Src: /src/bind9/lib/isc/dir.c:159,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/dir.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: isc_dir_chdir
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 6
    functionsReached:
    - chdir
    - REQUIRE
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_dir_chdir(const char *dirname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/dir.c:172,1
    - Dst: getprotobyname
      Src: /src/bind9/lib/isc/dir.c:181,1
    - Dst: getservbyname
      Src: /src/bind9/lib/isc/dir.c:183,1
    - Dst: chroot
      Src: /src/bind9/lib/isc/dir.c:186,1
    - Dst: chdir
      Src: /src/bind9/lib/isc/dir.c:186,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/dir.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionName: isc_dir_chroot
    functionSourceFile: /src/bind9/lib/isc/dir.c
    functionUses: 2
    functionsReached:
    - isc__errno2result
    - chroot
    - chdir
    - getprotobyname
    - REQUIRE
    - getservbyname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_dir_chroot(const char *dirname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/xml.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: isc__xml_malloc
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__xml_malloc(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/isc/xml.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: isc__xml_realloc
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - isc_mem_reallocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__xml_realloc(void *ptr, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/xml.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: isc__xml_strdup
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__xml_strdup(const char *str)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/xml.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: isc__xml_free
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void isc__xml_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/xml.c:55,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/xml.c:56,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/xml.c:58,1
    - Dst: xmlMemSetup
      Src: /src/bind9/lib/isc/xml.c:58,1
    - Dst: xmlInitParser
      Src: /src/bind9/lib/isc/xml.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: isc__xml_initialize
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - xmlMemSetup
    - isc_mem_setdestroycheck
    - RUNTIME_CHECK
    - xmlInitParser
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: void isc__xml_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlCleanupParser
      Src: /src/bind9/lib/isc/xml.c:69,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/xml.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: isc__xml_shutdown
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    - xmlCleanupParser
    linkageType: ''
    returnType: void
    signature: void isc__xml_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/xml.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: isc__xml_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 2
    functionsReached:
    - isc_mem_setdestroycheck
    linkageType: ''
    returnType: void
    signature: void isc__xml_setdestroycheck(bool check ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:85,1
    - Dst: stat
      Src: /src/bind9/lib/isc/file.c:87,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - file
    - stats
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: file_stats
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - stat
    - REQUIRE
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t file_stats(const char *file, struct stat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:98,1
    - Dst: fstat
      Src: /src/bind9/lib/isc/file.c:100,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - stats
    argTypes:
    - int
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: fd_stats
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - fstat
    - REQUIRE
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fd_stats(int fd, struct stat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:112,1
    - Dst: fd_stats
      Src: /src/bind9/lib/isc/file.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: isc_file_getsizefd
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - fd_stats
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_getsizefd(int fd, off_t *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:128,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - file
    - modep
    argTypes:
    - char*
    - mode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: isc_file_mode
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - file_stats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_mode(const char *file, mode_t *modep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:144,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:146,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/file.c:150,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/file.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - file
    - modtime
    argTypes:
    - char*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: isc_file_getmodtime
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - isc_time_set
    - REQUIRE
    - file_stats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_getmodtime(const char *file, isc_time_t *modtime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:165,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - file
    - size
    argTypes:
    - char*
    - off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: isc_file_getsize
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - file_stats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_getsize(const char *file, off_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:180,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/isc/file.c:192,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/lib/isc/file.c:208,1
    - Dst: utimes
      Src: /src/bind9/lib/isc/file.c:210,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - file
    - when
    argTypes:
    - char*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 215
    functionName: isc_file_settime
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - utimes
    - isc__errno2result
    - isc_time_seconds
    - REQUIRE
    - isc_time_nanoseconds
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_settime(const char *file, isc_time_t *when)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_template
      Src: /src/bind9/lib/isc/file.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: isc_file_mktemplate
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - isc_file_template
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_mktemplate(const char *path, char *buf, size_t
      buflen)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:231,1
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:237,1
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:242,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:246,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:251,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/file.c:251,1
    - Dst: strlcat
      Src: /src/bind9/lib/isc/file.c:252,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:254,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - path
    - templet
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 262
    functionName: isc_file_template
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 3
    functionsReached:
    - strlcpy
    - strrchr
    - ISC_MIN
    - strlcat
    - strlen
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_file_template(const char *path, const char *templet,
      char *buf,\n\t\t  size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:273,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/isc/file.c:285,1
    - Dst: link
      Src: /src/bind9/lib/isc/file.c:288,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:290,1
    - Dst: strchr
      Src: /src/bind9/lib/isc/file.c:297,1
    - Dst: unlink
      Src: /src/bind9/lib/isc/file.c:306,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:308,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - file
    - templet
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 312
    functionName: isc_file_renameunique
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - isc__errno2result
    - strchr
    - link
    - REQUIRE
    - isc_random_uniform
    - unlink
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_renameunique(const char *file, char *templet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_openuniquemode
      Src: /src/bind9/lib/isc/file.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - templet
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: isc_file_openunique
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 4
    functionsReached:
    - isc_file_openuniquemode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_openunique(char *templet, FILE **fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_openuniquemode
      Src: /src/bind9/lib/isc/file.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - templet
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: isc_file_openuniqueprivate
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - isc_file_openuniquemode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_openuniqueprivate(char *templet, FILE **fp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:335,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/isc/file.c:347,1
    - Dst: open
      Src: /src/bind9/lib/isc/file.c:351,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:353,1
    - Dst: strchr
      Src: /src/bind9/lib/isc/file.c:360,1
    - Dst: fdopen
      Src: /src/bind9/lib/isc/file.c:369,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:371,1
    - Dst: remove
      Src: /src/bind9/lib/isc/file.c:372,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/file.c:373,1
    - Dst: close
      Src: /src/bind9/lib/isc/file.c:377,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - templet
    - mode
    - fp
    argTypes:
    - char*
    - int
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 383
    functionName: isc_file_openuniquemode
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - isc__errno2result
    - open
    - remove
    - strchr
    - close
    - isc_log_write
    - REQUIRE
    - fdopen
    - isc_random_uniform
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_openuniquemode(char *templet, int mode, FILE
      **fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:389,1
    - Dst: unlink
      Src: /src/bind9/lib/isc/file.c:391,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 397
    functionName: isc_file_remove
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 17
    functionsReached:
    - unlink
    - REQUIRE
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_remove(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:404,1
    - Dst: rename
      Src: /src/bind9/lib/isc/file.c:406,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - oldname
    - newname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: isc_file_rename
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - rename
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_rename(const char *oldname, const char *newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:418,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: isc_file_exists
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - file_stats
    linkageType: ''
    returnType: bool
    signature: bool isc_file_exists(const char *pathname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/file.c:429,1
    - Dst: stat
      Src: /src/bind9/lib/isc/file.c:431,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:432,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/file.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 440
    functionName: isc_file_isplainfile
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - stat
    - memset
    - isc__errno2result
    - S_ISREG
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_isplainfile(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/file.c:448,1
    - Dst: fstat
      Src: /src/bind9/lib/isc/file.c:450,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:451,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/file.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: isc_file_isplainfilefd
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - fstat
    - memset
    - isc__errno2result
    - S_ISREG
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_isplainfilefd(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/file.c:468,1
    - Dst: stat
      Src: /src/bind9/lib/isc/file.c:470,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:471,1
    - Dst: S_ISDIR
      Src: /src/bind9/lib/isc/file.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 479
    functionName: isc_file_isdirectory
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 4
    functionsReached:
    - S_ISDIR
    - stat
    - memset
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_isdirectory(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: isc_file_isabsolute
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_file_isabsolute(const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: isc_file_iscurrentdir
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_file_iscurrentdir(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:495,1
    - Dst: isc_file_isabsolute
      Src: /src/bind9/lib/isc/file.c:496,1
    - Dst: isc_file_iscurrentdir
      Src: /src/bind9/lib/isc/file.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: isc_file_ischdiridempotent
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - isc_file_isabsolute
    - REQUIRE
    - isc_file_iscurrentdir
    linkageType: ''
    returnType: bool
    signature: bool isc_file_ischdiridempotent(const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:509,1
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: isc_file_basename
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - strrchr
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_file_basename(const char *filename)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:524,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:525,1
    - Dst: isc_file_basename
      Src: /src/bind9/lib/isc/file.c:527,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/file.c:533,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:537,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/file.c:539,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/file.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - filename
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 542
    functionName: isc_file_progname
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - memmove
    - strncmp
    - RUNTIME_CHECK
    - isc_file_basename
    - strlen
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_file_progname(const char *filename, char *buf, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:555,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:556,1
    - Dst: getcwd
      Src: /src/bind9/lib/isc/file.c:558,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:564,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:567,1
    - Dst: strlcat
      Src: /src/bind9/lib/isc/file.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - dirname
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 575
    functionName: dir_current
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - isc__errno2result
    - strlcat
    - strlen
    - getcwd
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dir_current(char *dirname, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dir_current
      Src: /src/bind9/lib/isc/file.c:580,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:584,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:584,1
    - Dst: strlcat
      Src: /src/bind9/lib/isc/file.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - filename
    - path
    - pathlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: isc_file_absolutepath
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - strlen
    - dir_current
    - strlcat
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_absolutepath(const char *filename, char *path,
      size_t pathlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: truncate
      Src: /src/bind9/lib/isc/file.c:595,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - size
    argTypes:
    - char*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: isc_file_truncate
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - truncate
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_truncate(const char *filename, off_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:609,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:610,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:612,1
    - Dst: open
      Src: /src/bind9/lib/isc/file.c:624,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:626,1
    - Dst: fdopen
      Src: /src/bind9/lib/isc/file.c:629,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:631,1
    - Dst: close
      Src: /src/bind9/lib/isc/file.c:632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - filename
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 638
    functionName: isc_file_safecreate
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - isc__errno2result
    - open
    - close
    - REQUIRE
    - file_stats
    - fdopen
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_file_safecreate(const char *filename, FILE **fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:650,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/file.c:654,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/file.c:657,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:658,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/file.c:661,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/file.c:665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - mctx
    - path
    - dirname
    - bname
    argTypes:
    - isc_mem_t*
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 673
    functionName: isc_file_splitpath
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - isc_mem_free
    - strlcpy
    - strrchr
    - isc_mem_strdup
    - isc_mem_allocate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_file_splitpath(isc_mem_t *mctx, const char *path,
      char **dirname,\n\t\t   char const **bname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - digest
    - digestlen
    - hash
    - hashlen
    argTypes:
    - unsigned char*
    - unsigned int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 690
    functionName: digest2hex
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t digest2hex(unsigned char *digest, unsigned int digestlen,
      char *hash,\n\t   size_t hashlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:702,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:703,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:705,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:716,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:719,1
    - Dst: isc_md
      Src: /src/bind9/lib/isc/file.c:727,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:727,1
    - Dst: digest2hex
      Src: /src/bind9/lib/isc/file.c:733,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:738,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/isc/file.c:741,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:742,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:748,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/isc/file.c:751,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:752,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isc/file.c:761,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:762,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:766,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:769,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 5
    argNames:
    - dir
    - base
    - ext
    - path
    - length
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 771
    functionName: isc_file_sanitize
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - strlcpy
    - isc_md
    - strpbrk
    - strlen
    - isc_file_exists
    - snprintf
    - digest2hex
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_file_sanitize(const char *dir, const char *base,
      const char *ext,\n\t\t  char *path, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/bind9/lib/isc/file.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 776
    functionName: isc_file_isdirwritable
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 4
    functionsReached:
    - access
    linkageType: ''
    returnType: bool
    signature: bool isc_file_isdirwritable(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: ISC_STATS_VALID
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_STATS_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:50,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:50,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:51,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/stats.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - statsp
    argTypes:
    - isc_stats_t*
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: isc_stats_attach
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - ISC_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void isc_stats_attach(isc_stats_t *stats, isc_stats_t **statsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:61,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:61,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/stats.c:66,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/stats.c:67,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/stats.c:68,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/stats.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - statsp
    argTypes:
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: isc_stats_detach
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 9
    functionsReached:
    - isc_mem_putanddetach
    - isc_refcount_decrement
    - isc_refcount_destroy
    - REQUIRE
    - ISC_STATS_VALID
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void isc_stats_detach(isc_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:76,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stats
    argTypes:
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: isc_stats_ncounters
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_STATS_VALID
    linkageType: ''
    returnType: int
    signature: int isc_stats_ncounters(isc_stats_t *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:83,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/stats.c:85,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/stats.c:88,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/stats.c:89,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/stats.c:91,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/stats.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - mctx
    - statsp
    - ncounters
    argTypes:
    - isc_mem_t*
    - isc_stats_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: isc_stats_create
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - atomic_init
    - isc_refcount_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_stats_create(isc_mem_t *mctx, isc_stats_t **statsp, int ncounters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:102,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:103,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/stats.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: isc_stats_increment
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - atomic_fetch_add_relaxed
    - ISC_STATS_VALID
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t isc_stats_increment(isc_stats_t *stats, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:110,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:113,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/isc/stats.c:113,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/isc/stats.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: isc_stats_decrement
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - atomic_fetch_sub_release
    - ISC_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void isc_stats_decrement(isc_stats_t *stats, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:124,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:124,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/stats.c:128,1
    - Dst: dump_fn
      Src: /src/bind9/lib/isc/stats.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg
    - options
    argTypes:
    - isc_stats_t*
    - isc_stats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: isc_stats_dump
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - atomic_load_acquire
    - dump_fn
    - REQUIRE
    - ISC_STATS_VALID
    linkageType: ''
    returnType: void
    signature: "void isc_stats_dump(isc_stats_t *stats, isc_stats_dumper_t dump_fn,
      void *arg,\n\t       unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:138,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:139,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/stats.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stats
    - val
    - counter
    argTypes:
    - isc_stats_t*
    - uint64_t
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: isc_stats_set
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 2
    functionsReached:
    - atomic_store_release
    - REQUIRE
    - ISC_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void isc_stats_set(isc_stats_t *stats, uint64_t val, isc_statscounter_t
      counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:147,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:148,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/stats.c:151,1
    - Dst: atomic_compare_exchange_weak_acq_rel
      Src: /src/bind9/lib/isc/stats.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - stats
    - counter
    - value
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 158
    functionName: isc_stats_update_if_greater
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - atomic_load_acquire
    - atomic_compare_exchange_weak_acq_rel
    - REQUIRE
    - ISC_STATS_VALID
    linkageType: ''
    returnType: void
    signature: "void isc_stats_update_if_greater(isc_stats_t *stats, isc_statscounter_t
      counter,\n\t\t\t    isc_statscounter_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:162,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:163,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/stats.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: isc_stats_get_counter
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - atomic_load_acquire
    - REQUIRE
    - ISC_STATS_VALID
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t isc_stats_get_counter(isc_stats_t *stats, isc_statscounter_t
      counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:175,1
    - Dst: ISC_STATS_VALID
      Src: /src/bind9/lib/isc/stats.c:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stats.c:176,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/stats.c:186,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/stats.c:188,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/stats.c:191,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/stats.c:192,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/stats.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - statsp
    - ncounters
    argTypes:
    - isc_stats_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 198
    functionName: isc_stats_resize
    functionSourceFile: /src/bind9/lib/isc/stats.c
    functionUses: 1
    functionsReached:
    - atomic_store_release
    - atomic_load_acquire
    - isc_mem_get
    - atomic_init
    - REQUIRE
    - ISC_STATS_VALID
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void isc_stats_resize(isc_stats_t **statsp, int ncounters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_random
      Src: /src/bind9/lib/isc/entropy.c:21,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/entropy.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: isc_entropy_get
    functionSourceFile: /src/bind9/lib/isc/entropy.c
    functionUses: 0
    functionsReached:
    - UV_RUNTIME_CHECK
    - uv_random
    linkageType: ''
    returnType: void
    signature: void isc_entropy_get(void *buf, size_t buflen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/bind9/lib/isc/parseint.c:30,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/parseint.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - uip
    - string
    - base
    argTypes:
    - uint32_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 49
    functionName: isc_parse_uint32
    functionSourceFile: /src/bind9/lib/isc/parseint.c
    functionUses: 12
    functionsReached:
    - strtoul
    - isalnum
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_parse_uint32(uint32_t *uip, const char *string, int
      base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/isc/parseint.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - uip
    - string
    - base
    argTypes:
    - uint16_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: isc_parse_uint16
    functionSourceFile: /src/bind9/lib/isc/parseint.c
    functionUses: 5
    functionsReached:
    - isc_parse_uint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_parse_uint16(uint16_t *uip, const char *string, int
      base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/isc/parseint.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - uip
    - string
    - base
    argTypes:
    - uint8_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: isc_parse_uint8
    functionSourceFile: /src/bind9/lib/isc/parseint.c
    functionUses: 0
    functionsReached:
    - isc_parse_uint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_parse_uint8(uint8_t *uip, const char *string, int
      base)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_compare
      Src: /src/bind9/lib/isc/sockaddr.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: isc_sockaddr_equal
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 10
    functionsReached:
    - isc_sockaddr_compare
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_equal(const isc_sockaddr_t *a, const isc_sockaddr_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_compare
      Src: /src/bind9/lib/isc/sockaddr.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: isc_sockaddr_eqaddr
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_compare
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_eqaddr(const isc_sockaddr_t *a, const isc_sockaddr_t
      *b)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/sockaddr.c:45,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/sockaddr.c:62,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/sockaddr.c:75,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/sockaddr.c:99,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 3
    argNames:
    - a
    - b
    - flags
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 104
    functionName: isc_sockaddr_compare
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 2
    functionsReached:
    - memcmp
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: "bool isc_sockaddr_compare(const isc_sockaddr_t *a, const isc_sockaddr_t
      *b,\n\t\t     unsigned int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:110,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:111,1
    - Dst: isc_netaddr_eqprefix
      Src: /src/bind9/lib/isc/sockaddr.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - prefixlen
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: isc_sockaddr_eqaddrprefix
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_eqprefix
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: "bool isc_sockaddr_eqaddrprefix(const isc_sockaddr_t *a, const isc_sockaddr_t
      *b,\n\t\t\t  unsigned int prefixlen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/sockaddr.c:123,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/sockaddr.c:132,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:133,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/sockaddr.c:136,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:137,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/sockaddr.c:143,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/sockaddr.c:144,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:146,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/isc/sockaddr.c:147,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/sockaddr.c:152,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/sockaddr.c:156,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/sockaddr.c:157,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/sockaddr.c:162,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/sockaddr.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - sockaddr
    - target
    argTypes:
    - isc_sockaddr_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 167
    functionName: isc_sockaddr_totext
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_netaddr_fromsockaddr
    - isc_buffer_availableregion
    - INSIST
    - strlen
    - isc_netaddr_totext
    - snprintf
    - REQUIRE
    - ntohs
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t
      *target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/sockaddr.c:178,1
    - Dst: isc_sockaddr_totext
      Src: /src/bind9/lib/isc/sockaddr.c:179,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/sockaddr.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - sa
    - array
    - size
    argTypes:
    - isc_sockaddr_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: isc_sockaddr_format
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 40
    functionsReached:
    - isc_buffer_init
    - isc_sockaddr_totext
    - snprintf
    linkageType: ''
    returnType: void
    signature: void isc_sockaddr_format(const isc_sockaddr_t *sa, char *array, unsigned
      int size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/sockaddr.c:193,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:205,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/isc/sockaddr.c:211,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:218,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/sockaddr.c:222,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/isc/sockaddr.c:225,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/isc/sockaddr.c:227,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - hash
    - sockaddr
    - address_only
    argTypes:
    - isc_hash32_t*
    - isc_sockaddr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 229
    functionName: isc_sockaddr_hash_ex
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_hash32_hash
    - UNREACHABLE
    - IN6_IS_ADDR_V4MAPPED
    - REQUIRE
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void isc_sockaddr_hash_ex(isc_hash32_t *hash, const isc_sockaddr_t
      *sockaddr,\n\t\t     bool address_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/isc/sockaddr.c:235,1
    - Dst: isc_sockaddr_hash_ex
      Src: /src/bind9/lib/isc/sockaddr.c:237,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/isc/sockaddr.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sockaddr
    - address_only
    argTypes:
    - isc_sockaddr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: isc_sockaddr_hash
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_hash_ex
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, bool address_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/sockaddr.c:244,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 250
    functionName: isc_sockaddr_any
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 12
    functionsReached:
    - ISC_LINK_INIT
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_sockaddr_any(isc_sockaddr_t *sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/sockaddr.c:254,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: isc_sockaddr_any6
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 8
    functionsReached:
    - ISC_LINK_INIT
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_sockaddr_any6(isc_sockaddr_t *sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/sockaddr.c:265,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:268,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sockaddr
    - ina
    - port
    argTypes:
    - isc_sockaddr_t*
    - struct in_addr*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: isc_sockaddr_fromin
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 24
    functionsReached:
    - htons
    - ISC_LINK_INIT
    - memset
    linkageType: ''
    returnType: void
    signature: "void isc_sockaddr_fromin(isc_sockaddr_t *sockaddr, const struct in_addr
      *ina,\n\t\t    in_port_t port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/isc/sockaddr.c:277,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/isc/sockaddr.c:280,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/sockaddr.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sockaddr
    - pf
    argTypes:
    - isc_sockaddr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 285
    functionName: isc_sockaddr_anyofpf
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_any
    - UNREACHABLE
    - isc_sockaddr_any6
    linkageType: ''
    returnType: void
    signature: void isc_sockaddr_anyofpf(isc_sockaddr_t *sockaddr, int pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/sockaddr.c:290,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:293,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - sockaddr
    - ina6
    - port
    argTypes:
    - isc_sockaddr_t*
    - struct in6_addr*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: isc_sockaddr_fromin6
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 25
    functionsReached:
    - htons
    - ISC_LINK_INIT
    - memset
    linkageType: ''
    returnType: void
    signature: "void isc_sockaddr_fromin6(isc_sockaddr_t *sockaddr, const struct in6_addr
      *ina6,\n\t\t     in_port_t port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/sockaddr.c:301,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/sockaddr.c:305,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:306,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - sockaddr
    - ina
    - port
    argTypes:
    - isc_sockaddr_t*
    - struct in_addr*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: isc_sockaddr_v6fromin
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - htons
    - ISC_LINK_INIT
    - memmove
    - memset
    linkageType: ''
    returnType: void
    signature: "void isc_sockaddr_v6fromin(isc_sockaddr_t *sockaddr, const struct
      in_addr *ina,\n\t\t      in_port_t port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/sockaddr.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 333
    functionName: isc_sockaddr_pf
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 25
    functionsReached:
    - FATAL_ERROR
    linkageType: ''
    returnType: int
    signature: int isc_sockaddr_pf(const isc_sockaddr_t *sockaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/sockaddr.c:338,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:344,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/sockaddr.c:348,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/isc/sockaddr.c:349,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:350,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/sockaddr.c:353,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - sockaddr
    - na
    - port
    argTypes:
    - isc_sockaddr_t*
    - isc_netaddr_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: isc_sockaddr_fromnetaddr
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - memmove
    - htons
    - isc_netaddr_getzone
    - memset
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: "void isc_sockaddr_fromnetaddr(isc_sockaddr_t *sockaddr, const isc_netaddr_t
      *na,\n\t\t\t in_port_t port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:362,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:365,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/sockaddr.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sockaddr
    - port
    argTypes:
    - isc_sockaddr_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: isc_sockaddr_setport
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 14
    functionsReached:
    - FATAL_ERROR
    - htons
    linkageType: ''
    returnType: void
    signature: void isc_sockaddr_setport(isc_sockaddr_t *sockaddr, in_port_t port)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:379,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:382,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/sockaddr.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 390
    functionName: isc_sockaddr_getport
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 19
    functionsReached:
    - FATAL_ERROR
    - ntohs
    linkageType: ''
    returnType: in_port_t
    signature: in_port_t isc_sockaddr_getport(const isc_sockaddr_t *sockaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:399,1
    - Dst: isc_netaddr_ismulticast
      Src: /src/bind9/lib/isc/sockaddr.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 403
    functionName: isc_sockaddr_ismulticast
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_ismulticast
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_ismulticast(const isc_sockaddr_t *sockaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:410,1
    - Dst: isc_netaddr_isexperimental
      Src: /src/bind9/lib/isc/sockaddr.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: isc_sockaddr_isexperimental
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_isexperimental
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_isexperimental(const isc_sockaddr_t *sockaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:421,1
    - Dst: isc_netaddr_issitelocal
      Src: /src/bind9/lib/isc/sockaddr.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: isc_sockaddr_issitelocal
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_issitelocal
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_issitelocal(const isc_sockaddr_t *sockaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:432,1
    - Dst: isc_netaddr_islinklocal
      Src: /src/bind9/lib/isc/sockaddr.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: isc_sockaddr_islinklocal
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_islinklocal
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_islinklocal(const isc_sockaddr_t *sockaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:443,1
    - Dst: isc_netaddr_isnetzero
      Src: /src/bind9/lib/isc/sockaddr.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: isc_sockaddr_isnetzero
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_isnetzero
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_isnetzero(const isc_sockaddr_t *sockaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/isc/sockaddr.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - isa
    - sa
    argTypes:
    - isc_sockaddr_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 469
    functionName: isc_sockaddr_fromsockaddr
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_sockaddr_fromsockaddr(isc_sockaddr_t *isa, const struct
      sockaddr *sa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/isc/sockaddr.c:474,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/isc/sockaddr.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: isc_sockaddr_disabled
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_net_probeipv4
    - isc_net_probeipv6
    linkageType: ''
    returnType: bool
    signature: bool isc_sockaddr_disabled(const isc_sockaddr_t *sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/mutex.c:34,1
    - Dst: pthread_mutexattr_init
      Src: /src/bind9/lib/isc/mutex.c:34,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/mutex.c:36,1
    - Dst: pthread_mutexattr_settype
      Src: /src/bind9/lib/isc/mutex.c:36,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/mutex.c:39,1
    - Dst: pthread_mutexattr_settype
      Src: /src/bind9/lib/isc/mutex.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: isc__mutex_initialize
    functionSourceFile: /src/bind9/lib/isc/mutex.c
    functionUses: 0
    functionsReached:
    - pthread_mutexattr_init
    - pthread_mutexattr_settype
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__mutex_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: isc__mutex_shutdown
    functionSourceFile: /src/bind9/lib/isc/mutex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc__mutex_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/syslog.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/syslog.c:64,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/syslog.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - str
    - facilityp
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: isc_syslog_facilityfromstring
    functionSourceFile: /src/bind9/lib/isc/syslog.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_syslog_facilityfromstring(const char *str, int *facilityp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netscope.c:36,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/bind9/lib/isc/netscope.c:54,1
    - Dst: if_nametoindex
      Src: /src/bind9/lib/isc/netscope.c:55,1
    - Dst: strtoull
      Src: /src/bind9/lib/isc/netscope.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - af
    - scopename
    - addr
    - zoneid
    argTypes:
    - int
    - char*
    - void*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 76
    functionName: isc_netscope_pton
    functionSourceFile: /src/bind9/lib/isc/netscope.c
    functionUses: 0
    functionsReached:
    - if_nametoindex
    - UNUSED
    - IN6_IS_ADDR_LINKLOCAL
    - strtoull
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_netscope_pton(int af, char *scopename, void *addr,
      uint32_t *zoneid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/hex.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:73,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/hex.c:73,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/hex.c:74,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:80,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/hex.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isc_region_t*
    - int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: isc_hex_totext
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 6
    functionsReached:
    - RETERR
    - str_totext
    - memset
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hex_totext(isc_region_t *source, int wordlength,
      const char *wordbreak,\n\t       isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - length
    - target
    argTypes:
    - hex_decode_ctx_t*
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: hex_decode_init
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void hex_decode_init(hex_decode_ctx_t *ctx, int length, isc_buffer_t
      *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_hex_char
      Src: /src/bind9/lib/isc/hex.c:107,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:116,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/isc/hex.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - hex_decode_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 127
    functionName: hex_decode_char
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_hex_char
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hex_decode_char(hex_decode_ctx_t *ctx, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - hex_decode_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: hex_decode_finish
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hex_decode_finish(hex_decode_ctx_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hex.c:148,1
    - Dst: hex_decode_init
      Src: /src/bind9/lib/isc/hex.c:150,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/hex.c:152,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:161,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/isc/hex.c:161,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:168,1
    - Dst: hex_decode_char
      Src: /src/bind9/lib/isc/hex.c:168,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/hex.c:171,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/hex.c:173,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:175,1
    - Dst: hex_decode_finish
      Src: /src/bind9/lib/isc/hex.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - lexer
    - target
    - length
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 180
    functionName: isc_hex_tobuffer
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached:
    - hex_decode_init
    - RETERR
    - isc_lex_getmastertoken
    - hex_decode_finish
    - isc_buffer_usedlength
    - REQUIRE
    - hex_decode_char
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target,
      int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hex_decode_init
      Src: /src/bind9/lib/isc/hex.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:195,1
    - Dst: hex_decode_char
      Src: /src/bind9/lib/isc/hex.c:195,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:197,1
    - Dst: hex_decode_finish
      Src: /src/bind9/lib/isc/hex.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: isc_hex_decodestring
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 13
    functionsReached:
    - RETERR
    - hex_decode_init
    - hex_decode_finish
    - hex_decode_char
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hex_decodestring(const char *cstr, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/hex.c:206,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/hex.c:207,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hex.c:213,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/hex.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 216
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 1
    functionsReached:
    - strlen
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t str_totext(const char *source, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/hex.c:222,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hex.c:226,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/hex.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - target
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mem_tobuffer(isc_buffer_t *target, void *base, unsigned
      int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cb
    argTypes:
    - isc_errorcallback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: isc_error_setunexpected
    functionSourceFile: /src/bind9/lib/isc/error.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_error_setunexpected(isc_errorcallback_t cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cb
    argTypes:
    - isc_errorcallback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: isc_error_setfatal
    functionSourceFile: /src/bind9/lib/isc/error.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_error_setfatal(isc_errorcallback_t cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/isc/error.c:58,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/error.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - file
    - line
    - func
    - format
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: isc_error_unexpected
    functionSourceFile: /src/bind9/lib/isc/error.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void isc_error_unexpected(const char *file, int line, const char *func,\n\t\t
      \    const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/isc/error.c:68,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/error.c:70,1
    - Dst: abort
      Src: /src/bind9/lib/isc/error.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - file
    - line
    - func
    - format
    argTypes:
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: isc_error_fatal
    functionSourceFile: /src/bind9/lib/isc/error.c
    functionUses: 0
    functionsReached:
    - abort
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void isc_error_fatal(const char *file, int line, const char *func,\n\t\tconst
      char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/error.c:77,1
    - Dst: vfprintf
      Src: /src/bind9/lib/isc/error.c:78,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/error.c:79,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/error.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - file
    - line
    - func
    - format
    - args
    argTypes:
    - char*
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: default_unexpected_callback
    functionSourceFile: /src/bind9/lib/isc/error.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void default_unexpected_callback(const char *file, int line, const
      char *func,\n\t\t\t    const char *format, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/error.c:86,1
    - Dst: vfprintf
      Src: /src/bind9/lib/isc/error.c:87,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/error.c:88,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/error.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - file
    - line
    - func
    - format
    - args
    argTypes:
    - char*
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: default_fatal_callback
    functionSourceFile: /src/bind9/lib/isc/error.c
    functionUses: 0
    functionsReached:
    - vfprintf
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: "void default_fatal_callback(const char *file, int line, const char
      *func,\n\t\t       const char *format, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - portset
    - port
    argTypes:
    - isc_portset_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: portset_isset
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool portset_isset(isc_portset_t *portset, in_port_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: portset_isset
      Src: /src/bind9/lib/isc/portset.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - portset
    - port
    argTypes:
    - isc_portset_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: portset_add
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - portset_isset
    linkageType: ''
    returnType: void
    signature: void portset_add(isc_portset_t *portset, in_port_t port)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: portset_isset
      Src: /src/bind9/lib/isc/portset.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - portset
    - port
    argTypes:
    - isc_portset_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: portset_remove
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - portset_isset
    linkageType: ''
    returnType: void
    signature: void portset_remove(isc_portset_t *portset, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:62,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/portset.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - portsetp
    argTypes:
    - isc_mem_t*
    - isc_portset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: isc_portset_create
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 3
    functionsReached:
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_portset_create(isc_mem_t *mctx, isc_portset_t **portsetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:73,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/portset.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - portsetp
    argTypes:
    - isc_mem_t*
    - isc_portset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: isc_portset_destroy
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 3
    functionsReached:
    - isc_mem_put
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_portset_destroy(isc_mem_t *mctx, isc_portset_t **portsetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:81,1
    - Dst: portset_isset
      Src: /src/bind9/lib/isc/portset.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - portset
    - port
    argTypes:
    - isc_portset_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: isc_portset_isset
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - portset_isset
    linkageType: ''
    returnType: bool
    signature: bool isc_portset_isset(isc_portset_t *portset, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - portset
    argTypes:
    - isc_portset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: isc_portset_nports
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_portset_nports(isc_portset_t *portset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:95,1
    - Dst: portset_add
      Src: /src/bind9/lib/isc/portset.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - portset
    - port
    argTypes:
    - isc_portset_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: isc_portset_add
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - portset_add
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_portset_add(isc_portset_t *portset, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: portset_remove
      Src: /src/bind9/lib/isc/portset.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - portset
    - port
    argTypes:
    - isc_portset_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: isc_portset_remove
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - portset_remove
    linkageType: ''
    returnType: void
    signature: void isc_portset_remove(isc_portset_t *portset, in_port_t port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:111,1
    - Dst: portset_add
      Src: /src/bind9/lib/isc/portset.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - portset
    - port_lo
    - port_hi
    argTypes:
    - isc_portset_t*
    - in_port_t
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: isc_portset_addrange
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 3
    functionsReached:
    - portset_add
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_portset_addrange(isc_portset_t *portset, in_port_t port_lo,\n\t\t
      \    in_port_t port_hi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/portset.c:125,1
    - Dst: portset_remove
      Src: /src/bind9/lib/isc/portset.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - portset
    - port_lo
    - port_hi
    argTypes:
    - isc_portset_t*
    - in_port_t
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 131
    functionName: isc_portset_removerange
    functionSourceFile: /src/bind9/lib/isc/portset.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - portset_remove
    linkageType: ''
    returnType: void
    signature: "void isc_portset_removerange(isc_portset_t *portset, in_port_t port_lo,\n\t\t\tin_port_t
      port_hi)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/isc/uv.c:95,1
    - Dst: uv_strerror
      Src: /src/bind9/lib/isc/uv.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 71
    argCount: 5
    argNames:
    - uverr
    - dolog
    - file
    - line
    - func
    argTypes:
    - int
    - bool
    - char*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 102
    functionName: isc__uverr2result
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - uv_strerror
    - UNEXPECTED_ERROR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__uverr2result(int uverr, bool dolog, const char *file,
      unsigned int line,\n\t\t  const char *func)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/uv.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: isc__uv_malloc
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__uv_malloc(size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/isc/uv.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: isc__uv_realloc
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_reallocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__uv_realloc(void *ptr, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_callocate
      Src: /src/bind9/lib/isc/uv.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: isc__uv_calloc
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_callocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__uv_calloc(size_t count, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/uv.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: isc__uv_free
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void isc__uv_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UV_VERSION
      Src: /src/bind9/lib/isc/uv.c:133,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/uv.c:135,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/uv.c:136,1
    - Dst: uv_replace_allocator
      Src: /src/bind9/lib/isc/uv.c:138,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/uv.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: isc__uv_initialize
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_setdestroycheck
    - uv_replace_allocator
    - UV_VERSION
    - isc_mem_create
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__uv_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UV_VERSION
      Src: /src/bind9/lib/isc/uv.c:146,1
    - Dst: uv_library_shutdown
      Src: /src/bind9/lib/isc/uv.c:147,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/uv.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: isc__uv_shutdown
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    - uv_library_shutdown
    - UV_VERSION
    linkageType: ''
    returnType: void
    signature: void isc__uv_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UV_VERSION
      Src: /src/bind9/lib/isc/uv.c:154,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/uv.c:155,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/uv.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - check
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: isc__uv_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - isc_mem_setdestroycheck
    - UV_VERSION
    linkageType: ''
    returnType: void
    signature: void isc__uv_setdestroycheck(bool check)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: BIT_AT
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_AT(a, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: T
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 262
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: T
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 262
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: IS_MARK
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_MARK(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: IS_USERINFO_CHAR
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_USERINFO_CHAR(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: IS_URL_CHAR
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_URL_CHAR(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: IS_HOST_CHAR
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HOST_CHAR(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: IS_URL_CHAR
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_URL_CHAR(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: IS_HOST_CHAR
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HOST_CHAR(c)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: isalpha
      Src: /src/bind9/lib/isc/url.c:245,1
    - Dst: isalpha
      Src: /src/bind9/lib/isc/url.c:252,1
    - Dst: IS_USERINFO_CHAR
      Src: /src/bind9/lib/isc/url.c:296,1
    - Dst: IS_URL_CHAR
      Src: /src/bind9/lib/isc/url.c:303,1
    - Dst: IS_URL_CHAR
      Src: /src/bind9/lib/isc/url.c:319,1
    - Dst: IS_URL_CHAR
      Src: /src/bind9/lib/isc/url.c:335,1
    - Dst: IS_URL_CHAR
      Src: /src/bind9/lib/isc/url.c:350,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 2
    argNames:
    - s
    - ch
    argTypes:
    - state_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 371
    functionName: parse_url_char
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached:
    - IS_URL_CHAR
    - isalpha
    - IS_USERINFO_CHAR
    linkageType: ''
    returnType: state_t
    signature: state_t parse_url_char(state_t s, const char ch)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: IS_USERINFO_CHAR
      Src: /src/bind9/lib/isc/url.c:382,1
    - Dst: IS_HOST_CHAR
      Src: /src/bind9/lib/isc/url.c:392,1
    - Dst: IS_HOST_CHAR
      Src: /src/bind9/lib/isc/url.c:399,1
    - Dst: isxdigit
      Src: /src/bind9/lib/isc/url.c:418,1
    - Dst: isalnum
      Src: /src/bind9/lib/isc/url.c:435,1
    - Dst: isdigit
      Src: /src/bind9/lib/isc/url.c:444,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 2
    argNames:
    - s
    - ch
    argTypes:
    - host_state_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 455
    functionName: http_parse_host_char
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached:
    - isalnum
    - IS_HOST_CHAR
    - IS_USERINFO_CHAR
    - isxdigit
    - isdigit
    linkageType: ''
    returnType: host_state_t
    signature: host_state_t http_parse_host_char(host_state_t s, const char ch)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/url.c:464,1
    - Dst: http_parse_host_char
      Src: /src/bind9/lib/isc/url.c:471,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - buf
    - up
    - found_at
    argTypes:
    - char*
    - isc_url_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 542
    functionName: http_parse_host
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached:
    - http_parse_host_char
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t http_parse_host(const char *buf, isc_url_parser_t *up,
      int found_at)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: parse_url_char
      Src: /src/bind9/lib/isc/url.c:561,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/url.c:600,1
    - Dst: http_parse_host
      Src: /src/bind9/lib/isc/url.c:627,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/url.c:655,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 4
    argNames:
    - buf
    - buflen
    - is_connect
    - up
    argTypes:
    - char*
    - size_t
    - bool
    - isc_url_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 672
    functionName: isc_url_parse
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - INSIST
    - http_parse_host
    - parse_url_char
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_url_parse(const char *buf, size_t buflen, bool is_connect,\n\t
      \     isc_url_parser_t *up)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: BIT_TEST
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT_TEST(f, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:50,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:56,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/radix.c:60,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/radix.c:64,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/radix.c:69,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/radix.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - mctx
    - target
    - family
    - dest
    - bitlen
    argTypes:
    - isc_mem_t*
    - isc_prefix_t**
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: _new_prefix
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - memmove
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t _new_prefix(isc_mem_t *mctx, isc_prefix_t **target, int
      family, void *dest,\n\t    int bitlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/radix.c:80,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/radix.c:81,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/radix.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - isc_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: _deref_prefix
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached:
    - isc_refcount_destroy
    - isc_refcount_decrement
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void _deref_prefix(isc_prefix_t *prefix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:90,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:91,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:94,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/radix.c:101,1
    - Dst: _new_prefix
      Src: /src/bind9/lib/isc/radix.c:103,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/radix.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - mctx
    - target
    - prefix
    argTypes:
    - isc_mem_t*
    - isc_prefix_t**
    - isc_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: _ref_prefix
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached:
    - isc_refcount_current
    - INSIST
    - _new_prefix
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t _ref_prefix(isc_mem_t *mctx, isc_prefix_t **target, isc_prefix_t
      *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/isc/radix.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - addr
    - dest
    - mask
    argTypes:
    - void*
    - void*
    - u_int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: _comp_with_mask
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _comp_with_mask(void *addr, void *dest, u_int mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:136,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/radix.c:137,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:139,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/radix.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mctx
    - target
    - maxbits
    argTypes:
    - isc_mem_t*
    - isc_radix_tree_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: isc_radix_create
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 2
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_radix_create(isc_mem_t *mctx, isc_radix_tree_t **target, int
      maxbits)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:155,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:167,1
    - Dst: func
      Src: /src/bind9/lib/isc/radix.c:169,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:172,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:176,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/radix.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - radix
    - func
    argTypes:
    - isc_radix_tree_t*
    - isc_radix_destroyfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 194
    functionName: _clear_radix
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached:
    - func
    - RUNTIME_CHECK
    - INSIST
    - _deref_prefix
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void _clear_radix(isc_radix_tree_t *radix, isc_radix_destroyfunc_t
      func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:198,1
    - Dst: _clear_radix
      Src: /src/bind9/lib/isc/radix.c:199,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/radix.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - radix
    - func
    argTypes:
    - isc_radix_tree_t*
    - isc_radix_destroyfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: isc_radix_destroy
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 2
    functionsReached:
    - _clear_radix
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void isc_radix_destroy(isc_radix_tree_t *radix, isc_radix_destroyfunc_t
      func)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:210,1
    - Dst: RADIX_WALK
      Src: /src/bind9/lib/isc/radix.c:212,1
    - Dst: func
      Src: /src/bind9/lib/isc/radix.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - radix
    - func
    argTypes:
    - isc_radix_tree_t*
    - isc_radix_processfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: isc_radix_process
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 0
    functionsReached:
    - RADIX_WALK
    - REQUIRE
    - func
    linkageType: ''
    returnType: void
    signature: void isc_radix_process(isc_radix_tree_t *radix, isc_radix_processfunc_t
      func)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:227,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/radix.c:228,1
    - Dst: isc_prefix_touchar
      Src: /src/bind9/lib/isc/radix.c:238,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:246,1
    - Dst: _comp_with_mask
      Src: /src/bind9/lib/isc/radix.c:265,1
    - Dst: isc_prefix_tochar
      Src: /src/bind9/lib/isc/radix.c:265,1
    - Dst: isc_prefix_tochar
      Src: /src/bind9/lib/isc/radix.c:266,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:269,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - radix
    - target
    - prefix
    argTypes:
    - isc_radix_tree_t*
    - isc_radix_node_t**
    - isc_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 285
    functionName: isc_radix_search
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 1
    functionsReached:
    - isc_prefix_tochar
    - RUNTIME_CHECK
    - REQUIRE
    - _comp_with_mask
    - isc_prefix_touchar
    - ISC_RADIX_FAMILY
    - BIT_TEST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_radix_search(isc_radix_tree_t *radix, isc_radix_node_t
      **target,\n\t\t isc_prefix_t *prefix)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:298,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/radix.c:299,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:305,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:311,1
    - Dst: _ref_prefix
      Src: /src/bind9/lib/isc/radix.c:317,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:319,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:350,1
    - Dst: memset
      Src: /src/bind9/lib/isc/radix.c:353,1
    - Dst: isc_prefix_touchar
      Src: /src/bind9/lib/isc/radix.c:361,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:366,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:379,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:382,1
    - Dst: isc_prefix_touchar
      Src: /src/bind9/lib/isc/radix.c:384,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:395,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:400,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:443,1
    - Dst: _ref_prefix
      Src: /src/bind9/lib/isc/radix.c:453,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:459,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:481,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:488,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:490,1
    - Dst: _ref_prefix
      Src: /src/bind9/lib/isc/radix.c:494,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:496,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:498,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:529,1
    - Dst: memset
      Src: /src/bind9/lib/isc/radix.c:531,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:535,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:538,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:540,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:543,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:551,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:553,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:561,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:570,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:580,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:591,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 240
    argCount: 4
    argNames:
    - radix
    - target
    - source
    - prefix
    argTypes:
    - isc_radix_tree_t*
    - isc_radix_node_t**
    - isc_radix_node_t*
    - isc_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 603
    functionName: isc_radix_insert
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 2
    functionsReached:
    - memset
    - RUNTIME_CHECK
    - INSIST
    - isc_mem_get
    - isc_prefix_touchar
    - REQUIRE
    - isc_mem_put
    - ISC_RADIX_FAMILY
    - BIT_TEST
    - _ref_prefix
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_radix_insert(isc_radix_tree_t *radix, isc_radix_node_t
      **target,\n\t\t isc_radix_node_t *source, isc_prefix_t *prefix)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:609,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:610,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:618,1
    - Dst: memset
      Src: /src/bind9/lib/isc/radix.c:622,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:628,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:631,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:633,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:642,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:647,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:656,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:661,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:666,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:674,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:681,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:684,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:686,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:694,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:698,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 2
    argNames:
    - radix
    - node
    argTypes:
    - isc_radix_tree_t*
    - isc_radix_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 700
    functionName: isc_radix_remove
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 1
    functionsReached:
    - memset
    - INSIST
    - _deref_prefix
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void isc_radix_remove(isc_radix_tree_t *radix, isc_radix_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/base32.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:67,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:76,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:76,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:84,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:84,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:93,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:99,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:99,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base32.c:100,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:107,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:107,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base32.c:111,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 6
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    - base
    - pad
    argTypes:
    - isc_region_t*
    - int
    - char*
    - isc_buffer_t*
    - char[]
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 114
    functionName: base32_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - str_totext
    - memset
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t base32_totext(isc_region_t *source, int wordlength, const
      char *wordbreak,\n\t      isc_buffer_t *target, const char base[], char pad)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_totext
      Src: /src/bind9/lib/isc/base32.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isc_region_t*
    - int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: isc_base32_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_base32_totext(isc_region_t *source, int wordlength,
      const char *wordbreak,\n\t\t  isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_totext
      Src: /src/bind9/lib/isc/base32.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isc_region_t*
    - int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: isc_base32hex_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_base32hex_totext(isc_region_t *source, int wordlength,\n\t\t
      \    const char *wordbreak, isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_totext
      Src: /src/bind9/lib/isc/base32.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isc_region_t*
    - int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: isc_base32hexnp_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 1
    functionsReached:
    - base32_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_base32hexnp_totext(isc_region_t *source, int wordlength,\n\t\t
      \      const char *wordbreak, isc_buffer_t *target)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/lib/isc/base32.c:160,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:247,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/isc/base32.c:247,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - base32_decode_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 258
    functionName: base32_decode_char
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - strchr
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t base32_decode_char(base32_decode_ctx_t *ctx, int c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:271,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - base32_decode_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: base32_decode_finish
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - base32_decode_char
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t base32_decode_finish(base32_decode_ctx_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/base32.c:291,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base32.c:293,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:302,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/isc/base32.c:302,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:309,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:309,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base32.c:312,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/base32.c:314,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:316,1
    - Dst: base32_decode_finish
      Src: /src/bind9/lib/isc/base32.c:316,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - lexer
    - base
    - pad
    - target
    - length
    argTypes:
    - isc_lex_t*
    - char[]
    - bool
    - isc_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 321
    functionName: base32_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - base32_decode_finish
    - isc_buffer_usedlength
    - base32_decode_char
    - REQUIRE
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t base32_tobuffer(isc_lex_t *lexer, const char base[],
      bool pad,\n\t\tisc_buffer_t *target, int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_tobuffer
      Src: /src/bind9/lib/isc/base32.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lexer
    - target
    - length
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: isc_base32_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32_tobuffer(isc_lex_t *lexer, isc_buffer_t *target,
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_tobuffer
      Src: /src/bind9/lib/isc/base32.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lexer
    - target
    - length
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: isc_base32hex_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32hex_tobuffer(isc_lex_t *lexer, isc_buffer_t
      *target, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_tobuffer
      Src: /src/bind9/lib/isc/base32.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lexer
    - target
    - length
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 336
    functionName: isc_base32hexnp_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32hexnp_tobuffer(isc_lex_t *lexer, isc_buffer_t
      *target, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:353,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:353,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:355,1
    - Dst: base32_decode_finish
      Src: /src/bind9/lib/isc/base32.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - cstr
    - base
    - pad
    - target
    argTypes:
    - char*
    - char[]
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 357
    functionName: base32_decodestring
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - base32_decode_finish
    - base32_decode_char
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t base32_decodestring(const char *cstr, const char base[],
      bool pad,\n\t\t    isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_decodestring
      Src: /src/bind9/lib/isc/base32.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 362
    functionName: isc_base32_decodestring
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decodestring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32_decodestring(const char *cstr, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_decodestring
      Src: /src/bind9/lib/isc/base32.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: isc_base32hex_decodestring
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decodestring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32hex_decodestring(const char *cstr, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_decodestring
      Src: /src/bind9/lib/isc/base32.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: isc_base32hexnp_decodestring
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decodestring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32hexnp_decodestring(const char *cstr, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:383,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:383,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base32.c:384,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:386,1
    - Dst: base32_decode_finish
      Src: /src/bind9/lib/isc/base32.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - source
    - base
    - pad
    - target
    argTypes:
    - isc_region_t*
    - char[]
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: base32_decoderegion
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - base32_decode_finish
    - base32_decode_char
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t base32_decoderegion(isc_region_t *source, const char
      base[], bool pad,\n\t\t    isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_decoderegion
      Src: /src/bind9/lib/isc/base32.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: isc_base32_decoderegion
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decoderegion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32_decoderegion(isc_region_t *source, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_decoderegion
      Src: /src/bind9/lib/isc/base32.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: isc_base32hex_decoderegion
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 1
    functionsReached:
    - base32_decoderegion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: base32_decoderegion
      Src: /src/bind9/lib/isc/base32.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: isc_base32hexnp_decoderegion
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decoderegion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/base32.c:410,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/base32.c:411,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base32.c:417,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base32.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 420
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 2
    functionsReached:
    - strlen
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t str_totext(const char *source, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/base32.c:426,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base32.c:430,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base32.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - target
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 433
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 2
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mem_tobuffer(isc_buffer_t *target, void *base, unsigned
      int length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:34,1
    - Dst: SHA1_Init
      Src: /src/bind9/lib/isc/iterated_hash.c:49,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:50,1
    - Dst: SHA1_Update
      Src: /src/bind9/lib/isc/iterated_hash.c:54,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:55,1
    - Dst: SHA1_Update
      Src: /src/bind9/lib/isc/iterated_hash.c:59,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:60,1
    - Dst: SHA1_Final
      Src: /src/bind9/lib/isc/iterated_hash.c:64,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 7
    argNames:
    - out
    - hashalg
    - iterations
    - salt
    - saltlength
    - in
    - inlength
    argTypes:
    - unsigned char*
    - unsigned int
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 74
    functionName: isc_iterated_hash
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 3
    functionsReached:
    - SHA1_Final
    - SHA1_Init
    - REQUIRE
    - ERR_clear_error
    - SHA1_Update
    linkageType: ''
    returnType: int
    signature: "int isc_iterated_hash(unsigned char *out, const unsigned int hashalg,\n\t\t
      \ const int iterations, const unsigned char *salt,\n\t\t  const int saltlength,
      const unsigned char *in,\n\t\t  const int inlength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: isc__iterated_hash_initialize
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc__iterated_hash_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: isc__iterated_hash_shutdown
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc__iterated_hash_shutdown(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:101,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/bind9/lib/isc/iterated_hash.c:115,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/isc/iterated_hash.c:119,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/isc/iterated_hash.c:123,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/bind9/lib/isc/iterated_hash.c:127,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 7
    argNames:
    - out
    - hashalg
    - iterations
    - salt
    - saltlength
    - in
    - inlength
    argTypes:
    - unsigned char*
    - unsigned int
    - int
    - unsigned char*
    - int
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 140
    functionName: isc_iterated_hash
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 3
    functionsReached:
    - EVP_DigestUpdate
    - EVP_DigestFinal_ex
    - ERR_clear_error
    - REQUIRE
    - EVP_MD_CTX_copy_ex
    linkageType: ''
    returnType: int
    signature: "int isc_iterated_hash(unsigned char *out, const unsigned int hashalg,\n\t\t
      \ const int iterations, const unsigned char *salt,\n\t\t  const int saltlength,
      const unsigned char *in,\n\t\t  const int inlength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/isc/iterated_hash.c:148,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/iterated_hash.c:149,1
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/isc/iterated_hash.c:150,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/iterated_hash.c:151,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/iterated_hash.c:153,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/isc/iterated_hash.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: isc__iterated_hash_initialize
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_new
    - EVP_DigestInit_ex
    - INSIST
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__iterated_hash_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:163,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/isc/iterated_hash.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:166,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/isc/iterated_hash.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: isc__iterated_hash_shutdown
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__iterated_hash_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/async.c:41,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/async.c:41,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/async.c:42,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/async.c:44,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/async.c:50,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/async.c:59,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/async.c:62,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/async.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - loop
    - cb
    - cbarg
    argTypes:
    - isc_loop_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 65
    functionName: isc_async_run
    functionSourceFile: /src/bind9/lib/isc/async.c
    functionUses: 19
    functionsReached:
    - cds_wfcq_node_init
    - VALID_LOOP
    - isc_mem_get
    - cds_wfcq_enqueue
    - uv_async_send
    - REQUIRE
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_async_run(isc_loop_t *loop, isc_job_cb cb, void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/async.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/async.c:72,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/async.c:72,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/isc/async.c:75,1
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/isc/async.c:90,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/async.c:93,1
    - Dst: __cds_wfcq_for_each_blocking_safe
      Src: /src/bind9/lib/isc/async.c:107,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/isc/async.c:108,1
    - Dst: isc_job_t*::cb
      Src: /src/bind9/lib/isc/async.c:110,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/async.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 114
    functionName: isc__async_cb
    functionSourceFile: /src/bind9/lib/isc/async.c
    functionUses: 0
    functionsReached:
    - __cds_wfcq_splice_blocking
    - VALID_LOOP
    - __cds_wfcq_for_each_blocking_safe
    - uv_handle_get_data
    - INSIST
    - isc_job_t*::cb
    - REQUIRE
    - isc_mem_put
    - caa_container_of
    - __cds_wfcq_init
    linkageType: ''
    returnType: void
    signature: void isc__async_cb(uv_async_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/async.c:118,1
    - Dst: isc__async_cb
      Src: /src/bind9/lib/isc/async.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: isc__async_close
    functionSourceFile: /src/bind9/lib/isc/async.c
    functionUses: 0
    functionsReached:
    - isc__async_cb
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void isc__async_close(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - k
    argTypes:
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: rotl
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rotl(const uint32_t x, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotl
      Src: /src/bind9/lib/isc/random.c:76,1
    - Dst: rotl
      Src: /src/bind9/lib/isc/random.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: next
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 22
    functionsReached:
    - rotl
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t next(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_entropy_get
      Src: /src/bind9/lib/isc/random.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: isc__random_initialize
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 0
    functionsReached:
    - isc_entropy_get
    linkageType: ''
    returnType: void
    signature: void isc__random_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__random_initialize
      Src: /src/bind9/lib/isc/random.c:114,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: isc_random8
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 1
    functionsReached:
    - next
    - isc__random_initialize
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isc_random8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__random_initialize
      Src: /src/bind9/lib/isc/random.c:120,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: isc_random16
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 4
    functionsReached:
    - next
    - isc__random_initialize
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t isc_random16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__random_initialize
      Src: /src/bind9/lib/isc/random.c:126,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: isc_random32
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 4
    functionsReached:
    - next
    - isc__random_initialize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_random32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/random.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/random.c:133,1
    - Dst: isc__random_initialize
      Src: /src/bind9/lib/isc/random.c:138,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:141,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/random.c:142,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:144,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/random.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: isc_random_buf
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 6
    functionsReached:
    - memmove
    - next
    - REQUIRE
    - isc__random_initialize
    linkageType: ''
    returnType: void
    signature: void isc_random_buf(void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__random_initialize
      Src: /src/bind9/lib/isc/random.c:151,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:164,1
    - Dst: next
      Src: /src/bind9/lib/isc/random.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - limit
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 223
    functionName: isc_random_uniform
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 18
    functionsReached:
    - next
    - isc__random_initialize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_random_uniform(uint32_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/isc/rwlock.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: read_indicator_arrive
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_release
    linkageType: ''
    returnType: void
    signature: void read_indicator_arrive(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/isc/rwlock.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: read_indicator_depart
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_release
    linkageType: ''
    returnType: void
    signature: void read_indicator_depart(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/rwlock.c:97,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/rwlock.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: read_indicator_isempty
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    linkageType: ''
    returnType: bool
    signature: bool read_indicator_isempty(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/isc/rwlock.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: writers_barrier_raise
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_release
    linkageType: ''
    returnType: void
    signature: void writers_barrier_raise(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/isc/rwlock.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: writers_barrier_lower
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub_release
    linkageType: ''
    returnType: void
    signature: void writers_barrier_lower(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/rwlock.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: writers_barrier_israised
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    linkageType: ''
    returnType: bool
    signature: bool writers_barrier_israised(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/rwlock.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: writers_lock_islocked
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    linkageType: ''
    returnType: bool
    signature: bool writers_lock_islocked(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_weak_acq_rel
      Src: /src/bind9/lib/isc/rwlock.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: writers_lock_acquire
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_compare_exchange_weak_acq_rel
    linkageType: ''
    returnType: bool
    signature: bool writers_lock_acquire(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/rwlock.c:130,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/rwlock.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: writers_lock_release
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_compare_exchange_strong_acq_rel
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void writers_lock_release(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: ran_out_of_patience
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ran_out_of_patience(cnt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBISC_RWLOCK_RDLOCK_REQ
      Src: /src/bind9/lib/isc/rwlock.c:142,1
    - Dst: read_indicator_arrive
      Src: /src/bind9/lib/isc/rwlock.c:145,1
    - Dst: writers_lock_islocked
      Src: /src/bind9/lib/isc/rwlock.c:146,1
    - Dst: read_indicator_depart
      Src: /src/bind9/lib/isc/rwlock.c:152,1
    - Dst: writers_lock_islocked
      Src: /src/bind9/lib/isc/rwlock.c:154,1
    - Dst: isc_pause
      Src: /src/bind9/lib/isc/rwlock.c:155,1
    - Dst: ran_out_of_patience
      Src: /src/bind9/lib/isc/rwlock.c:156,1
    - Dst: writers_barrier_raise
      Src: /src/bind9/lib/isc/rwlock.c:157,1
    - Dst: writers_barrier_lower
      Src: /src/bind9/lib/isc/rwlock.c:163,1
    - Dst: LIBISC_RWLOCK_RDLOCK_ACQ
      Src: /src/bind9/lib/isc/rwlock.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: isc_rwlock_rdlock
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - read_indicator_arrive
    - ran_out_of_patience
    - writers_barrier_lower
    - writers_barrier_raise
    - LIBISC_RWLOCK_RDLOCK_ACQ
    - read_indicator_depart
    - writers_lock_islocked
    - isc_pause
    - LIBISC_RWLOCK_RDLOCK_REQ
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_rdlock(isc_rwlock_t *rwl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_indicator_arrive
      Src: /src/bind9/lib/isc/rwlock.c:171,1
    - Dst: writers_lock_islocked
      Src: /src/bind9/lib/isc/rwlock.c:172,1
    - Dst: read_indicator_depart
      Src: /src/bind9/lib/isc/rwlock.c:174,1
    - Dst: LIBISC_RWLOCK_TRYRDLOCK
      Src: /src/bind9/lib/isc/rwlock.c:176,1
    - Dst: LIBISC_RWLOCK_TRYRDLOCK
      Src: /src/bind9/lib/isc/rwlock.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: isc_rwlock_tryrdlock
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - read_indicator_arrive
    - LIBISC_RWLOCK_TRYRDLOCK
    - writers_lock_islocked
    - read_indicator_depart
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_rwlock_tryrdlock(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_indicator_depart
      Src: /src/bind9/lib/isc/rwlock.c:187,1
    - Dst: LIBISC_RWLOCK_RDUNLOCK
      Src: /src/bind9/lib/isc/rwlock.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: isc_rwlock_rdunlock
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - LIBISC_RWLOCK_RDUNLOCK
    - read_indicator_depart
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_rdunlock(isc_rwlock_t *rwl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: writers_barrier_israised
      Src: /src/bind9/lib/isc/rwlock.c:194,1
    - Dst: LIBISC_RWLOCK_TRYUPGRADE
      Src: /src/bind9/lib/isc/rwlock.c:195,1
    - Dst: writers_lock_acquire
      Src: /src/bind9/lib/isc/rwlock.c:200,1
    - Dst: LIBISC_RWLOCK_TRYUPGRADE
      Src: /src/bind9/lib/isc/rwlock.c:201,1
    - Dst: read_indicator_depart
      Src: /src/bind9/lib/isc/rwlock.c:206,1
    - Dst: read_indicator_isempty
      Src: /src/bind9/lib/isc/rwlock.c:208,1
    - Dst: read_indicator_arrive
      Src: /src/bind9/lib/isc/rwlock.c:210,1
    - Dst: writers_lock_release
      Src: /src/bind9/lib/isc/rwlock.c:213,1
    - Dst: LIBISC_RWLOCK_TRYUPGRADE
      Src: /src/bind9/lib/isc/rwlock.c:214,1
    - Dst: LIBISC_RWLOCK_TRYUPGRADE
      Src: /src/bind9/lib/isc/rwlock.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 219
    functionName: isc_rwlock_tryupgrade
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 1
    functionsReached:
    - read_indicator_arrive
    - writers_lock_acquire
    - writers_lock_release
    - read_indicator_depart
    - writers_barrier_israised
    - LIBISC_RWLOCK_TRYUPGRADE
    - read_indicator_isempty
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_rwlock_tryupgrade(isc_rwlock_t *rwl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_indicator_isempty
      Src: /src/bind9/lib/isc/rwlock.c:225,1
    - Dst: isc_pause
      Src: /src/bind9/lib/isc/rwlock.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: read_indicator_wait_until_empty
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - isc_pause
    - read_indicator_isempty
    linkageType: ''
    returnType: void
    signature: void read_indicator_wait_until_empty(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBISC_RWLOCK_WRLOCK_REQ
      Src: /src/bind9/lib/isc/rwlock.c:234,1
    - Dst: writers_barrier_israised
      Src: /src/bind9/lib/isc/rwlock.c:237,1
    - Dst: isc_pause
      Src: /src/bind9/lib/isc/rwlock.c:238,1
    - Dst: writers_lock_acquire
      Src: /src/bind9/lib/isc/rwlock.c:242,1
    - Dst: isc_pause
      Src: /src/bind9/lib/isc/rwlock.c:243,1
    - Dst: read_indicator_wait_until_empty
      Src: /src/bind9/lib/isc/rwlock.c:246,1
    - Dst: LIBISC_RWLOCK_WRLOCK_ACQ
      Src: /src/bind9/lib/isc/rwlock.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 249
    functionName: isc_rwlock_wrlock
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - writers_lock_acquire
    - LIBISC_RWLOCK_WRLOCK_ACQ
    - read_indicator_wait_until_empty
    - writers_barrier_israised
    - LIBISC_RWLOCK_WRLOCK_REQ
    - isc_pause
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_wrlock(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writers_lock_release
      Src: /src/bind9/lib/isc/rwlock.c:253,1
    - Dst: LIBISC_RWLOCK_WRUNLOCK
      Src: /src/bind9/lib/isc/rwlock.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: isc_rwlock_wrunlock
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - writers_lock_release
    - LIBISC_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_wrunlock(isc_rwlock_t *rwl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: writers_barrier_israised
      Src: /src/bind9/lib/isc/rwlock.c:260,1
    - Dst: LIBISC_RWLOCK_TRYWRLOCK
      Src: /src/bind9/lib/isc/rwlock.c:261,1
    - Dst: writers_lock_acquire
      Src: /src/bind9/lib/isc/rwlock.c:266,1
    - Dst: LIBISC_RWLOCK_TRYWRLOCK
      Src: /src/bind9/lib/isc/rwlock.c:267,1
    - Dst: read_indicator_isempty
      Src: /src/bind9/lib/isc/rwlock.c:271,1
    - Dst: writers_lock_release
      Src: /src/bind9/lib/isc/rwlock.c:273,1
    - Dst: LIBISC_RWLOCK_TRYWRLOCK
      Src: /src/bind9/lib/isc/rwlock.c:275,1
    - Dst: LIBISC_RWLOCK_TRYWRLOCK
      Src: /src/bind9/lib/isc/rwlock.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: isc_rwlock_trywrlock
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - writers_lock_acquire
    - LIBISC_RWLOCK_TRYWRLOCK
    - writers_lock_release
    - writers_barrier_israised
    - read_indicator_isempty
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_rwlock_trywrlock(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_indicator_arrive
      Src: /src/bind9/lib/isc/rwlock.c:285,1
    - Dst: writers_lock_release
      Src: /src/bind9/lib/isc/rwlock.c:287,1
    - Dst: LIBISC_RWLOCK_DOWNGRADE
      Src: /src/bind9/lib/isc/rwlock.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 290
    functionName: isc_rwlock_downgrade
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - read_indicator_arrive
    - LIBISC_RWLOCK_DOWNGRADE
    - writers_lock_release
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_downgrade(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/rwlock.c:294,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/rwlock.c:296,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/rwlock.c:297,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/rwlock.c:298,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/rwlock.c:299,1
    - Dst: LIBISC_RWLOCK_INIT
      Src: /src/bind9/lib/isc/rwlock.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: isc_rwlock_init
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 3
    functionsReached:
    - atomic_init
    - LIBISC_RWLOCK_INIT
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_init(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBISC_RWLOCK_DESTROY
      Src: /src/bind9/lib/isc/rwlock.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/rwlock.c:307,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/rwlock.c:307,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/rwlock.c:308,1
    - Dst: read_indicator_isempty
      Src: /src/bind9/lib/isc/rwlock.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - isc_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: isc_rwlock_destroy
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 1
    functionsReached:
    - atomic_load
    - read_indicator_isempty
    - REQUIRE
    - LIBISC_RWLOCK_DESTROY
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_destroy(isc_rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/rwlock.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - workers
    argTypes:
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: isc_rwlock_setworkers
    functionSourceFile: /src/bind9/lib/isc/rwlock.c
    functionUses: 0
    functionsReached:
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void isc_rwlock_setworkers(uint16_t workers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: HISTO_VALID
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HISTO_VALID(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: HISTOMULTI_VALID
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HISTOMULTI_VALID(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: DENORMALS
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENORMALS(hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: MANTISSAS
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MANTISSAS(hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: EXPONENTS
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPONENTS(hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: BUCKETS
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUCKETS(hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: MAXCHUNK
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAXCHUNK(hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: CHUNKSIZE
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHUNKSIZE(hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:86,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/histo.c:88,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/histo.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - mctx
    - sigbits
    - hgp
    argTypes:
    - isc_mem_t*
    - uint
    - isc_histo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: isc_histo_create
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 4
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void isc_histo_create(isc_mem_t *mctx, uint sigbits, isc_histo_t **hgp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:101,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:101,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/histo.c:108,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:108,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/histo.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hgp
    argTypes:
    - isc_histo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 113
    functionName: isc_histo_destroy
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 5
    functionsReached:
    - isc_mem_putanddetach
    - REQUIRE
    - isc_mem_cput
    - CHUNKSIZE
    - HISTO_VALID
    linkageType: ''
    returnType: void
    signature: void isc_histo_destroy(isc_histo_t **hgp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:119,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hg
    argTypes:
    - isc_histo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: isc_histo_sigbits
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    linkageType: ''
    returnType: uint
    signature: uint isc_histo_sigbits(isc_histo_t *hg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:130,1
    - Dst: floor
      Src: /src/bind9/lib/isc/histo.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: isc_histo_bits_to_digits
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - floor
    - REQUIRE
    linkageType: ''
    returnType: uint
    signature: uint isc_histo_bits_to_digits(uint bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:137,1
    - Dst: ceil
      Src: /src/bind9/lib/isc/histo.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - digits
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: isc_histo_digits_to_bits
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ceil
    linkageType: ''
    returnType: uint
    signature: uint isc_histo_digits_to_bits(uint digits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:182,1
    - Dst: __builtin_clzll
      Src: /src/bind9/lib/isc/histo.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - value
    argTypes:
    - isc_histo_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: value_to_key
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - __builtin_clzll
    - CHUNKSIZE
    linkageType: ''
    returnType: uint
    signature: uint value_to_key(const isc_histo_t *hg, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: key_to_minval
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - CHUNKSIZE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t key_to_minval(const isc_histo_t *hg, uint key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_to_minval
      Src: /src/bind9/lib/isc/histo.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: key_to_maxval
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - key_to_minval
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t key_to_maxval(const isc_histo_t *hg, uint key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:231,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/histo.c:235,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:235,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/histo.c:238,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/histo.c:242,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: key_to_new_bucket
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_mem_cput
    - atomic_compare_exchange_strong_acq_rel
    - CHUNKSIZE
    linkageType: ''
    returnType: hg_bucket_t
    signature: 'hg_bucket_t *

      key_to_new_bucket(isc_histo_t *hg, uint key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/histo.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - chunk
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: get_chunk
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    linkageType: ''
    returnType: hg_bucket_t
    signature: 'hg_bucket_t *

      get_chunk(const isc_histo_t *hg, uint chunk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:256,1
    - Dst: get_chunk
      Src: /src/bind9/lib/isc/histo.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: key_to_bucket
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - get_chunk
    - CHUNKSIZE
    linkageType: ''
    returnType: hg_bucket_t
    signature: 'hg_bucket_t *

      key_to_bucket(const isc_histo_t *hg, uint key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/histo.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - hg_bucket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: bucket_count
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - atomic_load_relaxed
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t bucket_count(const hg_bucket_t *bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bucket_count
      Src: /src/bind9/lib/isc/histo.c:270,1
    - Dst: key_to_bucket
      Src: /src/bind9/lib/isc/histo.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: get_key_count
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - bucket_count
    - key_to_bucket
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t get_key_count(const isc_histo_t *hg, uint key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key_to_bucket
      Src: /src/bind9/lib/isc/histo.c:277,1
    - Dst: key_to_new_bucket
      Src: /src/bind9/lib/isc/histo.c:278,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/histo.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - hg
    - key
    - inc
    argTypes:
    - isc_histo_t*
    - uint
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: add_key_count
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_relaxed
    - key_to_bucket
    - key_to_new_bucket
    linkageType: ''
    returnType: void
    signature: void add_key_count(isc_histo_t *hg, uint key, uint64_t inc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:287,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:287,1
    - Dst: add_key_count
      Src: /src/bind9/lib/isc/histo.c:288,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hg
    - value
    - inc
    argTypes:
    - isc_histo_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: isc_histo_add
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - value_to_key
    - add_key_count
    - REQUIRE
    - HISTO_VALID
    linkageType: ''
    returnType: void
    signature: void isc_histo_add(isc_histo_t *hg, uint64_t value, uint64_t inc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_histo_add
      Src: /src/bind9/lib/isc/histo.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - value
    argTypes:
    - isc_histo_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 294
    functionName: isc_histo_inc
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - isc_histo_add
    linkageType: ''
    returnType: void
    signature: void isc_histo_inc(isc_histo_t *hg, uint64_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:298,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:298,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:300,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:301,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/histo.c:304,1
    - Dst: key_to_maxval
      Src: /src/bind9/lib/isc/histo.c:304,1
    - Dst: ceil
      Src: /src/bind9/lib/isc/histo.c:307,1
    - Dst: add_key_count
      Src: /src/bind9/lib/isc/histo.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - hg
    - min
    - max
    - count
    argTypes:
    - isc_histo_t*
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: isc_histo_put
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - key_to_maxval
    - add_key_count
    - value_to_key
    - ISC_MIN
    - REQUIRE
    - HISTO_VALID
    - ceil
    linkageType: ''
    returnType: void
    signature: void isc_histo_put(isc_histo_t *hg, uint64_t min, uint64_t max, uint64_t
      count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:317,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:317,1
    - Dst: BUCKETS
      Src: /src/bind9/lib/isc/histo.c:319,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:320,1
    - Dst: key_to_minval
      Src: /src/bind9/lib/isc/histo.c:320,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:321,1
    - Dst: key_to_maxval
      Src: /src/bind9/lib/isc/histo.c:321,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:322,1
    - Dst: get_key_count
      Src: /src/bind9/lib/isc/histo.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - hg
    - key
    - minp
    - maxp
    - countp
    argTypes:
    - isc_histo_t*
    - uint
    - uint64_t*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: isc_histo_get
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 5
    functionsReached:
    - SET_IF_NOT_NULL
    - key_to_maxval
    - key_to_minval
    - REQUIRE
    - BUCKETS
    - get_key_count
    - HISTO_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_histo_get(const isc_histo_t *hg, uint key, uint64_t
      *minp, uint64_t *maxp,\n\t      uint64_t *countp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:331,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:332,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:334,1
    - Dst: BUCKETS
      Src: /src/bind9/lib/isc/histo.c:335,1
    - Dst: key_to_bucket
      Src: /src/bind9/lib/isc/histo.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hg
    - keyp
    argTypes:
    - isc_histo_t*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 345
    functionName: isc_histo_next
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - key_to_bucket
    - REQUIRE
    - BUCKETS
    - CHUNKSIZE
    - HISTO_VALID
    linkageType: ''
    returnType: void
    signature: void isc_histo_next(const isc_histo_t *hg, uint *keyp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:349,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:353,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:353,1
    - Dst: isc_histo_create
      Src: /src/bind9/lib/isc/histo.c:355,1
    - Dst: isc_histo_get
      Src: /src/bind9/lib/isc/histo.c:360,1
    - Dst: isc_histo_next
      Src: /src/bind9/lib/isc/histo.c:361,1
    - Dst: isc_histo_put
      Src: /src/bind9/lib/isc/histo.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - targetp
    - source
    argTypes:
    - isc_histo_t**
    - isc_histo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: isc_histo_merge
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - isc_histo_next
    - isc_histo_put
    - REQUIRE
    - HISTO_VALID
    - isc_histo_get
    - isc_histo_create
    linkageType: ''
    returnType: void
    signature: void isc_histo_merge(isc_histo_t **targetp, const isc_histo_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:371,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:372,1
    - Dst: isc_tid_count
      Src: /src/bind9/lib/isc/histo.c:374,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/histo.c:375,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/histo.c:377,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/histo.c:378,1
    - Dst: isc_histo_create
      Src: /src/bind9/lib/isc/histo.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - sigbits
    - hmp
    argTypes:
    - isc_mem_t*
    - uint
    - isc_histomulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 389
    functionName: isc_histomulti_create
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_tid_count
    - INSIST
    - REQUIRE
    - STRUCT_FLEX_SIZE
    - isc_histo_create
    linkageType: ''
    returnType: void
    signature: void isc_histomulti_create(isc_mem_t *mctx, uint sigbits, isc_histomulti_t
      **hmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:394,1
    - Dst: HISTOMULTI_VALID
      Src: /src/bind9/lib/isc/histo.c:394,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/lib/isc/histo.c:401,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/histo.c:404,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/histo.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - hmp
    argTypes:
    - isc_histomulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: isc_histomulti_destroy
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - HISTOMULTI_VALID
    - REQUIRE
    - STRUCT_FLEX_SIZE
    - isc_mem_put
    - isc_histo_destroy
    linkageType: ''
    returnType: void
    signature: void isc_histomulti_destroy(isc_histomulti_t **hmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:409,1
    - Dst: HISTOMULTI_VALID
      Src: /src/bind9/lib/isc/histo.c:409,1
    - Dst: isc_histo_merge
      Src: /src/bind9/lib/isc/histo.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hgp
    - hm
    argTypes:
    - isc_histo_t**
    - isc_histomulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 6
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: isc_histomulti_merge
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - isc_histo_merge
    - HISTOMULTI_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_histomulti_merge(isc_histo_t **hgp, const isc_histomulti_t
      *hm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:418,1
    - Dst: HISTOMULTI_VALID
      Src: /src/bind9/lib/isc/histo.c:418,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/histo.c:419,1
    - Dst: add_key_count
      Src: /src/bind9/lib/isc/histo.c:420,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hm
    - value
    - inc
    argTypes:
    - isc_histomulti_t*
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: isc_histomulti_add
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - add_key_count
    - value_to_key
    - isc_tid
    - HISTOMULTI_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_histomulti_add(isc_histomulti_t *hm, uint64_t value, uint64_t
      inc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_histomulti_add
      Src: /src/bind9/lib/isc/histo.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hm
    - value
    argTypes:
    - isc_histomulti_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 5
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: isc_histomulti_inc
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - isc_histomulti_add
    linkageType: ''
    returnType: void
    signature: void isc_histomulti_inc(isc_histomulti_t *hm, uint64_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:437,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:437,1
    - Dst: isc_histo_get
      Src: /src/bind9/lib/isc/histo.c:445,1
    - Dst: isc_histo_next
      Src: /src/bind9/lib/isc/histo.c:446,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:458,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:459,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:460,1
    - Dst: sqrt
      Src: /src/bind9/lib/isc/histo.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - hg
    - pm0
    - pm1
    - pm2
    argTypes:
    - isc_histo_t*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 434
    functionDepth: 5
    functionLinenumber: 434
    functionLinenumberEnd: 461
    functionName: isc_histo_moments
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - SET_IF_NOT_NULL
    - isc_histo_next
    - sqrt
    - REQUIRE
    - HISTO_VALID
    - isc_histo_get
    linkageType: ''
    returnType: void
    signature: "void isc_histo_moments(const isc_histo_t *hg, double *pm0, double
      *pm1,\n\t\t  double *pm2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: round
      Src: /src/bind9/lib/isc/histo.c:475,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/histo.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - min
    - max
    - lo
    - in
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: lerp
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - ISC_MIN
    - round
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t lerp(uint64_t min, uint64_t max, uint64_t lo, uint64_t in,
      uint64_t hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - lo
    - in
    - hi
    argTypes:
    - uint64_t
    - uint64_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: inside
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool inside(uint64_t lo, uint64_t in, uint64_t hi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:494,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:494,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:495,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:497,1
    - Dst: MAXCHUNK
      Src: /src/bind9/lib/isc/histo.c:499,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:500,1
    - Dst: get_chunk
      Src: /src/bind9/lib/isc/histo.c:510,1
    - Dst: bucket_count
      Src: /src/bind9/lib/isc/histo.c:514,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:525,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:526,1
    - Dst: round
      Src: /src/bind9/lib/isc/histo.c:527,1
    - Dst: inside
      Src: /src/bind9/lib/isc/histo.c:548,1
    - Dst: bucket_count
      Src: /src/bind9/lib/isc/histo.c:551,1
    - Dst: inside
      Src: /src/bind9/lib/isc/histo.c:556,1
    - Dst: lerp
      Src: /src/bind9/lib/isc/histo.c:558,1
    - Dst: key_to_minval
      Src: /src/bind9/lib/isc/histo.c:558,1
    - Dst: key_to_maxval
      Src: /src/bind9/lib/isc/histo.c:559,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - hg
    - size
    - fraction
    - value
    argTypes:
    - isc_histo_t*
    - uint
    - double*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 569
    functionName: isc_histo_quantiles
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - get_chunk
    - key_to_maxval
    - lerp
    - key_to_minval
    - round
    - MAXCHUNK
    - REQUIRE
    - bucket_count
    - CHUNKSIZE
    - HISTO_VALID
    - inside
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_histo_quantiles(const isc_histo_t *hg, uint size,
      const double *fraction,\n\t\t    uint64_t *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 205
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: VALID_HTTPD
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_HTTPD(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: VALID_HTTPDMGR
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_HTTPDMGR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: isc_httpd_ref
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpd_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: isc_httpd_unref
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpd_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: isc_httpd_attach
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpd_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: isc_httpd_detach
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpd_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: isc_httpdmgr_ref
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpdmgr_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: isc_httpdmgr_unref
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpdmgr_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: isc_httpdmgr_attach
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpdmgr_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: isc_httpdmgr_detach
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_httpdmgr_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:236,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:237,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:238,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:240,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/httpd.c:247,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/httpd.c:248,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/httpd.c:250,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/httpd.c:251,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/httpd.c:253,1
    - Dst: CHECK
      Src: /src/bind9/lib/isc/httpd.c:255,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/httpd.c:255,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/isc/httpd.c:265,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/httpd.c:266,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/httpd.c:267,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/httpd.c:268,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/httpd.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 7
    argNames:
    - nm
    - mctx
    - addr
    - client_ok
    - ondestroy
    - cb_arg
    - httpdmgrp
    argTypes:
    - isc_nm_t*
    - isc_mem_t*
    - isc_sockaddr_t*
    - isc_httpdclientok_t*
    - isc_httpdondestroy_t*
    - void*
    - isc_httpdmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 272
    functionName: isc_httpdmgr_create
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_mem_detach
    - isc_mem_get
    - isc_refcount_init
    - CHECK
    - REQUIRE
    - isc_nm_listentcp
    - ISC_LIST_INIT
    - isc_mem_put
    - isc_refcount_destroy
    - isc_mutex_destroy
    - isc_refcount_decrementz
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_httpdmgr_create(isc_nm_t *nm, isc_mem_t *mctx, isc_sockaddr_t
      *addr,\n\t\t    isc_httpdclientok_t *client_ok,\n\t\t    isc_httpdondestroy_t
      *ondestroy, void *cb_arg,\n\t\t    isc_httpdmgr_t **httpdmgrp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/httpd.c:276,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:281,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/httpd.c:281,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/httpd.c:286,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/httpd.c:293,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/httpd.c:294,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/httpd.c:295,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/httpd.c:296,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:299,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/httpd.c:300,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/httpd.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - httpdmgr
    argTypes:
    - isc_httpdmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 306
    functionName: destroy_httpdmgr
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_EMPTY
    - isc_mem_free
    - isc_mem_putanddetach
    - UNLOCK
    - ISC_LIST_UNLINK
    - REQUIRE
    - isc_nmsocket_close
    - isc_mem_put
    - ISC_LIST_FOREACH
    - isc_refcount_destroy
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_httpdmgr(isc_httpdmgr_t *httpdmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:316,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/httpd.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - header
    - match
    argTypes:
    - struct phr_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: name_match
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool name_match(const struct phr_header *header, const char *match)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:325,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/httpd.c:335,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/httpd.c:337,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/httpd.c:344,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - header
    - match
    argTypes:
    - struct phr_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 362
    functionName: value_match
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - strlen
    - isspace
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool value_match(const struct phr_header *header, const char *match)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/httpd.c:375,1
    - Dst: phr_parse_request
      Src: /src/bind9/lib/isc/httpd.c:377,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/httpd.c:390,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/httpd.c:402,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/httpd.c:404,1
    - Dst: isc_url_parse
      Src: /src/bind9/lib/isc/httpd.c:413,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/httpd.c:428,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:433,1
    - Dst: strtol
      Src: /src/bind9/lib/isc/httpd.c:435,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:452,1
    - Dst: value_match
      Src: /src/bind9/lib/isc/httpd.c:454,1
    - Dst: value_match
      Src: /src/bind9/lib/isc/httpd.c:457,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:460,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:462,1
    - Dst: value_match
      Src: /src/bind9/lib/isc/httpd.c:463,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:466,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/httpd.c:470,1
    - Dst: isc_time_parsehttptimestamp
      Src: /src/bind9/lib/isc/httpd.c:474,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 92
    argCount: 2
    argNames:
    - httpd
    - last_len
    argTypes:
    - isc_httpd_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 530
    functionName: process_request
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - phr_parse_request
    - ARRAY_SIZE
    - isc_url_parse
    - strncmp
    - memmove
    - name_match
    - INSIST
    - value_match
    - strtol
    - isc_time_set
    - isc_time_parsehttptimestamp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t process_request(isc_httpd_t *httpd, size_t last_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:536,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:540,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:540,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:542,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/httpd.c:543,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:544,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/httpd.c:555,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/httpd.c:560,1
    - Dst: isc_httpdmgr_detach
      Src: /src/bind9/lib/isc/httpd.c:562,1
    - Dst: finishhook
      Src: /src/bind9/lib/isc/httpd.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - httpd
    argTypes:
    - isc_httpd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 569
    functionName: httpd_free
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - LOCK
    - finishhook
    - UNLOCK
    - VALID_HTTPDMGR
    - isc_httpdmgr_detach
    - VALID_HTTPD
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_time_set
    linkageType: ''
    returnType: void
    signature: void httpd_free(isc_httpd_t *httpd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/httpd.c:581,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/httpd.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: isc__httpd_sendreq_free
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void isc__httpd_sendreq_free(isc_httpd_sendreq_t *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:591,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:591,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:593,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/httpd.c:596,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/httpd.c:601,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/httpd.c:602,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/httpd.c:604,1
    - Dst: isc_httpd_attach
      Src: /src/bind9/lib/isc/httpd.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - httpd
    argTypes:
    - isc_httpd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 609
    functionName: isc__httpd_sendreq_new
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_buffer_clear
    - isc_mem_get
    - VALID_HTTPDMGR
    - isc_buffer_initnull
    - isc_buffer_allocate
    - REQUIRE
    - isc_httpd_attach
    linkageType: ''
    returnType: isc_httpd_sendreq_t
    signature: 'isc_httpd_sendreq_t *

      isc__httpd_sendreq_new(isc_httpd_t *httpd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:615,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:615,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:617,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/isc/httpd.c:621,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/httpd.c:624,1
    - Dst: isc_httpdmgr_attach
      Src: /src/bind9/lib/isc/httpd.c:626,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:628,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/httpd.c:629,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:630,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/httpd.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - httpdmgr
    - handle
    argTypes:
    - isc_httpdmgr_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 633
    functionName: new_httpd
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_APPEND
    - isc_nm_read
    - UNLOCK
    - isc_httpdmgr_attach
    - isc_mem_get
    - VALID_HTTPDMGR
    - isc_nmhandle_attach
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    linkageType: ''
    returnType: void
    signature: void new_httpd(isc_httpdmgr_t *httpdmgr, isc_nmhandle_t *handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:640,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:640,1
    - Dst: isc_httpdmgr_shutdown
      Src: /src/bind9/lib/isc/httpd.c:645,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/httpd.c:651,1
    - Dst: new_httpd
      Src: /src/bind9/lib/isc/httpd.c:658,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 661
    functionName: httpd_newconn
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_peeraddr
    - VALID_HTTPDMGR
    - new_httpd
    - REQUIRE
    - isc_httpdmgr_shutdown
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t httpd_newconn(isc_nmhandle_t *handle, isc_result_t result,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:669,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:670,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:671,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/lib/isc/httpd.c:676,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:676,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/httpd.c:677,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 682
    functionName: render_404
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - strlen
    - isc_buffer_add
    - UNUSED
    - isc_buffer_reinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_404(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo, void *arg,\n\t   unsigned int *retcode, const char **retmsg, const
      char **mimetype,\n\t   isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:690,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:691,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:692,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/lib/isc/httpd.c:697,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:697,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/httpd.c:698,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 9
    argNames:
    - httpd
    - urlinfo
    - arg
    - retcode
    - retmsg
    - mimetype
    - b
    - freecb
    - freecb_args
    argTypes:
    - isc_httpd_t*
    - isc_httpdurl_t*
    - void*
    - unsigned int*
    - char**
    - char**
    - isc_buffer_t*
    - isc_httpdfree_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 703
    functionName: render_500
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - strlen
    - isc_buffer_add
    - UNUSED
    - isc_buffer_reinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_500(const isc_httpd_t *httpd, const isc_httpdurl_t
      *urlinfo, void *arg,\n\t   unsigned int *retcode, const char **retmsg, const
      char **mimetype,\n\t   isc_buffer_t *b, isc_httpdfree_t **freecb, void **freecb_args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:727,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/httpd.c:732,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/httpd.c:733,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:739,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:740,1
    - Dst: deflateInit
      Src: /src/bind9/lib/isc/httpd.c:743,1
    - Dst: deflate
      Src: /src/bind9/lib/isc/httpd.c:745,1
    - Dst: deflateEnd
      Src: /src/bind9/lib/isc/httpd.c:747,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/httpd.c:749,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/httpd.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - req
    argTypes:
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 755
    functionName: httpd_compress
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - deflateEnd
    - deflateInit
    - isc_buffer_free
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - deflate
    - isc_buffer_add
    - isc_buffer_base
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t httpd_compress(isc_httpd_sendreq_t *req)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/httpd.c:763,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:771,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:771,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:772,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/isc/httpd.c:774,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:781,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/httpd.c:782,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/httpd.c:783,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:788,1
    - Dst: isc_httpdmgr_t*::render_404
      Src: /src/bind9/lib/isc/httpd.c:791,1
    - Dst: isc_httpdurl_t*::action
      Src: /src/bind9/lib/isc/httpd.c:796,1
    - Dst: isc_httpdmgr_t*::render_500
      Src: /src/bind9/lib/isc/httpd.c:802,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:806,1
    - Dst: httpd_compress
      Src: /src/bind9/lib/isc/httpd.c:811,1
    - Dst: httpd_response
      Src: /src/bind9/lib/isc/httpd.c:818,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:821,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:823,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:825,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:826,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:827,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/isc/httpd.c:831,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:833,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:834,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:836,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:837,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:838,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:841,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:844,1
    - Dst: httpd_addheaderuint
      Src: /src/bind9/lib/isc/httpd.c:845,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:846,1
    - Dst: httpd_addheaderuint
      Src: /src/bind9/lib/isc/httpd.c:848,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:849,1
    - Dst: httpd_endheaders
      Src: /src/bind9/lib/isc/httpd.c:852,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/httpd.c:859,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:860,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:861,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/httpd.c:862,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/httpd.c:864,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:865,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:866,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/isc/httpd.c:870,1
    - Dst: isc_httpd_sendreq_t*::freecb
      Src: /src/bind9/lib/isc/httpd.c:871,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/httpd.c:875,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/httpd.c:876,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/httpd.c:878,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 883
    functionName: prepare_response
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_putmem
    - UNLOCK
    - httpd_addheaderuint
    - REQUIRE
    - LOCK
    - isc_time_now
    - VALID_HTTPD
    - isc_httpdurl_t*::action
    - httpd_endheaders
    - httpd_compress
    - RUNTIME_CHECK
    - INSIST
    - isc_buffer_free
    - ISC_LIST_FOREACH
    - isc_time_formathttptimestamp
    - strncmp
    - isc_httpd_sendreq_t*::freecb
    - httpd_response
    - isc_buffer_length
    - httpd_addheader
    - isc_httpdmgr_t*::render_404
    - isc_buffer_usedlength
    - isc_httpdmgr_t*::render_500
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void prepare_response(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/httpd.c:894,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/httpd.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 897
    functionName: prepare_response_done
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedregion
    - isc_nm_send
    linkageType: ''
    returnType: void
    signature: void prepare_response_done(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:907,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:907,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:915,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/httpd.c:917,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/httpd.c:932,1
    - Dst: process_request
      Src: /src/bind9/lib/isc/httpd.c:937,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/httpd.c:945,1
    - Dst: isc__httpd_sendreq_new
      Src: /src/bind9/lib/isc/httpd.c:954,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/lib/isc/httpd.c:955,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/isc/httpd.c:956,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/httpd.c:956,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/httpd.c:961,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/httpd.c:962,1
    - Dst: isc_httpd_detach
      Src: /src/bind9/lib/isc/httpd.c:964,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 899
    functionDepth: 5
    functionLinenumber: 899
    functionLinenumberEnd: 965
    functionName: httpd_request
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_httpd_detach
    - memmove
    - isc_nm_read
    - isc_nm_read_stop
    - isc_nmhandle_ref
    - isc_work_enqueue
    - isc_nmhandle_close
    - VALID_HTTPD
    - REQUIRE
    - process_request
    - isc_loop
    - isc__httpd_sendreq_new
    linkageType: ''
    returnType: void
    signature: "void httpd_request(isc_nmhandle_t *handle, isc_result_t eresult,\n\t
      \     isc_region_t *region, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:971,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:972,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:972,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/isc/httpd.c:977,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:979,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/httpd.c:981,1
    - Dst: httpd_request
      Src: /src/bind9/lib/isc/httpd.c:983,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:990,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/httpd.c:992,1
    - Dst: isc_httpdmgr_detach
      Src: /src/bind9/lib/isc/httpd.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - httpdmgrp
    argTypes:
    - isc_httpdmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 967
    functionDepth: 6
    functionLinenumber: 967
    functionLinenumberEnd: 995
    functionName: isc_httpdmgr_shutdown
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 2
    functionsReached:
    - LOCK
    - UNLOCK
    - VALID_HTTPDMGR
    - isc_nm_stoplistening
    - REQUIRE
    - httpd_request
    - ISC_LIST_FOREACH
    - isc_httpdmgr_detach
    - isc_nmsocket_close
    linkageType: ''
    returnType: void
    signature: void isc_httpdmgr_shutdown(isc_httpdmgr_t **httpdmgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/isc/httpd.c:1001,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - httpd
    - req
    argTypes:
    - isc_httpd_t*
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1006
    functionName: httpd_response
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - isc_buffer_printf
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void httpd_response(isc_httpd_t *httpd, isc_httpd_sendreq_t *req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/isc/httpd.c:1013,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/isc/httpd.c:1016,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - req
    - name
    - val
    argTypes:
    - isc_httpd_sendreq_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1020
    functionName: httpd_addheader
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - isc_buffer_printf
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void httpd_addheader(isc_httpd_sendreq_t *req, const char *name, const
      char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/isc/httpd.c:1026,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1029
    functionName: httpd_endheaders
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - isc_buffer_printf
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void httpd_endheaders(isc_httpd_sendreq_t *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/isc/httpd.c:1035,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - req
    - name
    - val
    argTypes:
    - isc_httpd_sendreq_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1038
    functionName: httpd_addheaderuint
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - isc_buffer_printf
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void httpd_addheaderuint(isc_httpd_sendreq_t *req, const char *name,
      int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:1045,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:1045,1
    - Dst: httpd_request
      Src: /src/bind9/lib/isc/httpd.c:1059,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/httpd.c:1062,1
    - Dst: isc__httpd_sendreq_free
      Src: /src/bind9/lib/isc/httpd.c:1063,1
    - Dst: isc_httpd_detach
      Src: /src/bind9/lib/isc/httpd.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1040
    functionDepth: 6
    functionLinenumber: 1040
    functionLinenumberEnd: 1065
    functionName: httpd_senddone
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_httpd_detach
    - httpd_request
    - VALID_HTTPD
    - REQUIRE
    - isc__httpd_sendreq_free
    linkageType: ''
    returnType: void
    signature: void httpd_senddone(isc_nmhandle_t *handle, isc_result_t eresult, void
      *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:1072,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:1072,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:1079,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/httpd.c:1081,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/httpd.c:1086,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/httpd.c:1088,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:1090,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/httpd.c:1091,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - httpdmgr
    - url
    - isstatic
    - func
    - arg
    argTypes:
    - isc_httpdmgr_t*
    - char*
    - bool
    - isc_httpdaction_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1095
    functionName: isc_httpdmgr_addurl
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - LOCK
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - UNLOCK
    - isc_mem_get
    - VALID_HTTPDMGR
    - isc_time_now
    - isc_mem_strdup
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_httpdmgr_addurl(isc_httpdmgr_t *httpdmgr, const char
      *url, bool isstatic,\n\t\t    isc_httpdaction_t *func, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1104
    functionName: isc_httpd_setfinishhook
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isc_httpd_setfinishhook(void (*fn)(void))
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - isc_httpdurl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1106
    functionDepth: 0
    functionLinenumber: 1106
    functionLinenumberEnd: 1109
    functionName: isc_httpdurl_isstatic
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc_httpdurl_isstatic(const isc_httpdurl_t *url)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - url
    argTypes:
    - isc_httpdurl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1114
    functionName: isc_httpdurl_loadtime
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_time_t
    signature: 'isc_time_t *

      isc_httpdurl_loadtime(const isc_httpdurl_t *url)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - httpd
    argTypes:
    - isc_httpd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1119
    functionName: isc_httpd_if_modified_since
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_time_t
    signature: 'isc_time_t *

      isc_httpd_if_modified_since(const isc_httpd_t *httpd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: MALLOCX_ZERO_GET
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MALLOCX_ZERO_GET(flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_CHECKED_ADD
      Src: /src/bind9/lib/isc/jemalloc_shim.h:44,1
    - Dst: malloc
      Src: /src/bind9/lib/isc/jemalloc_shim.h:45,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/jemalloc_shim.h:46,1
    - Dst: MALLOCX_ZERO_GET
      Src: /src/bind9/lib/isc/jemalloc_shim.h:51,1
    - Dst: memset
      Src: /src/bind9/lib/isc/jemalloc_shim.h:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: mallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - ISC_CHECKED_ADD
    - memset
    - malloc
    - INSIST
    - MALLOCX_ZERO_GET
    linkageType: ''
    returnType: void
    signature: 'void *

      mallocx(size_t size, int flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bind9/lib/isc/jemalloc_shim.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ptr
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: sdallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void sdallocx(void *ptr, size_t size ISC_ATTR_UNUSED, int flags ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: sallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t sallocx(void *ptr, int flags ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/bind9/lib/isc/jemalloc_shim.h:74,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/jemalloc_shim.h:75,1
    - Dst: MALLOCX_ZERO_GET
      Src: /src/bind9/lib/isc/jemalloc_shim.h:77,1
    - Dst: memset
      Src: /src/bind9/lib/isc/jemalloc_shim.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - size
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: rallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - realloc
    - memset
    - MALLOCX_ZERO_GET
    - INSIST
    linkageType: ''
    returnType: void
    signature: 'void *

      rallocx(void *ptr, size_t size, int flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: VALID_QUOTA
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_QUOTA(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/quota.c:28,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/quota.c:29,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/quota.c:30,1
    - Dst: cds_wfcq_init
      Src: /src/bind9/lib/isc/quota.c:31,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/quota.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - quota
    - max
    argTypes:
    - isc_quota_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: isc_quota_init
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 7
    functionsReached:
    - cds_wfcq_init
    - atomic_init
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void isc_quota_init(isc_quota_t *quota, unsigned int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:38,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:38,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/quota.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - quota
    - soft
    argTypes:
    - isc_quota_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: isc_quota_soft
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 4
    functionsReached:
    - VALID_QUOTA
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_quota_soft(isc_quota_t *quota, unsigned int soft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:44,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:44,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/quota.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - quota
    - max
    argTypes:
    - isc_quota_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: isc_quota_max
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 5
    functionsReached:
    - VALID_QUOTA
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_quota_max(isc_quota_t *quota, unsigned int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:50,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:50,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/quota.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - quota
    argTypes:
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: isc_quota_getmax
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 3
    functionsReached:
    - atomic_load_relaxed
    - VALID_QUOTA
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_quota_getmax(isc_quota_t *quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:56,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:56,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/quota.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - quota
    argTypes:
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: isc_quota_getsoft
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 2
    functionsReached:
    - atomic_load_relaxed
    - VALID_QUOTA
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_quota_getsoft(isc_quota_t *quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:62,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:62,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/quota.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - quota
    argTypes:
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: isc_quota_getused
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 6
    functionsReached:
    - atomic_load_acquire
    - VALID_QUOTA
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_quota_getused(isc_quota_t *quota)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cds_wfcq_dequeue_blocking
      Src: /src/bind9/lib/isc/quota.c:79,1
    - Dst: atomic_fetch_sub_acq_rel
      Src: /src/bind9/lib/isc/quota.c:81,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/quota.c:82,1
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/isc/quota.c:91,1
    - Dst: atomic_fetch_add_acq_rel
      Src: /src/bind9/lib/isc/quota.c:93,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/isc/quota.c:100,1
    - Dst: isc_job_t*::cb
      Src: /src/bind9/lib/isc/quota.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - quota
    argTypes:
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 102
    functionName: isc_quota_release
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 9
    functionsReached:
    - cds_wfcq_empty
    - cds_wfcq_dequeue_blocking
    - INSIST
    - atomic_fetch_sub_acq_rel
    - isc_job_t*::cb
    - atomic_fetch_add_acq_rel
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void isc_quota_release(isc_quota_t *quota)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:107,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:107,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:108,1
    - Dst: atomic_fetch_add_acq_rel
      Src: /src/bind9/lib/isc/quota.c:110,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/quota.c:111,1
    - Dst: atomic_fetch_sub_acq_rel
      Src: /src/bind9/lib/isc/quota.c:113,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/quota.c:117,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/quota.c:123,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/quota.c:137,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/isc/quota.c:140,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/quota.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - quota
    - job
    - cb
    - cbarg
    argTypes:
    - isc_quota_t*
    - isc_job_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 152
    functionName: isc_quota_acquire_cb
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 2
    functionsReached:
    - VALID_QUOTA
    - cds_wfcq_node_init
    - isc_quota_release
    - atomic_load_relaxed
    - atomic_fetch_sub_acq_rel
    - cds_wfcq_enqueue
    - atomic_fetch_add_acq_rel
    - REQUIRE
    - atomic_compare_exchange_strong_acq_rel
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_quota_acquire_cb(isc_quota_t *quota, isc_job_t *job,
      isc_job_cb cb,\n\t\t     void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/quota.c:156,1
    - Dst: VALID_QUOTA
      Src: /src/bind9/lib/isc/quota.c:156,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/quota.c:159,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/quota.c:159,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/quota.c:160,1
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/isc/quota.c:160,1
    - Dst: cds_wfcq_destroy
      Src: /src/bind9/lib/isc/quota.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - quota
    argTypes:
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: isc_quota_destroy
    functionSourceFile: /src/bind9/lib/isc/quota.c
    functionUses: 6
    functionsReached:
    - cds_wfcq_empty
    - VALID_QUOTA
    - cds_wfcq_destroy
    - INSIST
    - atomic_load_acquire
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_quota_destroy(isc_quota_t *quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/bind9/lib/isc/string.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - errnum
    - buf
    - buflen
    argTypes:
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: isc_string_strerror_r
    functionSourceFile: /src/bind9/lib/isc/string.c
    functionUses: 0
    functionsReached:
    - strerror_r
    linkageType: ''
    returnType: int
    signature: int isc_string_strerror_r(int errnum, char *buf, size_t buflen)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: strlcpy
    functionSourceFile: /src/bind9/lib/isc/string.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t strlcpy(char *dst, const char *src, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isc/string.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 123
    functionName: strlcat
    functionSourceFile: /src/bind9/lib/isc/string.c
    functionUses: 24
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t strlcat(char *dst, const char *src, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isc/string.c:133,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/string.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - s
    - find
    - slen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: strnstr
    functionSourceFile: /src/bind9/lib/isc/string.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      strnstr(const char *s, const char *find, size_t slen)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/helper.c:41,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/helper.c:41,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/helper.c:42,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/helper.c:46,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/helper.c:52,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/helper.c:61,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/helper.c:64,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/helper.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - loop
    - cb
    - cbarg
    argTypes:
    - isc_loop_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: isc_helper_run
    functionSourceFile: /src/bind9/lib/isc/helper.c
    functionUses: 0
    functionsReached:
    - cds_wfcq_node_init
    - VALID_LOOP
    - isc_mem_get
    - cds_wfcq_enqueue
    - uv_async_send
    - REQUIRE
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_helper_run(isc_loop_t *loop, isc_job_cb cb, void *cbarg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/getaddresses.c:41,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/getaddresses.c:42,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/getaddresses.c:43,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/getaddresses.c:44,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/isc/getaddresses.c:46,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/isc/getaddresses.c:47,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/getaddresses.c:58,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/isc/getaddresses.c:60,1
    - Dst: isc_sockaddr_v6fromin
      Src: /src/bind9/lib/isc/getaddresses.c:62,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/getaddresses.c:66,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/getaddresses.c:70,1
    - Dst: strchr
      Src: /src/bind9/lib/isc/getaddresses.c:71,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/getaddresses.c:76,1
    - Dst: isc_netscope_pton
      Src: /src/bind9/lib/isc/getaddresses.c:86,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/isc/getaddresses.c:94,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isc/getaddresses.c:95,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isc/getaddresses.c:96,1
    - Dst: memset
      Src: /src/bind9/lib/isc/getaddresses.c:103,1
    - Dst: getaddrinfo
      Src: /src/bind9/lib/isc/getaddresses.c:118,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/isc/getaddresses.c:148,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/isc/getaddresses.c:152,1
    - Dst: freeaddrinfo
      Src: /src/bind9/lib/isc/getaddresses.c:156,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 5
    argNames:
    - hostname
    - port
    - addrs
    - addrsize
    - addrcount
    argTypes:
    - char*
    - in_port_t
    - isc_sockaddr_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 163
    functionName: isc_getaddresses
    functionSourceFile: /src/bind9/lib/isc/getaddresses.c
    functionUses: 6
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - memset
    - strlcpy
    - isc_netscope_pton
    - strchr
    - isc_net_probeipv4
    - freeaddrinfo
    - isc_sockaddr_fromin6
    - strlen
    - inet_pton
    - REQUIRE
    - isc_net_probeipv6
    - isc_sockaddr_fromin
    - isc_sockaddr_v6fromin
    - isc_netaddr_fromin6
    - isc_netaddr_setzone
    - getaddrinfo
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_getaddresses(const char *hostname, in_port_t port,
      isc_sockaddr_t *addrs,\n\t\t int addrsize, int *addrcount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/bind9/lib/isc/stdtime.c:40,1
    - Dst: FATAL_SYSERROR
      Src: /src/bind9/lib/isc/stdtime.c:41,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/stdtime.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: isc_stdtime_now
    functionSourceFile: /src/bind9/lib/isc/stdtime.c
    functionUses: 32
    functionsReached:
    - clock_gettime
    - FATAL_SYSERROR
    - INSIST
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t isc_stdtime_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stdtime.c:53,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stdtime.c:54,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/stdtime.c:58,1
    - Dst: ctime_r
      Src: /src/bind9/lib/isc/stdtime.c:58,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/stdtime.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - t
    - out
    - outlen
    argTypes:
    - isc_stdtime_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: isc_stdtime_tostring
    functionSourceFile: /src/bind9/lib/isc/stdtime.c
    functionUses: 6
    functionsReached:
    - strlen
    - REQUIRE
    - INSIST
    - ctime_r
    linkageType: ''
    returnType: void
    signature: void isc_stdtime_tostring(isc_stdtime_t t, char *out, size_t outlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netaddr.c:29,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netaddr.c:46,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: isc_netaddr_equal
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_equal(const isc_netaddr_t *a, const isc_netaddr_t
      *b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netaddr.c:67,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netaddr.c:103,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netaddr.c:109,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netaddr.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - a
    - b
    - prefixlen
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 119
    functionName: isc_netaddr_eqprefix
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 1
    functionsReached:
    - memcmp
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: bool
    signature: "bool isc_netaddr_eqprefix(const isc_netaddr_t *a, const isc_netaddr_t
      *b,\n\t\t     unsigned int prefixlen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netaddr.c:130,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/isc/netaddr.c:142,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/netaddr.c:147,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netaddr.c:148,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netaddr.c:152,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netaddr.c:156,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/netaddr.c:159,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netaddr.c:163,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netaddr.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - netaddr
    - target
    argTypes:
    - isc_netaddr_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 167
    functionName: isc_netaddr_totext
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 3
    functionsReached:
    - isc_buffer_putmem
    - inet_ntop
    - INSIST
    - strlen
    - snprintf
    - REQUIRE
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_netaddr_totext(const isc_netaddr_t *netaddr, isc_buffer_t
      *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netaddr.c:174,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/isc/netaddr.c:175,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/netaddr.c:185,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/netaddr.c:186,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netaddr.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - na
    - array
    - size
    argTypes:
    - isc_netaddr_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 197
    functionName: isc_netaddr_format
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 5
    functionsReached:
    - isc_buffer_init
    - isc_netaddr_totext
    - snprintf
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_format(const isc_netaddr_t *na, char *array, unsigned
      int size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netaddr.c:226,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netaddr.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - na
    - prefixlen
    argTypes:
    - isc_netaddr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 238
    functionName: isc_netaddr_prefixok
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_netaddr_prefixok(const isc_netaddr_t *na, unsigned
      int prefixlen)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - s
    - lenp
    argTypes:
    - isc_netaddr_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 281
    functionName: isc_netaddr_masktoprefixlen
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_netaddr_masktoprefixlen(const isc_netaddr_t *s, unsigned
      int *lenp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/netaddr.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - netaddr
    - ina
    argTypes:
    - isc_netaddr_t*
    - struct in_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: isc_netaddr_fromin
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 9
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_fromin(isc_netaddr_t *netaddr, const struct in_addr
      *ina)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/netaddr.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - netaddr
    - ina6
    argTypes:
    - isc_netaddr_t*
    - struct in6_addr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: isc_netaddr_fromin6
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 8
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_fromin6(isc_netaddr_t *netaddr, const struct in6_addr
      *ina6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netaddr.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - netaddr
    - zone
    argTypes:
    - isc_netaddr_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: isc_netaddr_setzone
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_setzone(isc_netaddr_t *netaddr, uint32_t zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - netaddr
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: isc_netaddr_getzone
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_netaddr_getzone(const isc_netaddr_t *netaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/isc/netaddr.c:320,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netaddr.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - t
    - s
    argTypes:
    - isc_netaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: isc_netaddr_fromsockaddr
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 20
    functionsReached:
    - UNREACHABLE
    - memmove
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_fromsockaddr(isc_netaddr_t *t, const isc_sockaddr_t
      *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/netaddr.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - netaddr
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: isc_netaddr_any
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_any(isc_netaddr_t *netaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/netaddr.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - netaddr
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: isc_netaddr_any6
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_any6(isc_netaddr_t *netaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/netaddr.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - netaddr
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: isc_netaddr_unspec
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_unspec(isc_netaddr_t *netaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_IPADDR_ISMULTICAST
      Src: /src/bind9/lib/isc/netaddr.c:352,1
    - Dst: IN6_IS_ADDR_MULTICAST
      Src: /src/bind9/lib/isc/netaddr.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - na
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: isc_netaddr_ismulticast
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 2
    functionsReached:
    - ISC_IPADDR_ISMULTICAST
    - IN6_IS_ADDR_MULTICAST
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_ismulticast(const isc_netaddr_t *na)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_IPADDR_ISEXPERIMENTAL
      Src: /src/bind9/lib/isc/netaddr.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - na
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 368
    functionName: isc_netaddr_isexperimental
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 1
    functionsReached:
    - ISC_IPADDR_ISEXPERIMENTAL
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_isexperimental(const isc_netaddr_t *na)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/bind9/lib/isc/netaddr.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - na
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: isc_netaddr_islinklocal
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_LINKLOCAL
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_islinklocal(const isc_netaddr_t *na)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_SITELOCAL
      Src: /src/bind9/lib/isc/netaddr.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - na
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 392
    functionName: isc_netaddr_issitelocal
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_SITELOCAL
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_issitelocal(const isc_netaddr_t *na)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: ISC_IPADDR_ISNETZERO
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_IPADDR_ISNETZERO(i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_IPADDR_ISNETZERO
      Src: /src/bind9/lib/isc/netaddr.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - na
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: isc_netaddr_isnetzero
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 2
    functionsReached:
    - ISC_IPADDR_ISNETZERO
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_isnetzero(const isc_netaddr_t *na)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/netaddr.c:411,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netaddr.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netaddr.c:415,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/isc/netaddr.c:415,1
    - Dst: memset
      Src: /src/bind9/lib/isc/netaddr.c:417,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netaddr.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - t
    - s
    argTypes:
    - isc_netaddr_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: isc_netaddr_fromv4mapped
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - UNCONST
    - REQUIRE
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: void
    signature: void isc_netaddr_fromv4mapped(isc_netaddr_t *t, const isc_netaddr_t
      *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/bind9/lib/isc/netaddr.c:427,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/bind9/lib/isc/netaddr.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - na
    argTypes:
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: isc_netaddr_isloopback
    functionSourceFile: /src/bind9/lib/isc/netaddr.c
    functionUses: 0
    functionsReached:
    - ntohl
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: bool
    signature: bool isc_netaddr_isloopback(const isc_netaddr_t *na)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: VALID_RATELIMITER
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_RATELIMITER(rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:67,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/isc/ratelimiter.c:69,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/ratelimiter.c:71,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/ratelimiter.c:78,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/ratelimiter.c:79,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/ratelimiter.c:80,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/isc/ratelimiter.c:81,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/ratelimiter.c:82,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/isc/ratelimiter.c:84,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/ratelimiter.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - loop
    - rlp
    argTypes:
    - isc_loop_t*
    - isc_ratelimiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 89
    functionName: isc_ratelimiter_create
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - isc_interval_set
    - isc_timer_create
    - isc_mutex_init
    - ISC_LIST_INIT
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - isc_loop_attach
    - isc_loop_getmctx
    linkageType: ''
    returnType: void
    signature: void isc_ratelimiter_create(isc_loop_t *loop, isc_ratelimiter_t **rlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:94,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:95,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:97,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - interval
    argTypes:
    - isc_ratelimiter_t*
    - isc_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: isc_ratelimiter_setinterval
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 2
    functionsReached:
    - VALID_RATELIMITER
    - LOCK
    - REQUIRE
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: "void isc_ratelimiter_setinterval(isc_ratelimiter_t *restrict rl,\n\t\t\t
      \   const isc_interval_t *const interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:106,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:107,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:109,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - pertic
    argTypes:
    - isc_ratelimiter_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: isc_ratelimiter_setpertic
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 2
    functionsReached:
    - VALID_RATELIMITER
    - LOCK
    - REQUIRE
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: "void isc_ratelimiter_setpertic(isc_ratelimiter_t *restrict rl,\n\t\t\t
      \ const uint32_t pertic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:116,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:116,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:118,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rl
    - pushpop
    argTypes:
    - isc_ratelimiter_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: isc_ratelimiter_setpushpop
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 2
    functionsReached:
    - VALID_RATELIMITER
    - LOCK
    - REQUIRE
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void isc_ratelimiter_setpushpop(isc_ratelimiter_t *restrict rl, const
      bool pushpop)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:128,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:128,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:130,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/isc/ratelimiter.c:134,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/isc/ratelimiter.c:135,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/ratelimiter.c:148,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:150,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: isc__ratelimiter_start
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - LOCK
    - isc_interval_set
    - isc_ratelimiter_detach
    - VALID_RATELIMITER
    - UNLOCK
    - REQUIRE
    - isc_timer_start
    linkageType: ''
    returnType: void
    signature: void isc__ratelimiter_start(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:161,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:163,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:165,1
    - Dst: isc_ratelimiter_ref
      Src: /src/bind9/lib/isc/ratelimiter.c:172,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:173,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/ratelimiter.c:177,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/isc/ratelimiter.c:177,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/ratelimiter.c:183,1
    - Dst: isc_ratelimiter_attach
      Src: /src/bind9/lib/isc/ratelimiter.c:184,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/ratelimiter.c:187,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/ratelimiter.c:189,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/ratelimiter.c:194,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 5
    argNames:
    - rl
    - loop
    - cb
    - arg
    - rlep
    argTypes:
    - isc_ratelimiter_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_rlevent_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 198
    functionName: isc_ratelimiter_enqueue
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 5
    functionsReached:
    - ISC_LIST_PREPEND
    - UNREACHABLE
    - LOCK
    - ISC_LIST_APPEND
    - VALID_RATELIMITER
    - isc_ratelimiter_ref
    - isc_async_run
    - UNLOCK
    - isc_mem_get
    - REQUIRE
    - isc_ratelimiter_attach
    - isc_loop_attach
    - isc_loop_getmctx
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ratelimiter_enqueue(isc_ratelimiter_t *restrict rl,\n\t\t\tisc_loop_t
      *restrict loop, isc_job_cb cb, void *arg,\n\t\t\tisc_rlevent_t **rlep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:205,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:207,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/isc/ratelimiter.c:208,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:209,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/isc/ratelimiter.c:210,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - rl
    - rlep
    argTypes:
    - isc_ratelimiter_t*
    - isc_rlevent_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: isc_ratelimiter_dequeue
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 1
    functionsReached:
    - LOCK
    - ISC_LINK_LINKED
    - UNLOCK
    - isc_rlevent_free
    - REQUIRE
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ratelimiter_dequeue(isc_ratelimiter_t *restrict rl,
      isc_rlevent_t **rlep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/isc/ratelimiter.c:222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:224,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:224,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/ratelimiter.c:226,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:230,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ratelimiter.c:233,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/ratelimiter.c:233,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/ratelimiter.c:239,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:242,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/ratelimiter.c:243,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/isc/ratelimiter.c:260,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:263,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:266,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 269
    functionName: isc__ratelimiter_tick
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - ISC_LIST
    - ISC_LIST_HEAD
    - LOCK
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - VALID_RATELIMITER
    - isc_async_run
    - INSIST
    - UNLOCK
    - REQUIRE
    - isc_timer_start
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void isc__ratelimiter_tick(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:266,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 89
    functionsReached:
    - isc_async_run
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (pending, rle, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:275,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:275,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:277,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ratelimiter.c:278,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ratelimiter.c:279,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/ratelimiter.c:279,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/isc/ratelimiter.c:281,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/isc/ratelimiter.c:282,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:283,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:284,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: isc__ratelimiter_doshutdown
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_EMPTY
    - isc_timer_destroy
    - isc_ratelimiter_detach
    - VALID_RATELIMITER
    - isc_timer_stop
    - INSIST
    - UNLOCK
    - REQUIRE
    - isc_loop_detach
    linkageType: ''
    returnType: void
    signature: void isc__ratelimiter_doshutdown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/isc/ratelimiter.c:290,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:292,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:292,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/ratelimiter.c:294,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:296,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/isc/ratelimiter.c:299,1
    - Dst: isc_ratelimiter_ref
      Src: /src/bind9/lib/isc/ratelimiter.c:300,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:301,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:303,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:306,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - rl
    argTypes:
    - isc_ratelimiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: isc_ratelimiter_shutdown
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 5
    functionsReached:
    - ISC_LIST
    - LOCK
    - VALID_RATELIMITER
    - isc_ratelimiter_ref
    - isc_async_run
    - UNLOCK
    - REQUIRE
    - ISC_LIST_MOVE
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void isc_ratelimiter_shutdown(isc_ratelimiter_t *restrict rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:306,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 89
    functionsReached:
    - isc_async_run
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (pending, rle, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:314,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:315,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:316,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/ratelimiter.c:318,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/ratelimiter.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - isc_ratelimiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: ratelimiter_destroy
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - LOCK
    - isc_mem_putanddetach
    - UNLOCK
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void ratelimiter_destroy(isc_ratelimiter_t *restrict rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:324,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/isc/ratelimiter.c:327,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:331,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:332,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/ratelimiter.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rlep
    argTypes:
    - isc_rlevent_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: isc_rlevent_free
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 3
    functionsReached:
    - isc_ratelimiter_detach
    - REQUIRE
    - isc_loop_detach
    - isc_mem_put
    - isc_loop_getmctx
    linkageType: ''
    returnType: void
    signature: void isc_rlevent_free(isc_rlevent_t **rlep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/region.c:27,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/region.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/region.c:29,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/region.c:30,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/region.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - isc_region_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 41
    functionName: isc_region_compare
    functionSourceFile: /src/bind9/lib/isc/region.c
    functionUses: 0
    functionsReached:
    - memcmp
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int isc_region_compare(isc_region_t *r1, isc_region_t *r2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: ISC_HT_VALID
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_HT_VALID(ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: HT_NEXTTABLE
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_NEXTTABLE(idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - idx
    - ','
    - ht
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: TRY_NEXTTABLE
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_NEXTTABLE(idx, ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: HASHSIZE
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASHSIZE(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/isc/ht.c:102,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/lib/isc/ht.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 5
    argNames:
    - node
    - hashval
    - key
    - keysize
    - case_sensitive
    argTypes:
    - isc_ht_node_t*
    - uint32_t
    - uint8_t*
    - uint32_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: isc__ht_node_match
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool isc__ht_node_match(isc_ht_node_t *node, const uint32_t hashval,\n\t\t
      \  const uint8_t *key, uint32_t keysize, bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: hash_32
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_32(uint32_t val, unsigned int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ht
    argTypes:
    - isc_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: rehashing_in_progress
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 2
    functionsReached:
    - HT_NEXTTABLE
    linkageType: ''
    returnType: bool
    signature: bool rehashing_in_progress(const isc_ht_t *ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ht
    argTypes:
    - isc_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: hashtable_is_overcommited
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool hashtable_is_overcommited(isc_ht_t *ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/ht.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ht
    - newcount
    argTypes:
    - isc_ht_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: rehash_bits
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - HASHSIZE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rehash_bits(isc_ht_t *ht, size_t newcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:151,1
    - Dst: hashtable_new
      Src: /src/bind9/lib/isc/ht.c:153,1
    - Dst: hashtable_rehash_one
      Src: /src/bind9/lib/isc/ht.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ht
    - newbits
    argTypes:
    - isc_ht_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: hashtable_rehash
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - hashtable_new
    - hashtable_rehash_one
    - REQUIRE
    - HT_NEXTTABLE
    linkageType: ''
    returnType: void
    signature: void hashtable_rehash(isc_ht_t *ht, uint32_t newbits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:163,1
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:164,1
    - Dst: hashtable_free
      Src: /src/bind9/lib/isc/ht.c:175,1
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:175,1
    - Dst: hash_32
      Src: /src/bind9/lib/isc/ht.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ht
    argTypes:
    - isc_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 192
    functionName: hashtable_rehash_one
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - hashtable_free
    - hash_32
    - HT_NEXTTABLE
    linkageType: ''
    returnType: void
    signature: void hashtable_rehash_one(isc_ht_t *ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rehash_bits
      Src: /src/bind9/lib/isc/ht.c:196,1
    - Dst: hashtable_rehash
      Src: /src/bind9/lib/isc/ht.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ht
    - newcount
    argTypes:
    - isc_ht_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 201
    functionName: maybe_rehash
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - rehash_bits
    - hashtable_rehash
    linkageType: ''
    returnType: void
    signature: void maybe_rehash(isc_ht_t *ht, size_t newcount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:208,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/ht.c:211,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/ht.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ht
    - idx
    - bits
    argTypes:
    - isc_ht_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: hashtable_new
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - isc_mem_cget
    - REQUIRE
    - HASHSIZE
    linkageType: ''
    returnType: void
    signature: void hashtable_new(isc_ht_t *ht, const uint8_t idx, const uint8_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/ht.c:224,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/ht.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ht
    - idx
    argTypes:
    - isc_ht_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: hashtable_free
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void hashtable_free(isc_ht_t *ht, const uint8_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:245,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/ht.c:247,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/ht.c:252,1
    - Dst: hashtable_new
      Src: /src/bind9/lib/isc/ht.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - htp
    - mctx
    - bits
    - options
    argTypes:
    - isc_ht_t**
    - isc_mem_t*
    - uint8_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: isc_ht_init
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 7
    functionsReached:
    - hashtable_new
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: "void isc_ht_init(isc_ht_t **htp, isc_mem_t *mctx, uint8_t bits,\n\t
      \   unsigned int options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:266,1
    - Dst: ISC_HT_VALID
      Src: /src/bind9/lib/isc/ht.c:266,1
    - Dst: hashtable_free
      Src: /src/bind9/lib/isc/ht.c:274,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ht.c:278,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/ht.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - htp
    argTypes:
    - isc_ht_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: isc_ht_destroy
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 6
    functionsReached:
    - ISC_HT_VALID
    - isc_mem_putanddetach
    - INSIST
    - REQUIRE
    - hashtable_free
    linkageType: ''
    returnType: void
    signature: void isc_ht_destroy(isc_ht_t **htp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_32
      Src: /src/bind9/lib/isc/ht.c:289,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/ht.c:291,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/ht.c:291,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/ht.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - ht
    - key
    - keysize
    - hashval
    - idx
    - value
    argTypes:
    - isc_ht_t*
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 303
    functionName: isc__ht_add
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - memmove
    - hash_32
    - STRUCT_FLEX_SIZE
    linkageType: ''
    returnType: void
    signature: "void isc__ht_add(isc_ht_t *ht, const unsigned char *key, const uint32_t
      keysize,\n\t    const uint32_t hashval, const uint8_t idx, void *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:310,1
    - Dst: ISC_HT_VALID
      Src: /src/bind9/lib/isc/ht.c:310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:311,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/ht.c:313,1
    - Dst: hashtable_rehash_one
      Src: /src/bind9/lib/isc/ht.c:315,1
    - Dst: hashtable_is_overcommited
      Src: /src/bind9/lib/isc/ht.c:316,1
    - Dst: maybe_rehash
      Src: /src/bind9/lib/isc/ht.c:318,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/ht.c:321,1
    - Dst: isc__ht_find
      Src: /src/bind9/lib/isc/ht.c:323,1
    - Dst: isc__ht_add
      Src: /src/bind9/lib/isc/ht.c:327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ht
    - key
    - keysize
    - value
    argTypes:
    - isc_ht_t*
    - unsigned char*
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 330
    functionName: isc_ht_add
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 7
    functionsReached:
    - ISC_HT_VALID
    - maybe_rehash
    - rehashing_in_progress
    - isc__ht_find
    - isc_hash32
    - hashtable_rehash_one
    - REQUIRE
    - isc__ht_add
    - hashtable_is_overcommited
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ht_add(isc_ht_t *ht, const unsigned char *key, const
      uint32_t keysize,\n\t   void *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_32
      Src: /src/bind9/lib/isc/ht.c:340,1
    - Dst: isc__ht_node_match
      Src: /src/bind9/lib/isc/ht.c:344,1
    - Dst: TRY_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:350,1
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ht
    - key
    - keysize
    - hashval
    - idx
    argTypes:
    - isc_ht_t*
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: isc__ht_find
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - HT_NEXTTABLE
    - hash_32
    - TRY_NEXTTABLE
    - isc__ht_node_match
    linkageType: ''
    returnType: isc_ht_node_t
    signature: "isc_ht_node_t *\nisc__ht_find(const isc_ht_t *ht, const unsigned char
      *key,\n\t     const uint32_t keysize, const uint32_t hashval,\n\t     const
      uint8_t idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:367,1
    - Dst: ISC_HT_VALID
      Src: /src/bind9/lib/isc/ht.c:367,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:369,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/ht.c:371,1
    - Dst: isc__ht_find
      Src: /src/bind9/lib/isc/ht.c:373,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/ht.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ht
    - key
    - keysize
    - valuep
    argTypes:
    - isc_ht_t*
    - unsigned char*
    - uint32_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 380
    functionName: isc_ht_find
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 6
    functionsReached:
    - ISC_HT_VALID
    - SET_IF_NOT_NULL
    - isc__ht_find
    - isc_hash32
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ht_find(const isc_ht_t *ht, const unsigned char *key,\n\t
      \   const uint32_t keysize, void **valuep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hash_32
      Src: /src/bind9/lib/isc/ht.c:388,1
    - Dst: isc__ht_node_match
      Src: /src/bind9/lib/isc/ht.c:393,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/ht.c:401,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/ht.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ht
    - key
    - keysize
    - hashval
    - idx
    argTypes:
    - isc_ht_t*
    - unsigned char*
    - uint32_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 410
    functionName: isc__ht_delete
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - hash_32
    - STRUCT_FLEX_SIZE
    - isc__ht_node_match
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__ht_delete(isc_ht_t *ht, const unsigned char *key,
      const uint32_t keysize,\n\t       const uint32_t hashval, const uint8_t idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:418,1
    - Dst: ISC_HT_VALID
      Src: /src/bind9/lib/isc/ht.c:418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:419,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/ht.c:421,1
    - Dst: hashtable_rehash_one
      Src: /src/bind9/lib/isc/ht.c:423,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/ht.c:427,1
    - Dst: isc__ht_delete
      Src: /src/bind9/lib/isc/ht.c:429,1
    - Dst: TRY_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:431,1
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ht
    - key
    - keysize
    argTypes:
    - isc_ht_t*
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 440
    functionName: isc_ht_delete
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 4
    functionsReached:
    - ISC_HT_VALID
    - rehashing_in_progress
    - isc__ht_delete
    - HT_NEXTTABLE
    - TRY_NEXTTABLE
    - isc_hash32
    - hashtable_rehash_one
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ht_delete(isc_ht_t *ht, const unsigned char *key,
      const uint32_t keysize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:446,1
    - Dst: ISC_HT_VALID
      Src: /src/bind9/lib/isc/ht.c:446,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:447,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/ht.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ht
    - itp
    argTypes:
    - isc_ht_t*
    - isc_ht_iter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: isc_ht_iter_create
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - ISC_HT_VALID
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_ht_iter_create(isc_ht_t *ht, isc_ht_iter_t **itp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:463,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/ht.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - itp
    argTypes:
    - isc_ht_iter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 469
    functionName: isc_ht_iter_destroy
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_ht_iter_destroy(isc_ht_iter_t **itp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:475,1
    - Dst: isc__ht_iter_next
      Src: /src/bind9/lib/isc/ht.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - it
    argTypes:
    - isc_ht_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 483
    functionName: isc_ht_iter_first
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - isc__ht_iter_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ht_iter_first(isc_ht_iter_t *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRY_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:501,1
    - Dst: HT_NEXTTABLE
      Src: /src/bind9/lib/isc/ht.c:502,1
    - Dst: isc__ht_iter_next
      Src: /src/bind9/lib/isc/ht.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - it
    argTypes:
    - isc_ht_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 508
    functionName: isc__ht_iter_next
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 2
    functionsReached:
    - isc__ht_iter_next
    - TRY_NEXTTABLE
    - HT_NEXTTABLE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__ht_iter_next(isc_ht_iter_t *it)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:512,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:513,1
    - Dst: isc__ht_iter_next
      Src: /src/bind9/lib/isc/ht.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - it
    argTypes:
    - isc_ht_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: isc_ht_iter_next
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - isc__ht_iter_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ht_iter_next(isc_ht_iter_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:535,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/isc/ht.c:541,1
    - Dst: isc__ht_delete
      Src: /src/bind9/lib/isc/ht.c:543,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ht.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - it
    argTypes:
    - isc_ht_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 548
    functionName: isc_ht_iter_delcurrent_next
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - isc_ht_iter_next
    - isc__ht_delete
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ht_iter_delcurrent_next(isc_ht_iter_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:552,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - it
    - valuep
    argTypes:
    - isc_ht_iter_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: isc_ht_iter_current
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_ht_iter_current(isc_ht_iter_t *it, void **valuep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:562,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:563,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:564,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - it
    - key
    - keysize
    argTypes:
    - isc_ht_iter_t*
    - unsigned char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 568
    functionName: isc_ht_iter_currentkey
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_ht_iter_currentkey(isc_ht_iter_t *it, unsigned char **key,\n\t\t
      \      size_t *keysize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ht.c:572,1
    - Dst: ISC_HT_VALID
      Src: /src/bind9/lib/isc/ht.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ht
    argTypes:
    - isc_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 575
    functionName: isc_ht_count
    functionSourceFile: /src/bind9/lib/isc/ht.c
    functionUses: 0
    functionsReached:
    - ISC_HT_VALID
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t isc_ht_count(const isc_ht_t *ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc___errno2result
      Src: /src/bind9/lib/isc/errno.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: isc_errno_toresult
    functionSourceFile: /src/bind9/lib/isc/errno.c
    functionUses: 3
    functionsReached:
    - isc___errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_errno_toresult(int err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/bind9/lib/isc/stdio.c:27,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - filename
    - mode
    - fp
    argTypes:
    - char*
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 33
    functionName: isc_stdio_open
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 19
    functionsReached:
    - fopen
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_open(const char *filename, const char *mode,
      FILE **fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/bind9/lib/isc/stdio.c:39,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: isc_stdio_close
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 21
    functionsReached:
    - fclose
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_close(FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseeko
      Src: /src/bind9/lib/isc/stdio.c:51,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - f
    - offset
    - whence
    argTypes:
    - FILE*
    - off_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: isc_stdio_seek
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 1
    functionsReached:
    - fseeko
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_seek(FILE *f, off_t offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/stdio.c:63,1
    - Dst: ftello
      Src: /src/bind9/lib/isc/stdio.c:65,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - f
    - offsetp
    argTypes:
    - FILE*
    - off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: isc_stdio_tell
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 1
    functionsReached:
    - ftello
    - REQUIRE
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_tell(FILE *f, off_t *offsetp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/bind9/lib/isc/stdio.c:79,1
    - Dst: fread
      Src: /src/bind9/lib/isc/stdio.c:80,1
    - Dst: feof
      Src: /src/bind9/lib/isc/stdio.c:82,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:85,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/stdio.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ptr
    - size
    - nmemb
    - f
    - nret
    argTypes:
    - void*
    - size_t
    - size_t
    - FILE*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: isc_stdio_read
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 5
    functionsReached:
    - feof
    - SET_IF_NOT_NULL
    - isc__errno2result
    - clearerr
    - fread
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_read(void *ptr, size_t size, size_t nmemb, FILE
      *f, size_t *nret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/bind9/lib/isc/stdio.c:98,1
    - Dst: fwrite
      Src: /src/bind9/lib/isc/stdio.c:99,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:101,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/stdio.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - ptr
    - size
    - nmemb
    - f
    - nret
    argTypes:
    - void*
    - size_t
    - size_t
    - FILE*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 105
    functionName: isc_stdio_write
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 6
    functionsReached:
    - fwrite
    - SET_IF_NOT_NULL
    - clearerr
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_stdio_write(const void *ptr, size_t size, size_t
      nmemb, FILE *f,\n\t\tsize_t *nret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/lib/isc/stdio.c:111,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: isc_stdio_flush
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 4
    functionsReached:
    - fflush
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_flush(FILE *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/bind9/lib/isc/stdio.c:131,1
    - Dst: fileno
      Src: /src/bind9/lib/isc/stdio.c:131,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:132,1
    - Dst: fsync
      Src: /src/bind9/lib/isc/stdio.c:142,1
    - Dst: fileno
      Src: /src/bind9/lib/isc/stdio.c:142,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/stdio.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: isc_stdio_sync
    functionSourceFile: /src/bind9/lib/isc/stdio.c
    functionUses: 0
    functionsReached:
    - fstat
    - fsync
    - fileno
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_stdio_sync(FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/job.c:45,1
    - Dst: uv_idle_start
      Src: /src/bind9/lib/isc/job.c:46,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/job.c:51,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/job.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - loop
    - job
    - cb
    - cbarg
    argTypes:
    - isc_loop_t*
    - isc_job_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: isc_job_run
    functionSourceFile: /src/bind9/lib/isc/job.c
    functionUses: 5
    functionsReached:
    - ISC_LINK_INIT
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - uv_idle_start
    linkageType: ''
    returnType: void
    signature: void isc_job_run(isc_loop_t *loop, isc_job_t *job, isc_job_cb cb, void
      *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/job.c:62,1
    - Dst: ISC_LIST
      Src: /src/bind9/lib/isc/job.c:63,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/isc/job.c:65,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/job.c:70,1
    - Dst: LIBISC_JOB_CB_BEFORE
      Src: /src/bind9/lib/isc/job.c:71,1
    - Dst: cb
      Src: /src/bind9/lib/isc/job.c:72,1
    - Dst: LIBISC_JOB_CB_AFTER
      Src: /src/bind9/lib/isc/job.c:73,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/job.c:76,1
    - Dst: uv_idle_stop
      Src: /src/bind9/lib/isc/job.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_idle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: isc__job_cb
    functionSourceFile: /src/bind9/lib/isc/job.c
    functionUses: 0
    functionsReached:
    - LIBISC_JOB_CB_BEFORE
    - ISC_LIST
    - ISC_LIST_EMPTY
    - cb
    - uv_idle_stop
    - uv_handle_get_data
    - LIBISC_JOB_CB_AFTER
    - ISC_LIST_UNLINK
    - ISC_LIST_MOVE
    linkageType: ''
    returnType: void
    signature: void isc__job_cb(uv_idle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/job.c:70,1
    - Dst: LIBISC_JOB_CB_BEFORE
      Src: /src/bind9/lib/isc/job.c:71,1
    - Dst: cb
      Src: /src/bind9/lib/isc/job.c:72,1
    - Dst: LIBISC_JOB_CB_AFTER
      Src: /src/bind9/lib/isc/job.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/job.c
    functionUses: 89
    functionsReached:
    - LIBISC_JOB_CB_BEFORE
    - LIBISC_JOB_CB_AFTER
    - cb
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (jobs, job, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/job.c:83,1
    - Dst: isc__job_cb
      Src: /src/bind9/lib/isc/job.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: isc__job_close
    functionSourceFile: /src/bind9/lib/isc/job.c
    functionUses: 0
    functionsReached:
    - isc__job_cb
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void isc__job_close(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/base64.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:64,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:64,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base64.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:71,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:80,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:80,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base64.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:86,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:86,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base64.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isc_region_t*
    - int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 90
    functionName: isc_base64_totext
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 2
    functionsReached:
    - RETERR
    - str_totext
    - memset
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_base64_totext(isc_region_t *source, int wordlength,
      const char *wordbreak,\n\t\t  isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ctx
    - length
    - target
    argTypes:
    - base64_decode_ctx_t*
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: base64_decode_init
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void base64_decode_init(base64_decode_ctx_t *ctx, int length, isc_buffer_t
      *target)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/lib/isc/base64.c:118,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:157,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/isc/base64.c:157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - base64_decode_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 168
    functionName: base64_decode_char
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 0
    functionsReached:
    - RETERR
    - strchr
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t base64_decode_char(base64_decode_ctx_t *ctx, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - base64_decode_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: base64_decode_finish
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t base64_decode_finish(base64_decode_ctx_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/base64.c:189,1
    - Dst: base64_decode_init
      Src: /src/bind9/lib/isc/base64.c:191,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base64.c:193,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:202,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/isc/base64.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:209,1
    - Dst: base64_decode_char
      Src: /src/bind9/lib/isc/base64.c:209,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base64.c:212,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/base64.c:214,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:216,1
    - Dst: base64_decode_finish
      Src: /src/bind9/lib/isc/base64.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - lexer
    - target
    - length
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 221
    functionName: isc_base64_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 0
    functionsReached:
    - base64_decode_finish
    - RETERR
    - isc_lex_getmastertoken
    - base64_decode_char
    - base64_decode_init
    - isc_buffer_usedlength
    - REQUIRE
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base64_tobuffer(isc_lex_t *lexer, isc_buffer_t *target,
      int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: base64_decode_init
      Src: /src/bind9/lib/isc/base64.c:227,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:236,1
    - Dst: base64_decode_char
      Src: /src/bind9/lib/isc/base64.c:236,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:238,1
    - Dst: base64_decode_finish
      Src: /src/bind9/lib/isc/base64.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: isc_base64_decodestring
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 10
    functionsReached:
    - base64_decode_finish
    - RETERR
    - base64_decode_init
    - base64_decode_char
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_base64_decodestring(const char *cstr, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/base64.c:247,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/base64.c:248,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base64.c:254,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base64.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 3
    functionsReached:
    - strlen
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t str_totext(const char *source, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/base64.c:263,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base64.c:267,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base64.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - target
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 3
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mem_tobuffer(isc_buffer_t *target, void *base, unsigned
      int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_progname
      Src: /src/bind9/lib/isc/commandline.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: isc_commandline_init
    functionSourceFile: /src/bind9/lib/isc/commandline.c
    functionUses: 22
    functionsReached:
    - isc_file_progname
    linkageType: ''
    returnType: void
    signature: void isc_commandline_init(int argc ISC_ATTR_UNUSED, char *const *argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/commandline.c:94,1
    - Dst: strchr
      Src: /src/bind9/lib/isc/commandline.c:128,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/commandline.c:141,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/commandline.c:190,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - argc
    - argv
    - options
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 209
    functionName: isc_commandline_parse
    functionSourceFile: /src/bind9/lib/isc/commandline.c
    functionUses: 29
    functionsReached:
    - strchr
    - fprintf
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int isc_commandline_parse(int argc, char *const *argv, const char *options)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/commandline.c:225,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/lib/isc/commandline.c:259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 5
    argNames:
    - mctx
    - s
    - argcp
    - argvp
    - n
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int*
    - char***
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 268
    functionName: isc_commandline_strtoargv
    functionSourceFile: /src/bind9/lib/isc/commandline.c
    functionUses: 4
    functionsReached:
    - isc_mem_cget
    - isc_commandline_strtoargv
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_commandline_strtoargv(isc_mem_t *mctx, char *s, unsigned
      int *argcp,\n\t\t\t  char ***argvp, unsigned int n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/interfaceiter.c:64,1
    - Dst: memset
      Src: /src/bind9/lib/isc/interfaceiter.c:68,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:73,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:78,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isc/interfaceiter.c:81,1
    - Dst: IN6_IS_ADDR_LINKLOCAL
      Src: /src/bind9/lib/isc/interfaceiter.c:94,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:97,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/interfaceiter.c:99,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isc/interfaceiter.c:102,1
    - Dst: if_nametoindex
      Src: /src/bind9/lib/isc/interfaceiter.c:116,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isc/interfaceiter.c:118,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/interfaceiter.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - family
    - dst
    - src
    - ifname
    argTypes:
    - unsigned int
    - isc_netaddr_t*
    - struct sockaddr*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 129
    functionName: get_addr
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - memmove
    - memset
    - IN6_IS_ADDR_LINKLOCAL
    - UNUSED
    - if_nametoindex
    - isc_netaddr_setzone
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void get_addr(unsigned int family, isc_netaddr_t *dst, struct sockaddr
      *src,\n\t char *ifname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: VALID_IFITER
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_IFITER(t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:160,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/interfaceiter.c:162,1
    - Dst: getifaddrs
      Src: /src/bind9/lib/isc/interfaceiter.c:169,1
    - Dst: strerror_r
      Src: /src/bind9/lib/isc/interfaceiter.c:170,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/isc/interfaceiter.c:171,1
    - Dst: freeifaddrs
      Src: /src/bind9/lib/isc/interfaceiter.c:190,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/interfaceiter.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - mctx
    - iterp
    argTypes:
    - isc_mem_t*
    - isc_interfaceiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 194
    functionName: isc_interfaceiter_create
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - isc_mem_get
    - strerror_r
    - REQUIRE
    - freeifaddrs
    - isc_mem_put
    - getifaddrs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_interfaceiter_create(isc_mem_t *mctx, isc_interfaceiter_t
      **iterp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:209,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:209,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/interfaceiter.c:213,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/interfaceiter.c:214,1
    - Dst: memset
      Src: /src/bind9/lib/isc/interfaceiter.c:225,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/interfaceiter.c:227,1
    - Dst: memset
      Src: /src/bind9/lib/isc/interfaceiter.c:232,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:233,1
    - Dst: get_addr
      Src: /src/bind9/lib/isc/interfaceiter.c:251,1
    - Dst: get_addr
      Src: /src/bind9/lib/isc/interfaceiter.c:254,1
    - Dst: get_addr
      Src: /src/bind9/lib/isc/interfaceiter.c:261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 266
    functionName: internal_current
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - VALID_IFITER
    - memmove
    - memset
    - get_addr
    - INSIST
    - strlen
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t internal_current(isc_interfaceiter_t *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: internal_next
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t internal_next(isc_interfaceiter_t *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeifaddrs
      Src: /src/bind9/lib/isc/interfaceiter.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: internal_destroy
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - freeifaddrs
    linkageType: ''
    returnType: void
    signature: void internal_destroy(isc_interfaceiter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: internal_first
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void internal_first(isc_interfaceiter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:306,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - ifdata
    argTypes:
    - isc_interfaceiter_t*
    - isc_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: isc_interfaceiter_current
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_interfaceiter_current(isc_interfaceiter_t *iter, isc_interface_t
      *ifdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:315,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:315,1
    - Dst: internal_first
      Src: /src/bind9/lib/isc/interfaceiter.c:317,1
    - Dst: internal_current
      Src: /src/bind9/lib/isc/interfaceiter.c:319,1
    - Dst: internal_next
      Src: /src/bind9/lib/isc/interfaceiter.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: isc_interfaceiter_first
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - VALID_IFITER
    - internal_first
    - REQUIRE
    - internal_next
    - internal_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_interfaceiter_first(isc_interfaceiter_t *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:336,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:336,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:337,1
    - Dst: internal_next
      Src: /src/bind9/lib/isc/interfaceiter.c:340,1
    - Dst: internal_current
      Src: /src/bind9/lib/isc/interfaceiter.c:344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: isc_interfaceiter_next
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - internal_next
    - VALID_IFITER
    - REQUIRE
    - internal_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_interfaceiter_next(isc_interfaceiter_t *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:359,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:359,1
    - Dst: internal_destroy
      Src: /src/bind9/lib/isc/interfaceiter.c:361,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/interfaceiter.c:363,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/interfaceiter.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - iterp
    argTypes:
    - isc_interfaceiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: isc_interfaceiter_destroy
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - internal_destroy
    - VALID_IFITER
    - isc_mem_put
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_interfaceiter_destroy(isc_interfaceiter_t **iterp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_entropy_get
      Src: /src/bind9/lib/isc/hash.c:38,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/isc/hash.c:40,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hash.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: isc__hash_initialize
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - STATIC_ASSERT
    - isc_entropy_get
    - memmove
    linkageType: ''
    returnType: void
    signature: void isc__hash_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: isc_hash_get_initializer
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_hash_get_initializer(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hash.c:52,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hash.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - initializer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: isc_hash_set_initializer
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_hash_set_initializer(const void *initializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_halfsiphash24_init
      Src: /src/bind9/lib/isc/hash.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: isc_hash32_init
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - isc_halfsiphash24_init
    linkageType: ''
    returnType: void
    signature: void isc_hash32_init(isc_hash32_t *restrict state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hash.c:65,1
    - Dst: isc_halfsiphash24_hash
      Src: /src/bind9/lib/isc/hash.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - state
    - data
    - length
    - case_sensitive
    argTypes:
    - isc_hash32_t*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: isc_hash32_hash
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - isc_halfsiphash24_hash
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_hash32_hash(isc_hash32_t *restrict state, const void *data,\n\t\tconst
      size_t length, const bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_halfsiphash24_finalize
      Src: /src/bind9/lib/isc/hash.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: isc_hash32_finalize
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - isc_halfsiphash24_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_hash32_finalize(isc_hash32_t *restrict state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_siphash24_init
      Src: /src/bind9/lib/isc/hash.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: isc_hash64_init
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - isc_siphash24_init
    linkageType: ''
    returnType: void
    signature: void isc_hash64_init(isc_hash64_t *restrict state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hash.c:87,1
    - Dst: isc_siphash24_hash
      Src: /src/bind9/lib/isc/hash.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - state
    - data
    - length
    - case_sensitive
    argTypes:
    - isc_hash64_t*
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: isc_hash64_hash
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - isc_siphash24_hash
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_hash64_hash(isc_hash64_t *restrict state, const void *data,\n\t\tconst
      size_t length, const bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_siphash24_finalize
      Src: /src/bind9/lib/isc/hash.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: isc_hash64_finalize
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - isc_siphash24_finalize
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_hash64_finalize(isc_hash64_t *restrict state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: VALID_TIMER
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TIMER(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:57,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:59,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/timer.c:59,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:63,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/timer.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:64,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:64,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/timer.c:66,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/timer.c:73,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/timer.c:75,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/timer.c:76,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/timer.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - loop
    - cb
    - cbarg
    - timerp
    argTypes:
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 80
    functionName: isc_timer_create
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 10
    functionsReached:
    - uv_timer_init
    - uv_handle_set_data
    - VALID_LOOP
    - isc_mem_get
    - REQUIRE
    - isc_loop_attach
    - isc_loop
    - VALID_LOOPMGR
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void isc_timer_create(isc_loop_t *loop, isc_job_cb cb, void *cbarg,\n\t\t
      isc_timer_t **timerp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:84,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:84,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/timer.c:86,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:94,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/timer.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - timer
    argTypes:
    - isc_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: isc_timer_stop
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 3
    functionsReached:
    - VALID_TIMER
    - uv_timer_stop
    - atomic_compare_exchange_strong_acq_rel
    - REQUIRE
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void isc_timer_stop(isc_timer_t *timer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/timer.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:103,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:103,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/timer.c:105,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/timer.c:106,1
    - Dst: isc_timer_t*::cb
      Src: /src/bind9/lib/isc/timer.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: timer_cb
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - VALID_TIMER
    - uv_timer_stop
    - uv_handle_get_data
    - atomic_load_acquire
    - isc_timer_t*::cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void timer_cb(uv_timer_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:120,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:122,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:126,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/timer.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:130,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/timer.c:130,1
    - Dst: isc_interval_ms
      Src: /src/bind9/lib/isc/timer.c:134,1
    - Dst: isc_interval_ms
      Src: /src/bind9/lib/isc/timer.c:138,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/timer.c:141,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/timer.c:144,1
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/timer.c:145,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/timer.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - timer
    - type
    - interval
    argTypes:
    - isc_timer_t*
    - isc_timertype_t
    - isc_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 148
    functionName: isc_timer_start
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 13
    functionsReached:
    - VALID_TIMER
    - UNREACHABLE
    - atomic_store_release
    - isc_interval_ms
    - VALID_LOOP
    - REQUIRE
    - uv_timer_start
    - isc_loop
    - VALID_LOOPMGR
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void isc_timer_start(isc_timer_t *timer, isc_timertype_t type,\n\t\tconst
      isc_interval_t *interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/timer.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:155,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:155,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/timer.c:159,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/timer.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: timer_close
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - VALID_TIMER
    - uv_handle_get_data
    - REQUIRE
    - isc_loop_detach
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void timer_close(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/timer.c:168,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/timer.c:169,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/timer.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: timer_destroy
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 9
    functionsReached:
    - uv_close
    - atomic_store_release
    - uv_timer_stop
    linkageType: ''
    returnType: void
    signature: void timer_destroy(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:177,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:182,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:182,1
    - Dst: timer_destroy
      Src: /src/bind9/lib/isc/timer.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timerp
    argTypes:
    - isc_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: isc_timer_destroy
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 9
    functionsReached:
    - VALID_TIMER
    - isc_loop
    - REQUIRE
    - timer_destroy
    linkageType: ''
    returnType: void
    signature: void isc_timer_destroy(isc_timer_t **timerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:191,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:191,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/isc/timer.c:196,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/timer.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timerp
    argTypes:
    - isc_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 198
    functionName: isc_timer_async_destroy
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - VALID_TIMER
    - isc_timer_stop
    - REQUIRE
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void isc_timer_async_destroy(isc_timer_t **timerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:202,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:202,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/timer.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - isc_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: isc_timer_running
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    - VALID_TIMER
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_timer_running(isc_timer_t *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: APPROX_99_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_99_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: APPROX_95_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_95_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: APPROX_90_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_90_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: APPROX_85_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_85_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: APPROX_40_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_40_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: APPROX_35_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_35_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: APPROX_30_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_30_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: APPROX_25_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_25_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: APPROX_20_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_20_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: APPROX_15_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_15_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: APPROX_10_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_10_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: APPROX_05_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_05_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: APPROX_01_PERCENT
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPROX_01_PERCENT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hashmap
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ISC_HASHMAP_VALID
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_HASHMAP_VALID(hashmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: HASHSIZE
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASHSIZE(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: hashmap_nexttable
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t hashmap_nexttable(uint8_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: rehashing_in_progress
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 4
    functionsReached:
    - hashmap_nexttable
    linkageType: ''
    returnType: bool
    signature: bool rehashing_in_progress(const isc_hashmap_t *hashmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hashmap
    - idx
    argTypes:
    - isc_hashmap_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: try_nexttable
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - rehashing_in_progress
    linkageType: ''
    returnType: bool
    signature: bool try_nexttable(const isc_hashmap_t *hashmap, uint8_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - node
    - hashval
    - key
    - value
    argTypes:
    - hashmap_node_t*
    - uint32_t
    - uint8_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: hashmap_node_init
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void hashmap_node_init(hashmap_node_t *node, const uint32_t hashval,\n\t\t
      \ const uint8_t *key, void *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/hashmap.c:147,1
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/isc/hashmap.c:153,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/hashmap.c:155,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/hashmap.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hashmap
    - idx
    argTypes:
    - isc_hashmap_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: hashmap_dump_table
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - isc_hash_bits32
    - fprintf
    linkageType: ''
    returnType: ISC_ATTR_UNUSED
    signature: ISC_ATTR_UNUSED hashmap_dump_table(const isc_hashmap_t *hashmap, const
      uint8_t idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:173,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:177,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:178,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/hashmap.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - hashmap
    - idx
    - bits
    argTypes:
    - isc_hashmap_t*
    - uint8_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: hashmap_create_table
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - REQUIRE
    - HASHSIZE
    linkageType: ''
    returnType: void
    signature: "void hashmap_create_table(isc_hashmap_t *hashmap, const uint8_t idx,\n\t\t
      \    const uint8_t bits)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/hashmap.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - hashmap
    - idx
    - cleanup
    argTypes:
    - isc_hashmap_t*
    - uint8_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 207
    functionName: hashmap_free_table
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void hashmap_free_table(isc_hashmap_t *hashmap, const uint8_t idx,
      bool cleanup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/hashmap.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:215,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/hashmap.c:220,1
    - Dst: hashmap_create_table
      Src: /src/bind9/lib/isc/hashmap.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - bits
    - hashmapp
    argTypes:
    - isc_mem_t*
    - uint8_t
    - isc_hashmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: isc_hashmap_create
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 5
    functionsReached:
    - isc_mem_get
    - hashmap_create_table
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void isc_hashmap_create(isc_mem_t *mctx, uint8_t bits, isc_hashmap_t
      **hashmapp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:234,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:234,1
    - Dst: hashmap_free_table
      Src: /src/bind9/lib/isc/hashmap.c:243,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:246,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/hashmap.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hashmapp
    argTypes:
    - isc_hashmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: isc_hashmap_destroy
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 4
    functionsReached:
    - isc_mem_putanddetach
    - ISC_HASHMAP_VALID
    - INSIST
    - hashmap_free_table
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_hashmap_destroy(isc_hashmap_t **hashmapp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/isc/hashmap.c:262,1
    - Dst: match
      Src: /src/bind9/lib/isc/hashmap.c:276,1
    - Dst: try_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:285,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - hashmap
    - hashval
    - match
    - key
    - pslp
    - idxp
    argTypes:
    - isc_hashmap_t*
    - uint32_t
    - isc_hashmap_match_fn
    - uint8_t*
    - uint32_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 291
    functionName: hashmap_find
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 3
    functionsReached:
    - match
    - isc_hash_bits32
    - hashmap_nexttable
    - try_nexttable
    linkageType: ''
    returnType: hashmap_node_t
    signature: "hashmap_node_t *\nhashmap_find(const isc_hashmap_t *hashmap, const
      uint32_t hashval,\n\t     isc_hashmap_match_fn match, const uint8_t *key, uint32_t
      *pslp,\n\t     uint8_t *idxp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:296,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:297,1
    - Dst: hashmap_find
      Src: /src/bind9/lib/isc/hashmap.c:300,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:306,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/hashmap.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - hashmap
    - hashval
    - match
    - key
    - valuep
    argTypes:
    - isc_hashmap_t*
    - uint32_t
    - isc_hashmap_match_fn
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: isc_hashmap_find
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 3
    functionsReached:
    - SET_IF_NOT_NULL
    - hashmap_find
    - ISC_HASHMAP_VALID
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hashmap_find(const isc_hashmap_t *hashmap, const
      uint32_t hashval,\n\t\t isc_hashmap_match_fn match, const void *key, void **valuep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/isc/hashmap.c:321,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - hashmap
    - entry
    - hashval
    - psl
    - idx
    - size
    argTypes:
    - isc_hashmap_t*
    - hashmap_node_t*
    - uint32_t
    - uint32_t
    - uint8_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 347
    functionName: hashmap_delete_node
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - isc_hash_bits32
    - INSIST
    linkageType: ''
    returnType: bool
    signature: "bool hashmap_delete_node(isc_hashmap_t *hashmap, hashmap_node_t *entry,\n\t\t
      \   uint32_t hashval, uint32_t psl, const uint8_t idx,\n\t\t    size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:351,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:357,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/hashmap.c:357,1
    - Dst: hashmap_free_table
      Src: /src/bind9/lib/isc/hashmap.c:367,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:367,1
    - Dst: hashmap_delete_node
      Src: /src/bind9/lib/isc/hashmap.c:376,1
    - Dst: hashmap_add
      Src: /src/bind9/lib/isc/hashmap.c:379,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 349
    functionDepth: 2
    functionLinenumber: 349
    functionLinenumberEnd: 387
    functionName: hashmap_rehash_one
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - INSIST
    - atomic_load_acquire
    - hashmap_nexttable
    - hashmap_free_table
    - hashmap_add
    - hashmap_delete_node
    linkageType: ''
    returnType: void
    signature: void hashmap_rehash_one(isc_hashmap_t *hashmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:392,1
    - Dst: APPROX_40_PERCENT
      Src: /src/bind9/lib/isc/hashmap.c:394,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 403
    functionName: grow_bits
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - APPROX_40_PERCENT
    - HASHSIZE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t grow_bits(isc_hashmap_t *hashmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 414
    functionName: shrink_bits
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t shrink_bits(isc_hashmap_t *hashmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:421,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:423,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:423,1
    - Dst: grow_bits
      Src: /src/bind9/lib/isc/hashmap.c:425,1
    - Dst: hashmap_create_table
      Src: /src/bind9/lib/isc/hashmap.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: hashmap_rehash_start_grow
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - rehashing_in_progress
    - grow_bits
    - hashmap_nexttable
    - hashmap_create_table
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void hashmap_rehash_start_grow(isc_hashmap_t *hashmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:438,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:440,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:440,1
    - Dst: shrink_bits
      Src: /src/bind9/lib/isc/hashmap.c:442,1
    - Dst: hashmap_create_table
      Src: /src/bind9/lib/isc/hashmap.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 448
    functionName: hashmap_rehash_start_shrink
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - rehashing_in_progress
    - hashmap_nexttable
    - hashmap_create_table
    - REQUIRE
    - shrink_bits
    linkageType: ''
    returnType: void
    signature: void hashmap_rehash_start_shrink(isc_hashmap_t *hashmap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:453,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:454,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:461,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:462,1
    - Dst: under_threshold
      Src: /src/bind9/lib/isc/hashmap.c:463,1
    - Dst: hashmap_rehash_start_shrink
      Src: /src/bind9/lib/isc/hashmap.c:464,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:465,1
    - Dst: hashmap_find
      Src: /src/bind9/lib/isc/hashmap.c:471,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:473,1
    - Dst: hashmap_delete_node
      Src: /src/bind9/lib/isc/hashmap.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - hashmap
    - hashval
    - match
    - key
    argTypes:
    - isc_hashmap_t*
    - uint32_t
    - isc_hashmap_match_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 480
    functionName: isc_hashmap_delete
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - hashmap_rehash_start_shrink
    - rehashing_in_progress
    - hashmap_find
    - ISC_HASHMAP_VALID
    - INSIST
    - REQUIRE
    - hashmap_delete_node
    - under_threshold
    - hashmap_rehash_one
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hashmap_delete(isc_hashmap_t *hashmap, const uint32_t
      hashval,\n\t\t   isc_hashmap_match_fn match, const void *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APPROX_90_PERCENT
      Src: /src/bind9/lib/isc/hashmap.c:488,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 490
    functionName: over_threshold
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - HASHSIZE
    - APPROX_90_PERCENT
    linkageType: ''
    returnType: bool
    signature: bool over_threshold(isc_hashmap_t *hashmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APPROX_20_PERCENT
      Src: /src/bind9/lib/isc/hashmap.c:498,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 500
    functionName: under_threshold
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - APPROX_20_PERCENT
    - HASHSIZE
    linkageType: ''
    returnType: bool
    signature: bool under_threshold(isc_hashmap_t *hashmap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:512,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/hashmap.c:512,1
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/isc/hashmap.c:514,1
    - Dst: hashmap_node_init
      Src: /src/bind9/lib/isc/hashmap.c:517,1
    - Dst: match
      Src: /src/bind9/lib/isc/hashmap.c:531,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/hashmap.c:532,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/isc/hashmap.c:540,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:552,1
    - Dst: hashmap_rehash_start_grow
      Src: /src/bind9/lib/isc/hashmap.c:553,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 7
    argNames:
    - hashmap
    - hashval
    - match
    - key
    - value
    - foundp
    - idx
    argTypes:
    - isc_hashmap_t*
    - uint32_t
    - isc_hashmap_match_fn
    - uint8_t*
    - void*
    - void**
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 564
    functionName: hashmap_add
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 5
    functionsReached:
    - isc_hash_bits32
    - SET_IF_NOT_NULL
    - rehashing_in_progress
    - ISC_SWAP
    - match
    - INSIST
    - atomic_load_acquire
    - hashmap_rehash_start_grow
    - hashmap_node_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t hashmap_add(isc_hashmap_t *hashmap, const uint32_t hashval,\n\t
      \   isc_hashmap_match_fn match, const uint8_t *key, void *value,\n\t    void
      **foundp, uint8_t idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:570,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:570,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:571,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:573,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:574,1
    - Dst: over_threshold
      Src: /src/bind9/lib/isc/hashmap.c:575,1
    - Dst: hashmap_rehash_start_grow
      Src: /src/bind9/lib/isc/hashmap.c:576,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:577,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:580,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:581,1
    - Dst: hashmap_find
      Src: /src/bind9/lib/isc/hashmap.c:585,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:588,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/hashmap.c:589,1
    - Dst: hashmap_add
      Src: /src/bind9/lib/isc/hashmap.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - hashmap
    - hashval
    - match
    - key
    - value
    - foundp
    argTypes:
    - isc_hashmap_t*
    - uint32_t
    - isc_hashmap_match_fn
    - void*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 596
    functionName: isc_hashmap_add
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 4
    functionsReached:
    - rehashing_in_progress
    - SET_IF_NOT_NULL
    - hashmap_find
    - ISC_HASHMAP_VALID
    - INSIST
    - hashmap_add
    - hashmap_nexttable
    - REQUIRE
    - hashmap_rehash_start_grow
    - over_threshold
    - hashmap_rehash_one
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hashmap_add(isc_hashmap_t *hashmap, const uint32_t
      hashval,\n\t\tisc_hashmap_match_fn match, const void *key, void *value,\n\t\tvoid
      **foundp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:602,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:603,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/hashmap.c:605,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/isc/hashmap.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hashmap
    - iterp
    argTypes:
    - isc_hashmap_t*
    - isc_hashmap_iter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 614
    functionName: isc_hashmap_iter_create
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - ISC_HASHMAP_VALID
    - isc_mem_get
    - atomic_fetch_add_release
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_hashmap_iter_create(isc_hashmap_t *hashmap, isc_hashmap_iter_t
      **iterp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:621,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/hashmap.c:626,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:628,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/isc/hashmap.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iterp
    argTypes:
    - isc_hashmap_iter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 629
    functionName: isc_hashmap_iter_destroy
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - REQUIRE
    - INSIST
    - atomic_fetch_sub_release
    linkageType: ''
    returnType: void
    signature: void isc_hashmap_iter_destroy(isc_hashmap_iter_t **iterp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: try_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:647,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:648,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 655
    functionName: isc__hashmap_iter_next
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - hashmap_nexttable
    - isc__hashmap_iter_next
    - try_nexttable
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__hashmap_iter_next(isc_hashmap_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:659,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 666
    functionName: isc_hashmap_iter_first
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - isc__hashmap_iter_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hashmap_iter_first(isc_hashmap_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:670,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:671,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 676
    functionName: isc_hashmap_iter_next
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - isc__hashmap_iter_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hashmap_iter_next(isc_hashmap_iter_t *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:680,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:681,1
    - Dst: hashmap_delete_node
      Src: /src/bind9/lib/isc/hashmap.c:686,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:693,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 698
    functionName: isc_hashmap_iter_delcurrent_next
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - hashmap_delete_node
    - isc__hashmap_iter_next
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hashmap_iter_delcurrent_next(isc_hashmap_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:702,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:703,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - it
    - valuep
    argTypes:
    - isc_hashmap_iter_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: isc_hashmap_iter_current
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_hashmap_iter_current(isc_hashmap_iter_t *it, void **valuep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - it
    - key
    argTypes:
    - isc_hashmap_iter_t*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: isc_hashmap_iter_currentkey
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_hashmap_iter_currentkey(isc_hashmap_iter_t *it, const unsigned
      char **key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:720,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: isc_hashmap_count
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - ISC_HASHMAP_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_hashmap_count(isc_hashmap_t *hashmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_req_get_data
      Src: /src/bind9/lib/isc/work.c:27,1
    - Dst: isc__iterated_hash_initialize
      Src: /src/bind9/lib/isc/work.c:29,1
    - Dst: rcu_register_thread
      Src: /src/bind9/lib/isc/work.c:31,1
    - Dst: isc_work_t*::work_cb
      Src: /src/bind9/lib/isc/work.c:33,1
    - Dst: rcu_unregister_thread
      Src: /src/bind9/lib/isc/work.c:35,1
    - Dst: isc__iterated_hash_shutdown
      Src: /src/bind9/lib/isc/work.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 38
    functionName: isc__work_cb
    functionSourceFile: /src/bind9/lib/isc/work.c
    functionUses: 0
    functionsReached:
    - isc__iterated_hash_shutdown
    - rcu_unregister_thread
    - rcu_register_thread
    - isc_work_t*::work_cb
    - uv_req_get_data
    - isc__iterated_hash_initialize
    linkageType: ''
    returnType: void
    signature: void isc__work_cb(uv_work_t *req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_req_get_data
      Src: /src/bind9/lib/isc/work.c:42,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/work.c:45,1
    - Dst: isc_work_t*::after_work_cb
      Src: /src/bind9/lib/isc/work.c:47,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/work.c:49,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/work.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_work_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: isc__after_work_cb
    functionSourceFile: /src/bind9/lib/isc/work.c
    functionUses: 0
    functionsReached:
    - isc_work_t*::after_work_cb
    - uv_req_get_data
    - isc_loop_detach
    - isc_mem_put
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__after_work_cb(uv_work_t *req, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/work.c:60,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/work.c:60,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/work.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/work.c:62,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/work.c:64,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/work.c:71,1
    - Dst: uv_req_set_data
      Src: /src/bind9/lib/isc/work.c:73,1
    - Dst: uv_queue_work
      Src: /src/bind9/lib/isc/work.c:75,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/work.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - loop
    - work_cb
    - after_work_cb
    - cbarg
    argTypes:
    - isc_loop_t*
    - isc_work_cb
    - isc_after_work_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: isc_work_enqueue
    functionSourceFile: /src/bind9/lib/isc/work.c
    functionUses: 3
    functionsReached:
    - VALID_LOOP
    - uv_req_set_data
    - isc_mem_get
    - REQUIRE
    - uv_queue_work
    - isc_loop_attach
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void isc_work_enqueue(isc_loop_t *loop, isc_work_cb work_cb,\n\t\t
      isc_after_work_cb after_work_cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: MCTXLOCK
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCTXLOCK(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MCTXUNLOCK
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCTXUNLOCK(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: VALID_CONTEXT
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CONTEXT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: VALID_MEMPOOL
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_MEMPOOL(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mctx
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: SHOULD_TRACE_OR_RECORD
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOULD_TRACE_OR_RECORD(mctx, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mctx
    - ','
    - ptr
    - ','
    - size
    - ','
    - func
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: ADD_TRACE
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_TRACE(mctx, ptr, size, func, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mctx
    - ','
    - ptr
    - ','
    - size
    - ','
    - func
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: DELETE_TRACE
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELETE_TRACE(mctx, ptr, size, func, file, line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isc/mem.c:213,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/mem.c:214,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:216,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:219,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/mem.c:235,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:239,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:240,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/mem.c:242,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/mem.c:247,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/mem.c:249,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - mctx
    - ptr
    - FLARG
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 253
    functionName: add_trace_entry
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - strlcpy
    - ISC_LINK_INIT
    - INSIST
    - isc_hash32
    - strlen
    - MCTXUNLOCK
    - mallocx
    - fprintf
    - STRUCT_FLEX_SIZE
    - MCTXLOCK
    linkageType: ''
    returnType: void
    signature: void add_trace_entry(isc_mem_t *mctx, const void *ptr, size_t size
      FLARG)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:260,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:263,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/mem.c:279,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:283,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:285,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:286,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/mem.c:295,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - mctx
    - ptr
    - FLARG
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 298
    functionName: delete_trace_entry
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - sdallocx
    - MCTXLOCK
    - isc_hash32
    - MCTXUNLOCK
    - ISC_LIST_UNLINK
    - fprintf
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void delete_trace_entry(isc_mem_t *mctx, const void *ptr, size_t size
      FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: ADJUST_ZERO_ALLOCATION_SIZE
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUST_ZERO_ALLOCATION_SIZE(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:313,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:315,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:316,1
    - Dst: memset
      Src: /src/bind9/lib/isc/mem.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ctx
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: mem_get
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 144
    functionsReached:
    - ADJUST_ZERO_ALLOCATION_SIZE
    - mallocx
    - memset
    - INSIST
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_get(isc_mem_t *ctx, size_t size, int flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:333,1
    - Dst: memset
      Src: /src/bind9/lib/isc/mem.c:336,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctx
    - mem
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: mem_put
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 98
    functionsReached:
    - ADJUST_ZERO_ALLOCATION_SIZE
    - sdallocx
    - memset
    linkageType: ''
    returnType: void
    signature: void mem_put(isc_mem_t *ctx, void *mem, size_t size, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:346,1
    - Dst: rallocx
      Src: /src/bind9/lib/isc/mem.c:348,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:349,1
    - Dst: memset
      Src: /src/bind9/lib/isc/mem.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ctx
    - old_ptr
    - old_size
    - new_size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 363
    functionName: mem_realloc
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - ADJUST_ZERO_ALLOCATION_SIZE
    - rallocx
    - memset
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void *\nmem_realloc(isc_mem_t *ctx, void *old_ptr, size_t old_size,
      size_t new_size,\n\t    int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/mem.c:370,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/mem.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - isc_mem_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: mem_getstats
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - atomic_fetch_add_relaxed
    linkageType: ''
    returnType: void
    signature: void mem_getstats(isc_mem_t *ctx, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_sub_relaxed
      Src: /src/bind9/lib/isc/mem.c:378,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/mem.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - isc_mem_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: mem_putstats
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_sub_relaxed
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void mem_putstats(isc_mem_t *ctx, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/mem.c:391,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/mem.c:394,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/mem.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 396
    functionName: isc__mem_initialize
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    - isc_mutex_init
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__mem_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcu_barrier
      Src: /src/bind9/lib/isc/mem.c:402,1
    - Dst: isc__mem_checkdestroyed
      Src: /src/bind9/lib/isc/mem.c:404,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:406,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:407,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:408,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/mem.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: isc__mem_shutdown
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - LOCK
    - isc__mem_checkdestroyed
    - UNLOCK
    - isc_mutex_destroy
    - rcu_barrier
    linkageType: ''
    returnType: void
    signature: void isc__mem_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:420,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:421,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:423,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:424,1
    - Dst: strdup
      Src: /src/bind9/lib/isc/mem.c:432,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/mem.c:435,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/mem.c:436,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/mem.c:438,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:439,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:440,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:446,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:447,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/mem.c:449,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:455,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/isc/mem.c:456,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:458,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/mem.c:461,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:466,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/isc/mem.c:467,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - name
    - ctxp
    - debugging
    - flags
    - jemalloc_flags
    argTypes:
    - char*
    - isc_mem_t**
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 471
    functionName: mem_create
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 38
    functionsReached:
    - strdup
    - ARRAY_SIZE
    - isc_mutex_init
    - LOCK
    - ISC_LIST_INITANDAPPEND
    - INSIST
    - UNLOCK
    - isc_refcount_init
    - atomic_init
    - mallocx
    - REQUIRE
    - ISC_LIST_INIT
    - ISC_CHECKED_MUL
    linkageType: ''
    returnType: void
    signature: "void mem_create(const char *name, isc_mem_t **ctxp, unsigned int debugging,\n\t
      \  unsigned int flags, unsigned int jemalloc_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/mem.c:479,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:481,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:482,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:483,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:486,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:486,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:491,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:491,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:496,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:498,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:500,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:502,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:503,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:507,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/isc/mem.c:509,1
    - Dst: free
      Src: /src/bind9/lib/isc/mem.c:514,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/mem.c:516,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 519
    functionName: mem_destroy
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_EMPTY
    - free
    - sdallocx
    - isc_mem_inuse
    - print_active
    - INSIST
    - UNLOCK
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - isc_refcount_destroy
    - isc_mutex_destroy
    - ISC_CHECKED_MUL
    linkageType: ''
    returnType: void
    signature: void mem_destroy(isc_mem_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:540,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:541,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:542,1
    - Dst: isc_mem__detach
      Src: /src/bind9/lib/isc/mem.c:549,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/mem.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctxp
    - ptr
    - size
    - flags
    argTypes:
    - isc_mem_t**
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 553
    functionName: isc__mem_putanddetach
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    - VALID_CONTEXT
    - REQUIRE
    - isc_mem__detach
    linkageType: ''
    returnType: void
    signature: "void isc__mem_putanddetach(isc_mem_t **ctxp, void *ptr, size_t size,\n\t\t
      \     int flags FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:559,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:559,1
    - Dst: mem_get
      Src: /src/bind9/lib/isc/mem.c:561,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:563,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 567
    functionName: isc__mem_get
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - VALID_CONTEXT
    - mem_getstats
    - ADD_TRACE
    - mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_get(isc_mem_t *ctx, size_t size, int flags FLARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:571,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:571,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:573,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:575,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - ptr
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: isc__mem_put
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_CONTEXT
    - mem_putstats
    - DELETE_TRACE
    - mem_put
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__mem_put(isc_mem_t *ctx, void *ptr, size_t size, int flags
      FLARG)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:586,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:590,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:593,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mctx
    - out
    argTypes:
    - isc_mem_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 607
    functionName: print_active
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - fprintf
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void print_active(isc_mem_t *mctx, FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:615,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:615,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:617,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:626,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:627,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:628,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:632,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:633,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:641,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - isc_mem_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 645
    functionName: isc_mem_stats
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 18
    functionsReached:
    - ISC_LIST_EMPTY
    - VALID_CONTEXT
    - print_active
    - MCTXUNLOCK
    - fprintf
    - REQUIRE
    - MCTXLOCK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void isc_mem_stats(isc_mem_t *ctx, FILE *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:651,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:651,1
    - Dst: mem_get
      Src: /src/bind9/lib/isc/mem.c:653,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:656,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:658,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 647
    functionDepth: 3
    functionLinenumber: 647
    functionLinenumberEnd: 662
    functionName: isc__mem_allocate
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - sallocx
    - VALID_CONTEXT
    - mem_getstats
    - ADD_TRACE
    - mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_allocate(isc_mem_t *ctx, size_t size, int flags FLARG)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:670,1
    - Dst: isc__mem_get
      Src: /src/bind9/lib/isc/mem.c:671,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:675,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:676,1
    - Dst: mem_realloc
      Src: /src/bind9/lib/isc/mem.c:678,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:680,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - old_ptr
    - old_size
    - new_size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 691
    functionName: isc__mem_reget
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc__mem_get
    - mem_putstats
    - mem_getstats
    - DELETE_TRACE
    - ADD_TRACE
    - REQUIRE
    - mem_realloc
    linkageType: ''
    returnType: void
    signature: "void *\nisc__mem_reget(isc_mem_t *ctx, void *old_ptr, size_t old_size,
      size_t new_size,\n\t       int flags FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:698,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:698,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/mem.c:701,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:705,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:707,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:708,1
    - Dst: mem_realloc
      Src: /src/bind9/lib/isc/mem.c:710,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:713,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:715,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - old_ptr
    - new_size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 726
    functionName: isc__mem_reallocate
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - sallocx
    - isc__mem_allocate
    - VALID_CONTEXT
    - mem_putstats
    - mem_getstats
    - DELETE_TRACE
    - ADD_TRACE
    - REQUIRE
    - mem_realloc
    linkageType: ''
    returnType: void
    signature: "void *\nisc__mem_reallocate(isc_mem_t *ctx, void *old_ptr, size_t
      new_size,\n\t\t    int flags FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:732,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:732,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:733,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:735,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:737,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:739,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - ptr
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 741
    functionName: isc__mem_free
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - sallocx
    - VALID_CONTEXT
    - mem_putstats
    - DELETE_TRACE
    - REQUIRE
    - mem_put
    linkageType: ''
    returnType: void
    signature: void isc__mem_free(isc_mem_t *ctx, void *ptr, int flags FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:752,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:753,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/mem.c:755,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/mem.c:757,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/mem.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - FLARG
    argTypes:
    - isc_mem_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionName: isc__mem_strdup
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc__mem_allocate
    - VALID_CONTEXT
    - strlcpy
    - strlen
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__mem_strdup(isc_mem_t *mctx, const char *s FLARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:769,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:769,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:770,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:771,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/mem.c:773,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/mem.c:778,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/mem.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - mctx
    - s
    - FLARG
    argTypes:
    - isc_mem_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 783
    functionName: isc__mem_strndup
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc__mem_allocate
    - VALID_CONTEXT
    - strlcpy
    - strlen
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__mem_strndup(isc_mem_t *mctx, const char *s, size_t size FLARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:787,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:787,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:789,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - flag
    argTypes:
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 794
    functionName: isc_mem_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 5
    functionsReached:
    - MCTXUNLOCK
    - VALID_CONTEXT
    - REQUIRE
    - MCTXLOCK
    linkageType: ''
    returnType: void
    signature: void isc_mem_setdestroycheck(isc_mem_t *ctx, bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:798,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:798,1
    - Dst: isc_tid_count
      Src: /src/bind9/lib/isc/mem.c:802,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:803,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 808
    functionName: isc_mem_inuse
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 6
    functionsReached:
    - VALID_CONTEXT
    - isc_tid_count
    - INSIST
    - atomic_load_relaxed
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t isc_mem_inuse(isc_mem_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setwater
      Src: /src/bind9/lib/isc/mem.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 813
    functionName: isc_mem_clearwater
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_mem_setwater
    linkageType: ''
    returnType: void
    signature: void isc_mem_clearwater(isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:817,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:817,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:818,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/mem.c:820,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/mem.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctx
    - hiwater
    - lowater
    argTypes:
    - isc_mem_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 824
    functionName: isc_mem_setwater
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 4
    functionsReached:
    - atomic_store_release
    - VALID_CONTEXT
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_mem_setwater(isc_mem_t *ctx, size_t hiwater, size_t lowater)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:828,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:828,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/mem.c:830,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:832,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:836,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:841,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:847,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/mem.c:852,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:856,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:861,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:867,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/mem.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 874
    functionName: isc_mem_isovermem
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 3
    functionsReached:
    - VALID_CONTEXT
    - isc_tid
    - atomic_store_relaxed
    - isc_mem_inuse
    - atomic_load_relaxed
    - REQUIRE
    - fprintf
    linkageType: ''
    returnType: bool
    signature: bool isc_mem_isovermem(isc_mem_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:878,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 885
    functionName: isc_mem_getname
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_CONTEXT
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_mem_getname(isc_mem_t *ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:897,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:899,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:900,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/mem.c:913,1
    - Dst: strdup
      Src: /src/bind9/lib/isc/mem.c:919,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:924,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/mem.c:930,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:935,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/isc/mem.c:936,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:938,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - mctx
    - element_size
    - name
    - mpctxp
    argTypes:
    - isc_mem_t*
    - size_t
    - char*
    - isc_mempool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 939
    functionName: isc__mempool_create
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - strdup
    - VALID_CONTEXT
    - ISC_LIST_INITANDAPPEND
    - isc_mem_get
    - MCTXUNLOCK
    - fprintf
    - REQUIRE
    - MCTXLOCK
    linkageType: ''
    returnType: void
    signature: "void isc__mempool_create(isc_mem_t *restrict mctx, const size_t element_size,\n\t\t
      \   const char *name, isc_mempool_t **restrict mpctxp FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:947,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:948,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:948,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:957,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/isc/mem.c:964,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:966,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:972,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:978,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:979,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:985,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:986,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:988,1
    - Dst: free
      Src: /src/bind9/lib/isc/mem.c:990,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/mem.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - mpctxp
    argTypes:
    - isc_mempool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 995
    functionName: isc__mempool_destroy
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_MEMPOOL
    - UNEXPECTED_ERROR
    - mem_putstats
    - free
    - isc_mem_putanddetach
    - INSIST
    - MCTXLOCK
    - MCTXUNLOCK
    - ISC_LIST_UNLINK
    - fprintf
    - REQUIRE
    - mem_put
    linkageType: ''
    returnType: void
    signature: void isc__mempool_destroy(isc_mempool_t **restrict mpctxp FLARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1001,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1001,1
    - Dst: mem_get
      Src: /src/bind9/lib/isc/mem.c:1016,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:1017,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1024,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1029,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1036
    functionName: isc__mempool_get
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_MEMPOOL
    - mem_getstats
    - INSIST
    - ADD_TRACE
    - mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mempool_get(isc_mempool_t *restrict mpctx FLARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1043,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1043,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1044,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1054,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:1057,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:1063,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - mpctx
    - FLARG
    argTypes:
    - isc_mempool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1075
    functionName: isc__mempool_put
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_MEMPOOL
    - mem_putstats
    - INSIST
    - DELETE_TRACE
    - REQUIRE
    - mem_put
    linkageType: ''
    returnType: void
    signature: void isc__mempool_put(isc_mempool_t *restrict mpctx, void *mem FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1084,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mpctx
    - limit
    argTypes:
    - isc_mempool_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1086
    functionName: isc_mempool_setfreemax
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - VALID_MEMPOOL
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_mempool_setfreemax(isc_mempool_t *restrict mpctx,\n\t\t       const
      unsigned int limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1090,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1093
    functionName: isc_mempool_getfreemax
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_MEMPOOL
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mempool_getfreemax(isc_mempool_t *restrict mpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1097,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1100
    functionName: isc_mempool_getfreecount
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - VALID_MEMPOOL
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mempool_getfreecount(isc_mempool_t *restrict mpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1104,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1107
    functionName: isc_mempool_getallocated
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - VALID_MEMPOOL
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mempool_getallocated(isc_mempool_t *restrict mpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1112,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mpctx
    - limit
    argTypes:
    - isc_mempool_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1116
    functionName: isc_mempool_setfillcount
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - VALID_MEMPOOL
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_mempool_setfillcount(isc_mempool_t *restrict mpctx,\n\t\t\t
      unsigned int const limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1120,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1123
    functionName: isc_mempool_getfillcount
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - VALID_MEMPOOL
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mempool_getfillcount(isc_mempool_t *restrict mpctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1132,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1134,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:1135,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/mem.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1138
    functionName: print_contexts
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - print_active
    - fprintf
    - isc_refcount_current
    - fflush
    linkageType: ''
    returnType: void
    signature: void print_contexts(FILE *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1132,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1134,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1136
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 93
    functionsReached:
    - print_active
    - fprintf
    - isc_refcount_current
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (contexts, ctx, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/mem.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1146
    functionName: isc_mem_checkdestroyed
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 3
    functionsReached:
    - atomic_store_release
    linkageType: ''
    returnType: void
    signature: void isc_mem_checkdestroyed(FILE *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/mem.c:1150,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:1156,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:1157,1
    - Dst: print_contexts
      Src: /src/bind9/lib/isc/mem.c:1160,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/mem.c:1163,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1166
    functionName: isc__mem_checkdestroyed
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - LOCK
    - ISC_LIST_EMPTY
    - UNLOCK
    - atomic_load_acquire
    - print_contexts
    linkageType: ''
    returnType: void
    signature: void isc__mem_checkdestroyed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1171
    functionName: isc_mem_references
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_refcount_current
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mem_references(isc_mem_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1180
    functionName: TRY0
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY0(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1182,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1182,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:1186,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1188,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1188,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1190,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1190,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1191,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1191,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1192,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1192,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1195,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1195,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1196,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1196,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1197,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1197,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1200,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1200,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1201,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1201,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1203,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1204,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1204,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1206,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1207,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1207,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1208,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1208,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1209,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1210,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1210,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1212,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1212,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1213,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1213,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1214,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1215,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1215,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1217,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1217,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1218,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1218,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1219,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1219,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1221,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1221,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1222,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1222,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1224,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1225,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1225,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1227,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1227,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1228,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1228,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1230,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1231,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1231,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1233,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1233,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - inuse
    - writer
    argTypes:
    - isc_mem_t*
    - size_t*
    - xmlTextWriterPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1180
    functionDepth: 2
    functionLinenumber: 1180
    functionLinenumberEnd: 1239
    functionName: xml_renderctx
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - xmlTextWriterEndElement
    - VALID_CONTEXT
    - xmlTextWriterStartElement
    - isc_refcount_current
    - isc_mem_inuse
    - atomic_load_relaxed
    - MCTXUNLOCK
    - TRY0
    - REQUIRE
    - MCTXLOCK
    - xmlTextWriterWriteFormatString
    linkageType: ''
    returnType: int
    signature: int xml_renderctx(isc_mem_t *ctx, size_t *inuse, xmlTextWriterPtr writer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1247,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1247,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:1249,1
    - Dst: xml_renderctx
      Src: /src/bind9/lib/isc/mem.c:1251,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1253,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1257,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1259,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1259,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1261,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1261,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1263,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1263,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1264,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1264,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1266,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1266,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1268,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1268,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1269,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1269,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1271,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1271,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1273,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - writer0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1276
    functionName: isc_mem_renderxml
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - xmlTextWriterEndElement
    - LOCK
    - xmlTextWriterStartElement
    - UNLOCK
    - xml_renderctx
    - TRY0
    - xmlTextWriterWriteFormatString
    linkageType: ''
    returnType: int
    signature: int isc_mem_renderxml(void *writer0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_renderctx
      Src: /src/bind9/lib/isc/mem.c:1251,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1250
    functionDepth: 3
    functionLinenumber: 1250
    functionLinenumberEnd: 1256
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 93
    functionsReached:
    - xml_renderctx
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (contexts, ctx, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1282
    functionName: CHECKMEM
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKMEM(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1285,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1286,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:1291,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1293,1
    - Dst: json_object_new_object
      Src: /src/bind9/lib/isc/mem.c:1295,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1296,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/mem.c:1298,1
    - Dst: json_object_new_string
      Src: /src/bind9/lib/isc/mem.c:1299,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1300,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1301,1
    - Dst: json_object_new_string
      Src: /src/bind9/lib/isc/mem.c:1304,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1305,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1306,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1309,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1309,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1310,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1311,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1313,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1313,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1314,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1315,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1317,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1317,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1318,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1319,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1321,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1322,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1323,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1325,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1325,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1326,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1327,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1329,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1329,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1330,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1331,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:1333,1
    - Dst: json_object_array_add
      Src: /src/bind9/lib/isc/mem.c:1334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - ctx
    - inuse
    - array
    argTypes:
    - isc_mem_t*
    - size_t*
    - json_object*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1336
    functionName: json_renderctx
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - CHECKMEM
    - VALID_CONTEXT
    - isc_refcount_current
    - json_object_new_string
    - isc_mem_inuse
    - json_object_new_object
    - atomic_load_relaxed
    - MCTXUNLOCK
    - json_object_array_add
    - snprintf
    - REQUIRE
    - json_object_new_int64
    - MCTXLOCK
    - json_object_object_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t json_renderctx(isc_mem_t *ctx, size_t *inuse, json_object
      *array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_new_array
      Src: /src/bind9/lib/isc/mem.c:1345,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1346,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:1348,1
    - Dst: json_renderctx
      Src: /src/bind9/lib/isc/mem.c:1350,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1352,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1356,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1358,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1359,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1360,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1362,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1363,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1364,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1366,1
    - Dst: json_object_put
      Src: /src/bind9/lib/isc/mem.c:1371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - memobj0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1338
    functionDepth: 3
    functionLinenumber: 1338
    functionLinenumberEnd: 1374
    functionName: isc_mem_renderjson
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - CHECKMEM
    - json_object_put
    - LOCK
    - UNLOCK
    - json_renderctx
    - json_object_new_int64
    - json_object_object_add
    - json_object_new_array
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_mem_renderjson(void *memobj0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_renderctx
      Src: /src/bind9/lib/isc/mem.c:1350,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1349
    functionDepth: 3
    functionLinenumber: 1349
    functionLinenumberEnd: 1355
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 93
    functionsReached:
    - json_renderctx
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (contexts, ctx, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_create
      Src: /src/bind9/lib/isc/mem.c:1379,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - mctxp
    argTypes:
    - char*
    - isc_mem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1377
    functionDepth: 3
    functionLinenumber: 1377
    functionLinenumberEnd: 1386
    functionName: isc__mem_create
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - mem_create
    linkageType: ''
    returnType: void
    signature: void isc__mem_create(const char *name, isc_mem_t **mctxp FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1391,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1391,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1392,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:1394,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/mem.c:1396,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/mem.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - isc_mem_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1399
    functionName: isc__mem_printactive
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 3
    functionsReached:
    - print_active
    - UNUSED
    - VALID_CONTEXT
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__mem_printactive(isc_mem_t *ctx, FILE *file)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/bind9/lib/isc/errno2result.c:119,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/isc/errno2result.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 64
    argCount: 4
    argNames:
    - posixerrno
    - dolog
    - file
    - line
    argTypes:
    - int
    - bool
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 133
    functionName: isc___errno2result
    functionSourceFile: /src/bind9/lib/isc/errno2result.c
    functionUses: 1
    functionsReached:
    - strerror_r
    - UNEXPECTED_ERROR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc___errno2result(int posixerrno, bool dolog, const
      char *file,\n\t\t   unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: heap_parent
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: heap_parent(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: heap_left
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: heap_left(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: VALID_HEAP
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_HEAP(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: HEAPCONDITION
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEAPCONDITION(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/heap.c:75,1
    - Dst: HEAPCONDITION
      Src: /src/bind9/lib/isc/heap.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - heap
    argTypes:
    - isc_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: heap_check
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - HEAPCONDITION
    - INSIST
    linkageType: ''
    returnType: void
    signature: void heap_check(isc_heap_t *heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: heap_check
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: heap_check(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:88,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/heap.c:90,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/heap.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - mctx
    - compare
    - idx
    - size_increment
    - heapp
    argTypes:
    - isc_mem_t*
    - isc_heapcompare_t
    - isc_heapindex_t
    - unsigned int
    - isc_heap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: isc_heap_create
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: "void isc_heap_create(isc_mem_t *mctx, isc_heapcompare_t compare, isc_heapindex_t
      idx,\n\t\tunsigned int size_increment, isc_heap_t **heapp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:115,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:115,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/heap.c:118,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/heap.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - heapp
    argTypes:
    - isc_heap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 123
    functionName: isc_heap_destroy
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 1
    functionsReached:
    - VALID_HEAP
    - isc_mem_cput
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void isc_heap_destroy(isc_heap_t **heapp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:129,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:129,1
    - Dst: ISC_CHECKED_ADD
      Src: /src/bind9/lib/isc/heap.c:131,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/isc/heap.c:132,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/isc/heap.c:133,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/isc/heap.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - heap
    argTypes:
    - isc_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: resize
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 1
    functionsReached:
    - ISC_CHECKED_ADD
    - isc_mem_creget
    - REQUIRE
    - VALID_HEAP
    - ISC_CHECKED_MUL
    linkageType: ''
    returnType: void
    signature: void resize(isc_heap_t *heap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: heap_parent
      Src: /src/bind9/lib/isc/heap.c:144,1
    - Dst: isc_heap_t*::compare
      Src: /src/bind9/lib/isc/heap.c:144,1
    - Dst: heap_parent
      Src: /src/bind9/lib/isc/heap.c:145,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/heap.c:157,1
    - Dst: HEAPCONDITION
      Src: /src/bind9/lib/isc/heap.c:157,1
    - Dst: heap_check
      Src: /src/bind9/lib/isc/heap.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - heap
    - i
    - elt
    argTypes:
    - isc_heap_t*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 159
    functionName: float_up
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - heap_parent
    - HEAPCONDITION
    - INSIST
    - isc_heap_t*::compare
    - heap_check
    linkageType: ''
    returnType: void
    signature: void float_up(isc_heap_t *heap, unsigned int i, void *elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: heap_left
      Src: /src/bind9/lib/isc/heap.c:168,1
    - Dst: isc_heap_t*::compare
      Src: /src/bind9/lib/isc/heap.c:170,1
    - Dst: isc_heap_t*::compare
      Src: /src/bind9/lib/isc/heap.c:174,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/heap.c:188,1
    - Dst: HEAPCONDITION
      Src: /src/bind9/lib/isc/heap.c:188,1
    - Dst: heap_check
      Src: /src/bind9/lib/isc/heap.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - heap
    - i
    - elt
    argTypes:
    - isc_heap_t*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 190
    functionName: sink_down
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - heap_left
    - HEAPCONDITION
    - INSIST
    - isc_heap_t*::compare
    - heap_check
    linkageType: ''
    returnType: void
    signature: void sink_down(isc_heap_t *heap, unsigned int i, void *elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:196,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:196,1
    - Dst: heap_check
      Src: /src/bind9/lib/isc/heap.c:198,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/heap.c:200,1
    - Dst: resize
      Src: /src/bind9/lib/isc/heap.c:202,1
    - Dst: float_up
      Src: /src/bind9/lib/isc/heap.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - heap
    - elt
    argTypes:
    - isc_heap_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 207
    functionName: isc_heap_insert
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 1
    functionsReached:
    - float_up
    - RUNTIME_CHECK
    - resize
    - REQUIRE
    - VALID_HEAP
    - heap_check
    linkageType: ''
    returnType: void
    signature: void isc_heap_insert(isc_heap_t *heap, void *elt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:214,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:215,1
    - Dst: heap_check
      Src: /src/bind9/lib/isc/heap.c:217,1
    - Dst: heap_check
      Src: /src/bind9/lib/isc/heap.c:224,1
    - Dst: isc_heap_t*::compare
      Src: /src/bind9/lib/isc/heap.c:230,1
    - Dst: float_up
      Src: /src/bind9/lib/isc/heap.c:233,1
    - Dst: sink_down
      Src: /src/bind9/lib/isc/heap.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - heap
    - idx
    argTypes:
    - isc_heap_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: isc_heap_delete
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 1
    functionsReached:
    - float_up
    - REQUIRE
    - isc_heap_t*::compare
    - VALID_HEAP
    - sink_down
    - heap_check
    linkageType: ''
    returnType: void
    signature: void isc_heap_delete(isc_heap_t *heap, unsigned int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:242,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:243,1
    - Dst: float_up
      Src: /src/bind9/lib/isc/heap.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - heap
    - idx
    argTypes:
    - isc_heap_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: isc_heap_increased
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - VALID_HEAP
    - float_up
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_heap_increased(isc_heap_t *heap, unsigned int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:250,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:250,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:251,1
    - Dst: sink_down
      Src: /src/bind9/lib/isc/heap.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - heap
    - idx
    argTypes:
    - isc_heap_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: isc_heap_decreased
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - VALID_HEAP
    - REQUIRE
    - sink_down
    linkageType: ''
    returnType: void
    signature: void isc_heap_decreased(isc_heap_t *heap, unsigned int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:258,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:259,1
    - Dst: heap_check
      Src: /src/bind9/lib/isc/heap.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - heap
    - idx
    argTypes:
    - isc_heap_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: isc_heap_element
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - VALID_HEAP
    - REQUIRE
    - heap_check
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_heap_element(isc_heap_t *heap, unsigned int idx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:272,1
    - Dst: VALID_HEAP
      Src: /src/bind9/lib/isc/heap.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/heap.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - heap
    - action
    - uap
    argTypes:
    - isc_heap_t*
    - isc_heapaction_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: isc_heap_foreach
    functionSourceFile: /src/bind9/lib/isc/heap.c
    functionUses: 0
    functionsReached:
    - VALID_HEAP
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_heap_foreach(isc_heap_t *heap, isc_heapaction_t action, void
      *uap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: LEGAL_ALT
    functionSourceFile: /src/bind9/lib/isc/tm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LEGAL_ALT(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/bind9/lib/isc/tm.c:94,1
    - Dst: isdigit
      Src: /src/bind9/lib/isc/tm.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - dest
    - llim
    - ulim
    argTypes:
    - char**
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: conv_num
    functionSourceFile: /src/bind9/lib/isc/tm.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int conv_num(const char **buf, int *dest, int llim, int ulim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 134
    functionName: isc_tm_timegm
    functionSourceFile: /src/bind9/lib/isc/tm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t isc_tm_timegm(struct tm *tm)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tm.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tm.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tm.c:145,1
    - Dst: memset
      Src: /src/bind9/lib/isc/tm.c:147,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/tm.c:156,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/tm.c:157,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:183,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:188,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:196,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:197,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:203,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:204,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:210,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:211,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:217,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:218,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:224,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:225,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:231,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:232,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:238,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/tm.c:239,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:249,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tm.c:252,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/tm.c:253,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tm.c:258,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/tm.c:259,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:276,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tm.c:279,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/tm.c:280,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tm.c:285,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/tm.c:286,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:301,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:302,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:316,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:317,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:323,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:326,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:327,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:333,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:336,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:337,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:346,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:347,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:354,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:355,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:361,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:362,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:369,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/tm.c:371,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tm.c:376,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/tm.c:380,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tm.c:387,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:395,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:396,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:403,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:410,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:416,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:417,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:423,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:424,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:432,1
    - Dst: conv_num
      Src: /src/bind9/lib/isc/tm.c:433,1
    - Dst: LEGAL_ALT
      Src: /src/bind9/lib/isc/tm.c:454,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/tm.c:455,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/tm.c:466,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 252
    argCount: 3
    argNames:
    - buf
    - fmt
    - tm
    argTypes:
    - char*
    - char*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 467
    functionName: isc_tm_strptime
    functionSourceFile: /src/bind9/lib/isc/tm.c
    functionUses: 2
    functionsReached:
    - memset
    - isc_tm_strptime
    - LEGAL_ALT
    - strlen
    - conv_num
    - UNCONST
    - REQUIRE
    - strcasecmp
    - isspace
    - strncasecmp
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_tm_strptime(const char *buf, const char *fmt, struct tm *tm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: VALID_CONTEXT
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CONTEXT(lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lcfg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: VALID_CONFIG
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CONFIG(lcfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: FACILITY
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FACILITY(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: FILE_NAME
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_NAME(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: FILE_STREAM
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_STREAM(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: FILE_VERSIONS
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_VERSIONS(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: FILE_SUFFIX
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_SUFFIX(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: FILE_MAXSIZE
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_MAXSIZE(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - channel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: FILE_MAXREACHED
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_MAXREACHED(channel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:330,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:330,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/log.c:334,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/lib/isc/log.c:347,1
    - Dst: ISC_LOGDESTINATION_SYSLOG
      Src: /src/bind9/lib/isc/log.c:348,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/lib/isc/log.c:350,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:358,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/lib/isc/log.c:360,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/lib/isc/log.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - lcfgp
    argTypes:
    - isc_logconfig_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 368
    functionName: isc_logconfig_create
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - VALID_CONTEXT
    - isc_log_createchannel
    - isc_mem_get
    - REQUIRE
    - ISC_LOGDESTINATION_SYSLOG
    linkageType: ''
    returnType: void
    signature: void isc_logconfig_create(isc_logconfig_t **lcfgp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:372,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:372,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: isc_logconfig_get
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 16
    functionsReached:
    - rcu_dereference
    - VALID_CONTEXT
    - REQUIRE
    linkageType: ''
    returnType: isc_logconfig_t
    signature: 'isc_logconfig_t *

      isc_logconfig_get(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:379,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:380,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:380,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:381,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/isc/log.c:383,1
    - Dst: sync_highest_level
      Src: /src/bind9/lib/isc/log.c:385,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/isc/log.c:386,1
    - Dst: isc_logconfig_destroy
      Src: /src/bind9/lib/isc/log.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: isc_logconfig_set
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 1
    functionsReached:
    - rcu_xchg_pointer
    - VALID_CONTEXT
    - isc_logconfig_destroy
    - synchronize_rcu
    - REQUIRE
    - VALID_CONFIG
    - sync_highest_level
    linkageType: ''
    returnType: void
    signature: void isc_logconfig_set(isc_logconfig_t *lcfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:399,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:399,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:408,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/isc/log.c:410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:411,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:411,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/isc/log.c:412,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/log.c:416,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/log.c:424,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:424,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/log.c:425,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:427,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/log.c:428,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:428,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/log.c:432,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/log.c:433,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/log.c:436,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/log.c:437,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/log.c:438,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/log.c:439,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/log.c:445,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/log.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - lcfgp
    argTypes:
    - isc_logconfig_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 451
    functionName: isc_logconfig_destroy
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - ARRAY_SIZE
    - isc_mem_put
    - isc_mem_free
    - FILE_STREAM
    - fclose
    - rcu_read_unlock
    - ISC_LIST_UNLINK
    - UNCONST
    - REQUIRE
    - ISC_LIST_FOREACH
    - FILE_NAME
    - VALID_CONFIG
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void isc_logconfig_destroy(isc_logconfig_t **lcfgp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:455,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:455,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:456,1
    - Dst: strcmp
      Src: /src/bind9/lib/isc/log.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 467
    functionName: isc_log_categorybyname
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 1
    functionsReached:
    - strcmp
    - VALID_CONTEXT
    - REQUIRE
    linkageType: ''
    returnType: isc_logcategory_t
    signature: isc_logcategory_t isc_log_categorybyname(const char *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:480,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:484,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:487,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/log.c:493,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/log.c:495,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/log.c:500,1
    - Dst: FACILITY
      Src: /src/bind9/lib/isc/log.c:504,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:513,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/log.c:513,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:515,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:516,1
    - Dst: FILE_SUFFIX
      Src: /src/bind9/lib/isc/log.c:517,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:518,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:519,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:523,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:524,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:525,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:526,1
    - Dst: FILE_SUFFIX
      Src: /src/bind9/lib/isc/log.c:527,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/log.c:535,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/log.c:538,1
    - Dst: strcmp
      Src: /src/bind9/lib/isc/log.c:544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 6
    argNames:
    - lcfg
    - name
    - type
    - level
    - destination
    - flags
    argTypes:
    - isc_logconfig_t*
    - char*
    - unsigned int
    - int
    - isc_logdestination_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 547
    functionName: isc_log_createchannel
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_PREPEND
    - UNREACHABLE
    - FACILITY
    - FILE_STREAM
    - FILE_MAXREACHED
    - FILE_SUFFIX
    - ISC_LINK_INIT
    - FILE_MAXSIZE
    - isc_mem_get
    - isc_mem_strdup
    - REQUIRE
    - strcmp
    - FILE_NAME
    - VALID_CONFIG
    - FILE_VERSIONS
    linkageType: ''
    returnType: void
    signature: "void isc_log_createchannel(isc_logconfig_t *lcfg, const char *name,\n\t\t
      \     unsigned int type, int level,\n\t\t      const isc_logdestination_t *destination,\n\t\t
      \     unsigned int flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:555,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:555,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:556,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:559,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/log.c:561,1
    - Dst: strcmp
      Src: /src/bind9/lib/isc/log.c:562,1
    - Dst: assignchannel
      Src: /src/bind9/lib/isc/log.c:573,1
    - Dst: assignchannel
      Src: /src/bind9/lib/isc/log.c:582,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/isc/log.c:589,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:590,1
    - Dst: sync_highest_level
      Src: /src/bind9/lib/isc/log.c:591,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/isc/log.c:593,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - lcfg
    - name
    - category
    - module
    argTypes:
    - isc_logconfig_t*
    - char*
    - isc_logcategory_t
    - isc_logmodule_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 596
    functionName: isc_log_usechannel
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 4
    functionsReached:
    - rcu_dereference
    - assignchannel
    - rcu_read_unlock
    - REQUIRE
    - ISC_LIST_FOREACH
    - strcmp
    - VALID_CONFIG
    - sync_highest_level
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_log_usechannel(isc_logconfig_t *lcfg, const char
      *name,\n\t\t   const isc_logcategory_t category,\n\t\t   const isc_logmodule_t
      module)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_createchannel
      Src: /src/bind9/lib/isc/log.c:605,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/log.c:606,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/lib/isc/log.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - lcfg
    - name
    - type
    - level
    - destination
    - flags
    - category
    - module
    argTypes:
    - isc_logconfig_t*
    - char*
    - unsigned int
    - int
    - isc_logdestination_t*
    - unsigned int
    - isc_logcategory_t
    - isc_logmodule_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: isc_log_createandusechannel
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 16
    functionsReached:
    - isc_log_usechannel
    - isc_log_createchannel
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void isc_log_createandusechannel(isc_logconfig_t *lcfg, const char
      *name,\n\t\t\t    unsigned int type, int level,\n\t\t\t    const isc_logdestination_t
      *destination,\n\t\t\t    unsigned int flags,\n\t\t\t    const isc_logcategory_t
      category,\n\t\t\t    const isc_logmodule_t module)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/isc/log.c:619,1
    - Dst: isc_log_doit
      Src: /src/bind9/lib/isc/log.c:620,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/log.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - category
    - module
    - level
    - format
    argTypes:
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 622
    functionName: isc_log_write
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 117
    functionsReached:
    - va_start
    - va_end
    - isc_log_doit
    linkageType: ''
    returnType: void
    signature: "void isc_log_write(isc_logcategory_t category, isc_logmodule_t module,
      int level,\n\t      const char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_doit
      Src: /src/bind9/lib/isc/log.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - category
    - module
    - level
    - format
    - args
    argTypes:
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: isc_log_vwrite
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 6
    functionsReached:
    - isc_log_doit
    linkageType: ''
    returnType: void
    signature: "void isc_log_vwrite(isc_logcategory_t category, isc_logmodule_t module,
      int level,\n\t       const char *format, va_list args)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:635,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:635,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:637,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/isc/log.c:642,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:643,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/log.c:645,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/log.c:646,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:649,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/log.c:651,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:651,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:652,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/log.c:655,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/isc/log.c:657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - level
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 659
    functionName: isc_log_setdebuglevel
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 10
    functionsReached:
    - atomic_store_release
    - rcu_dereference
    - VALID_CONTEXT
    - LOCK
    - FILE_STREAM
    - fclose
    - UNLOCK
    - rcu_read_unlock
    - REQUIRE
    - ISC_LIST_FOREACH
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void isc_log_setdebuglevel(unsigned int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:663,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:663,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: isc_log_getdebuglevel
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    - VALID_CONTEXT
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_log_getdebuglevel(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:670,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:670,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/log.c:674,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/log.c:676,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/log.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - lcfg
    - tag
    argTypes:
    - isc_logconfig_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 682
    functionName: isc_log_settag
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 4
    functionsReached:
    - isc_mem_strdup
    - VALID_CONFIG
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void isc_log_settag(isc_logconfig_t *lcfg, const char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:686,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: isc_log_gettag
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - VALID_CONFIG
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_log_gettag(isc_logconfig_t *lcfg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/bind9/lib/isc/log.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tag
    - options
    - facility
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: isc_log_opensyslog
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - openlog
    linkageType: ''
    returnType: void
    signature: void isc_log_opensyslog(const char *tag, int options, int facility)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:699,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:699,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/isc/log.c:701,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:702,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/log.c:704,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/log.c:705,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:707,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/log.c:709,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:709,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:710,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/log.c:713,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/isc/log.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 716
    functionName: isc_log_closefilelogs
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - LOCK
    - VALID_CONTEXT
    - FILE_STREAM
    - fclose
    - UNLOCK
    - rcu_read_unlock
    - REQUIRE
    - ISC_LIST_FOREACH
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void isc_log_closefilelogs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:725,1
    - Dst: VALID_CONFIG
      Src: /src/bind9/lib/isc/log.c:725,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:726,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:730,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:732,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/log.c:734,1
    - Dst: ISC_LIST_INITANDPREPEND
      Src: /src/bind9/lib/isc/log.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - lcfg
    - category
    - module
    - channel
    argTypes:
    - isc_logconfig_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - isc_logchannel_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 754
    functionName: assignchannel
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - VALID_CONFIG
    - REQUIRE
    - ISC_LIST_INITANDPREPEND
    linkageType: ''
    returnType: void
    signature: "void assignchannel(isc_logconfig_t *lcfg, const isc_logcategory_t
      category,\n\t      const isc_logmodule_t module, isc_logchannel_t *channel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/log.c:758,1
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/log.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: sync_highest_level
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 2
    functionsReached:
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void sync_highest_level(isc_logconfig_t *lcfg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bind9/lib/isc/log.c:773,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/log.c:778,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:781,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:782,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/log.c:796,1
    - Dst: isc_dir_init
      Src: /src/bind9/lib/isc/log.c:798,1
    - Dst: isc_dir_open
      Src: /src/bind9/lib/isc/log.c:799,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/isc/log.c:808,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/log.c:810,1
    - Dst: strtol
      Src: /src/bind9/lib/isc/log.c:813,1
    - Dst: dirfd
      Src: /src/bind9/lib/isc/log.c:819,1
    - Dst: unlinkat
      Src: /src/bind9/lib/isc/log.c:821,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/log.c:824,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:828,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:835,1
    - Dst: isc_dir_close
      Src: /src/bind9/lib/isc/log.c:844,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 3
    argNames:
    - file
    - versions
    - greatestp
    argTypes:
    - isc_logfile_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 848
    functionName: greatest_version
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - strncmp
    - unlinkat
    - strlcpy
    - strrchr
    - isc_result_totext
    - syslog
    - strlen
    - isc_dir_init
    - strtol
    - dirfd
    - isc_dir_read
    - isc_dir_open
    - isc_dir_close
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t greatest_version(isc_logfile_t *file, int versions, int
      *greatestp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/isc/log.c:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - to_keep
    - versions
    - version
    argTypes:
    - int64_t[]
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 864
    functionName: insert_sort
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void insert_sort(int64_t to_keep[], int64_t versions, int64_t version)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/log.c:882,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/isc/log.c:883,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/log.c:888,1
    - Dst: strtoull
      Src: /src/bind9/lib/isc/log.c:895,1
    - Dst: insert_sort
      Src: /src/bind9/lib/isc/log.c:897,1
    - Dst: isc_dir_reset
      Src: /src/bind9/lib/isc/log.c:901,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - versions
    - dirp
    - bname
    - bnamelen
    argTypes:
    - int64_t
    - isc_dir_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 907
    functionName: last_to_keep
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - isc_dir_reset
    - strncmp
    - memset
    - strtoull
    - isc_dir_read
    - insert_sort
    linkageType: ''
    returnType: int64_t
    signature: "int64_t last_to_keep(int64_t versions, isc_dir_t *dirp, const char
      *bname,\n\t     size_t bnamelen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bind9/lib/isc/log.c:920,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/log.c:925,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:928,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:929,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/log.c:943,1
    - Dst: isc_dir_init
      Src: /src/bind9/lib/isc/log.c:945,1
    - Dst: isc_dir_open
      Src: /src/bind9/lib/isc/log.c:946,1
    - Dst: last_to_keep
      Src: /src/bind9/lib/isc/log.c:955,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/isc/log.c:957,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/log.c:959,1
    - Dst: strtoull
      Src: /src/bind9/lib/isc/log.c:962,1
    - Dst: dirfd
      Src: /src/bind9/lib/isc/log.c:968,1
    - Dst: unlinkat
      Src: /src/bind9/lib/isc/log.c:970,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/log.c:973,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:977,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:984,1
    - Dst: isc_dir_close
      Src: /src/bind9/lib/isc/log.c:991,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - file
    - versions
    argTypes:
    - isc_logfile_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 909
    functionDepth: 3
    functionLinenumber: 909
    functionLinenumberEnd: 993
    functionName: remove_old_tsversions
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - strncmp
    - unlinkat
    - strlcpy
    - strrchr
    - last_to_keep
    - isc_result_totext
    - syslog
    - strlen
    - isc_dir_init
    - strtoull
    - dirfd
    - isc_dir_read
    - isc_dir_open
    - isc_dir_close
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t remove_old_tsversions(isc_logfile_t *file, int versions)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1004,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1013,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/isc/log.c:1016,1
    - Dst: greatest_version
      Src: /src/bind9/lib/isc/log.c:1026,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1041,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1047,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/isc/log.c:1054,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1057,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1060,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1064,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/isc/log.c:1068,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1071,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1072,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - file
    argTypes:
    - isc_logfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 995
    functionDepth: 3
    functionLinenumber: 995
    functionLinenumberEnd: 1076
    functionName: roll_increment
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - greatest_version
    - isc_file_rename
    - syslog
    - isc_result_totext
    - isc_file_exists
    - snprintf
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t roll_increment(isc_logfile_t *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1087,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1088,1
    - Dst: remove_old_tsversions
      Src: /src/bind9/lib/isc/log.c:1098,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/log.c:1102,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/lib/isc/log.c:1103,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1104,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/isc/log.c:1108,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1111,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - file
    argTypes:
    - isc_logfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1116
    functionName: roll_timestamp
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - isc_file_rename
    - syslog
    - isc_result_totext
    - snprintf
    - isc_time_now
    - REQUIRE
    - remove_old_tsversions
    - isc_time_formatshorttimestamp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t roll_timestamp(isc_logfile_t *file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1122,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/isc/log.c:1132,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1134,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1135,1
    - Dst: roll_increment
      Src: /src/bind9/lib/isc/log.c:1142,1
    - Dst: roll_timestamp
      Src: /src/bind9/lib/isc/log.c:1144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - file
    argTypes:
    - isc_logfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1148
    functionName: isc_logfile_roll
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - roll_increment
    - isc_result_totext
    - syslog
    - isc_file_remove
    - REQUIRE
    - roll_timestamp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_logfile_roll(isc_logfile_t *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1159,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1159,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1163,1
    - Dst: stat
      Src: /src/bind9/lib/isc/log.c:1170,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/log.c:1171,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1173,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:1174,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1175,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1176,1
    - Dst: POST
      Src: /src/bind9/lib/isc/log.c:1182,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:1191,1
    - Dst: isc_logfile_roll
      Src: /src/bind9/lib/isc/log.c:1194,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1197,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1200,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1201,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/isc/log.c:1208,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1208,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - channel
    argTypes:
    - isc_logchannel_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1150
    functionDepth: 6
    functionLinenumber: 1150
    functionLinenumberEnd: 1211
    functionName: isc_log_open
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - FILE_VERSIONS
    - FILE_STREAM
    - stat
    - FILE_MAXSIZE
    - isc_logfile_roll
    - syslog
    - isc_result_totext
    - isc_stdio_open
    - REQUIRE
    - POST
    - FILE_NAME
    - S_ISREG
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_log_open(isc_logchannel_t *channel)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1232,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1236,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1244
    functionName: isc_log_wouldlog
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 1
    functionsReached:
    - atomic_load_acquire
    linkageType: ''
    returnType: ISC_NO_SANITIZE_THREAD
    signature: ISC_NO_SANITIZE_THREAD isc_log_wouldlog(int level)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1265,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:1265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1268,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1270,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/log.c:1272,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/isc/log.c:1276,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/log.c:1277,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:1281,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:1286,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:1298,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:1305,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/log.c:1320,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/log.c:1328,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1331,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/log.c:1352,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/isc/log.c:1354,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/lib/isc/log.c:1356,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/lib/isc/log.c:1358,1
    - Dst: isc_time_formatISO8601TZms
      Src: /src/bind9/lib/isc/log.c:1360,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1368,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1371,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1375,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/log.c:1384,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:1421,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:1432,1
    - Dst: stat
      Src: /src/bind9/lib/isc/log.c:1434,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1434,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1436,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1438,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/log.c:1439,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1440,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1441,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:1443,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1452,1
    - Dst: isc_log_open
      Src: /src/bind9/lib/isc/log.c:1453,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1458,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1461,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1462,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/log.c:1473,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1473,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/log.c:1486,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1486,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1494,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/log.c:1495,1
    - Dst: fstat
      Src: /src/bind9/lib/isc/log.c:1499,1
    - Dst: fileno
      Src: /src/bind9/lib/isc/log.c:1499,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1499,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1501,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:1503,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1518,1
    - Dst: FACILITY
      Src: /src/bind9/lib/isc/log.c:1519,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/log.c:1539,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/isc/log.c:1540,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 150
    argCount: 5
    argNames:
    - category
    - module
    - level
    - format
    - args
    argTypes:
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1246
    functionDepth: 7
    functionLinenumber: 1246
    functionLinenumberEnd: 1541
    functionName: isc_log_doit
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 2
    functionsReached:
    - fileno
    - UNLOCK
    - rcu_read_unlock
    - snprintf
    - REQUIRE
    - fflush
    - FILE_VERSIONS
    - rcu_dereference
    - ISC_LIST_HEAD
    - LOCK
    - isc_time_formatISO8601ms
    - fstat
    - isc_time_formatISO8601Lms
    - FILE_MAXSIZE
    - isc_time_formattimestamp
    - isc_time_now
    - fprintf
    - isc_log_wouldlog
    - ISC_LIST_NEXT
    - VALID_CONTEXT
    - FACILITY
    - FILE_MAXREACHED
    - fclose
    - syslog
    - INSIST
    - atomic_load_acquire
    - isc_log_open
    - isc_time_formatISO8601TZms
    - FILE_STREAM
    - stat
    - isc_result_totext
    - FILE_NAME
    - vsnprintf
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void isc_log_doit(isc_logcategory_t category, isc_logmodule_t module,
      int level,\n\t     const char *format, va_list args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1546
    functionName: isc_log_setforcelog
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_log_setforcelog(bool v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1550,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/log.c:1554,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/log.c:1556,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/log.c:1561,1
    - Dst: isc_logconfig_create
      Src: /src/bind9/lib/isc/log.c:1565,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/log.c:1567,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/log.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1548
    functionDepth: 2
    functionLinenumber: 1548
    functionLinenumberEnd: 1571
    functionName: isc__log_initialize
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    - isc_logconfig_create
    - isc_mem_get
    - atomic_init
    - REQUIRE
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: void isc__log_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1575,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:1575,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:1580,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:1581,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:1582,1
    - Dst: isc_logconfig_destroy
      Src: /src/bind9/lib/isc/log.c:1585,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/log.c:1588,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/log.c:1590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1573
    functionDepth: 2
    functionLinenumber: 1573
    functionLinenumberEnd: 1591
    functionName: isc__log_shutdown
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - atomic_store_release
    - VALID_CONTEXT
    - isc_logconfig_destroy
    - isc_mem_putanddetach
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void isc__log_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/managers.c:22,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/managers.c:23,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/managers.c:24,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/managers.c:26,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/lib/isc/managers.c:27,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/managers.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/managers.c:30,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/lib/isc/managers.c:31,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/managers.c:32,1
    - Dst: isc_rwlock_setworkers
      Src: /src/bind9/lib/isc/managers.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mctxp
    - workers
    - loopmgrp
    - netmgrp
    argTypes:
    - isc_mem_t**
    - uint32_t
    - isc_loopmgr_t**
    - isc_nm_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: isc_managers_create
    functionSourceFile: /src/bind9/lib/isc/managers.c
    functionUses: 10
    functionsReached:
    - isc_loopmgr_create
    - INSIST
    - isc_netmgr_create
    - REQUIRE
    - isc_rwlock_setworkers
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: "void isc_managers_create(isc_mem_t **mctxp, uint32_t workers,\n\t\t
      \   isc_loopmgr_t **loopmgrp, isc_nm_t **netmgrp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/managers.c:40,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/managers.c:41,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/managers.c:42,1
    - Dst: isc_nm_detach
      Src: /src/bind9/lib/isc/managers.c:48,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/lib/isc/managers.c:49,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/managers.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - mctxp
    - loopmgrp
    - netmgrp
    argTypes:
    - isc_mem_t**
    - isc_loopmgr_t**
    - isc_nm_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: isc_managers_destroy
    functionSourceFile: /src/bind9/lib/isc/managers.c
    functionUses: 10
    functionsReached:
    - isc_mem_detach
    - isc_loopmgr_destroy
    - isc_nm_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_managers_destroy(isc_mem_t **mctxp, isc_loopmgr_t **loopmgrp,\n\t\t
      \    isc_nm_t **netmgrp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/isc/hmac.c:30,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/hmac.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: isc_hmac_new
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 3
    functionsReached:
    - EVP_MD_CTX_new
    - RUNTIME_CHECK
    linkageType: ''
    returnType: isc_hmac_t
    signature: 'isc_hmac_t *

      isc_hmac_new(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/isc/hmac.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hmac_st
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: isc_hmac_free
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 3
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void isc_hmac_free(isc_hmac_t *hmac_st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:49,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:50,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:51,1
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/bind9/lib/isc/hmac.c:57,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/hmac.c:59,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/lib/isc/hmac.c:63,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/hmac.c:64,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/hmac.c:65,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/hmac.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - hmac_st
    - key
    - keylen
    - md_type
    argTypes:
    - isc_hmac_t*
    - void*
    - size_t
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 72
    functionName: isc_hmac_init
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 4
    functionsReached:
    - EVP_PKEY_free
    - EVP_DigestSignInit
    - EVP_PKEY_new_raw_private_key
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac_init(isc_hmac_t *hmac_st, const void *key, const
      size_t keylen,\n\t      const isc_md_type_t *md_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:76,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/bind9/lib/isc/hmac.c:78,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/hmac.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hmac_st
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: isc_hmac_reset
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 4
    functionsReached:
    - ERR_clear_error
    - EVP_MD_CTX_reset
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_reset(isc_hmac_t *hmac_st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:89,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/bind9/lib/isc/hmac.c:95,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/hmac.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - hmac_st
    - buf
    - len
    argTypes:
    - isc_hmac_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: isc_hmac_update
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 3
    functionsReached:
    - ERR_clear_error
    - REQUIRE
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac_update(isc_hmac_t *hmac_st, const unsigned char
      *buf,\n\t\tconst size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:107,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:108,1
    - Dst: EVP_DigestSignFinal
      Src: /src/bind9/lib/isc/hmac.c:112,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/hmac.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - hmac_st
    - digest
    - digestlen
    argTypes:
    - isc_hmac_t*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: isc_hmac_final
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 3
    functionsReached:
    - ERR_clear_error
    - EVP_DigestSignFinal
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac_final(isc_hmac_t *hmac_st, unsigned char *digest,\n\t
      \      unsigned int *digestlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:124,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/bind9/lib/isc/hmac.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hmac_st
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: isc_hmac_get_md_type
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_get0_md
    linkageType: ''
    returnType: isc_md_type_t
    signature: 'isc_md_type_t *

      isc_hmac_get_md_type(isc_hmac_t *hmac_st)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:131,1
    - Dst: EVP_MD_CTX_size
      Src: /src/bind9/lib/isc/hmac.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hmac_st
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: isc_hmac_get_size
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_size
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t isc_hmac_get_size(isc_hmac_t *hmac_st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hmac.c:138,1
    - Dst: EVP_MD_CTX_block_size
      Src: /src/bind9/lib/isc/hmac.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hmac_st
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: isc_hmac_get_block_size
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_block_size
    linkageType: ''
    returnType: int
    signature: int isc_hmac_get_block_size(isc_hmac_t *hmac_st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_new
      Src: /src/bind9/lib/isc/hmac.c:148,1
    - Dst: isc_hmac_init
      Src: /src/bind9/lib/isc/hmac.c:150,1
    - Dst: isc_hmac_update
      Src: /src/bind9/lib/isc/hmac.c:155,1
    - Dst: isc_hmac_final
      Src: /src/bind9/lib/isc/hmac.c:160,1
    - Dst: isc_hmac_free
      Src: /src/bind9/lib/isc/hmac.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 7
    argNames:
    - type
    - key
    - keylen
    - buf
    - len
    - digest
    - digestlen
    argTypes:
    - isc_md_type_t*
    - void*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 168
    functionName: isc_hmac
    functionSourceFile: /src/bind9/lib/isc/hmac.c
    functionUses: 0
    functionsReached:
    - isc_hmac_free
    - isc_hmac_new
    - isc_hmac_update
    - isc_hmac_init
    - isc_hmac_final
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac(const isc_md_type_t *type, const void *key,
      const size_t keylen,\n\t const unsigned char *buf, const size_t len, unsigned
      char *digest,\n\t unsigned int *digestlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isc/thread.c:63,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - isc_threadfunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: thread_wrap
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - malloc
    - RUNTIME_CHECK
    linkageType: ''
    returnType: struct thread_wrap
    signature: 'struct thread_wrap *

      thread_wrap(isc_threadfunc_t func, void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CMM_ACCESS_ONCE
      Src: /src/bind9/lib/isc/thread.c:84,1
    - Dst: malloc
      Src: /src/bind9/lib/isc/thread.c:84,1
    - Dst: free
      Src: /src/bind9/lib/isc/thread.c:85,1
    - Dst: free
      Src: /src/bind9/lib/isc/thread.c:87,1
    - Dst: func
      Src: /src/bind9/lib/isc/thread.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wrap
    argTypes:
    - struct thread_wrap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 92
    functionName: thread_body
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - CMM_ACCESS_ONCE
    - func
    - malloc
    - free
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_body(struct thread_wrap *wrap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__iterated_hash_initialize
      Src: /src/bind9/lib/isc/thread.c:100,1
    - Dst: rcu_register_thread
      Src: /src/bind9/lib/isc/thread.c:102,1
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:104,1
    - Dst: thread_body
      Src: /src/bind9/lib/isc/thread.c:106,1
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:108,1
    - Dst: rcu_unregister_thread
      Src: /src/bind9/lib/isc/thread.c:110,1
    - Dst: isc__iterated_hash_shutdown
      Src: /src/bind9/lib/isc/thread.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - wrap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: thread_run
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - isc__iterated_hash_shutdown
    - thread_body
    - rcu_unregister_thread
    - set_thread_call_rcu_data
    - rcu_register_thread
    - isc__iterated_hash_initialize
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_run(void *wrap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/thread.c:123,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/thread.c:123,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/thread.c:123,1
    - Dst: thread_body
      Src: /src/bind9/lib/isc/thread.c:124,1
    - Dst: thread_wrap
      Src: /src/bind9/lib/isc/thread.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - isc_threadfunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: isc_thread_main
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - thread_wrap
    - thread_body
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void isc_thread_main(isc_threadfunc_t func, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_init
      Src: /src/bind9/lib/isc/thread.c:132,1
    - Dst: pthread_attr_getstacksize
      Src: /src/bind9/lib/isc/thread.c:137,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:138,1
    - Dst: pthread_attr_setstacksize
      Src: /src/bind9/lib/isc/thread.c:141,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:142,1
    - Dst: pthread_create
      Src: /src/bind9/lib/isc/thread.c:147,1
    - Dst: thread_wrap
      Src: /src/bind9/lib/isc/thread.c:147,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:148,1
    - Dst: pthread_attr_destroy
      Src: /src/bind9/lib/isc/thread.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - func
    - arg
    - thread
    argTypes:
    - isc_threadfunc_t
    - void*
    - isc_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 151
    functionName: isc_thread_create
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 10
    functionsReached:
    - pthread_attr_setstacksize
    - pthread_attr_destroy
    - pthread_attr_init
    - PTHREADS_RUNTIME_CHECK
    - thread_wrap
    - pthread_attr_getstacksize
    - pthread_create
    linkageType: ''
    returnType: void
    signature: void isc_thread_create(isc_threadfunc_t func, void *arg, isc_thread_t
      *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/bind9/lib/isc/thread.c:155,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread
    - resultp
    argTypes:
    - isc_thread_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: isc_thread_join
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 8
    functionsReached:
    - PTHREADS_RUNTIME_CHECK
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void isc_thread_join(isc_thread_t thread, void **resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/bind9/lib/isc/thread.c:168,1
    - Dst: pthread_setname_np
      Src: /src/bind9/lib/isc/thread.c:170,1
    - Dst: pthread_set_name_np
      Src: /src/bind9/lib/isc/thread.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/thread.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/thread.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - thread
    - name
    argTypes:
    - isc_thread_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: isc_thread_setname
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - pthread_set_name_np
    - UNUSED
    - pthread_setname_np
    linkageType: ''
    returnType: void
    signature: void isc_thread_setname(isc_thread_t thread, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/bind9/lib/isc/thread.c:183,1
    - Dst: pthread_yield
      Src: /src/bind9/lib/isc/thread.c:185,1
    - Dst: pthread_yield_np
      Src: /src/bind9/lib/isc/thread.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: isc_thread_yield
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 1
    functionsReached:
    - pthread_yield_np
    - sched_yield
    - pthread_yield
    linkageType: ''
    returnType: void
    signature: void isc_thread_yield(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:193,1
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: isc__thread_initialize
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - create_call_rcu_data
    - set_thread_call_rcu_data
    linkageType: ''
    returnType: void
    signature: void isc__thread_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:199,1
    - Dst: call_rcu_data_free
      Src: /src/bind9/lib/isc/thread.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: isc__thread_shutdown
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - call_rcu_data_free
    - set_thread_call_rcu_data
    linkageType: ''
    returnType: void
    signature: void isc__thread_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/bind9/lib/isc/loop.c:55,1
    - Dst: sigaction
      Src: /src/bind9/lib/isc/loop.c:55,1
    - Dst: FATAL_SYSERROR
      Src: /src/bind9/lib/isc/loop.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ignore_signal
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - FATAL_SYSERROR
    - sigfillset
    - sigaction
    linkageType: ''
    returnType: void
    signature: void ignore_signal(int sig, void (*handler)(int))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:62,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:72,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: isc_loopmgr_shutdown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 110
    functionsReached:
    - atomic_compare_exchange_strong
    - uv_async_send
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_shutdown(isc_loopmgr_t *loopmgr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/lib/isc/loop.c:84,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/loop.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - signum
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: isc__loopmgr_signal
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void isc__loopmgr_signal(void *arg, int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcu_thread_offline
      Src: /src/bind9/lib/isc/loop.c:95,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: pause_loop
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - rcu_thread_offline
    - isc_barrier_wait
    linkageType: ''
    returnType: void
    signature: void pause_loop(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:105,1
    - Dst: rcu_thread_online
      Src: /src/bind9/lib/isc/loop.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 109
    functionName: resume_loop
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - rcu_thread_online
    - isc_barrier_wait
    linkageType: ''
    returnType: void
    signature: void resume_loop(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/loop.c:113,1
    - Dst: pause_loop
      Src: /src/bind9/lib/isc/loop.c:115,1
    - Dst: resume_loop
      Src: /src/bind9/lib/isc/loop.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: pauseresume_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - pause_loop
    - uv_handle_get_data
    - resume_loop
    linkageType: ''
    returnType: void
    signature: void pauseresume_cb(uv_async_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - uc
    - ','
    - lc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: XX
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XX(uc, lc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/loop.c:127,1
    - Dst: UV_HANDLE_TYPE_MAP
      Src: /src/bind9/lib/isc/loop.c:132,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/loop.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: loop_walk_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - UV_HANDLE_TYPE_MAP
    - fprintf
    - uv_is_closing
    linkageType: ''
    returnType: void
    signature: void loop_walk_cb(uv_handle_t *handle, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/loop.c:141,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/loop.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: shutdown_trigger_close_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - uv_handle_get_data
    - isc_loop_detach
    linkageType: ''
    returnType: void
    signature: void shutdown_trigger_close_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/loop.c:148,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:151,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:152,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:153,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:154,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:155,1
    - Dst: uv_walk
      Src: /src/bind9/lib/isc/loop.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: destroy_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - uv_close
    - uv_walk
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void destroy_cb(uv_async_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/loop.c:162,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:166,1
    - Dst: DEFAULT_LOOP
      Src: /src/bind9/lib/isc/loop.c:171,1
    - Dst: CURRENT_LOOP
      Src: /src/bind9/lib/isc/loop.c:171,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:173,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:174,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/lib/isc/loop.c:177,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/lib/isc/loop.c:178,1
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/isc/loop.c:181,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:184,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:185,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 187
    functionName: shutdown_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - DEFAULT_LOOP
    - __cds_wfcq_splice_blocking
    - uv_handle_get_data
    - INSIST
    - uv_close
    - isc_signal_stop
    - uv_async_send
    - isc_signal_destroy
    - CURRENT_LOOP
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void shutdown_cb(uv_async_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/isc/loop.c:198,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/isc/loop.c:199,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/isc/loop.c:200,1
    - Dst: uv_loop_init
      Src: /src/bind9/lib/isc/loop.c:202,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:203,1
    - Dst: uv_async_init
      Src: /src/bind9/lib/isc/loop.c:205,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:206,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/loop.c:207,1
    - Dst: uv_async_init
      Src: /src/bind9/lib/isc/loop.c:209,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:210,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/loop.c:211,1
    - Dst: uv_async_init
      Src: /src/bind9/lib/isc/loop.c:213,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:214,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/loop.c:215,1
    - Dst: uv_idle_init
      Src: /src/bind9/lib/isc/loop.c:217,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:218,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/loop.c:219,1
    - Dst: uv_async_init
      Src: /src/bind9/lib/isc/loop.c:221,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:222,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/loop.c:223,1
    - Dst: uv_prepare_init
      Src: /src/bind9/lib/isc/loop.c:225,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:226,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/loop.c:227,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/loop.c:229,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/loop.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 4
    argNames:
    - loop
    - loopmgr
    - tid
    - kind
    argTypes:
    - isc_loop_t*
    - isc_loopmgr_t*
    - isc_tid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 234
    functionName: loop_init
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 1
    functionsReached:
    - uv_prepare_init
    - uv_async_init
    - uv_loop_init
    - __cds_wfcq_init
    - uv_handle_set_data
    - isc_refcount_init
    - uv_idle_init
    - isc_mem_create
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void loop_init(isc_loop_t *loop, isc_loopmgr_t *loopmgr, isc_tid_t
      tid,\n\t  const char *kind)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/loop.c:238,1
    - Dst: rcu_quiescent_state
      Src: /src/bind9/lib/isc/loop.c:242,1
    - Dst: rcu_thread_offline
      Src: /src/bind9/lib/isc/loop.c:245,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:247,1
    - Dst: rcu_read_ongoing
      Src: /src/bind9/lib/isc/loop.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_prepare_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: quiescent_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - rcu_quiescent_state
    - UNUSED
    - INSIST
    - rcu_thread_offline
    - rcu_read_ongoing
    linkageType: ''
    returnType: void
    signature: void quiescent_cb(uv_prepare_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_loop_close
      Src: /src/bind9/lib/isc/loop.c:253,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:254,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:256,1
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/isc/loop.c:256,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/loop.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: helper_close
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - cds_wfcq_empty
    - uv_loop_close
    - isc_mem_detach
    - INSIST
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void helper_close(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_loop_close
      Src: /src/bind9/lib/isc/loop.c:263,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:264,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:266,1
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/isc/loop.c:266,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:267,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/loop.c:267,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/loop.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: loop_close
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 2
    functionsReached:
    - cds_wfcq_empty
    - ISC_LIST_EMPTY
    - uv_loop_close
    - isc_mem_detach
    - INSIST
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void loop_close(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_prepare_start
      Src: /src/bind9/lib/isc/loop.c:278,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:279,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:281,1
    - Dst: uv_run
      Src: /src/bind9/lib/isc/loop.c:283,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:284,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: helper_thread
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - uv_run
    - uv_prepare_start
    - isc_barrier_wait
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: 'void *

      helper_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:302,1
    - Dst: isc__tid_init
      Src: /src/bind9/lib/isc/loop.c:305,1
    - Dst: isc_thread_create
      Src: /src/bind9/lib/isc/loop.c:308,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/loop.c:309,1
    - Dst: isc_thread_setname
      Src: /src/bind9/lib/isc/loop.c:310,1
    - Dst: uv_prepare_start
      Src: /src/bind9/lib/isc/loop.c:312,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:313,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:315,1
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/isc/loop.c:317,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:320,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:322,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:323,1
    - Dst: uv_run
      Src: /src/bind9/lib/isc/loop.c:325,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:326,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:334,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:335,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 294
    functionDepth: 3
    functionLinenumber: 294
    functionLinenumberEnd: 340
    functionName: loop_thread
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - __cds_wfcq_splice_blocking
    - isc_thread_create
    - INSIST
    - isc__tid_init
    - uv_run
    - isc_thread_setname
    - uv_prepare_start
    - snprintf
    - REQUIRE
    - isc_barrier_wait
    - uv_async_send
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: 'void *

      loop_thread(void *arg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_os_getenv
      Src: /src/bind9/lib/isc/loop.c:349,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/loop.c:352,1
    - Dst: uv_os_setenv
      Src: /src/bind9/lib/isc/loop.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - workers
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: threadpool_initialize
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - uv_os_getenv
    - snprintf
    - uv_os_setenv
    linkageType: ''
    returnType: void
    signature: void threadpool_initialize(uint32_t workers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:359,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: loop_destroy
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - uv_async_send
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void loop_destroy(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:374,1
    - Dst: threadpool_initialize
      Src: /src/bind9/lib/isc/loop.c:376,1
    - Dst: isc__tid_initcount
      Src: /src/bind9/lib/isc/loop.c:377,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/loop.c:379,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/loop.c:384,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/loop.c:387,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/loop.c:388,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/loop.c:389,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/loop.c:390,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/loop.c:392,1
    - Dst: loop_init
      Src: /src/bind9/lib/isc/loop.c:396,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/loop.c:399,1
    - Dst: loop_init
      Src: /src/bind9/lib/isc/loop.c:403,1
    - Dst: isc_signal_new
      Src: /src/bind9/lib/isc/loop.c:406,1
    - Dst: isc_signal_new
      Src: /src/bind9/lib/isc/loop.c:408,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:411,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - mctx
    - nloops
    - loopmgrp
    argTypes:
    - isc_mem_t*
    - uint32_t
    - isc_loopmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 417
    functionName: isc_loopmgr_create
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - isc_signal_start
    - loop_init
    - isc_mem_cget
    - threadpool_initialize
    - isc_barrier_init
    - isc_mem_get
    - REQUIRE
    - isc_signal_new
    - isc__tid_initcount
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_create(isc_mem_t *mctx, uint32_t nloops, isc_loopmgr_t
      **loopmgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:421,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:421,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:422,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/loop.c:425,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/loop.c:431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:433,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:433,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:433,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:434,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/loop.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - loop
    - cb
    - cbarg
    argTypes:
    - isc_loop_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: isc_loop_setup
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 15
    functionsReached:
    - cds_wfcq_node_init
    - isc_tid
    - VALID_LOOP
    - isc_mem_get
    - cds_wfcq_enqueue
    - REQUIRE
    - atomic_load
    linkageType: ''
    returnType: isc_job_t
    signature: 'isc_job_t *

      isc_loop_setup(isc_loop_t *loop, isc_job_cb cb, void *cbarg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:444,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:444,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/loop.c:447,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/loop.c:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:454,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:454,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:454,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:455,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/loop.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - loop
    - cb
    - cbarg
    argTypes:
    - isc_loop_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: isc_loop_teardown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 32
    functionsReached:
    - cds_wfcq_node_init
    - isc_tid
    - VALID_LOOP
    - isc_mem_get
    - cds_wfcq_enqueue
    - REQUIRE
    - atomic_load
    linkageType: ''
    returnType: isc_job_t
    signature: 'isc_job_t *

      isc_loop_teardown(isc_loop_t *loop, isc_job_cb cb, void *cbarg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:465,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:466,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:466,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:467,1
    - Dst: isc_loop_setup
      Src: /src/bind9/lib/isc/loop.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - loopmgr
    - cb
    - cbarg
    argTypes:
    - isc_loopmgr_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 473
    functionName: isc_loopmgr_setup
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 11
    functionsReached:
    - atomic_load
    - VALID_LOOPMGR
    - REQUIRE
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_setup(isc_loopmgr_t *loopmgr, isc_job_cb cb, void
      *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:477,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:478,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:478,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:479,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/lib/isc/loop.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - loopmgr
    - cb
    - cbarg
    argTypes:
    - isc_loopmgr_t*
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: isc_loopmgr_teardown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 4
    functionsReached:
    - atomic_load
    - VALID_LOOPMGR
    - REQUIRE
    - isc_loop_teardown
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_teardown(isc_loopmgr_t *loopmgr, isc_job_cb cb, void
      *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:489,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:489,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:490,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:490,1
    - Dst: ignore_signal
      Src: /src/bind9/lib/isc/loop.c:496,1
    - Dst: isc__thread_initialize
      Src: /src/bind9/lib/isc/loop.c:498,1
    - Dst: isc_thread_create
      Src: /src/bind9/lib/isc/loop.c:507,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/loop.c:509,1
    - Dst: isc_thread_setname
      Src: /src/bind9/lib/isc/loop.c:510,1
    - Dst: isc_thread_main
      Src: /src/bind9/lib/isc/loop.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 514
    functionName: isc_loopmgr_run
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 23
    functionsReached:
    - isc_thread_main
    - RUNTIME_CHECK
    - isc_thread_create
    - isc_thread_setname
    - snprintf
    - REQUIRE
    - atomic_compare_exchange_strong
    - ignore_signal
    - VALID_LOOPMGR
    - isc__thread_initialize
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_run(isc_loopmgr_t *loopmgr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:518,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:518,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:519,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:519,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:521,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:521,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:522,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:523,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:530,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:531,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:538,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:542,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:543,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:546,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:546,1
    - Dst: pause_loop
      Src: /src/bind9/lib/isc/loop.c:548,1
    - Dst: CURRENT_LOOP
      Src: /src/bind9/lib/isc/loop.c:548,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:550,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:550,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:551,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 554
    functionName: isc_loopmgr_pause
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 18
    functionsReached:
    - isc_tid
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - pause_loop
    - CURRENT_LOOP
    - isc_log_write
    - uv_async_send
    - REQUIRE
    - atomic_compare_exchange_strong
    - VALID_LOOPMGR
    - UV_RUNTIME_CHECK
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_pause(isc_loopmgr_t *loopmgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:558,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:558,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:560,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:560,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:561,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:562,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:565,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:565,1
    - Dst: resume_loop
      Src: /src/bind9/lib/isc/loop.c:567,1
    - Dst: CURRENT_LOOP
      Src: /src/bind9/lib/isc/loop.c:567,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:569,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:569,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:570,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 573
    functionName: isc_loopmgr_resume
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 17
    functionsReached:
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - resume_loop
    - CURRENT_LOOP
    - isc_log_write
    - REQUIRE
    - atomic_compare_exchange_strong
    - VALID_LOOPMGR
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_resume(isc_loopmgr_t *loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:579,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:580,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:580,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:585,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:585,1
    - Dst: isc_thread_join
      Src: /src/bind9/lib/isc/loop.c:591,1
    - Dst: isc_thread_join
      Src: /src/bind9/lib/isc/loop.c:597,1
    - Dst: helper_close
      Src: /src/bind9/lib/isc/loop.c:604,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/loop.c:606,1
    - Dst: loop_close
      Src: /src/bind9/lib/isc/loop.c:611,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/loop.c:613,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/loop.c:616,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/loop.c:617,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/loop.c:618,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/loop.c:619,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/loop.c:621,1
    - Dst: isc__thread_shutdown
      Src: /src/bind9/lib/isc/loop.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - loopmgrp
    argTypes:
    - isc_loopmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 624
    functionName: isc_loopmgr_destroy
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 4
    functionsReached:
    - helper_close
    - isc_barrier_destroy
    - isc_thread_join
    - RUNTIME_CHECK
    - isc_mem_putanddetach
    - loop_close
    - REQUIRE
    - atomic_compare_exchange_strong
    - isc__thread_shutdown
    - isc_mem_cput
    - VALID_LOOPMGR
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_destroy(isc_loopmgr_t **loopmgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:628,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: isc_loopmgr_nloops
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 5
    functionsReached:
    - VALID_LOOPMGR
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_loopmgr_nloops(isc_loopmgr_t *loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:635,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: isc_loop_getmctx
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 4
    functionsReached:
    - VALID_LOOP
    - REQUIRE
    linkageType: ''
    returnType: isc_mem_t
    signature: 'isc_mem_t *

      isc_loop_getmctx(isc_loop_t *loop)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:642,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:642,1
    - Dst: DEFAULT_LOOP
      Src: /src/bind9/lib/isc/loop.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: isc_loop_main
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 30
    functionsReached:
    - VALID_LOOPMGR
    - REQUIRE
    - DEFAULT_LOOP
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

      isc_loop_main(isc_loopmgr_t *loopmgr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:649,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:649,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:650,1
    - Dst: LOOP
      Src: /src/bind9/lib/isc/loop.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - loopmgr
    - tid
    argTypes:
    - isc_loopmgr_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: isc_loop_get
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 12
    functionsReached:
    - VALID_LOOPMGR
    - REQUIRE
    - LOOP
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

      isc_loop_get(isc_loopmgr_t *loopmgr, isc_tid_t tid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:657,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:657,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:659,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 661
    functionName: isc_loopmgr_blocking
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 6
    functionsReached:
    - isc_signal_stop
    - VALID_LOOPMGR
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_blocking(isc_loopmgr_t *loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:665,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:665,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:667,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loopmgr
    argTypes:
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: isc_loopmgr_nonblocking
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 6
    functionsReached:
    - isc_signal_start
    - VALID_LOOPMGR
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_nonblocking(isc_loopmgr_t *loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:673,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: isc_loop_getloopmgr
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - VALID_LOOP
    - REQUIRE
    linkageType: ''
    returnType: isc_loopmgr_t
    signature: 'isc_loopmgr_t *

      isc_loop_getloopmgr(isc_loop_t *loop)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:680,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:680,1
    - Dst: uv_now
      Src: /src/bind9/lib/isc/loop.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 689
    functionName: isc_loop_now
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 6
    functionsReached:
    - VALID_LOOP
    - REQUIRE
    - uv_now
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t isc_loop_now(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:693,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:693,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:694,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 697
    functionName: isc_loop_shuttingdown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 2
    functionsReached:
    - VALID_LOOP
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: bool
    signature: bool isc_loop_shuttingdown(isc_loop_t *loop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/bind9/lib/isc/backtrace.c:44,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/backtrace.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - addrs
    - maxaddrs
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: isc_backtrace
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 0
    functionsReached:
    - backtrace
    - memmove
    linkageType: ''
    returnType: int
    signature: int isc_backtrace(void **addrs, int maxaddrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_symbols
      Src: /src/bind9/lib/isc/backtrace.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: isc_backtrace_symbols
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    linkageType: ''
    returnType: char
    signature: 'char **

      isc_backtrace_symbols(void *const *buffer, int size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_symbols_fd
      Src: /src/bind9/lib/isc/backtrace.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - size
    - fd
    argTypes:
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: isc_backtrace_symbols_fd
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols_fd
    linkageType: ''
    returnType: void
    signature: void isc_backtrace_symbols_fd(void *const *buffer, int size, int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/backtrace.c:71,1
    - Dst: isc_backtrace_symbols
      Src: /src/bind9/lib/isc/backtrace.c:75,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/backtrace.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - category
    - module
    - level
    argTypes:
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 82
    functionName: isc_backtrace_log
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - isc_backtrace_symbols
    - isc_backtrace
    linkageType: ''
    returnType: void
    signature: "void isc_backtrace_log(isc_logcategory_t category, isc_logmodule_t
      module,\n\t\t  int level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:88,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addrs
    - maxaddrs
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: isc_backtrace
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int isc_backtrace(void **addrs, int maxaddrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:96,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: isc_backtrace_symbols
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: char
    signature: 'char **

      isc_backtrace_symbols(void *const *buffer, int size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:104,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:105,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - size
    - fd
    argTypes:
    - void**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: isc_backtrace_symbols_fd
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isc_backtrace_symbols_fd(void *const *buffer, int size, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:112,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:113,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/backtrace.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - category
    - module
    - level
    argTypes:
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: isc_backtrace_log
    functionSourceFile: /src/bind9/lib/isc/backtrace.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void isc_backtrace_log(isc_logcategory_t category, isc_logmodule_t
      module,\n\t\t  int level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_memcmp
      Src: /src/bind9/lib/isc/safe.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: isc_safe_memequal
    functionSourceFile: /src/bind9/lib/isc/safe.c
    functionUses: 6
    functionsReached:
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: int isc_safe_memequal(const void *s1, const void *s2, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanse
      Src: /src/bind9/lib/isc/safe.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: isc_safe_memwipe
    functionSourceFile: /src/bind9/lib/isc/safe.c
    functionUses: 1
    functionsReached:
    - OPENSSL_cleanse
    linkageType: ''
    returnType: void
    signature: void isc_safe_memwipe(void *ptr, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_setcb
      Src: /src/bind9/lib/isc/proxy2.c:30,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/proxy2.c:33,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/proxy2.c:36,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/proxy2.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - handler
    - max_size
    - data
    - cb
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - uint16_t
    - isc_region_t*
    - isc_proxy2_handler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: isc__proxy2_handler_init_direct
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_proxy2_handler_setcb
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: "void isc__proxy2_handler_init_direct(isc_proxy2_handler_t *restrict
      handler,\n\t\t\t\tconst uint16_t max_size,\n\t\t\t\tconst isc_region_t *restrict
      data,\n\t\t\t\tisc_proxy2_handler_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:45,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:46,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:47,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:48,1
    - Dst: isc__proxy2_handler_init_direct
      Src: /src/bind9/lib/isc/proxy2.c:50,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/proxy2.c:52,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/lib/isc/proxy2.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - handler
    - mctx
    - max_size
    - cb
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - isc_mem_t*
    - uint16_t
    - isc_proxy2_handler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: isc_proxy2_handler_init
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_buffer_setmctx
    - isc_mem_attach
    - isc__proxy2_handler_init_direct
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_proxy2_handler_init(isc_proxy2_handler_t *restrict handler,
      isc_mem_t *mctx,\n\t\t\tconst uint16_t max_size, isc_proxy2_handler_cb_t cb,\n\t\t\tvoid
      *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:58,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:64,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/proxy2.c:66,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/proxy2.c:67,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/proxy2.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: isc_proxy2_handler_uninit
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_buffer_invalidate
    - isc_mem_detach
    - isc_buffer_clearmctx
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_proxy2_handler_uninit(isc_proxy2_handler_t *restrict handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:74,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/proxy2.c:83,1
    - Dst: isc_buffer_trycompact
      Src: /src/bind9/lib/isc/proxy2.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 85
    functionName: isc_proxy2_handler_clear
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_buffer_clear
    - isc_buffer_trycompact
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_proxy2_handler_clear(isc_proxy2_handler_t *restrict handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:92,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:93,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/proxy2.c:95,1
    - Dst: isc_proxy2_handler_init
      Src: /src/bind9/lib/isc/proxy2.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mctx
    - max_size
    - cb
    - cbarg
    argTypes:
    - isc_mem_t*
    - uint16_t
    - isc_proxy2_handler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: isc_proxy2_handler_new
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - isc_proxy2_handler_init
    - REQUIRE
    linkageType: ''
    returnType: isc_proxy2_handler_t
    signature: "isc_proxy2_handler_t *\nisc_proxy2_handler_new(isc_mem_t *mctx, const
      uint16_t max_size,\n\t\t       isc_proxy2_handler_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:105,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/proxy2.c:109,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/lib/isc/proxy2.c:110,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/proxy2.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - phandler
    argTypes:
    - isc_proxy2_handler_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: isc_proxy2_handler_free
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_proxy2_handler_uninit
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void isc_proxy2_handler_free(isc_proxy2_handler_t **restrict phandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handler
    - cb
    - cbarg
    argTypes:
    - isc_proxy2_handler_t*
    - isc_proxy2_handler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: isc_proxy2_handler_setcb
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_proxy2_handler_setcb(isc_proxy2_handler_t *restrict handler,\n\t\t\t
      isc_proxy2_handler_cb_t cb, void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_UNREACHABLE
      Src: /src/bind9/lib/isc/proxy2.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - proxy_socktype
    argTypes:
    - isc_proxy2_socktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: proxy2_socktype_to_socktype
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - ISC_UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int proxy2_socktype_to_socktype(const isc_proxy2_socktype_t proxy_socktype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_t*::cb
      Src: /src/bind9/lib/isc/proxy2.c:161,1
    - Dst: proxy2_socktype_to_socktype
      Src: /src/bind9/lib/isc/proxy2.c:164,1
    - Dst: isc_proxy2_handler_t*::cb
      Src: /src/bind9/lib/isc/proxy2.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - handler
    - result
    - cmd
    - proxy_socktype
    - src_addr
    - dst_addr
    - tlv_data
    - extra_data
    argTypes:
    - isc_proxy2_handler_t*
    - isc_result_t
    - isc_proxy2_command_t
    - isc_proxy2_socktype_t
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: isc__proxy2_handler_callcb
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - proxy2_socktype_to_socktype
    - isc_proxy2_handler_t*::cb
    linkageType: ''
    returnType: void
    signature: "void isc__proxy2_handler_callcb(isc_proxy2_handler_t *restrict handler,\n\t\t\t
      \  const isc_result_t result,\n\t\t\t   const isc_proxy2_command_t cmd,\n\t\t\t
      \  const isc_proxy2_socktype_t proxy_socktype,\n\t\t\t   const isc_sockaddr_t
      *src_addr,\n\t\t\t   const isc_sockaddr_t *dst_addr,\n\t\t\t   const isc_region_t
      *restrict tlv_data,\n\t\t\t   const isc_region_t *restrict extra_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:181,1
    - Dst: isc__proxy2_handler_callcb
      Src: /src/bind9/lib/isc/proxy2.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handler
    - result
    argTypes:
    - isc_proxy2_handler_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: isc__proxy2_handler_error
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc__proxy2_handler_callcb
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void isc__proxy2_handler_error(isc_proxy2_handler_t *restrict handler,\n\t\t\t
      \ const isc_result_t result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/proxy2.c:195,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/proxy2.c:196,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/proxy2.c:198,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:199,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:202,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:208,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 213
    functionName: isc__proxy2_handler_handle_signature
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - isc__proxy2_handler_error
    - ISC_MIN
    - isc_buffer_forward
    - INSIST
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool isc__proxy2_handler_handle_signature(isc_proxy2_handler_t *restrict
      handler)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/isc/proxy2.c:236,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:241,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/isc/proxy2.c:248,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:249,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:347,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:350,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 352
    functionName: isc__proxy2_handler_handle_header
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc__proxy2_handler_error
    - isc_buffer_getuint16
    - isc_buffer_getuint8
    linkageType: ''
    returnType: bool
    signature: bool isc__proxy2_handler_handle_header(isc_proxy2_handler_t *restrict
      handler)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:366,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:367,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:382,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:383,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:385,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:386,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:388,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:389,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/isc/proxy2.c:392,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/isc/proxy2.c:395,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:411,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:412,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:414,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:415,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:417,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:418,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/isc/proxy2.c:421,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/isc/proxy2.c:425,1
    - Dst: memchr
      Src: /src/bind9/lib/isc/proxy2.c:445,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:445,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:454,1
    - Dst: memchr
      Src: /src/bind9/lib/isc/proxy2.c:456,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:456,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:460,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/proxy2.c:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 4
    argNames:
    - handler
    - hdrbuf
    - src_addr
    - dst_addr
    argTypes:
    - isc_proxy2_handler_t*
    - isc_buffer_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 467
    functionName: isc__proxy2_handler_get_addresses
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_buffer_forward
    - INSIST
    - isc_sockaddr_fromin6
    - memchr
    - isc_buffer_current
    - isc_sockaddr_fromin
    - isc_buffer_getuint16
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__proxy2_handler_get_addresses(isc_proxy2_handler_t
      *restrict handler,\n\t\t\t\t  isc_buffer_t *restrict hdrbuf,\n\t\t\t\t  isc_sockaddr_t
      *restrict src_addr,\n\t\t\t\t  isc_sockaddr_t *restrict dst_addr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc__proxy2_handler_get_addresses
      Src: /src/bind9/lib/isc/proxy2.c:474,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:478,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/proxy2.c:483,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:486,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/lib/isc/proxy2.c:487,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:489,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/proxy2.c:494,1
    - Dst: isc__proxy2_handler_callcb
      Src: /src/bind9/lib/isc/proxy2.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 469
    functionDepth: 4
    functionLinenumber: 469
    functionLinenumberEnd: 514
    functionName: isc__proxy2_handler_handle_payload
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - isc__proxy2_handler_error
    - isc__proxy2_handler_get_addresses
    - isc_buffer_forward
    - isc__proxy2_handler_callcb
    - isc_proxy2_tlv_data_verify
    linkageType: ''
    returnType: void
    signature: void isc__proxy2_handler_handle_payload(isc_proxy2_handler_t *restrict
      handler)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/proxy2.c:518,1
    - Dst: isc__proxy2_handler_error
      Src: /src/bind9/lib/isc/proxy2.c:520,1
    - Dst: isc__proxy2_handler_handle_signature
      Src: /src/bind9/lib/isc/proxy2.c:534,1
    - Dst: isc__proxy2_handler_handle_header
      Src: /src/bind9/lib/isc/proxy2.c:540,1
    - Dst: isc__proxy2_handler_handle_payload
      Src: /src/bind9/lib/isc/proxy2.c:545,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/proxy2.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 516
    functionDepth: 5
    functionLinenumber: 516
    functionLinenumberEnd: 553
    functionName: isc__proxy2_handler_handle_data
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc__proxy2_handler_error
    - UNREACHABLE
    - isc__proxy2_handler_handle_payload
    - isc_buffer_remaininglength
    - isc__proxy2_handler_handle_header
    - isc__proxy2_handler_handle_signature
    linkageType: ''
    returnType: bool
    signature: bool isc__proxy2_handler_handle_data(isc_proxy2_handler_t *restrict
      handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__proxy2_handler_handle_data
      Src: /src/bind9/lib/isc/proxy2.c:557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 555
    functionDepth: 6
    functionLinenumber: 555
    functionLinenumberEnd: 564
    functionName: isc__proxy2_handler_process_data
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc__proxy2_handler_handle_data
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__proxy2_handler_process_data(isc_proxy2_handler_t
      *restrict handler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:572,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:573,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:575,1
    - Dst: isc_proxy2_handler_clear
      Src: /src/bind9/lib/isc/proxy2.c:578,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:581,1
    - Dst: isc__proxy2_handler_process_data
      Src: /src/bind9/lib/isc/proxy2.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - handler
    - buf
    - buf_size
    argTypes:
    - isc_proxy2_handler_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 566
    functionDepth: 7
    functionLinenumber: 566
    functionLinenumberEnd: 586
    functionName: isc_proxy2_handler_push_data
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 8
    functionsReached:
    - isc_buffer_putmem
    - isc__proxy2_handler_process_data
    - INSIST
    - REQUIRE
    - isc_proxy2_handler_clear
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_handler_push_data(isc_proxy2_handler_t *restrict
      handler,\n\t\t\t     const void *restrict buf,\n\t\t\t     const unsigned int
      buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:593,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:594,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/lib/isc/proxy2.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - handler
    - region
    argTypes:
    - isc_proxy2_handler_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 8
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: isc_proxy2_handler_push
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 3
    functionsReached:
    - isc_proxy2_handler_push_data
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_handler_push(isc_proxy2_handler_t *restrict
      handler,\n\t\t\tconst isc_region_t *restrict region)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 611
    functionName: proxy2_payload_is_processed
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool proxy2_payload_is_processed(const isc_proxy2_handler_t *restrict
      handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:616,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:617,1
    - Dst: proxy2_payload_is_processed
      Src: /src/bind9/lib/isc/proxy2.c:620,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/proxy2.c:625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - handler
    - region
    argTypes:
    - isc_proxy2_handler_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 630
    functionName: isc_proxy2_handler_header
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_buffer_base
    - proxy2_payload_is_processed
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: "size_t isc_proxy2_handler_header(const isc_proxy2_handler_t *restrict
      handler,\n\t\t\t  isc_region_t *restrict region)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:635,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:636,1
    - Dst: proxy2_payload_is_processed
      Src: /src/bind9/lib/isc/proxy2.c:639,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - handler
    - region
    argTypes:
    - isc_proxy2_handler_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 646
    functionName: isc_proxy2_handler_tlvs
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 1
    functionsReached:
    - proxy2_payload_is_processed
    - SET_IF_NOT_NULL
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: "size_t isc_proxy2_handler_tlvs(const isc_proxy2_handler_t *restrict
      handler,\n\t\t\tisc_region_t *restrict region)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:652,1
    - Dst: proxy2_payload_is_processed
      Src: /src/bind9/lib/isc/proxy2.c:655,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - handler
    - region
    argTypes:
    - isc_proxy2_handler_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: isc_proxy2_handler_extra
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 1
    functionsReached:
    - proxy2_payload_is_processed
    - SET_IF_NOT_NULL
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: "size_t isc_proxy2_handler_extra(const isc_proxy2_handler_t *restrict
      handler,\n\t\t\t isc_region_t *restrict region)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - isc_proxy2_handler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: isc_proxy2_handler_result
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_proxy2_handler_result(const isc_proxy2_handler_t *restrict
      handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:681,1
    - Dst: proxy2_payload_is_processed
      Src: /src/bind9/lib/isc/proxy2.c:683,1
    - Dst: isc_proxy2_handler_header
      Src: /src/bind9/lib/isc/proxy2.c:687,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:688,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/proxy2.c:690,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/proxy2.c:691,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:692,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:694,1
    - Dst: isc__proxy2_handler_get_addresses
      Src: /src/bind9/lib/isc/proxy2.c:696,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:703,1
    - Dst: proxy2_socktype_to_socktype
      Src: /src/bind9/lib/isc/proxy2.c:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - handler
    - psocktype
    - psrc_addr
    - pdst_addr
    argTypes:
    - isc_proxy2_handler_t*
    - int*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 707
    functionName: isc_proxy2_handler_addresses
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 4
    functionsReached:
    - SET_IF_NOT_NULL
    - isc__proxy2_handler_get_addresses
    - RUNTIME_CHECK
    - proxy2_payload_is_processed
    - isc_buffer_forward
    - proxy2_socktype_to_socktype
    - INSIST
    - isc_buffer_init
    - REQUIRE
    - isc_buffer_add
    - isc_proxy2_handler_header
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_handler_addresses(const isc_proxy2_handler_t
      *restrict handler,\n\t\t\t     int *restrict psocktype,\n\t\t\t     isc_sockaddr_t
      *restrict psrc_addr,\n\t\t\t     isc_sockaddr_t *restrict pdst_addr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:727,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:728,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/proxy2.c:730,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/proxy2.c:731,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/proxy2.c:733,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/isc/proxy2.c:745,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:746,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:753,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:755,1
    - Dst: cb
      Src: /src/bind9/lib/isc/proxy2.c:757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - tlv_data
    - cb
    - cbarg
    argTypes:
    - isc_region_t*
    - isc_proxy2_tlv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 764
    functionName: isc_proxy2_tlv_iterate
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 3
    functionsReached:
    - cb
    - isc_buffer_forward
    - isc_buffer_getuint16
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_current
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_getuint8
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_tlv_iterate(const isc_region_t *restrict tlv_data,\n\t\t
      \      const isc_proxy2_tlv_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_cbarg_t*::cb
      Src: /src/bind9/lib/isc/proxy2.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tlv_type
    - data
    - cbarg
    argTypes:
    - isc_proxy2_tlv_type_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 784
    functionName: proxy2_tls_iter_cb
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - tls_cbarg_t*::cb
    linkageType: ''
    returnType: bool
    signature: "bool proxy2_tls_iter_cb(const isc_proxy2_tlv_type_t tlv_type,\n\t\t
      \  const isc_region_t *restrict data, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:803,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:804,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:805,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/proxy2.c:817,1
    - Dst: ntohl
      Src: /src/bind9/lib/isc/proxy2.c:818,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:820,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - tls_tlv_data
    - pclient_flags
    - pclient_cert_verified
    argTypes:
    - isc_region_t*
    - uint8_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 824
    functionName: isc_proxy2_subtlv_tls_header_data
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - ntohl
    - SET_IF_NOT_NULL
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_subtlv_tls_header_data(const isc_region_t
      *restrict tls_tlv_data,\n\t\t\t\t  uint8_t *restrict pclient_flags,\n\t\t\t\t
      \ bool *restrict pclient_cert_verified)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:836,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:837,1
    - Dst: isc_proxy2_subtlv_tls_header_data
      Src: /src/bind9/lib/isc/proxy2.c:843,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/lib/isc/proxy2.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - tls_tlv_data
    - cb
    - cbarg
    argTypes:
    - isc_region_t*
    - isc_proxy2_tls_subtlv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 869
    functionName: isc_proxy2_subtlv_tls_iterate
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_proxy2_tlv_iterate
    - isc_proxy2_subtlv_tls_header_data
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_subtlv_tls_iterate(const isc_region_t *restrict
      tls_tlv_data,\n\t\t\t      const isc_proxy2_tls_subtlv_cb_t cb,\n\t\t\t      void
      *cbarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/proxy2.c:886,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/proxy2.c:887,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - client
    - client_cert_verified
    - tls_subtlv_type
    - data
    - cbarg
    argTypes:
    - uint8_t
    - bool
    - isc_proxy2_tlv_subtype_tls_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 918
    functionName: proxy2_subtlv_verify_iter_cb
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool proxy2_subtlv_verify_iter_cb(const uint8_t client,\n\t\t\t     const
      bool client_cert_verified,\n\t\t\t     const isc_proxy2_tlv_subtype_tls_t tls_subtlv_type,\n\t\t\t
      \    const isc_region_t *restrict data, void *cbarg)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_subtlv_tls_header_data
      Src: /src/bind9/lib/isc/proxy2.c:969,1
    - Dst: isc_proxy2_subtlv_tls_iterate
      Src: /src/bind9/lib/isc/proxy2.c:975,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 3
    argNames:
    - tlv_type
    - data
    - cbarg
    argTypes:
    - isc_proxy2_tlv_type_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 1040
    functionName: isc_proxy2_tlv_verify_cb
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_subtlv_tls_header_data
    - isc_proxy2_subtlv_tls_iterate
    linkageType: ''
    returnType: bool
    signature: "bool isc_proxy2_tlv_verify_cb(const isc_proxy2_tlv_type_t tlv_type,\n\t\t\t
      const isc_region_t *restrict data, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/lib/isc/proxy2.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tlv_data
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1054
    functionName: isc_proxy2_tlv_data_verify
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 5
    functionsReached:
    - isc_proxy2_tlv_iterate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_proxy2_tlv_data_verify(const isc_region_t *restrict
      tlv_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1063,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1064,1
    - Dst: isc__proxy2_handler_init_direct
      Src: /src/bind9/lib/isc/proxy2.c:1066,1
    - Dst: isc__proxy2_handler_process_data
      Src: /src/bind9/lib/isc/proxy2.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - header_data
    - cb
    - cbarg
    argTypes:
    - isc_region_t*
    - isc_proxy2_handler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1056
    functionDepth: 7
    functionLinenumber: 1056
    functionLinenumberEnd: 1071
    functionName: isc_proxy2_header_handle_directly
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc__proxy2_handler_init_direct
    - isc__proxy2_handler_process_data
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_header_handle_directly(const isc_region_t
      *restrict header_data,\n\t\t\t\t  const isc_proxy2_handler_cb_t cb,\n\t\t\t\t
      \ void *cbarg)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1129,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/proxy2.c:1130,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/proxy2.c:1130,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/proxy2.c:1140,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1192,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1213,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/proxy2.c:1216,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/proxy2.c:1218,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/isc/proxy2.c:1220,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1224,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1228,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/isc/proxy2.c:1233,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/proxy2.c:1233,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/isc/proxy2.c:1234,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/proxy2.c:1234,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1238,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 6
    argNames:
    - outbuf
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlv_data
    argTypes:
    - isc_buffer_t*
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1242
    functionName: isc_proxy2_make_header
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_sockaddr_pf
    - isc_sockaddr_getport
    - isc_buffer_putmem
    - isc_buffer_putuint16
    - REQUIRE
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_make_header(isc_buffer_t *restrict outbuf,\n\t\t
      \      const isc_proxy2_command_t cmd, const int socktype,\n\t\t       const
      isc_sockaddr_t *restrict src_addr,\n\t\t       const isc_sockaddr_t *restrict
      dst_addr,\n\t\t       const isc_region_t *restrict tlv_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1251,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/proxy2.c:1253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1256,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1258,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:1264,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/proxy2.c:1264,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/proxy2.c:1269,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/proxy2.c:1270,1
    - Dst: htons
      Src: /src/bind9/lib/isc/proxy2.c:1278,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/proxy2.c:1279,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - outbuf
    - data
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1244
    functionDepth: 1
    functionLinenumber: 1244
    functionLinenumberEnd: 1284
    functionName: isc_proxy2_header_append
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_putmem
    - htons
    - INSIST
    - memcmp
    - REQUIRE
    - isc_buffer_usedregion
    - ntohs
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_header_append(isc_buffer_t *restrict outbuf,\n\t\t\t
      const isc_region_t *restrict data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/bind9/lib/isc/proxy2.c:1294,1
    - Dst: isc_proxy2_header_append
      Src: /src/bind9/lib/isc/proxy2.c:1299,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:1301,1
    - Dst: isc_proxy2_header_append
      Src: /src/bind9/lib/isc/proxy2.c:1302,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:1303,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1305,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - outbuf
    - type
    - tlv_length
    - update_header
    argTypes:
    - isc_buffer_t*
    - uint8_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1286
    functionDepth: 2
    functionLinenumber: 1286
    functionLinenumberEnd: 1309
    functionName: append_type_and_length
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_header_append
    - isc_buffer_putmem
    - htons
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void append_type_and_length(isc_buffer_t *restrict outbuf, const uint8_t
      type,\n\t\t       const uint16_t tlv_length, const bool update_header)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1317,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1331,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/proxy2.c:1333,1
    - Dst: append_type_and_length
      Src: /src/bind9/lib/isc/proxy2.c:1338,1
    - Dst: isc_proxy2_header_append
      Src: /src/bind9/lib/isc/proxy2.c:1342,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - outbuf
    - tlv_type
    - tlv_data
    argTypes:
    - isc_buffer_t*
    - isc_proxy2_tlv_type_t
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1348
    functionName: isc_proxy2_header_append_tlv
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - RUNTIME_CHECK
    - append_type_and_length
    - isc_buffer_usedlength
    - REQUIRE
    - isc_proxy2_header_append
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_header_append_tlv(isc_buffer_t *restrict outbuf,\n\t\t\t
      \    const isc_proxy2_tlv_type_t tlv_type,\n\t\t\t     const isc_region_t *restrict
      tlv_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1357,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/proxy2.c:1360,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/lib/isc/proxy2.c:1362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outbuf
    - tlv_type
    - str
    argTypes:
    - isc_buffer_t*
    - isc_proxy2_tlv_type_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1350
    functionDepth: 4
    functionLinenumber: 1350
    functionLinenumberEnd: 1365
    functionName: isc_proxy2_header_append_tlv_string
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - strlen
    - isc_proxy2_header_append_tlv
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_header_append_tlv_string(isc_buffer_t *restrict
      outbuf,\n\t\t\t\t    const isc_proxy2_tlv_type_t tlv_type,\n\t\t\t\t    const
      char *restrict str)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1374,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1380,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/proxy2.c:1386,1
    - Dst: htonl
      Src: /src/bind9/lib/isc/proxy2.c:1387,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1388,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - outbuf
    - client_flags
    - client_cert_verified
    - tls_subtlvs_data
    argTypes:
    - isc_buffer_t*
    - uint8_t
    - bool
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1397
    functionName: isc_proxy2_make_tls_subheader
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 3
    functionsReached:
    - htonl
    - isc_buffer_putmem
    - REQUIRE
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_make_tls_subheader(isc_buffer_t *restrict
      outbuf,\n\t\t\t      const uint8_t client_flags,\n\t\t\t      const bool client_cert_verified,\n\t\t\t
      \     const isc_region_t *restrict tls_subtlvs_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1404,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1408,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/proxy2.c:1410,1
    - Dst: append_type_and_length
      Src: /src/bind9/lib/isc/proxy2.c:1416,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - outbuf
    - type
    - data
    argTypes:
    - isc_buffer_t*
    - uint8_t
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1424
    functionName: isc_proxy2_append_tlv
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - isc_buffer_putmem
    - append_type_and_length
    - isc_buffer_usedlength
    - REQUIRE
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_append_tlv(isc_buffer_t *restrict outbuf,
      const uint8_t type,\n\t\t      const isc_region_t *restrict data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1432,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/proxy2.c:1435,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/lib/isc/proxy2.c:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - outbuf
    - type
    - str
    argTypes:
    - isc_buffer_t*
    - uint8_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1426
    functionDepth: 4
    functionLinenumber: 1426
    functionLinenumberEnd: 1440
    functionName: isc_proxy2_append_tlv_string
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - strlen
    - REQUIRE
    - isc_proxy2_append_tlv
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_proxy2_append_tlv_string(isc_buffer_t *restrict outbuf,
      const uint8_t type,\n\t\t\t     const char *restrict str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_read
      Src: /src/bind9/lib/isc/openssl_shim.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - readbytes
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: BIO_read_ex
    functionSourceFile: /src/bind9/lib/isc/openssl_shim.c
    functionUses: 0
    functionsReached:
    - BIO_read
    linkageType: ''
    returnType: int
    signature: int BIO_read_ex(BIO *b, void *data, size_t dlen, size_t *readbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIO_write
      Src: /src/bind9/lib/isc/openssl_shim.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - b
    - data
    - dlen
    - written
    argTypes:
    - BIO*
    - void*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: BIO_write_ex
    functionSourceFile: /src/bind9/lib/isc/openssl_shim.c
    functionUses: 0
    functionsReached:
    - BIO_write
    linkageType: ''
    returnType: int
    signature: int BIO_write_ex(BIO *b, const void *data, size_t dlen, size_t *written)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_up_ref
      Src: /src/bind9/lib/isc/openssl_shim.c:57,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/bind9/lib/isc/openssl_shim.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ctx
    - store
    argTypes:
    - SSL_CTX*
    - X509_STORE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: SSL_CTX_set1_cert_store
    functionSourceFile: /src/bind9/lib/isc/openssl_shim.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cert_store
    - X509_STORE_up_ref
    linkageType: ''
    returnType: void
    signature: void SSL_CTX_set1_cert_store(SSL_CTX *ctx, X509_STORE *store)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/openssl_shim.c:69,1
    - Dst: ERR_get_error_line_data
      Src: /src/bind9/lib/isc/openssl_shim.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - file
    - line
    - func
    - data
    - flags
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: ERR_get_error_all
    functionSourceFile: /src/bind9/lib/isc/openssl_shim.c
    functionUses: 1
    functionsReached:
    - SET_IF_NOT_NULL
    - ERR_get_error_line_data
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ERR_get_error_all(const char **file, int *line, const
      char **func,\n\t\t  const char **data, int *flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_entropy_get
      Src: /src/bind9/lib/isc/nonce.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 2
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: isc_nonce_buf
    functionSourceFile: /src/bind9/lib/isc/nonce.c
    functionUses: 9
    functionsReached:
    - isc_entropy_get
    linkageType: ''
    returnType: void
    signature: void isc_nonce_buf(void *buf, size_t buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/isc/md.c:27,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/md.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: isc_md_new
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - EVP_MD_CTX_new
    - RUNTIME_CHECK
    linkageType: ''
    returnType: isc_md_t
    signature: 'isc_md_t *

      isc_md_new(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/isc/md.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: isc_md_free
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - EVP_MD_CTX_free
    linkageType: ''
    returnType: void
    signature: void isc_md_free(isc_md_t *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:43,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/isc/md.c:49,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - md
    - md_type
    argTypes:
    - isc_md_t*
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: isc_md_init
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 4
    functionsReached:
    - ERR_clear_error
    - REQUIRE
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_md_init(isc_md_t *md, const isc_md_type_t *md_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:59,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/bind9/lib/isc/md.c:61,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: isc_md_reset
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 4
    functionsReached:
    - ERR_clear_error
    - EVP_MD_CTX_reset
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_md_reset(isc_md_t *md)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:71,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/isc/md.c:77,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - md
    - buf
    - len
    argTypes:
    - isc_md_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: isc_md_update
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - EVP_DigestUpdate
    - ERR_clear_error
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_md_update(isc_md_t *md, const unsigned char *buf,
      const size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:88,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/bind9/lib/isc/md.c:90,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - md
    - digest
    - digestlen
    argTypes:
    - isc_md_t*
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: isc_md_final
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - ERR_clear_error
    - REQUIRE
    - EVP_DigestFinal_ex
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_md_final(isc_md_t *md, unsigned char *digest, unsigned
      int *digestlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:100,1
    - Dst: EVP_MD_CTX_get0_md
      Src: /src/bind9/lib/isc/md.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: isc_md_get_md_type
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_get0_md
    linkageType: ''
    returnType: isc_md_type_t
    signature: 'isc_md_type_t *

      isc_md_get_md_type(isc_md_t *md)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:107,1
    - Dst: EVP_MD_CTX_size
      Src: /src/bind9/lib/isc/md.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: isc_md_get_size
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_size
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t isc_md_get_size(isc_md_t *md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:114,1
    - Dst: EVP_MD_CTX_block_size
      Src: /src/bind9/lib/isc/md.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: isc_md_get_block_size
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t isc_md_get_block_size(isc_md_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/isc/md.c:121,1
    - Dst: EVP_MD_size
      Src: /src/bind9/lib/isc/md.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - md_type
    argTypes:
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: isc_md_type_get_size
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - EVP_MD_size
    - STATIC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t isc_md_type_get_size(const isc_md_type_t *md_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/isc/md.c:133,1
    - Dst: EVP_MD_block_size
      Src: /src/bind9/lib/isc/md.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - md_type
    argTypes:
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: isc_md_type_get_block_size
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - STATIC_ASSERT
    - EVP_MD_block_size
    linkageType: ''
    returnType: size_t
    signature: size_t isc_md_type_get_block_size(const isc_md_type_t *md_type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_new
      Src: /src/bind9/lib/isc/md.c:149,1
    - Dst: isc_md_init
      Src: /src/bind9/lib/isc/md.c:151,1
    - Dst: isc_md_update
      Src: /src/bind9/lib/isc/md.c:156,1
    - Dst: isc_md_final
      Src: /src/bind9/lib/isc/md.c:161,1
    - Dst: isc_md_free
      Src: /src/bind9/lib/isc/md.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - md_type
    - buf
    - len
    - digest
    - digestlen
    argTypes:
    - isc_md_type_t*
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: isc_md
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 1
    functionsReached:
    - isc_md_init
    - isc_md_new
    - isc_md_final
    - isc_md_free
    - isc_md_update
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_md(const isc_md_type_t *md_type, const unsigned char
      *buf, const size_t len,\n       unsigned char *digest, unsigned int *digestlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/isc/lib.c:47,1
    - Dst: rcu_register_thread
      Src: /src/bind9/lib/isc/lib.c:51,1
    - Dst: isc__os_initialize
      Src: /src/bind9/lib/isc/lib.c:52,1
    - Dst: isc__mutex_initialize
      Src: /src/bind9/lib/isc/lib.c:53,1
    - Dst: isc__mem_initialize
      Src: /src/bind9/lib/isc/lib.c:54,1
    - Dst: isc__log_initialize
      Src: /src/bind9/lib/isc/lib.c:55,1
    - Dst: isc__crypto_initialize
      Src: /src/bind9/lib/isc/lib.c:56,1
    - Dst: isc__uv_initialize
      Src: /src/bind9/lib/isc/lib.c:57,1
    - Dst: isc__xml_initialize
      Src: /src/bind9/lib/isc/lib.c:58,1
    - Dst: isc__hash_initialize
      Src: /src/bind9/lib/isc/lib.c:59,1
    - Dst: isc__iterated_hash_initialize
      Src: /src/bind9/lib/isc/lib.c:60,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/lib/isc/lib.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: isc__lib_initialize
    functionSourceFile: /src/bind9/lib/isc/lib.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - isc__log_initialize
    - isc__xml_initialize
    - isc__crypto_initialize
    - rcu_register_thread
    - isc__os_initialize
    - isc__hash_initialize
    - isc_os_ncpus
    - isc__uv_initialize
    - isc__mutex_initialize
    - isc__mem_initialize
    - isc__iterated_hash_initialize
    linkageType: ''
    returnType: void
    signature: void isc__lib_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/lib.c:66,1
    - Dst: rcu_barrier
      Src: /src/bind9/lib/isc/lib.c:70,1
    - Dst: rcu_unregister_thread
      Src: /src/bind9/lib/isc/lib.c:71,1
    - Dst: isc__iterated_hash_shutdown
      Src: /src/bind9/lib/isc/lib.c:73,1
    - Dst: isc__xml_shutdown
      Src: /src/bind9/lib/isc/lib.c:74,1
    - Dst: isc__uv_shutdown
      Src: /src/bind9/lib/isc/lib.c:75,1
    - Dst: isc__crypto_shutdown
      Src: /src/bind9/lib/isc/lib.c:76,1
    - Dst: isc__log_shutdown
      Src: /src/bind9/lib/isc/lib.c:77,1
    - Dst: isc__mem_shutdown
      Src: /src/bind9/lib/isc/lib.c:78,1
    - Dst: isc__mutex_shutdown
      Src: /src/bind9/lib/isc/lib.c:79,1
    - Dst: isc__os_shutdown
      Src: /src/bind9/lib/isc/lib.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: isc__lib_shutdown
    functionSourceFile: /src/bind9/lib/isc/lib.c
    functionUses: 0
    functionsReached:
    - isc__iterated_hash_shutdown
    - isc__os_shutdown
    - isc__mutex_shutdown
    - rcu_unregister_thread
    - isc__crypto_shutdown
    - isc__log_shutdown
    - isc_refcount_decrement
    - isc__uv_shutdown
    - isc__mem_shutdown
    - rcu_barrier
    - isc__xml_shutdown
    linkageType: ''
    returnType: void
    signature: void isc__lib_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alg
    - ','
    - algname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: md_register_algorithm
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md_register_algorithm(alg, algname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: md_unregister_algorithm
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md_unregister_algorithm(alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alg
    - ','
    - algname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: md_register_algorithm
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md_register_algorithm(alg, algname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isc/crypto.c:73,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto.c:74,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto.c:77,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto.c:78,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto.c:79,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto.c:80,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: register_algorithms
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - isc_crypto_fips_mode
    - md_register_algorithm
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t register_algorithms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: md_unregister_algorithm
      Src: /src/bind9/lib/isc/crypto.c:88,1
    - Dst: md_unregister_algorithm
      Src: /src/bind9/lib/isc/crypto.c:89,1
    - Dst: md_unregister_algorithm
      Src: /src/bind9/lib/isc/crypto.c:90,1
    - Dst: md_unregister_algorithm
      Src: /src/bind9/lib/isc/crypto.c:91,1
    - Dst: md_unregister_algorithm
      Src: /src/bind9/lib/isc/crypto.c:92,1
    - Dst: md_unregister_algorithm
      Src: /src/bind9/lib/isc/crypto.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: unregister_algorithms
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - md_unregister_algorithm
    linkageType: ''
    returnType: void
    signature: void unregister_algorithms(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/crypto.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: isc__crypto_malloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - isc__mem_allocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__crypto_malloc_ex(size_t size, const char *file, int line)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__mem_reallocate
      Src: /src/bind9/lib/isc/crypto.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: isc__crypto_realloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - isc__mem_reallocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__crypto_realloc_ex(void *ptr, size_t size, const char *file, int line)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__mem_free
      Src: /src/bind9/lib/isc/crypto.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: isc__crypto_free_ex
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - isc__mem_free
    linkageType: ''
    returnType: void
    signature: void isc__crypto_free_ex(void *ptr, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto.c:142,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto.c:143,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/crypto.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: isc__crypto_malloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__crypto_malloc_ex(size_t size, const char *file, int line)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto.c:150,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/isc/crypto.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ptr
    - size
    - file
    - line
    argTypes:
    - void*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: isc__crypto_realloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_mem_reallocate
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__crypto_realloc_ex(void *ptr, size_t size, const char *file, int line)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto.c:157,1
    - Dst: isc__mem_free
      Src: /src/bind9/lib/isc/crypto.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: isc__crypto_free_ex
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 0
    functionsReached:
    - isc__mem_free
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isc__crypto_free_ex(void *ptr, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/bind9/lib/isc/crypto.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: isc_crypto_fips_mode
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 13
    functionsReached:
    - EVP_default_properties_is_fips_enabled
    linkageType: ''
    returnType: bool
    signature: bool isc_crypto_fips_mode(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isc/crypto.c:178,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/crypto.c:182,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/bind9/lib/isc/crypto.c:183,1
    - Dst: isc_tlserr2result
      Src: /src/bind9/lib/isc/crypto.c:185,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/crypto.c:190,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/bind9/lib/isc/crypto.c:191,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/lib/isc/crypto.c:193,1
    - Dst: isc_tlserr2result
      Src: /src/bind9/lib/isc/crypto.c:194,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/bind9/lib/isc/crypto.c:199,1
    - Dst: isc_tlserr2result
      Src: /src/bind9/lib/isc/crypto.c:200,1
    - Dst: unregister_algorithms
      Src: /src/bind9/lib/isc/crypto.c:206,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: isc_crypto_fips_enable
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 6
    functionsReached:
    - OSSL_PROVIDER_load
    - INSIST
    - register_algorithms
    - isc_crypto_fips_mode
    - OSSL_PROVIDER_unload
    - isc_tlserr2result
    - unregister_algorithms
    - EVP_default_properties_enable_fips
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_crypto_fips_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIPS_mode
      Src: /src/bind9/lib/isc/crypto.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: isc_crypto_fips_mode
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 14
    functionsReached:
    - FIPS_mode
    linkageType: ''
    returnType: bool
    signature: bool isc_crypto_fips_mode(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isc/crypto.c:219,1
    - Dst: FIPS_mode_set
      Src: /src/bind9/lib/isc/crypto.c:223,1
    - Dst: isc_tlserr2result
      Src: /src/bind9/lib/isc/crypto.c:224,1
    - Dst: unregister_algorithms
      Src: /src/bind9/lib/isc/crypto.c:229,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: isc_crypto_fips_enable
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 6
    functionsReached:
    - register_algorithms
    - isc_crypto_fips_mode
    - isc_tlserr2result
    - FIPS_mode_set
    - unregister_algorithms
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_crypto_fips_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: isc_crypto_fips_mode
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc_crypto_fips_mode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: isc_crypto_fips_enable
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_crypto_fips_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/crypto.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - check
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: isc__crypto_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 2
    functionsReached:
    - isc_mem_setdestroycheck
    linkageType: ''
    returnType: void
    signature: void isc__crypto_setdestroycheck(bool check)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/crypto.c:255,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/crypto.c:256,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/bind9/lib/isc/crypto.c:264,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/crypto.c:278,1
    - Dst: OPENSSL_init_ssl
      Src: /src/bind9/lib/isc/crypto.c:278,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto.c:280,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/lib/isc/crypto.c:283,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto.c:284,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto.c:285,1
    - Dst: RAND_status
      Src: /src/bind9/lib/isc/crypto.c:291,1
    - Dst: isc_tlserr2result
      Src: /src/bind9/lib/isc/crypto.c:292,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 298
    functionName: isc__crypto_initialize
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 1
    functionsReached:
    - isc_crypto_fips_enable
    - isc_mem_setdestroycheck
    - CRYPTO_set_mem_functions
    - RAND_status
    - RUNTIME_CHECK
    - FATAL_ERROR
    - OPENSSL_init_ssl
    - register_algorithms
    - ERR_clear_error
    - isc_tlserr2result
    - isc_mem_create
    linkageType: ''
    returnType: void
    signature: void isc__crypto_initialize(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unregister_algorithms
      Src: /src/bind9/lib/isc/crypto.c:302,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/lib/isc/crypto.c:306,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/lib/isc/crypto.c:310,1
    - Dst: OPENSSL_cleanup
      Src: /src/bind9/lib/isc/crypto.c:314,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/crypto.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 317
    functionName: isc__crypto_shutdown
    functionSourceFile: /src/bind9/lib/isc/crypto.c
    functionUses: 1
    functionsReached:
    - unregister_algorithms
    - OPENSSL_cleanup
    - isc_mem_detach
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void isc__crypto_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_assertion_failed_cb
      Src: /src/bind9/lib/isc/assertions.c:48,1
    - Dst: abort
      Src: /src/bind9/lib/isc/assertions.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - file
    - line
    - type
    - cond
    argTypes:
    - char*
    - int
    - isc_assertiontype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: isc_assertion_failed
    functionSourceFile: /src/bind9/lib/isc/assertions.c
    functionUses: 0
    functionsReached:
    - abort
    - isc_assertion_failed_cb
    linkageType: ''
    returnType: void
    signature: "void isc_assertion_failed(const char *file, int line, isc_assertiontype_t
      type,\n\t\t     const char *cond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cb
    argTypes:
    - isc_assertioncallback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: isc_assertion_setcallback
    functionSourceFile: /src/bind9/lib/isc/assertions.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_assertion_setcallback(isc_assertioncallback_t cb)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_assertiontype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: isc_assertion_typetotext
    functionSourceFile: /src/bind9/lib/isc/assertions.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_assertion_typetotext(isc_assertiontype_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/assertions.c:99,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/assertions.c:101,1
    - Dst: isc_assertion_typetotext
      Src: /src/bind9/lib/isc/assertions.c:102,1
    - Dst: isc_backtrace_symbols_fd
      Src: /src/bind9/lib/isc/assertions.c:106,1
    - Dst: fileno
      Src: /src/bind9/lib/isc/assertions.c:106,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/assertions.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - file
    - line
    - type
    - cond
    argTypes:
    - char*
    - int
    - isc_assertiontype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: default_callback
    functionSourceFile: /src/bind9/lib/isc/assertions.c
    functionUses: 0
    functionsReached:
    - isc_backtrace_symbols_fd
    - isc_assertion_typetotext
    - fprintf
    - fflush
    - isc_backtrace
    - fileno
    linkageType: ''
    returnType: void
    signature: "void default_callback(const char *file, int line, isc_assertiontype_t
      type,\n\t\t const char *cond)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:60,1
    - Dst: SSL_CTX_free
      Src: /src/bind9/lib/isc/tls.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: isc_tlsctx_free
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - SSL_CTX_free
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_free(isc_tlsctx_t **ctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:71,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:73,1
    - Dst: SSL_CTX_up_ref
      Src: /src/bind9/lib/isc/tls.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - ptarget
    argTypes:
    - isc_tlsctx_t*
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: isc_tlsctx_attach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_up_ref
    - REQUIRE
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_attach(isc_tlsctx_t *src, isc_tlsctx_t **ptarget)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: sslkeylogfile_append
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void sslkeylogfile_append(const SSL *ssl ISC_ATTR_UNUSED, const char
      *line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/lib/isc/tls.c:95,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/bind9/lib/isc/tls.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: sslkeylogfile_init
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - getenv
    - SSL_CTX_set_keylog_callback
    linkageType: ''
    returnType: void
    signature: void sslkeylogfile_init(isc_tlsctx_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:107,1
    - Dst: TLS_client_method
      Src: /src/bind9/lib/isc/tls.c:109,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:113,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:118,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/bind9/lib/isc/tls.c:120,1
    - Dst: sslkeylogfile_init
      Src: /src/bind9/lib/isc/tls.c:122,1
    - Dst: ERR_get_error
      Src: /src/bind9/lib/isc/tls.c:129,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:130,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 136
    functionName: isc_tlsctx_createclient
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 4
    functionsReached:
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_new
    - TLS_client_method
    - isc_log_write
    - REQUIRE
    - SSL_CTX_set_options
    - ERR_get_error
    - ERR_error_string_n
    - sslkeylogfile_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_tlsctx_createclient(isc_tlsctx_t **ctxp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:144,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/bind9/lib/isc/tls.c:146,1
    - Dst: ERR_peek_last_error
      Src: /src/bind9/lib/isc/tls.c:148,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:150,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:151,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/bind9/lib/isc/tls.c:158,1
    - Dst: ERR_peek_last_error
      Src: /src/bind9/lib/isc/tls.c:160,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:162,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - keyfile
    - certfile
    argTypes:
    - isc_tlsctx_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 171
    functionName: isc_tlsctx_load_certificate
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - ERR_peek_last_error
    - SSL_CTX_use_certificate_chain_file
    - SSL_CTX_use_PrivateKey_file
    - isc_log_write
    - REQUIRE
    - ERR_error_string_n
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_tlsctx_load_certificate(isc_tlsctx_t *ctx, const
      char *keyfile,\n\t\t\t    const char *certfile)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:192,1
    - Dst: TLS_server_method
      Src: /src/bind9/lib/isc/tls.c:194,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:198,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:202,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:204,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/bind9/lib/isc/tls.c:206,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/bind9/lib/isc/tls.c:212,1
    - Dst: EC_KEY_generate_key
      Src: /src/bind9/lib/isc/tls.c:218,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/tls.c:222,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/bind9/lib/isc/tls.c:226,1
    - Dst: EC_KEY_set_asn1_flag
      Src: /src/bind9/lib/isc/tls.c:232,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/isc/tls.c:232,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/bind9/lib/isc/tls.c:234,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/isc/tls.c:234,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/isc/tls.c:238,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/tls.c:242,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/bind9/lib/isc/tls.c:246,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/bind9/lib/isc/tls.c:250,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/bind9/lib/isc/tls.c:255,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/tls.c:259,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/bind9/lib/isc/tls.c:262,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/isc/tls.c:266,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/lib/isc/tls.c:270,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:276,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/tls.c:278,1
    - Dst: X509_new
      Src: /src/bind9/lib/isc/tls.c:282,1
    - Dst: ASN1_INTEGER_set
      Src: /src/bind9/lib/isc/tls.c:287,1
    - Dst: X509_get_serialNumber
      Src: /src/bind9/lib/isc/tls.c:287,1
    - Dst: isc_random32
      Src: /src/bind9/lib/isc/tls.c:288,1
    - Dst: X509_gmtime_adj
      Src: /src/bind9/lib/isc/tls.c:294,1
    - Dst: X509_getm_notBefore
      Src: /src/bind9/lib/isc/tls.c:294,1
    - Dst: X509_gmtime_adj
      Src: /src/bind9/lib/isc/tls.c:299,1
    - Dst: X509_getm_notAfter
      Src: /src/bind9/lib/isc/tls.c:299,1
    - Dst: X509_set_pubkey
      Src: /src/bind9/lib/isc/tls.c:301,1
    - Dst: X509_get_subject_name
      Src: /src/bind9/lib/isc/tls.c:303,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/bind9/lib/isc/tls.c:305,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/bind9/lib/isc/tls.c:308,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/bind9/lib/isc/tls.c:313,1
    - Dst: X509_set_issuer_name
      Src: /src/bind9/lib/isc/tls.c:317,1
    - Dst: X509_sign
      Src: /src/bind9/lib/isc/tls.c:318,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/bind9/lib/isc/tls.c:319,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/bind9/lib/isc/tls.c:323,1
    - Dst: X509_free
      Src: /src/bind9/lib/isc/tls.c:328,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:329,1
    - Dst: isc_tlsctx_load_certificate
      Src: /src/bind9/lib/isc/tls.c:332,1
    - Dst: sslkeylogfile_init
      Src: /src/bind9/lib/isc/tls.c:338,1
    - Dst: ERR_get_error
      Src: /src/bind9/lib/isc/tls.c:344,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:345,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:346,1
    - Dst: SSL_CTX_free
      Src: /src/bind9/lib/isc/tls.c:351,1
    - Dst: X509_free
      Src: /src/bind9/lib/isc/tls.c:354,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:357,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/isc/tls.c:361,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:365,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/tls.c:368,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 141
    argCount: 3
    argNames:
    - keyfile
    - certfile
    - ctxp
    argTypes:
    - char*
    - char*
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 373
    functionName: isc_tlsctx_createserver
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 4
    functionsReached:
    - X509_sign
    - SSL_CTX_use_certificate
    - EVP_PKEY_new
    - EVP_PKEY_CTX_new_from_name
    - X509_set_pubkey
    - isc_log_write
    - TLS_server_method
    - REQUIRE
    - isc_random32
    - EVP_PKEY_paramgen_init
    - ERR_error_string_n
    - EC_KEY_set_asn1_flag
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - X509_gmtime_adj
    - ASN1_INTEGER_set
    - EVP_PKEY_free
    - X509_get_serialNumber
    - SSL_CTX_new
    - EVP_PKEY_set1_EC_KEY
    - EVP_PKEY_get0_EC_KEY
    - X509_new
    - EVP_PKEY_paramgen
    - EVP_PKEY_keygen
    - X509_set_issuer_name
    - SSL_CTX_use_PrivateKey
    - RUNTIME_CHECK
    - X509_getm_notBefore
    - X509_free
    - SSL_CTX_set_min_proto_version
    - EC_KEY_generate_key
    - SSL_CTX_free
    - X509_getm_notAfter
    - isc_tlsctx_load_certificate
    - EVP_PKEY_CTX_new
    - EVP_PKEY_keygen_init
    - X509_get_subject_name
    - EC_KEY_set_conv_form
    - X509_NAME_add_entry_by_txt
    - SSL_CTX_set_options
    - ERR_get_error
    - EVP_PKEY_CTX_free
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    - sslkeylogfile_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_tlsctx_createserver(const char *keyfile, const char
      *certfile,\n\t\t\tisc_tlsctx_t **ctxp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/tls.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tls_ver
    argTypes:
    - isc_tls_protocol_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 400
    functionName: get_tls_version_disable_bit
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: long
    signature: long get_tls_version_disable_bit(const isc_tls_protocol_version_t tls_ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_tls_version_disable_bit
      Src: /src/bind9/lib/isc/tls.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls_ver
    argTypes:
    - isc_tls_protocol_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: isc_tls_protocol_supported
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - get_tls_version_disable_bit
    linkageType: ''
    returnType: bool
    signature: bool isc_tls_protocol_supported(const isc_tls_protocol_version_t tls_ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:409,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/tls.c:411,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/tls.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 418
    functionName: isc_tls_protocol_name_to_version
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - strcasecmp
    - REQUIRE
    linkageType: ''
    returnType: isc_tls_protocol_version_t
    signature: isc_tls_protocol_version_t isc_tls_protocol_name_to_version(const char
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:422,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:423,1
    - Dst: get_tls_version_disable_bit
      Src: /src/bind9/lib/isc/tls.c:447,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:457,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/lib/isc/tls.c:457,1
    - Dst: get_tls_version_disable_bit
      Src: /src/bind9/lib/isc/tls.c:458,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:467,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:469,1
    - Dst: SSL_CTX_clear_options
      Src: /src/bind9/lib/isc/tls.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - tls_versions
    argTypes:
    - isc_tlsctx_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 471
    functionName: isc_tlsctx_set_protocols
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_tls_protocol_supported
    - INSIST
    - get_tls_version_disable_bit
    - SSL_CTX_clear_options
    - REQUIRE
    - SSL_CTX_set_options
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_set_protocols(isc_tlsctx_t *ctx, const uint32_t tls_versions)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:476,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:477,1
    - Dst: fopen
      Src: /src/bind9/lib/isc/tls.c:484,1
    - Dst: PEM_read_DHparams
      Src: /src/bind9/lib/isc/tls.c:488,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/tls.c:489,1
    - Dst: DH_check
      Src: /src/bind9/lib/isc/tls.c:493,1
    - Dst: DH_free
      Src: /src/bind9/lib/isc/tls.c:494,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/bind9/lib/isc/tls.c:501,1
    - Dst: DH_free
      Src: /src/bind9/lib/isc/tls.c:502,1
    - Dst: DH_free
      Src: /src/bind9/lib/isc/tls.c:506,1
    - Dst: BIO_new_file
      Src: /src/bind9/lib/isc/tls.c:512,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/bind9/lib/isc/tls.c:517,1
    - Dst: BIO_free
      Src: /src/bind9/lib/isc/tls.c:519,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/bind9/lib/isc/tls.c:523,1
    - Dst: BIO_free
      Src: /src/bind9/lib/isc/tls.c:524,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:525,1
    - Dst: BIO_free
      Src: /src/bind9/lib/isc/tls.c:532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - dhparams_file
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 536
    functionName: isc_tlsctx_load_dhparams
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - PEM_read_DHparams
    - EVP_PKEY_free
    - PEM_read_bio_Parameters
    - fopen
    - fclose
    - SSL_CTX_set0_tmp_dh_pkey
    - REQUIRE
    - SSL_CTX_set_tmp_dh
    - DH_free
    - BIO_new_file
    - DH_check
    linkageType: ''
    returnType: bool
    signature: bool isc_tlsctx_load_dhparams(isc_tlsctx_t *ctx, const char *dhparams_file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:543,1
    - Dst: TLS_server_method
      Src: /src/bind9/lib/isc/tls.c:549,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:553,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/bind9/lib/isc/tls.c:558,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cipherlist
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 563
    functionName: isc_tls_cipherlist_valid
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cipher_list
    - SSL_CTX_new
    - TLS_server_method
    - REQUIRE
    - isc_tlsctx_free
    linkageType: ''
    returnType: bool
    signature: bool isc_tls_cipherlist_valid(const char *cipherlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:567,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:568,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:569,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:571,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/bind9/lib/isc/tls.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cipherlist
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 572
    functionName: isc_tlsctx_set_cipherlist
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_cipher_list
    - REQUIRE
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_set_cipherlist(isc_tlsctx_t *ctx, const char *cipherlist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:579,1
    - Dst: TLS_server_method
      Src: /src/bind9/lib/isc/tls.c:585,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:589,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/bind9/lib/isc/tls.c:594,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cipher_suites
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 599
    functionName: isc_tls_cipher_suites_valid
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_new
    - TLS_server_method
    - REQUIRE
    - isc_tlsctx_free
    linkageType: ''
    returnType: bool
    signature: bool isc_tls_cipher_suites_valid(const char *cipher_suites)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:603,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:605,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:607,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/bind9/lib/isc/tls.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cipher_suites
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: isc_tlsctx_set_cipher_suites
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ciphersuites
    - REQUIRE
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_set_cipher_suites(isc_tlsctx_t *ctx, const char *cipher_suites)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:612,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:615,1
    - Dst: SSL_CTX_clear_options
      Src: /src/bind9/lib/isc/tls.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - prefer
    argTypes:
    - isc_tlsctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 620
    functionName: isc_tlsctx_prefer_server_ciphers
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_clear_options
    - REQUIRE
    - SSL_CTX_set_options
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_prefer_server_ciphers(isc_tlsctx_t *ctx, const bool
      prefer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:624,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:627,1
    - Dst: SSL_CTX_clear_options
      Src: /src/bind9/lib/isc/tls.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - use
    argTypes:
    - isc_tlsctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 631
    functionName: isc_tlsctx_session_tickets
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_clear_options
    - REQUIRE
    - SSL_CTX_set_options
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_session_tickets(isc_tlsctx_t *ctx, const bool use)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:637,1
    - Dst: SSL_new
      Src: /src/bind9/lib/isc/tls.c:639,1
    - Dst: ERR_get_error
      Src: /src/bind9/lib/isc/tls.c:642,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:644,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/tls.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 650
    functionName: isc_tls_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_new
    - fprintf
    - REQUIRE
    - ERR_get_error
    - ERR_error_string_n
    linkageType: ''
    returnType: isc_tls_t
    signature: 'isc_tls_t *

      isc_tls_create(isc_tlsctx_t *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:655,1
    - Dst: SSL_free
      Src: /src/bind9/lib/isc/tls.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tlsp
    argTypes:
    - isc_tls_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: isc_tls_free
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tls_free(isc_tls_t **tlsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:664,1
    - Dst: X509_verify_cert_error_string
      Src: /src/bind9/lib/isc/tls.c:666,1
    - Dst: SSL_get_verify_result
      Src: /src/bind9/lib/isc/tls.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tls
    argTypes:
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: isc_tls_verify_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_get_verify_result
    - X509_verify_cert_error_string
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_tls_verify_peer_result_string(isc_tls_t *tls)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:677,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:678,1
    - Dst: nghttp2_select_next_protocol
      Src: /src/bind9/lib/isc/tls.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 684
    functionName: select_next_proto_cb
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - nghttp2_select_next_protocol
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int select_next_proto_cb(SSL *ssl, unsigned char **out, unsigned char
      *outlen,\n\t\t     const unsigned char *in, unsigned int inlen, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:689,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/bind9/lib/isc/tls.c:692,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/bind9/lib/isc/tls.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: isc_tlsctx_enable_http2client_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set_next_proto_select_cb
    - SSL_CTX_set_alpn_protos
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_enable_http2client_alpn(isc_tlsctx_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:703,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ssl
    - data
    - len
    - arg
    argTypes:
    - isc_tls_t*
    - unsigned char**
    - unsigned int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 709
    functionName: next_proto_cb
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int next_proto_cb(isc_tls_t *ssl, const unsigned char **data, unsigned
      int *len,\n\t      void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:717,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:718,1
    - Dst: nghttp2_select_next_protocol
      Src: /src/bind9/lib/isc/tls.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 728
    functionName: alpn_select_proto_cb
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - nghttp2_select_next_protocol
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int alpn_select_proto_cb(SSL *ssl, const unsigned char **out, unsigned
      char *outlen,\n\t\t     const unsigned char *in, unsigned int inlen, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:732,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/bind9/lib/isc/tls.c:735,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/bind9/lib/isc/tls.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tls
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: isc_tlsctx_enable_http2server_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_next_protos_advertised_cb
    - SSL_CTX_set_alpn_select_cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_enable_http2server_alpn(isc_tlsctx_t *tls)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:745,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:746,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/bind9/lib/isc/tls.c:749,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/bind9/lib/isc/tls.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tls
    - alpn
    - alpnlen
    argTypes:
    - isc_tls_t*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 754
    functionName: isc_tls_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_get0_alpn_selected
    - SSL_get0_next_proto_negotiated
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_tls_get_selected_alpn(isc_tls_t *tls, const unsigned char
      **alpn,\n\t\t\t  unsigned int *alpnlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/isc/tls.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - pout
    - pout_len
    - in
    - in_len
    - key
    - key_len
    argTypes:
    - uint8_t**
    - uint8_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 768
    functionName: protoneg_check_protocol
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool protoneg_check_protocol(const uint8_t **pout, uint8_t *pout_len,\n\t\t\tconst
      uint8_t *in, size_t in_len, const uint8_t *key,\n\t\t\tsize_t key_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: protoneg_check_protocol
      Src: /src/bind9/lib/isc/tls.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pout
    - pout_len
    - in
    - in_len
    argTypes:
    - uint8_t**
    - uint8_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: dot_select_next_protocol
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - protoneg_check_protocol
    linkageType: ''
    returnType: bool
    signature: "bool dot_select_next_protocol(const uint8_t **pout, uint8_t *pout_len,\n\t\t\t
      const uint8_t *in, size_t in_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:784,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/bind9/lib/isc/tls.c:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 788
    functionName: isc_tlsctx_enable_dot_client_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set_alpn_protos
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_enable_dot_client_alpn(isc_tlsctx_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:796,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:797,1
    - Dst: dot_select_next_protocol
      Src: /src/bind9/lib/isc/tls.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ssl
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 806
    functionName: dot_alpn_select_proto_cb
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dot_select_next_protocol
    linkageType: ''
    returnType: int
    signature: "int dot_alpn_select_proto_cb(SSL *ssl, const unsigned char **out,\n\t\t\t
      unsigned char *outlen, const unsigned char *in,\n\t\t\t unsigned int inlen,
      void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:810,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/bind9/lib/isc/tls.c:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tls
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 813
    functionName: isc_tlsctx_enable_dot_server_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_alpn_select_cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_enable_dot_server_alpn(isc_tlsctx_t *tls)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:821,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:822,1
    - Dst: SSL_CTX_get0_param
      Src: /src/bind9/lib/isc/tls.c:828,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:832,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:833,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/bind9/lib/isc/tls.c:835,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/bind9/lib/isc/tls.c:838,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:841,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:863,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/bind9/lib/isc/tls.c:865,1
    - Dst: SSL_CTX_set1_cert_store
      Src: /src/bind9/lib/isc/tls.c:869,1
    - Dst: SSL_CTX_set_verify
      Src: /src/bind9/lib/isc/tls.c:873,1
    - Dst: SSL_CTX_set_verify
      Src: /src/bind9/lib/isc/tls.c:878,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - tlsctx
    - is_server
    - store
    - hostname
    - hostname_ignore_subject
    argTypes:
    - isc_tlsctx_t*
    - bool
    - isc_tls_cert_store_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 882
    functionName: isc_tlsctx_enable_peer_verification
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - X509_VERIFY_PARAM_set1_host
    - SSL_CTX_set_verify
    - UNUSED
    - X509_VERIFY_PARAM_set1_ip_asc
    - SSL_CTX_get0_param
    - SSL_CTX_set1_cert_store
    - inet_pton
    - REQUIRE
    - ERR_clear_error
    - X509_VERIFY_PARAM_set_hostflags
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_tlsctx_enable_peer_verification(isc_tlsctx_t *tlsctx,
      const bool is_server,\n\t\t\t\t    isc_tls_cert_store_t *store,\n\t\t\t\t    const
      char *hostname,\n\t\t\t\t    bool hostname_ignore_subject)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/bind9/lib/isc/tls.c:886,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:887,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:888,1
    - Dst: SSL_load_client_CA_file
      Src: /src/bind9/lib/isc/tls.c:890,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:892,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/bind9/lib/isc/tls.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - ca_bundle_file
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 899
    functionName: isc_tlsctx_load_client_ca_names
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_load_client_CA_file
    - STACK_OF
    - ERR_clear_error
    - REQUIRE
    - SSL_CTX_set_client_CA_list
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_tlsctx_load_client_ca_names(isc_tlsctx_t *ctx, const
      char *ca_bundle_file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:906,1
    - Dst: X509_STORE_new
      Src: /src/bind9/lib/isc/tls.c:908,1
    - Dst: X509_STORE_set_default_paths
      Src: /src/bind9/lib/isc/tls.c:919,1
    - Dst: X509_STORE_load_locations
      Src: /src/bind9/lib/isc/tls.c:921,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:933,1
    - Dst: X509_STORE_free
      Src: /src/bind9/lib/isc/tls.c:935,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ca_bundle_filename
    - pstore
    argTypes:
    - char*
    - isc_tls_cert_store_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 938
    functionName: isc_tls_cert_store_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - X509_STORE_set_default_paths
    - X509_STORE_load_locations
    - X509_STORE_free
    - REQUIRE
    - ERR_clear_error
    - X509_STORE_new
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_tls_cert_store_create(const char *ca_bundle_filename,\n\t\t\t
      \ isc_tls_cert_store_t **pstore)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:943,1
    - Dst: X509_STORE_free
      Src: /src/bind9/lib/isc/tls.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pstore
    argTypes:
    - isc_tls_cert_store_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 950
    functionName: isc_tls_cert_store_free
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - X509_STORE_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tls_cert_store_free(isc_tls_cert_store_t **pstore)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 954
    functionName: VALID_TLSCTX_CACHE
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TLSCTX_CACHE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 958
    functionName: VALID_TLSCTX_CLIENT_SESSION_CACHE
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TLSCTX_CLIENT_SESSION_CACHE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:988,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:989,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/tls.c:992,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/tls.c:993,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/isc/tls.c:995,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/isc/tls.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mctx
    - cachep
    argTypes:
    - isc_mem_t*
    - isc_tlsctx_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 999
    functionName: isc_tlsctx_cache_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - isc_rwlock_init
    - isc_mem_get
    - isc_refcount_init
    - isc_ht_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_cache_create(isc_mem_t *mctx, isc_tlsctx_cache_t **cachep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1004,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1005,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/tls.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - isc_tlsctx_cache_t*
    - isc_tlsctx_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1010
    functionName: isc_tlsctx_cache_attach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - VALID_TLSCTX_CACHE
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_cache_attach(isc_tlsctx_cache_t *source,\n\t\t\tisc_tlsctx_cache_t
      **targetp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:1019,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/lib/isc/tls.c:1023,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/isc/tls.c:1029,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/tls.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - mctx
    - entry
    argTypes:
    - isc_mem_t*
    - isc_tlsctx_cache_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1032
    functionName: tlsctx_cache_entry_destroy
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_tls_cert_store_free
    - isc_tlsctx_free
    - isc_tlsctx_client_session_cache_detach
    linkageType: ''
    returnType: void
    signature: void tlsctx_cache_entry_destroy(isc_mem_t *mctx, isc_tlsctx_cache_entry_t
      *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/tls.c:1041,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/isc/tls.c:1043,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/isc/tls.c:1044,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/isc/tls.c:1045,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/isc/tls.c:1048,1
    - Dst: tlsctx_cache_entry_destroy
      Src: /src/bind9/lib/isc/tls.c:1049,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/isc/tls.c:1052,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/isc/tls.c:1053,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/isc/tls.c:1054,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/tls.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cache
    argTypes:
    - isc_tlsctx_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1034
    functionDepth: 4
    functionLinenumber: 1034
    functionLinenumberEnd: 1056
    functionName: tlsctx_cache_destroy
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_ht_iter_first
    - isc_mem_putanddetach
    - isc_ht_iter_delcurrent_next
    - isc_ht_destroy
    - isc_ht_iter_create
    - tlsctx_cache_entry_destroy
    - isc_refcount_destroy
    - isc_ht_iter_destroy
    - isc_rwlock_destroy
    - isc_ht_iter_current
    linkageType: ''
    returnType: void
    signature: void tlsctx_cache_destroy(isc_tlsctx_cache_t *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1062,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1067,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:1067,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/tls.c:1069,1
    - Dst: tlsctx_cache_destroy
      Src: /src/bind9/lib/isc/tls.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cachep
    argTypes:
    - isc_tlsctx_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1072
    functionName: isc_tlsctx_cache_detach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 8
    functionsReached:
    - tlsctx_cache_destroy
    - REQUIRE
    - isc_refcount_decrement
    - VALID_TLSCTX_CACHE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_cache_detach(isc_tlsctx_cache_t **cachep)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1087,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:1087,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1088,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1089,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1090,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1091,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1093,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1094,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/isc/tls.c:1099,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1101,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1102,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1108,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1113,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1122,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/isc/tls.c:1141,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1148,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1149,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1156,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/isc/tls.c:1156,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/isc/tls.c:1162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 10
    argNames:
    - cache
    - name
    - transport
    - family
    - ctx
    - store
    - client_sess_cache
    - pfound
    - pfound_store
    - pfound_client_sess_cache
    argTypes:
    - isc_tlsctx_cache_t*
    - char*
    - isc_tlsctx_cache_transport_t
    - uint16_t
    - isc_tlsctx_t*
    - isc_tls_cert_store_t*
    - isc_tlsctx_client_session_cache_t*
    - isc_tlsctx_t**
    - isc_tls_cert_store_t**
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1074
    functionDepth: 4
    functionLinenumber: 1074
    functionLinenumberEnd: 1165
    functionName: isc_tlsctx_cache_add
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - isc_ht_find
    - RUNTIME_CHECK
    - RWUNLOCK
    - RWLOCK
    - isc_tls_cert_store_free
    - INSIST
    - VALID_TLSCTX_CACHE
    - strlen
    - isc_mem_get
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - REQUIRE
    - isc_ht_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_tlsctx_cache_add(\n\tisc_tlsctx_cache_t *cache, const
      char *name,\n\tconst isc_tlsctx_cache_transport_t transport, const uint16_t
      family,\n\tisc_tlsctx_t *ctx, isc_tls_cert_store_t *store,\n\tisc_tlsctx_client_session_cache_t
      *client_sess_cache,\n\tisc_tlsctx_t **pfound, isc_tls_cert_store_t **pfound_store,\n\tisc_tlsctx_client_session_cache_t
      **pfound_client_sess_cache)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1178,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:1178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1183,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/isc/tls.c:1188,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1190,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1190,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1208,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1216,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/isc/tls.c:1219,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 7
    argNames:
    - cache
    - name
    - transport
    - family
    - pctx
    - pstore
    - pfound_client_sess_cache
    argTypes:
    - isc_tlsctx_cache_t*
    - char*
    - isc_tlsctx_cache_transport_t
    - uint16_t
    - isc_tlsctx_t**
    - isc_tls_cert_store_t**
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1167
    functionDepth: 4
    functionLinenumber: 1167
    functionLinenumberEnd: 1222
    functionName: isc_tlsctx_cache_find
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - isc_ht_find
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - VALID_TLSCTX_CACHE
    - strlen
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_tlsctx_cache_find(\n\tisc_tlsctx_cache_t *cache,
      const char *name,\n\tconst isc_tlsctx_cache_transport_t transport, const uint16_t
      family,\n\tisc_tlsctx_t **pctx, isc_tls_cert_store_t **pstore,\n\tisc_tlsctx_client_session_cache_t
      **pfound_client_sess_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1281,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1283,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1285,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/tls.c:1288,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/tls.c:1289,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/tls.c:1290,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/isc/tls.c:1292,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/tls.c:1293,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/tls.c:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - mctx
    - ctx
    - max_entries
    - cachep
    argTypes:
    - isc_mem_t*
    - isc_tlsctx_t*
    - size_t
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1299
    functionName: isc_tlsctx_client_session_cache_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - isc_ht_init
    - ISC_LIST_INIT
    - isc_tlsctx_attach
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_create(\n\tisc_mem_t *mctx, isc_tlsctx_t
      *ctx, const size_t max_entries,\n\tisc_tlsctx_client_session_cache_t **cachep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1305,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1306,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/tls.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1311
    functionName: isc_tlsctx_client_session_cache_attach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - REQUIRE
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_attach(\n\tisc_tlsctx_client_session_cache_t
      *source,\n\tisc_tlsctx_client_session_cache_t **targetp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/tls.c:1319,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/tls.c:1320,1
    - Dst: SSL_SESSION_free
      Src: /src/bind9/lib/isc/tls.c:1322,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/tls.c:1323,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/tls.c:1326,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1327,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/isc/tls.c:1327,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/tls.c:1332,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/tls.c:1333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    - client_session_cache_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1313
    functionDepth: 4
    functionLinenumber: 1313
    functionLinenumberEnd: 1335
    functionName: client_cache_entry_delete
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_mem_free
    - RUNTIME_CHECK
    - isc_ht_delete
    - SSL_SESSION_free
    - ISC_LIST_UNLINK
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: "void client_cache_entry_delete(isc_tlsctx_client_session_cache_t *restrict
      cache,\n\t\t\t  client_session_cache_entry_t *restrict entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1347,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1347,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/tls.c:1349,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/tls.c:1355,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/tls.c:1357,1
    - Dst: client_cache_entry_delete
      Src: /src/bind9/lib/isc/tls.c:1358,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1361,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/isc/tls.c:1361,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/isc/tls.c:1362,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/tls.c:1364,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:1365,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/tls.c:1366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - cachep
    argTypes:
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1337
    functionDepth: 5
    functionLinenumber: 1337
    functionLinenumberEnd: 1367
    functionName: isc_tlsctx_client_session_cache_detach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - isc_mem_putanddetach
    - isc_ht_destroy
    - client_cache_entry_delete
    - isc_refcount_decrement
    - isc_ht_count
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_tlsctx_free
    - isc_refcount_destroy
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_detach(\n\tisc_tlsctx_client_session_cache_t
      **cachep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1378,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1380,1
    - Dst: SSL_get1_session
      Src: /src/bind9/lib/isc/tls.c:1382,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:1384,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/bind9/lib/isc/tls.c:1386,1
    - Dst: SSL_SESSION_free
      Src: /src/bind9/lib/isc/tls.c:1387,1
    - Dst: SSL_set_session
      Src: /src/bind9/lib/isc/tls.c:1391,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/isc/tls.c:1393,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1395,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1396,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1401,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1402,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/tls.c:1404,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/tls.c:1408,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1409,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/isc/tls.c:1409,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1416,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/tls.c:1419,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/tls.c:1420,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/tls.c:1422,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/tls.c:1424,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1433,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/tls.c:1435,1
    - Dst: client_cache_entry_delete
      Src: /src/bind9/lib/isc/tls.c:1436,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/isc/tls.c:1439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - cache
    - remote_peer_name
    - tls
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    - char*
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1369
    functionDepth: 5
    functionLinenumber: 1369
    functionLinenumberEnd: 1440
    functionName: isc_tlsctx_client_session_cache_keep
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - client_cache_entry_delete
    - REQUIRE
    - SSL_SESSION_is_resumable
    - ISC_LIST_HEAD
    - ISC_LINK_INIT
    - SSL_SESSION_free
    - SSL_get1_session
    - ERR_clear_error
    - isc_mutex_lock
    - ISC_LIST_INIT
    - isc_mutex_unlock
    - RUNTIME_CHECK
    - INSIST
    - strlen
    - isc_mem_get
    - SSL_set_session
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - isc_mem_strdup
    - isc_ht_add
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_keep(isc_tlsctx_client_session_cache_t
      *cache,\n\t\t\t\t     char *remote_peer_name, isc_tls_t *tls)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1450,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1452,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/isc/tls.c:1454,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1457,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1458,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1465,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1472,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/tls.c:1472,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isc/tls.c:1473,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1474,1
    - Dst: SSL_set_session
      Src: /src/bind9/lib/isc/tls.c:1474,1
    - Dst: client_cache_entry_delete
      Src: /src/bind9/lib/isc/tls.c:1475,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/isc/tls.c:1478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - cache
    - remote_peer_name
    - tls
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    - char*
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1442
    functionDepth: 5
    functionLinenumber: 1442
    functionLinenumberEnd: 1479
    functionName: isc_tlsctx_client_session_cache_reuse
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - ISC_LIST_EMPTY
    - RUNTIME_CHECK
    - client_cache_entry_delete
    - INSIST
    - strlen
    - SSL_set_session
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - REQUIRE
    - isc_mutex_lock
    - ISC_LIST_TAIL
    - isc_mutex_unlock
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_reuse(isc_tlsctx_client_session_cache_t
      *cache,\n\t\t\t\t      char *remote_peer_name, isc_tls_t *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1487,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/tls.c:1489,1
    - Dst: isc_tlsctx_client_session_cache_keep
      Src: /src/bind9/lib/isc/tls.c:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cache
    - remote_peer
    - tls
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    - isc_sockaddr_t*
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1481
    functionDepth: 6
    functionLinenumber: 1481
    functionLinenumberEnd: 1492
    functionName: isc_tlsctx_client_session_cache_keep_sockaddr
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_tlsctx_client_session_cache_keep
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_keep_sockaddr(\n\tisc_tlsctx_client_session_cache_t
      *cache, isc_sockaddr_t *remote_peer,\n\tisc_tls_t *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1500,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/tls.c:1502,1
    - Dst: isc_tlsctx_client_session_cache_reuse
      Src: /src/bind9/lib/isc/tls.c:1504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cache
    - remote_peer
    - tls
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    - isc_sockaddr_t*
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1494
    functionDepth: 6
    functionLinenumber: 1494
    functionLinenumberEnd: 1505
    functionName: isc_tlsctx_client_session_cache_reuse_sockaddr
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_tlsctx_client_session_cache_reuse
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_tlsctx_client_session_cache_reuse_sockaddr(\n\tisc_tlsctx_client_session_cache_t
      *cache, isc_sockaddr_t *remote_peer,\n\tisc_tls_t *tls)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1510,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1512
    functionName: isc_tlsctx_client_session_cache_getctx
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - REQUIRE
    linkageType: ''
    returnType: isc_tlsctx_t
    signature: "isc_tlsctx_t *\nisc_tlsctx_client_session_cache_getctx(\n\tisc_tlsctx_client_session_cache_t
      *cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/tls.c:1517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1519,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1521,1
    - Dst: RAND_bytes
      Src: /src/bind9/lib/isc/tls.c:1521,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1523,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/bind9/lib/isc/tls.c:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1525
    functionName: isc_tlsctx_set_random_session_id_context
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    - RUNTIME_CHECK
    - ISC_MIN
    - SSL_CTX_set_session_id_context
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_tlsctx_set_random_session_id_context(isc_tlsctx_t *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:1537,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:1542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1548
    functionName: isc_tls_valid_sni_hostname
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - inet_pton
    linkageType: ''
    returnType: bool
    signature: bool isc_tls_valid_sni_hostname(const char *hostname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/bind9/lib/isc/tls.c:1553,1
    - Dst: ERR_GET_LIB
      Src: /src/bind9/lib/isc/tls.c:1555,1
    - Dst: ERR_GET_REASON
      Src: /src/bind9/lib/isc/tls.c:1557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - fallback
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1580
    functionName: isc__tls_toresult
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_peek_error
    - ERR_GET_REASON
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__tls_toresult(isc_result_t fallback)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc__tls_toresult
      Src: /src/bind9/lib/isc/tls.c:1586,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:1597,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/tls.c:1599,1
    - Dst: ERR_get_error_all
      Src: /src/bind9/lib/isc/tls.c:1608,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:1615,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:1617,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:1623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - category
    - module
    - funcname
    - fallback
    - file
    - line
    argTypes:
    - isc_logcategory_t
    - isc_logmodule_t
    - char*
    - isc_result_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1625
    functionName: isc__tlserr2result
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc__tls_toresult
    - isc_result_totext
    - isc_log_write
    - ERR_clear_error
    - ERR_get_error_all
    - ERR_error_string_n
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__tlserr2result(isc_logcategory_t category, isc_logmodule_t
      module,\n\t\t   const char *funcname, isc_result_t fallback,\n\t\t   const char
      *file, int line)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/utf8.c:33,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 36
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: isc_utf8_valid
    functionSourceFile: /src/bind9/lib/isc/utf8.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_utf8_valid(const unsigned char *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/utf8.c:83,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/utf8.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: isc_utf8_bom
    functionSourceFile: /src/bind9/lib/isc/utf8.c
    functionUses: 0
    functionsReached:
    - memcmp
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_utf8_bom(const unsigned char *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tid.c:39,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tid.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tid
    argTypes:
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: isc__tid_init
    functionSourceFile: /src/bind9/lib/isc/tid.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__tid_init(isc_tid_t tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tid.c:46,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tid.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: isc__tid_initcount
    functionSourceFile: /src/bind9/lib/isc/tid.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__tid_initcount(isc_tid_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: isc_tid_count
    functionSourceFile: /src/bind9/lib/isc/tid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: isc_tid_t
    signature: isc_tid_t isc_tid_count(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - t
    - seconds
    - nanoseconds
    argTypes:
    - isc_time_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: isc_time_set
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_time_set(isc_time_t *t, unsigned int seconds, unsigned int
      nanoseconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: isc_time_settoepoch
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_time_settoepoch(isc_time_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:73,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: isc_time_isepoch
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: bool
    signature: bool isc_time_isepoch(const isc_time_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/time.c:88,1
    - Dst: clock_gettime
      Src: /src/bind9/lib/isc/time.c:88,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:89,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - clock
    argTypes:
    - clockid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 102
    functionName: time_now
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 67
    functionsReached:
    - clock_gettime
    - INSIST
    - RUNTIME_CHECK
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t time_now(clockid_t clock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/bind9/lib/isc/time.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: isc_time_now_hires
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 18
    functionsReached:
    - time_now
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t isc_time_now_hires(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time_now
      Src: /src/bind9/lib/isc/time.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: isc_time_now
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 36
    functionsReached:
    - time_now
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t isc_time_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/time.c:118,1
    - Dst: clock_gettime
      Src: /src/bind9/lib/isc/time.c:118,1
    - Dst: isc_nanosecs_fromtime
      Src: /src/bind9/lib/isc/time.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: isc_time_monotonic
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 14
    functionsReached:
    - clock_gettime
    - isc_nanosecs_fromtime
    - RUNTIME_CHECK
    linkageType: ''
    returnType: isc_nanosecs_t
    signature: isc_nanosecs_t isc_time_monotonic(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:133,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:134,1
    - Dst: clock_gettime
      Src: /src/bind9/lib/isc/time.c:136,1
    - Dst: UNEXPECTED_SYSERROR
      Src: /src/bind9/lib/isc/time.c:137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - t
    - i
    argTypes:
    - isc_time_t*
    - isc_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 165
    functionName: isc_time_nowplusinterval
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 1
    functionsReached:
    - clock_gettime
    - UNEXPECTED_SYSERROR
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_time_nowplusinterval(isc_time_t *t, const isc_interval_t
      *i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:169,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - isc_time_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 185
    functionName: isc_time_compare
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: int
    signature: int isc_time_compare(const isc_time_t *t1, const isc_time_t *t2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:190,1
    - Dst: ISC_OVERFLOW_ADD
      Src: /src/bind9/lib/isc/time.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - t
    - i
    - result
    argTypes:
    - isc_time_t*
    - isc_interval_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 208
    functionName: isc_time_add
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 4
    functionsReached:
    - ISC_OVERFLOW_ADD
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_time_add(const isc_time_t *t, const isc_interval_t
      *i, isc_time_t *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:214,1
    - Dst: ISC_OVERFLOW_SUB
      Src: /src/bind9/lib/isc/time.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - t
    - i
    - result
    argTypes:
    - isc_time_t*
    - isc_interval_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 234
    functionName: isc_time_subtract
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - ISC_OVERFLOW_SUB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_time_subtract(const isc_time_t *t, const isc_interval_t
      *i,\n\t\t  isc_time_t *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:240,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - isc_time_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 258
    functionName: isc_time_microdiff
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 22
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_time_microdiff(const isc_time_t *t1, const isc_time_t
      *t2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:262,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: isc_time_seconds
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_time_seconds(const isc_time_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:272,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:273,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:294,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - t
    - secondsp
    argTypes:
    - isc_time_t*
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 304
    functionName: isc_time_secondsastimet
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_time_secondsastimet(const isc_time_t *t, time_t *secondsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:308,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isc/time.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: isc_time_nanoseconds
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 3
    functionsReached:
    - ENSURE
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_time_nanoseconds(const isc_time_t *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:317,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: isc_time_miliseconds
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_time_miliseconds(const isc_time_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:329,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:332,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:335,1
    - Dst: localtime_r
      Src: /src/bind9/lib/isc/time.c:335,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:336,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/time.c:338,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/time.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: isc_time_formattimestamp
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 4
    functionsReached:
    - strlcpy
    - INSIST
    - snprintf
    - strftime
    - REQUIRE
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void isc_time_formattimestamp(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:351,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:354,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:361,1
    - Dst: gmtime_r
      Src: /src/bind9/lib/isc/time.c:362,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 364
    functionName: isc_time_formathttptimestamp
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 7
    functionsReached:
    - gmtime_r
    - strftime
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc_time_formathttptimestamp(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:372,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:373,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/lib/isc/time.c:375,1
    - Dst: isc_tm_timegm
      Src: /src/bind9/lib/isc/time.c:379,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/time.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - t
    argTypes:
    - char*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 385
    functionName: isc_time_parsehttptimestamp
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 2
    functionsReached:
    - isc_tm_timegm
    - isc_time_set
    - REQUIRE
    - isc_tm_strptime
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_time_parsehttptimestamp(char *buf, isc_time_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:393,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:395,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:396,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:399,1
    - Dst: localtime_r
      Src: /src/bind9/lib/isc/time.c:399,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:400,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/time.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 405
    functionName: isc_time_formatISO8601Lms
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 3
    functionsReached:
    - INSIST
    - snprintf
    - strftime
    - REQUIRE
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void isc_time_formatISO8601Lms(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:415,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:416,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:417,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:418,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:421,1
    - Dst: localtime_r
      Src: /src/bind9/lib/isc/time.c:422,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/time.c:423,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:425,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/time.c:429,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/time.c:430,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/time.c:431,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/time.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 434
    functionName: isc_time_formatISO8601TZms
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 2
    functionsReached:
    - memmove
    - INSIST
    - snprintf
    - strftime
    - REQUIRE
    - localtime_r
    linkageType: ''
    returnType: void
    signature: void isc_time_formatISO8601TZms(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:441,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:442,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:443,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:444,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:447,1
    - Dst: gmtime_r
      Src: /src/bind9/lib/isc/time.c:447,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: isc_time_formatISO8601
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 4
    functionsReached:
    - gmtime_r
    - strftime
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc_time_formatISO8601(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:457,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:458,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:459,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:460,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:463,1
    - Dst: gmtime_r
      Src: /src/bind9/lib/isc/time.c:463,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:464,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/time.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 470
    functionName: isc_time_formatISO8601ms
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 6
    functionsReached:
    - gmtime_r
    - INSIST
    - snprintf
    - strftime
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_time_formatISO8601ms(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:478,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:479,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:481,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:484,1
    - Dst: gmtime_r
      Src: /src/bind9/lib/isc/time.c:484,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:485,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/time.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 491
    functionName: isc_time_formatISO8601us
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 2
    functionsReached:
    - gmtime_r
    - INSIST
    - snprintf
    - strftime
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_time_formatISO8601us(const isc_time_t *t, char *buf, unsigned
      int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:500,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:501,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:502,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/time.c:503,1
    - Dst: strftime
      Src: /src/bind9/lib/isc/time.c:506,1
    - Dst: gmtime_r
      Src: /src/bind9/lib/isc/time.c:506,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/time.c:507,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/time.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - t
    - buf
    - len
    argTypes:
    - isc_time_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 512
    functionName: isc_time_formatshorttimestamp
    functionSourceFile: /src/bind9/lib/isc/time.c
    functionUses: 2
    functionsReached:
    - gmtime_r
    - INSIST
    - snprintf
    - strftime
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_time_formatshorttimestamp(const isc_time_t *t, char *buf,\n\t\t\t
      \     unsigned int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: VALID_SYMTAB
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SYMTAB(st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/symtab.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - symtab
    - elt
    argTypes:
    - isc_symtab_t*
    - elt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: elt_destroy
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 2
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void elt_destroy(isc_symtab_t *symtab, elt_t *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:66,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/symtab.c:68,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/symtab.c:76,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/isc/symtab.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mctx
    - undefine_action
    - undefine_arg
    - case_sensitive
    - symtabp
    argTypes:
    - isc_mem_t*
    - isc_symtabaction_t
    - void*
    - bool
    - isc_symtab_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 81
    functionName: isc_symtab_create
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 6
    functionsReached:
    - isc_mem_get
    - isc_hashmap_create
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: "void isc_symtab_create(isc_mem_t *mctx, isc_symtabaction_t undefine_action,\n\t\t
      \ void *undefine_arg, bool case_sensitive,\n\t\t  isc_symtab_t **symtabp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:85,1
    - Dst: VALID_SYMTAB
      Src: /src/bind9/lib/isc/symtab.c:85,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/isc/symtab.c:94,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/isc/symtab.c:95,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/lib/isc/symtab.c:96,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/isc/symtab.c:99,1
    - Dst: elt_destroy
      Src: /src/bind9/lib/isc/symtab.c:100,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/symtab.c:102,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/isc/symtab.c:103,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/isc/symtab.c:105,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/symtab.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - symtabp
    argTypes:
    - isc_symtab_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: isc_symtab_destroy
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 6
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_destroy
    - isc_mem_putanddetach
    - isc_hashmap_iter_delcurrent_next
    - INSIST
    - elt_destroy
    - isc_hashmap_iter_create
    - REQUIRE
    - VALID_SYMTAB
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    linkageType: ''
    returnType: void
    signature: void isc_symtab_destroy(isc_symtab_t **symtabp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/isc/symtab.c:124,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/lib/isc/symtab.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - node
    - key0
    - case_sensitive
    argTypes:
    - void*
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: elt__match
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool elt__match(void *node, const void *key0, bool case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elt__match
      Src: /src/bind9/lib/isc/symtab.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: elt_match_case
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 0
    functionsReached:
    - elt__match
    linkageType: ''
    returnType: bool
    signature: bool elt_match_case(void *node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: elt__match
      Src: /src/bind9/lib/isc/symtab.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: elt_match_nocase
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 0
    functionsReached:
    - elt__match
    linkageType: ''
    returnType: bool
    signature: bool elt_match_nocase(void *node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fx_hash_bytes
      Src: /src/bind9/lib/isc/symtab.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elt
    - case_sensitive
    argTypes:
    - elt_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: elt_hash
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 0
    functionsReached:
    - fx_hash_bytes
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t elt_hash(elt_t *restrict elt, bool case_sensitive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:150,1
    - Dst: VALID_SYMTAB
      Src: /src/bind9/lib/isc/symtab.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:152,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/symtab.c:156,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/symtab.c:157,1
    - Dst: elt_hash
      Src: /src/bind9/lib/isc/symtab.c:160,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/isc/symtab.c:164,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/symtab.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - symtab
    - key
    - type
    - valuep
    argTypes:
    - isc_symtab_t*
    - char*
    - unsigned int
    - isc_symvalue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: isc_symtab_lookup
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 6
    functionsReached:
    - SET_IF_NOT_NULL
    - elt_hash
    - strlen
    - UNCONST
    - REQUIRE
    - VALID_SYMTAB
    - isc_hashmap_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_symtab_lookup(isc_symtab_t *symtab, const char *key,
      unsigned int type,\n\t\t  isc_symvalue_t *valuep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_define_and_return
      Src: /src/bind9/lib/isc/symtab.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - symtab
    - key
    - type
    - value
    - exists_policy
    argTypes:
    - isc_symtab_t*
    - char*
    - unsigned int
    - isc_symvalue_t
    - isc_symexists_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: isc_symtab_define
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 6
    functionsReached:
    - isc_symtab_define_and_return
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_symtab_define(isc_symtab_t *symtab, const char *key,
      unsigned int type,\n\t\t  isc_symvalue_t value, isc_symexists_t exists_policy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:186,1
    - Dst: VALID_SYMTAB
      Src: /src/bind9/lib/isc/symtab.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:188,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/symtab.c:192,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/symtab.c:194,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/symtab.c:195,1
    - Dst: elt_hash
      Src: /src/bind9/lib/isc/symtab.c:199,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/isc/symtab.c:204,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/symtab.c:208,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/symtab.c:214,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/symtab.c:215,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/isc/symtab.c:218,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/symtab.c:220,1
    - Dst: elt_destroy
      Src: /src/bind9/lib/isc/symtab.c:221,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/symtab.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 6
    argNames:
    - symtab
    - key
    - type
    - value
    - exists_policy
    - valuep
    argTypes:
    - isc_symtab_t*
    - char*
    - unsigned int
    - isc_symvalue_t
    - isc_symexists_t
    - isc_symvalue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 228
    functionName: isc_symtab_define_and_return
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - SET_IF_NOT_NULL
    - elt_hash
    - isc_hashmap_delete
    - isc_hashmap_add
    - INSIST
    - strlen
    - isc_mem_get
    - elt_destroy
    - UNCONST
    - REQUIRE
    - VALID_SYMTAB
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_symtab_define_and_return(isc_symtab_t *symtab, const
      char *key,\n\t\t\t     unsigned int type, isc_symvalue_t value,\n\t\t\t     isc_symexists_t
      exists_policy,\n\t\t\t     isc_symvalue_t *valuep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:232,1
    - Dst: VALID_SYMTAB
      Src: /src/bind9/lib/isc/symtab.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:234,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/symtab.c:238,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/symtab.c:239,1
    - Dst: elt_hash
      Src: /src/bind9/lib/isc/symtab.c:242,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/isc/symtab.c:247,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/isc/symtab.c:254,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/symtab.c:256,1
    - Dst: elt_destroy
      Src: /src/bind9/lib/isc/symtab.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - symtab
    - key
    - type
    argTypes:
    - isc_symtab_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 261
    functionName: isc_symtab_undefine
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 4
    functionsReached:
    - elt_hash
    - isc_hashmap_delete
    - INSIST
    - strlen
    - elt_destroy
    - UNCONST
    - REQUIRE
    - VALID_SYMTAB
    - isc_hashmap_find
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_symtab_undefine(isc_symtab_t *symtab, const char *key,
      unsigned int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:265,1
    - Dst: VALID_SYMTAB
      Src: /src/bind9/lib/isc/symtab.c:265,1
    - Dst: isc_hashmap_count
      Src: /src/bind9/lib/isc/symtab.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - symtab
    argTypes:
    - isc_symtab_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: isc_symtab_count
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_count
    - REQUIRE
    - VALID_SYMTAB
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_symtab_count(isc_symtab_t *symtab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:273,1
    - Dst: VALID_SYMTAB
      Src: /src/bind9/lib/isc/symtab.c:273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/symtab.c:274,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/isc/symtab.c:279,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/isc/symtab.c:280,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/isc/symtab.c:282,1
    - Dst: elt_destroy
      Src: /src/bind9/lib/isc/symtab.c:284,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/lib/isc/symtab.c:285,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/isc/symtab.c:287,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/symtab.c:290,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/isc/symtab.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - symtab
    - action
    - arg
    argTypes:
    - isc_symtab_t*
    - isc_symtabforeachaction_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 292
    functionName: isc_symtab_foreach
    functionSourceFile: /src/bind9/lib/isc/symtab.c
    functionUses: 1
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_iter_next
    - isc_hashmap_iter_delcurrent_next
    - INSIST
    - elt_destroy
    - isc_hashmap_iter_create
    - REQUIRE
    - VALID_SYMTAB
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    linkageType: ''
    returnType: void
    signature: "void isc_symtab_foreach(isc_symtab_t *symtab, isc_symtabforeachaction_t
      action,\n\t\t   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: VALID_LOOP
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_LOOP(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: VALID_LOOPMGR
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_LOOPMGR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: VALID_SIGNAL
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SIGNAL(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: VALID_JOB
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_JOB(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loopmgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: DEFAULT_LOOP
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFAULT_LOOP(loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loopmgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: CURRENT_LOOP
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURRENT_LOOP(loopmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loopmgr
    - ','
    - tid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: LOOP
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOP(loopmgr, tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: ON_LOOP
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ON_LOOP(loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: VALID_LEX
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_LEX(l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/lex.c:71,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/lex.c:72,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/lex.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - lex
    - remainingp
    - currp
    - prevp
    argTypes:
    - isc_lex_t*
    - size_t*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: grow_data
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - memmove
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void grow_data(isc_lex_t *lex, size_t *remainingp, char **currp, char
      **prevp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:90,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/lex.c:96,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/lex.c:97,1
    - Dst: memset
      Src: /src/bind9/lib/isc/lex.c:106,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/lex.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - mctx
    - max_token
    - lexp
    argTypes:
    - isc_mem_t*
    - size_t
    - isc_lex_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 111
    functionName: isc_lex_create
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 12
    functionsReached:
    - ISC_LIST_INIT
    - isc_mem_get
    - memset
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_lex_create(isc_mem_t *mctx, size_t max_token, isc_lex_t **lexp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:124,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:124,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/lex.c:126,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/lex.c:127,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/isc/lex.c:127,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/lex.c:130,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/lex.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - lexp
    argTypes:
    - isc_lex_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: isc_lex_destroy
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 12
    functionsReached:
    - VALID_LEX
    - ISC_LIST_EMPTY
    - RUNTIME_CHECK
    - isc_lex_close
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void isc_lex_destroy(isc_lex_t **lexp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:142,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: isc_lex_getcomments
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - VALID_LEX
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_lex_getcomments(isc_lex_t *lex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:153,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lex
    - comments
    argTypes:
    - isc_lex_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: isc_lex_setcomments
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 4
    functionsReached:
    - VALID_LEX
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_lex_setcomments(isc_lex_t *lex, unsigned int comments)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:164,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:164,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/lex.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lex
    - specials
    argTypes:
    - isc_lex_t*
    - isc_lexspecials_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: isc_lex_getspecials
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - VALID_LEX
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_lex_getspecials(isc_lex_t *lex, isc_lexspecials_t specials)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:176,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:176,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/lex.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - lex
    - specials
    argTypes:
    - isc_lex_t*
    - isc_lexspecials_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: isc_lex_setspecials
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 4
    functionsReached:
    - VALID_LEX
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_lex_setspecials(isc_lex_t *lex, isc_lexspecials_t specials)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/lex.c:186,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/lex.c:192,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/lex.c:196,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/lex.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - lex
    - is_file
    - need_close
    - input
    - name
    argTypes:
    - isc_lex_t*
    - bool
    - bool
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: new_source
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - isc_mem_get
    - isc_buffer_allocate
    - isc_mem_strdup
    linkageType: ''
    returnType: void
    signature: "void new_source(isc_lex_t *lex, bool is_file, bool need_close, void
      *input,\n\t   const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:210,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:210,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/isc/lex.c:212,1
    - Dst: new_source
      Src: /src/bind9/lib/isc/lex.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lex
    - filename
    argTypes:
    - isc_lex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: isc_lex_openfile
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 1
    functionsReached:
    - VALID_LEX
    - new_source
    - isc_stdio_open
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_openfile(isc_lex_t *lex, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:229,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:229,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/lex.c:231,1
    - Dst: new_source
      Src: /src/bind9/lib/isc/lex.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lex
    - stream
    argTypes:
    - isc_lex_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: isc_lex_openstream
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 1
    functionsReached:
    - VALID_LEX
    - new_source
    - snprintf
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_lex_openstream(isc_lex_t *lex, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:244,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:244,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/lex.c:246,1
    - Dst: new_source
      Src: /src/bind9/lib/isc/lex.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lex
    - buffer
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: isc_lex_openbuffer
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 10
    functionsReached:
    - VALID_LEX
    - new_source
    - snprintf
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_openbuffer(isc_lex_t *lex, isc_buffer_t *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:260,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:260,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:262,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/lex.c:267,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/lex.c:271,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/lex.c:274,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/lex.c:275,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/lex.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: isc_lex_close
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 3
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - isc_mem_free
    - fclose
    - isc_buffer_free
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_close(isc_lex_t *lex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - source
    - c
    argTypes:
    - inputsource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: pushback
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void pushback(inputsource *source, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/lex.c:314,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/isc/lex.c:320,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/lex.c:321,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/lex.c:322,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/isc/lex.c:323,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:324,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/lex.c:326,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/lex.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - lex
    - source
    - c
    argTypes:
    - isc_lex_t*
    - inputsource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: pushandgrow
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - isc_buffer_length
    - isc_buffer_copyregion
    - INSIST
    - isc_buffer_free
    - isc_buffer_allocate
    - isc_buffer_putuint8
    - isc_buffer_usedregion
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t pushandgrow(isc_lex_t *lex, inputsource *source, int c)
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:354,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:354,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:356,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/lex.c:373,1
    - Dst: isc_buffer_compact
      Src: /src/bind9/lib/isc/lex.c:393,1
    - Dst: flockfile
      Src: /src/bind9/lib/isc/lex.c:408,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/lex.c:413,1
    - Dst: getc_unlocked
      Src: /src/bind9/lib/isc/lex.c:418,1
    - Dst: getc
      Src: /src/bind9/lib/isc/lex.c:420,1
    - Dst: ferror
      Src: /src/bind9/lib/isc/lex.c:423,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/lex.c:425,1
    - Dst: pushandgrow
      Src: /src/bind9/lib/isc/lex.c:445,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:456,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/isc/lex.c:459,1
    - Dst: isdigit
      Src: /src/bind9/lib/isc/lex.c:585,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:605,1
    - Dst: isdigit
      Src: /src/bind9/lib/isc/lex.c:612,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:626,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/isc/lex.c:628,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:666,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:668,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:678,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:681,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:710,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:734,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:736,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:752,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:805,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:825,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:835,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:838,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:860,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:884,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:886,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/lex.c:893,1
    - Dst: funlockfile
      Src: /src/bind9/lib/isc/lex.c:901,1
    CyclomaticComplexity: 180
    EdgeCount: 180
    ICount: 463
    argCount: 3
    argNames:
    - lex
    - options
    - tokenp
    argTypes:
    - isc_lex_t*
    - unsigned int
    - isc_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 905
    functionName: isc_lex_gettoken
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 6
    functionsReached:
    - isc_parse_uint32
    - isc__errno2result
    - FATAL_ERROR
    - funlockfile
    - REQUIRE
    - getc_unlocked
    - VALID_LEX
    - ISC_LIST_HEAD
    - ferror
    - getc
    - pushandgrow
    - flockfile
    - INSIST
    - isc_buffer_remaininglength
    - pushback
    - isc_buffer_getuint8
    - isc_buffer_compact
    - isc_buffer_consumedlength
    - grow_data
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_gettoken(isc_lex_t *lex, unsigned int options,
      isc_token_t *tokenp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/isc/lex.c:924,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:926,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:948,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 4
    argNames:
    - lex
    - token
    - expect
    - eol
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - isc_tokentype_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 960
    functionName: isc_lex_getmastertoken
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 6
    functionsReached:
    - isc_lex_ungettoken
    - isc_lex_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_lex_getmastertoken(isc_lex_t *lex, isc_token_t *token,\n\t\t
      \      isc_tokentype_t expect, bool eol)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/isc/lex.c:969,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:971,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:983,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - lex
    - token
    - eol
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 992
    functionName: isc_lex_getoctaltoken
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - isc_lex_ungettoken
    - isc_lex_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_getoctaltoken(isc_lex_t *lex, isc_token_t *token,
      bool eol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1001,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1001,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1002,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1005,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1005,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/lex.c:1008,1
    - Dst: isc_buffer_first
      Src: /src/bind9/lib/isc/lex.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lex
    - tokenp
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1014
    functionName: isc_lex_ungettoken
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 6
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - UNUSED
    - isc_buffer_first
    - isc_buffer_consumedlength
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_lex_ungettoken(isc_lex_t *lex, isc_token_t *tokenp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1020,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1020,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1021,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1022,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1023,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1024,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1024,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/lex.c:1027,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:1029,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1029,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/lex.c:1030,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - lex
    - tokenp
    - r
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1034
    functionName: isc_lex_getlasttokentext
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - UNUSED
    - INSIST
    - isc_buffer_consumedlength
    - REQUIRE
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void isc_lex_getlasttokentext(isc_lex_t *lex, isc_token_t *tokenp,
      isc_region_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1040,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1040,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1048
    functionName: isc_lex_getsourcename
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_lex_getsourcename(isc_lex_t *lex)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1054,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1054,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1062
    functionName: isc_lex_getsourceline
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 2
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long isc_lex_getsourceline(isc_lex_t *lex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1069,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1069,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1070,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/lex.c:1075,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/lex.c:1076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - lex
    - name
    argTypes:
    - isc_lex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1079
    functionName: isc_lex_setsourcename
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - isc_mem_free
    - isc_mem_strdup
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_setsourcename(isc_lex_t *lex, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1085,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1085,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lex
    - line
    argTypes:
    - isc_lex_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1094
    functionName: isc_lex_setsourceline
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 4
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_lex_setsourceline(isc_lex_t *lex, unsigned long line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1100,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1100,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1109
    functionName: isc_lex_isfile
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - VALID_LEX
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_lex_isfile(isc_lex_t *lex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: isc_net_probeipv4
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_net_probeipv4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: isc_net_probeipv6
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_net_probeipv6(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/bind9/lib/isc/net.c:117,1
    - Dst: sysctlbyname
      Src: /src/bind9/lib/isc/net.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - af
    - low
    - high
    argTypes:
    - int
    - in_port_t*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 134
    functionName: getudpportrange_sysctl
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getudpportrange_sysctl(int af, in_port_t *low, in_port_t
      *high)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sysctl
      Src: /src/bind9/lib/isc/net.c:157,1
    - Dst: sysctl
      Src: /src/bind9/lib/isc/net.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - af
    - low
    - high
    argTypes:
    - int
    - in_port_t*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 174
    functionName: getudpportrange_sysctl
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 0
    functionsReached:
    - sysctl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getudpportrange_sysctl(int af, in_port_t *low, in_port_t
      *high)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/net.c:185,1
    - Dst: getudpportrange_sysctl
      Src: /src/bind9/lib/isc/net.c:188,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/net.c:191,1
    - Dst: fopen
      Src: /src/bind9/lib/isc/net.c:196,1
    - Dst: fscanf
      Src: /src/bind9/lib/isc/net.c:201,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/net.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/net.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - af
    - low
    - high
    argTypes:
    - int
    - in_port_t*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 219
    functionName: isc_net_getudpportrange
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 3
    functionsReached:
    - fopen
    - UNUSED
    - fclose
    - REQUIRE
    - fscanf
    - getudpportrange_sysctl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_net_getudpportrange(int af, in_port_t *low, in_port_t
      *high)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: isc_net_disableipv4
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_net_disableipv4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: isc_net_disableipv6
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_net_disableipv6(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: isc_net_enableipv4
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_net_enableipv4(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: isc_net_enableipv6
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_net_enableipv6(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: isc_serial_lt
    functionSourceFile: /src/bind9/lib/isc/serial.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc_serial_lt(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: isc_serial_gt
    functionSourceFile: /src/bind9/lib/isc/serial.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc_serial_gt(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/isc/serial.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: isc_serial_le
    functionSourceFile: /src/bind9/lib/isc/serial.c
    functionUses: 0
    functionsReached:
    - isc_serial_lt
    linkageType: ''
    returnType: bool
    signature: bool isc_serial_le(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/isc/serial.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: isc_serial_ge
    functionSourceFile: /src/bind9/lib/isc/serial.c
    functionUses: 3
    functionsReached:
    - isc_serial_gt
    linkageType: ''
    returnType: bool
    signature: bool isc_serial_ge(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: isc_serial_eq
    functionSourceFile: /src/bind9/lib/isc/serial.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc_serial_eq(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: isc_serial_ne
    functionSourceFile: /src/bind9/lib/isc/serial.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc_serial_ne(uint32_t a, uint32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: isc_result_totext
    functionSourceFile: /src/bind9/lib/isc/result.c
    functionUses: 237
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_result_totext(isc_result_t result)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 503
    functionName: isc_result_toid
    functionSourceFile: /src/bind9/lib/isc/result.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_result_toid(isc_result_t result)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEFAULT_LOOP
      Src: /src/bind9/lib/isc/signal.c:29,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/signal.c:31,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/isc/signal.c:31,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/signal.c:39,1
    - Dst: uv_signal_init
      Src: /src/bind9/lib/isc/signal.c:41,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/signal.c:42,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/signal.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - loopmgr
    - cb
    - cbarg
    - signum
    argTypes:
    - isc_loopmgr_t*
    - isc_signal_cb
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 47
    functionName: isc_signal_new
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 2
    functionsReached:
    - DEFAULT_LOOP
    - uv_handle_set_data
    - isc_mem_get
    - uv_signal_init
    - isc_loop_attach
    - isc_loop_getmctx
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: isc_signal_t
    signature: "isc_signal_t *\nisc_signal_new(isc_loopmgr_t *loopmgr, isc_signal_cb
      cb, void *cbarg,\n\t       int signum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/signal.c:51,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:54,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:54,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/signal.c:57,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/signal.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: isc__signal_destroy_cb
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 0
    functionsReached:
    - uv_handle_get_data
    - REQUIRE
    - isc_loop_detach
    - isc_mem_put
    - VALID_SIGNAL
    linkageType: ''
    returnType: void
    signature: void isc__signal_destroy_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:66,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:66,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/signal.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - signalp
    argTypes:
    - isc_signal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: isc_signal_destroy
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 2
    functionsReached:
    - uv_close
    - REQUIRE
    - VALID_SIGNAL
    linkageType: ''
    returnType: void
    signature: void isc_signal_destroy(isc_signal_t **signalp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:78,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:78,1
    - Dst: uv_signal_stop
      Src: /src/bind9/lib/isc/signal.c:79,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/signal.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signal
    argTypes:
    - isc_signal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: isc_signal_stop
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 3
    functionsReached:
    - uv_signal_stop
    - REQUIRE
    - UV_RUNTIME_CHECK
    - VALID_SIGNAL
    linkageType: ''
    returnType: void
    signature: void isc_signal_stop(isc_signal_t *signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/signal.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:87,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:88,1
    - Dst: isc_signal_t*::cb
      Src: /src/bind9/lib/isc/signal.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: isc__signal_cb
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 0
    functionsReached:
    - isc_signal_t*::cb
    - REQUIRE
    - uv_handle_get_data
    - VALID_SIGNAL
    linkageType: ''
    returnType: void
    signature: void isc__signal_cb(uv_signal_t *handle, int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:97,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:97,1
    - Dst: uv_signal_start
      Src: /src/bind9/lib/isc/signal.c:98,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/signal.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signal
    argTypes:
    - isc_signal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: isc_signal_start
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 3
    functionsReached:
    - UV_RUNTIME_CHECK
    - REQUIRE
    - uv_signal_start
    - VALID_SIGNAL
    linkageType: ''
    returnType: void
    signature: void isc_signal_start(isc_signal_t *signal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: isc__errno2result
    functionSourceFile: /src/bind9/lib/isc/errno2result.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__errno2result(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: likely
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: unlikely
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: likely
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: unlikely
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: ALIGNED
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ALIGNED
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNED(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: IS_PRINTABLE_ASCII
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PRINTABLE_ASCII(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: CHECK_EOF
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EOF()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: EXPECT_CHAR_NO_CHECK
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_CHAR_NO_CHECK(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: EXPECT_CHAR
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPECT_CHAR(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tok
    - ','
    - toklen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: ADVANCE_TOKEN
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE_TOKEN(tok, toklen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:116,1
    - Dst: _mm_loadu_si128
      Src: /src/bind9/lib/isc/picohttpparser.c:117,1
    - Dst: _mm_loadu_si128
      Src: /src/bind9/lib/isc/picohttpparser.c:121,1
    - Dst: _mm_cmpestri
      Src: /src/bind9/lib/isc/picohttpparser.c:122,1
    - Dst: unlikely
      Src: /src/bind9/lib/isc/picohttpparser.c:126,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - buf
    - buf_end
    - ranges
    - ranges_size
    - found
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 142
    functionName: findchar_fast
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - unlikely
    - likely
    - _mm_cmpestri
    - _mm_loadu_si128
    linkageType: ''
    returnType: char
    signature: "char *\nfindchar_fast(const char *buf, const char *buf_end, const
      char *ranges,\n\t      size_t ranges_size, int *found)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: findchar_fast
      Src: /src/bind9/lib/isc/picohttpparser.c:156,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:163,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:171,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:172,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:173,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:174,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:175,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:176,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:177,1
    - Dst: DOIT
      Src: /src/bind9/lib/isc/picohttpparser.c:178,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:182,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:183,1
    - Dst: unlikely
      Src: /src/bind9/lib/isc/picohttpparser.c:184,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:192,1
    - Dst: unlikely
      Src: /src/bind9/lib/isc/picohttpparser.c:193,1
    - Dst: IS_PRINTABLE_ASCII
      Src: /src/bind9/lib/isc/picohttpparser.c:193,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:194,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:195,1
    - Dst: unlikely
      Src: /src/bind9/lib/isc/picohttpparser.c:196,1
    - Dst: likely
      Src: /src/bind9/lib/isc/picohttpparser.c:203,1
    - Dst: EXPECT_CHAR
      Src: /src/bind9/lib/isc/picohttpparser.c:205,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - buf
    - buf_end
    - token
    - token_len
    - ret
    argTypes:
    - char*
    - char*
    - char**
    - size_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 217
    functionName: get_token_to_eol
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - unlikely
    - DOIT
    - EXPECT_CHAR
    - likely
    - CHECK_EOF
    - IS_PRINTABLE_ASCII
    - findchar_fast
    linkageType: ''
    returnType: char
    signature: "char *\nget_token_to_eol(const char *buf, const char *buf_end, const
      char **token,\n\t\t size_t *token_len, int *ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: DOIT
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOIT()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:225,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:228,1
    - Dst: EXPECT_CHAR
      Src: /src/bind9/lib/isc/picohttpparser.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - buf
    - buf_end
    - last_len
    - ret
    argTypes:
    - char*
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: is_complete
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - CHECK_EOF
    - EXPECT_CHAR
    linkageType: ''
    returnType: char
    signature: 'char *

      is_complete(const char *buf, const char *buf_end, size_t last_len, int *ret)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - valp_
    - ','
    - mul_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: PARSE_INT
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_INT(valp_, mul_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - valp_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: PARSE_INT_3
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARSE_INT_3(valp_)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findchar_fast
      Src: /src/bind9/lib/isc/picohttpparser.c:285,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:287,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - buf
    - buf_end
    - token
    - token_len
    - next_char
    - ret
    argTypes:
    - char*
    - char*
    - char**
    - size_t*
    - char
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: parse_token
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - CHECK_EOF
    - findchar_fast
    linkageType: ''
    returnType: char
    signature: "char *\nparse_token(const char *buf, const char *buf_end, const char
      **token,\n\t    size_t *token_len, char next_char, int *ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:313,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:314,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:315,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:316,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:317,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:318,1
    - Dst: EXPECT_CHAR_NO_CHECK
      Src: /src/bind9/lib/isc/picohttpparser.c:319,1
    - Dst: PARSE_INT
      Src: /src/bind9/lib/isc/picohttpparser.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - buf
    - buf_end
    - minor_version
    - ret
    argTypes:
    - char*
    - char*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 322
    functionName: parse_http_version
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - PARSE_INT
    - EXPECT_CHAR_NO_CHECK
    linkageType: ''
    returnType: char
    signature: "char *\nparse_http_version(const char *buf, const char *buf_end, int
      *minor_version,\n\t\t   int *ret)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:328,1
    - Dst: EXPECT_CHAR
      Src: /src/bind9/lib/isc/picohttpparser.c:331,1
    - Dst: parse_token
      Src: /src/bind9/lib/isc/picohttpparser.c:345,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:358,1
    - Dst: get_token_to_eol
      Src: /src/bind9/lib/isc/picohttpparser.c:369,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 6
    argNames:
    - buf
    - buf_end
    - headers
    - num_headers
    - max_headers
    - ret
    argTypes:
    - char*
    - char*
    - struct phr_header*
    - size_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 386
    functionName: parse_headers
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - get_token_to_eol
    - CHECK_EOF
    - parse_token
    - EXPECT_CHAR
    linkageType: ''
    returnType: char
    signature: "char *\nparse_headers(const char *buf, const char *buf_end, struct
      phr_header *headers,\n\t      size_t *num_headers, size_t max_headers, int *ret)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:394,1
    - Dst: EXPECT_CHAR
      Src: /src/bind9/lib/isc/picohttpparser.c:397,1
    - Dst: parse_token
      Src: /src/bind9/lib/isc/picohttpparser.c:403,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:410,1
    - Dst: ADVANCE_TOKEN
      Src: /src/bind9/lib/isc/picohttpparser.c:412,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:415,1
    - Dst: parse_http_version
      Src: /src/bind9/lib/isc/picohttpparser.c:421,1
    - Dst: EXPECT_CHAR
      Src: /src/bind9/lib/isc/picohttpparser.c:428,1
    - Dst: parse_headers
      Src: /src/bind9/lib/isc/picohttpparser.c:436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 11
    argNames:
    - buf
    - buf_end
    - method
    - method_len
    - path
    - path_len
    - minor_version
    - headers
    - num_headers
    - max_headers
    - ret
    argTypes:
    - char*
    - char*
    - char**
    - size_t*
    - char**
    - size_t*
    - int*
    - struct phr_header*
    - size_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 438
    functionName: parse_request
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 1
    functionsReached:
    - ADVANCE_TOKEN
    - parse_http_version
    - parse_token
    - EXPECT_CHAR
    - CHECK_EOF
    - parse_headers
    linkageType: ''
    returnType: char
    signature: "char *\nparse_request(const char *buf, const char *buf_end, const
      char **method,\n\t      size_t *method_len, const char **path, size_t *path_len,\n\t
      \     int *minor_version, struct phr_header *headers,\n\t      size_t *num_headers,
      size_t max_headers, int *ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/bind9/lib/isc/picohttpparser.c:458,1
    - Dst: parse_request
      Src: /src/bind9/lib/isc/picohttpparser.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 10
    argNames:
    - buf_start
    - len
    - method
    - method_len
    - path
    - path_len
    - minor_version
    - headers
    - num_headers
    - last_len
    argTypes:
    - char*
    - size_t
    - char**
    - size_t*
    - char**
    - size_t*
    - int*
    - struct phr_header*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 440
    functionDepth: 5
    functionLinenumber: 440
    functionLinenumberEnd: 470
    functionName: phr_parse_request
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 1
    functionsReached:
    - is_complete
    - parse_request
    linkageType: ''
    returnType: int
    signature: "int phr_parse_request(const char *buf_start, size_t len, const char
      **method,\n\t\t  size_t *method_len, const char **path, size_t *path_len,\n\t\t
      \ int *minor_version, struct phr_header *headers,\n\t\t  size_t *num_headers,
      size_t last_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: parse_http_version
      Src: /src/bind9/lib/isc/picohttpparser.c:478,1
    - Dst: CHECK_EOF
      Src: /src/bind9/lib/isc/picohttpparser.c:490,1
    - Dst: PARSE_INT_3
      Src: /src/bind9/lib/isc/picohttpparser.c:498,1
    - Dst: get_token_to_eol
      Src: /src/bind9/lib/isc/picohttpparser.c:501,1
    - Dst: parse_headers
      Src: /src/bind9/lib/isc/picohttpparser.c:521,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 10
    argNames:
    - buf
    - buf_end
    - minor_version
    - status
    - msg
    - msg_len
    - headers
    - num_headers
    - max_headers
    - ret
    argTypes:
    - char*
    - char*
    - int*
    - int*
    - char**
    - size_t*
    - struct phr_header*
    - size_t*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 523
    functionName: parse_response
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - PARSE_INT_3
    - parse_http_version
    - CHECK_EOF
    - get_token_to_eol
    - parse_headers
    linkageType: ''
    returnType: char
    signature: "char *\nparse_response(const char *buf, const char *buf_end, int *minor_version,\n\t
      \      int *status, const char **msg, size_t *msg_len,\n\t       struct phr_header
      *headers, size_t *num_headers,\n\t       size_t max_headers, int *ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/bind9/lib/isc/picohttpparser.c:542,1
    - Dst: parse_response
      Src: /src/bind9/lib/isc/picohttpparser.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 9
    argNames:
    - buf_start
    - len
    - minor_version
    - status
    - msg
    - msg_len
    - headers
    - num_headers
    - last_len
    argTypes:
    - char*
    - size_t
    - int*
    - int*
    - char**
    - size_t*
    - struct phr_header*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 554
    functionName: phr_parse_response
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - parse_response
    - is_complete
    linkageType: ''
    returnType: int
    signature: "int phr_parse_response(const char *buf_start, size_t len, int *minor_version,\n\t\t
      \  int *status, const char **msg, size_t *msg_len,\n\t\t   struct phr_header
      *headers, size_t *num_headers,\n\t\t   size_t last_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_complete
      Src: /src/bind9/lib/isc/picohttpparser.c:567,1
    - Dst: parse_headers
      Src: /src/bind9/lib/isc/picohttpparser.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - buf_start
    - len
    - headers
    - num_headers
    - last_len
    argTypes:
    - char*
    - size_t
    - struct phr_header*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 578
    functionName: phr_parse_headers
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - parse_headers
    - is_complete
    linkageType: ''
    returnType: int
    signature: "int phr_parse_headers(const char *buf_start, size_t len, struct phr_header
      *headers,\n\t\t  size_t *num_headers, size_t last_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 600
    functionName: decode_hex
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decode_hex(int ch)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: decode_hex
      Src: /src/bind9/lib/isc/picohttpparser.c:618,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/picohttpparser.c:677,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/picohttpparser.c:685,1
    - Dst: assert
      Src: /src/bind9/lib/isc/picohttpparser.c:737,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/picohttpparser.c:745,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 145
    argCount: 3
    argNames:
    - decoder
    - buf
    - _bufsz
    argTypes:
    - struct phr_chunked_decoder*
    - char*
    - size_t*
    assertStmts:
    - condition: (!"decoder is corrupt")
      pos:
        line_end: 736
        line_start: 736
        source_file: /src/bind9/lib/isc/picohttpparser.c
    constantsTouched: []
    func_position:
      end: 758
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 758
    functionName: phr_decode_chunked
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached:
    - decode_hex
    - memmove
    - assert
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t phr_decode_chunked(struct phr_chunked_decoder *decoder, char
      *buf,\n\t\t   size_t *_bufsz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - struct phr_chunked_decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: phr_decode_chunked_is_in_data
    functionSourceFile: /src/bind9/lib/isc/picohttpparser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int phr_decode_chunked_is_in_data(struct phr_chunked_decoder *decoder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: VALID_COUNTER
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_COUNTER(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/counter.c:39,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/counter.c:41,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/counter.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mctx
    - limit
    - counterp
    argTypes:
    - isc_mem_t*
    - int
    - isc_counter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: isc_counter_create
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void isc_counter_create(isc_mem_t *mctx, int limit, isc_counter_t **counterp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/counter.c:55,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/counter.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - counter
    argTypes:
    - isc_counter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: isc_counter_increment
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 1
    functionsReached:
    - atomic_load_acquire
    - atomic_fetch_add_relaxed
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_counter_increment(isc_counter_t *counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/counter.c:67,1
    - Dst: VALID_COUNTER
      Src: /src/bind9/lib/isc/counter.c:67,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/counter.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - isc_counter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: isc_counter_used
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 1
    functionsReached:
    - VALID_COUNTER
    - REQUIRE
    - atomic_load_relaxed
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_counter_used(isc_counter_t *counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/counter.c:74,1
    - Dst: VALID_COUNTER
      Src: /src/bind9/lib/isc/counter.c:74,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/counter.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - counter
    - limit
    argTypes:
    - isc_counter_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: isc_counter_setlimit
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 1
    functionsReached:
    - atomic_store_release
    - VALID_COUNTER
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_counter_setlimit(isc_counter_t *counter, int limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/counter.c:81,1
    - Dst: VALID_COUNTER
      Src: /src/bind9/lib/isc/counter.c:81,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/counter.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - counter
    argTypes:
    - isc_counter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: isc_counter_getlimit
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 0
    functionsReached:
    - atomic_load_acquire
    - VALID_COUNTER
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_counter_getlimit(isc_counter_t *counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/counter.c:88,1
    - Dst: VALID_COUNTER
      Src: /src/bind9/lib/isc/counter.c:88,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/counter.c:90,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/counter.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - counter
    argTypes:
    - isc_counter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: isc__counter_destroy
    functionSourceFile: /src/bind9/lib/isc/counter.c
    functionUses: 0
    functionsReached:
    - VALID_COUNTER
    - isc_refcount_destroy
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void isc__counter_destroy(isc_counter_t *counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_get_total_memory
      Src: /src/bind9/lib/isc/meminfo.c:21,1
    - Dst: UV_VERSION
      Src: /src/bind9/lib/isc/meminfo.c:22,1
    - Dst: uv_get_constrained_memory
      Src: /src/bind9/lib/isc/meminfo.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: isc_meminfo_totalphys
    functionSourceFile: /src/bind9/lib/isc/meminfo.c
    functionUses: 1
    functionsReached:
    - uv_get_total_memory
    - uv_get_constrained_memory
    - UV_VERSION
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_meminfo_totalphys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - quota
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: isc_quota_acquire
    functionSourceFile: /src/bind9/lib/isc/include/isc/quota.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_quota_acquire(quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: ISC_LINK_TOMBSTONE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_TOMBSTONE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: ISC_LINK_INITIALIZER_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_INITIALIZER_TYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ISC_LINK_INSIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_INSIST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ISC_LIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: ISC_LIST_INIT
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_INIT(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: ISC_LINK
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - link
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: ISC_LINK_INIT_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_INIT_TYPE(elt, link, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: ISC_LINK_INIT
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_INIT(elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - link
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ISC_LINK_LINKED_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_LINKED_TYPE(elt, link, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: ISC_LINK_LINKED
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LINK_LINKED(elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ISC_LIST_HEAD
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_HEAD(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: ISC_LIST_TAIL
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_TAIL(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: ISC_LIST_EMPTY
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_EMPTY(list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: __ISC_LIST_PREPENDUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_PREPENDUNSAFE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: ISC_LIST_PREPEND
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_PREPEND(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: ISC_LIST_INITANDPREPEND
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_INITANDPREPEND(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: __ISC_LIST_APPENDUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_APPENDUNSAFE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: ISC_LIST_APPEND
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_APPEND(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: ISC_LIST_INITANDAPPEND
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_INITANDAPPEND(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: __ISC_LIST_UNLINKUNSAFE_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_UNLINKUNSAFE_TYPE(list, elt, link, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: __ISC_LIST_UNLINKUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_UNLINKUNSAFE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: ISC_LIST_UNLINK_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_UNLINK_TYPE(list, elt, link, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: ISC_LIST_UNLINK
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_UNLINK(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: ISC_LIST_PREV
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_PREV(elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: ISC_LIST_NEXT
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_NEXT(elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - before
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: __ISC_LIST_INSERTBEFOREUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_INSERTBEFOREUNSAFE(list, before, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - before
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: ISC_LIST_INSERTBEFORE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_INSERTBEFORE(list, before, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - after
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: __ISC_LIST_INSERTAFTERUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_INSERTAFTERUNSAFE(list, after, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - after
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: ISC_LIST_INSERTAFTER
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_INSERTAFTER(list, after, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list1
    - ','
    - list2
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: ISC_LIST_APPENDLIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_APPENDLIST(list1, list2, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list1
    - ','
    - list2
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 205
    functionName: ISC_LIST_PREPENDLIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_PREPENDLIST(list1, list2, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: ISC_LIST_ENQUEUE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_ENQUEUE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: __ISC_LIST_ENQUEUEUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_ENQUEUEUNSAFE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: ISC_LIST_DEQUEUE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_DEQUEUE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: ISC_LIST_DEQUEUE_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_DEQUEUE_TYPE(list, elt, link, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: __ISC_LIST_DEQUEUEUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_DEQUEUEUNSAFE(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: __ISC_LIST_DEQUEUEUNSAFE_TYPE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __ISC_LIST_DEQUEUEUNSAFE_TYPE(list, elt, link, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: ISC_LIST_MOVEUNSAFE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_MOVEUNSAFE(dest, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: ISC_LIST_MOVE
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_MOVE(dest, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_FOREACH(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - list
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: ISC_LIST_FOREACH_REV
    functionSourceFile: /src/bind9/lib/isc/include/isc/list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LIST_FOREACH_REV(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: isc_tid
    functionSourceFile: /src/bind9/lib/isc/include/isc/tid.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: isc_tid_t
    signature: isc_tid_t isc_tid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: atomic_store_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_store_relaxed(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: atomic_load_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_load_relaxed(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: atomic_fetch_add_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_add_relaxed(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: atomic_fetch_sub_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_sub_relaxed(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: atomic_fetch_or_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_or_relaxed(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: atomic_fetch_and_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_and_relaxed(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: atomic_exchange_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_exchange_relaxed(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: atomic_compare_exchange_weak_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_compare_exchange_weak_relaxed(o, e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: atomic_compare_exchange_strong_relaxed
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_compare_exchange_strong_relaxed(o, e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: atomic_store_release
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_store_release(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: atomic_load_acquire
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_load_acquire(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: atomic_fetch_add_release
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_add_release(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: atomic_fetch_sub_release
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_sub_release(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: atomic_fetch_and_release
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_and_release(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: atomic_fetch_or_release
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_or_release(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: atomic_exchange_acquire
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_exchange_acquire(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: atomic_exchange_acq_rel
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_exchange_acq_rel(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: atomic_fetch_add_acq_rel
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_add_acq_rel(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - o
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: atomic_fetch_sub_acq_rel
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_fetch_sub_acq_rel(o, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: atomic_compare_exchange_weak_acq_rel
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_compare_exchange_weak_acq_rel(o, e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: atomic_compare_exchange_strong_acq_rel
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_compare_exchange_strong_acq_rel(o, e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - o
    - ','
    - e
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: atomic_compare_exchange_enforced
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_compare_exchange_enforced(o, e, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: atomic_ptr
    functionSourceFile: /src/bind9/lib/isc/include/isc/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: atomic_ptr(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: ISC_SIEVE
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sieve
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: ISC_SIEVE_INIT
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_INIT(sieve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sieve
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ISC_SIEVE_EMPTY
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_EMPTY(sieve)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - visited
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: ISC_SIEVE_MARKED
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_MARKED(entry, visited)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - visited
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: ISC_SIEVE_MARK
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_MARK(entry, visited)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - entry
    - ','
    - visited
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: ISC_SIEVE_UNMARK
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_UNMARK(entry, visited)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sieve
    - ','
    - visited
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: ISC_SIEVE_NEXT
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_NEXT(sieve, visited, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sieve
    - ','
    - entry
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ISC_SIEVE_UNLINK
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_UNLINK(sieve, entry, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sieve
    - ','
    - entry
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: ISC_SIEVE_INSERT
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_INSERT(sieve, entry, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sieve
    - ','
    - entry
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: ISC_SIEVE_FOREACH
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_FOREACH(sieve, entry, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isc/include/isc/readline.h:34,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/include/isc/readline.h:35,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/include/isc/readline.h:36,1
    - Dst: fgets
      Src: /src/bind9/lib/isc/include/isc/readline.h:37,1
    - Dst: free
      Src: /src/bind9/lib/isc/include/isc/readline.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: readline
    functionSourceFile: /src/bind9/lib/isc/include/isc/readline.h
    functionUses: 2
    functionsReached:
    - malloc
    - fgets
    - fprintf
    - fflush
    - free
    linkageType: ''
    returnType: char
    signature: 'char *

      readline(const char *prompt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: __has_c_attribute
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_c_attribute(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: __has_attribute
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_attribute(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - deallocator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ISC_ATTR_DEALLOCATOR
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_DEALLOCATOR(deallocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - deallocator
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ISC_ATTR_DEALLOCATOR_IDX
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_DEALLOCATOR_IDX(deallocator, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - deallocator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ISC_ATTR_MALLOC_DEALLOCATOR
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_MALLOC_DEALLOCATOR(deallocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - deallocator
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: ISC_ATTR_MALLOC_DEALLOCATOR_IDX
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_MALLOC_DEALLOCATOR_IDX(deallocator, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - deallocator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ISC_ATTR_MALLOC_DEALLOCATOR
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_MALLOC_DEALLOCATOR(deallocator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - deallocator
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: ISC_ATTR_MALLOC_DEALLOCATOR_IDX
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_MALLOC_DEALLOCATOR_IDX(deallocator, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: ISC_ATTR_COUNTED_BY
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_COUNTED_BY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: SPINLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPINLOCK(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: SPINUNLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPINUNLOCK(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: isc_spinlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_init(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: isc_spinlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_lock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: isc_spinlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_unlock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: isc_spinlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_destroy(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: isc_spinlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_init(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: isc_spinlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_lock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: isc_spinlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_unlock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: isc_spinlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_spinlock_destroy(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: isc__spinlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_init(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: isc__spinlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_lock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: isc__spinlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_unlock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: isc__spinlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_destroy(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: isc__spinlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_init(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: isc__spinlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_lock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: isc__spinlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_unlock(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: isc__spinlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/spinlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__spinlock_destroy(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: ISC_LOG_DEBUG
    functionSourceFile: /src/bind9/lib/isc/include/isc/log.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOG_DEBUG(level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errout
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: ISC_LOGDESTINATION_FILE
    functionSourceFile: /src/bind9/lib/isc/include/isc/log.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOGDESTINATION_FILE(errout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: ISC_LOGDESTINATION_SYSLOG
    functionSourceFile: /src/bind9/lib/isc/include/isc/log.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_LOGDESTINATION_SYSLOG(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - na
    - ','
    - pt
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 44
    functionName: NETADDR_TO_PREFIX_T
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NETADDR_TO_PREFIX_T(na, pt, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: isc_prefix_tochar
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_prefix_tochar(prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - prefix
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: isc_prefix_touchar
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_prefix_touchar(prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ISC_RADIX_FAMILY
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_RADIX_FAMILY(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: RADIX_TREE_VALID
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIX_TREE_VALID(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: RADIX_NBIT
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIX_NBIT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: RADIX_NBYTE
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIX_NBYTE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Xhead
    - ','
    - Xnode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: RADIX_WALK
    functionSourceFile: /src/bind9/lib/isc/include/isc/radix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RADIX_WALK(Xhead, Xnode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb
    - ','
    - cbarg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: isc_async_current
    functionSourceFile: /src/bind9/lib/isc/include/isc/async.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_async_current(cb, cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: ISC_REQUIRE
    functionSourceFile: /src/bind9/lib/isc/include/isc/assertions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REQUIRE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ISC_ENSURE
    functionSourceFile: /src/bind9/lib/isc/include/isc/assertions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ENSURE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ISC_INSIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/assertions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_INSIST(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: ISC_INVARIANT
    functionSourceFile: /src/bind9/lib/isc/include/isc/assertions.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_INVARIANT(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ISC_UNREACHABLE
    functionSourceFile: /src/bind9/lib/isc/include/isc/assertions.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: ISC_HASHSIZE
    functionSourceFile: /src/bind9/lib/isc/include/isc/hash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_HASHSIZE(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/isc/include/isc/hash.h:55,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/isc/include/isc/hash.h:56,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/isc/include/isc/hash.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - length
    - case_sensitive
    argTypes:
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: isc_hash32
    functionSourceFile: /src/bind9/lib/isc/include/isc/hash.h
    functionUses: 10
    functionsReached:
    - isc_hash32_hash
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_hash32(const void *data, const size_t length, const bool
      case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash64_init
      Src: /src/bind9/lib/isc/include/isc/hash.h:70,1
    - Dst: isc_hash64_hash
      Src: /src/bind9/lib/isc/include/isc/hash.h:71,1
    - Dst: isc_hash64_finalize
      Src: /src/bind9/lib/isc/include/isc/hash.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - length
    - case_sensitive
    argTypes:
    - void*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: isc_hash64
    functionSourceFile: /src/bind9/lib/isc/include/isc/hash.h
    functionUses: 2
    functionsReached:
    - isc_hash64_finalize
    - isc_hash64_init
    - isc_hash64_hash
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_hash64(const void *data, const size_t length, const bool
      case_sensitive)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_REQUIRE
      Src: /src/bind9/lib/isc/include/isc/hash.h:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - bits
    argTypes:
    - uint32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: isc_hash_bits32
    functionSourceFile: /src/bind9/lib/isc/include/isc/hash.h
    functionUses: 4
    functionsReached:
    - ISC_REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_hash_bits32(uint32_t val, unsigned int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: isc_qsbr_read_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_qsbr_read_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: rcu_read_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rcu_read_lock()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rcu_head
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: isc_qsbr_call_rcu
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_qsbr_call_rcu(rcu_head, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rcu_head
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: call_rcu
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: call_rcu(rcu_head, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: isc_qsbr_synchronize_rcu
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_qsbr_synchronize_rcu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: synchronize_rcu
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: synchronize_rcu()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: isc_qsbr_rcu_dereference
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_qsbr_rcu_dereference(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: rcu_dereference
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rcu_dereference(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: caa_container_of_check_null
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: caa_container_of_check_null(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: cds_lfht_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cds_lfht_entry(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ht
    - ','
    - iter
    - ','
    - pos
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: cds_lfht_for_each_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cds_lfht_for_each_entry(ht, iter, pos, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ht
    - ','
    - hash
    - ','
    - match
    - ','
    - key
    - ','
    - iter
    - ','
    - pos
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: cds_lfht_for_each_entry_duplicate
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "cds_lfht_for_each_entry_duplicate(ht, hash, match, key,\t\t\\\n\t\t\t\titer,
      pos, member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: isc_hex_char
    functionSourceFile: /src/bind9/lib/isc/include/isc/hex.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_hex_char(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: isc_region_consume
    functionSourceFile: /src/bind9/lib/isc/include/isc/region.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_region_consume(r, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: isc_textregion_consume
    functionSourceFile: /src/bind9/lib/isc/include/isc/region.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_textregion_consume(r, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: isc_constregion_consume
    functionSourceFile: /src/bind9/lib/isc/include/isc/region.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_constregion_consume(r, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: ISC_OVERFLOW_IS_UNSIGNED
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_IS_UNSIGNED(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ISC_OVERFLOW_UINT_MAX
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_UINT_MAX(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: ISC_OVERFLOW_UINT_MIN
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_UINT_MIN(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: ISC_OVERFLOW_MUL
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_MUL(a, b, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ISC_OVERFLOW_MUL
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_MUL(a, b, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: ISC_OVERFLOW_ADD
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_ADD(a, b, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: ISC_OVERFLOW_ADD
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_ADD(a, b, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ISC_OVERFLOW_SUB
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_SUB(a, b, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ISC_OVERFLOW_SUB
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_OVERFLOW_SUB(a, b, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: ISC_CHECKED_MUL
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_CHECKED_MUL(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: ISC_CHECKED_ADD
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_CHECKED_ADD(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: ISC_CHECKED_SUB
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_CHECKED_SUB(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: ISC_CHECKED_MUL_ADD
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_CHECKED_MUL_ADD(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: __has_feature
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_feature(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: UNUSED
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 411
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: POST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POST(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ISC_MAX
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: ISC_MIN
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: ISC_CLAMP
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_CLAMP(v, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: ISC_MAX3
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_MAX3(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: UNCONST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNCONST(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: ARRAY_SIZE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - obj
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: SET_IF_NOT_NULL
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_IF_NOT_NULL(obj, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pointer
    - ','
    - member
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: STRUCT_FLEX_SIZE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRUCT_FLEX_SIZE(pointer, member, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: ISC_UTIL_TRACE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_UTIL_TRACE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: STATIC_ASSERT
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATIC_ASSERT(cond, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: REQUIRE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 609
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: ENSURE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENSURE(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: INSIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 230
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSIST(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: INVARIANT
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVARIANT(expression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: UNREACHABLE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - e
    - ','
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: _assert_true
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _assert_true(c, e, f, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: _assert_int_equal
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _assert_int_equal(a, b, f, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - f
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: _assert_int_not_equal
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _assert_int_not_equal(a, b, f, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: REQUIRE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 609
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: ENSURE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENSURE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: INSIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 230
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSIST(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: INVARIANT
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVARIANT(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: UNREACHABLE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNREACHABLE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: UNEXPECTED_ERROR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNEXPECTED_ERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FATAL_ERROR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FATAL_ERROR(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - report
    - ','
    - err
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: REPORT_SYSERROR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPORT_SYSERROR(report, err, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - err
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: UNEXPECTED_SYSERROR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNEXPECTED_SYSERROR(err, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - err
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: FATAL_SYSERROR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FATAL_SYSERROR(err, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNTIME_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNTIME_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: PTHREADS_RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTHREADS_RUNTIME_CHECK(func, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: ISC_ALIGN
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ALIGN(x, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: ISC_ALIGN
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ALIGN(x, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: ISC_SWAP
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SWAP(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: ISC_MAGIC_VALID
    functionSourceFile: /src/bind9/lib/isc/include/isc/magic.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_MAGIC_VALID(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: ISC_MAGIC
    functionSourceFile: /src/bind9/lib/isc/include/isc/magic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_MAGIC(a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cb
    - ','
    - cbarg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: isc_helper_current
    functionSourceFile: /src/bind9/lib/isc/include/isc/helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_helper_current(cb, cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: isc__barrier_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__barrier_init(bp, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: isc__barrier_wait
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__barrier_wait(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: isc__barrier_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__barrier_destroy(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: isc__barrier_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__barrier_init(bp, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: isc__barrier_wait
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__barrier_wait(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: isc__barrier_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__barrier_destroy(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: isc_barrier_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_barrier_init(bp, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: isc_barrier_wait
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_barrier_wait(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: isc_barrier_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_barrier_destroy(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: isc_barrier_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_barrier_init(bp, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: isc_barrier_wait
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_barrier_wait(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: isc_barrier_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/barrier.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_barrier_destroy(bp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sigbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ISC_HISTO_UNITBUCKETS
    functionSourceFile: /src/bind9/lib/isc/include/isc/histo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_HISTO_UNITBUCKETS(sigbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: ROTATE64
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE64(x, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: HALF_ROUND64
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HALF_ROUND64(a, b, c, d, s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: FULL_ROUND64
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULL_ROUND64(v0, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: ROTATE32
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE32(x, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - s
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: HALF_ROUND32
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HALF_ROUND32(a, b, c, d, s, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: FULL_ROUND32
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FULL_ROUND32(v0, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - case_sensitive
    - ','
    - byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: U8TO32_ONE
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TO32_ONE(case_sensitive, byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - case_sensitive
    - ','
    - byte
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: U8TO64_ONE
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8TO64_ONE(case_sensitive, byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:112,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:114,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:115,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:120,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:121,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:122,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - k
    argTypes:
    - isc_siphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: isc_siphash24_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - ISC_U8TO64_LE
    - UINT64_C
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_siphash24_init(isc_siphash24_t *state, const uint8_t *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - m
    argTypes:
    - isc_siphash24_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: isc_siphash24_one
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached:
    - SIPROUND
    linkageType: ''
    returnType: void
    signature: void isc_siphash24_one(isc_siphash24_t *restrict state, const uint64_t
      m)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:141,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:154,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:163,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:172,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:181,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:190,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:199,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:208,1
    - Dst: isc_siphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:212,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:220,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:228,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/siphash.h:229,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:229,1
    - Dst: isc_siphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:231,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/siphash.h:234,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:237,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:240,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:243,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:246,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:249,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:252,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:255,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:260,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 101
    argCount: 4
    argNames:
    - state
    - in
    - inlen
    - case_sensitive
    argTypes:
    - isc_siphash24_t*
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 264
    functionName: isc_siphash24_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - isc_siphash24_one
    - INSIST
    - U8TO64_ONE
    - REQUIRE
    - isc_ascii_tolower8
    - ISC_U8TO64_LE
    linkageType: ''
    returnType: void
    signature: "void isc_siphash24_hash(isc_siphash24_t *restrict state, const uint8_t
      *in,\n\t\t   const size_t inlen, const bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:268,1
    - Dst: isc_siphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:272,1
    - Dst: SIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:277,1
    - Dst: ISC_U64TO8_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - state
    - out
    argTypes:
    - isc_siphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 283
    functionName: isc_siphash24_finalize
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - isc_siphash24_one
    - REQUIRE
    - SIPROUND
    - ISC_U64TO8_LE
    linkageType: ''
    returnType: void
    signature: void isc_siphash24_finalize(isc_siphash24_t *restrict state, uint8_t
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_siphash24_init
      Src: /src/bind9/lib/isc/include/isc/siphash.h:289,1
    - Dst: isc_siphash24_hash
      Src: /src/bind9/lib/isc/include/isc/siphash.h:290,1
    - Dst: isc_siphash24_finalize
      Src: /src/bind9/lib/isc/include/isc/siphash.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - key
    - in
    - inlen
    - case_sensitive
    - out
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - bool
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: isc_siphash24
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - isc_siphash24_finalize
    - isc_siphash24_hash
    - isc_siphash24_init
    linkageType: ''
    returnType: void
    signature: "void isc_siphash24(const uint8_t *key, const uint8_t *in, const size_t
      inlen,\n\t      bool case_sensitive, uint8_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:296,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:298,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:299,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:304,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:305,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:306,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - k
    argTypes:
    - isc_halfsiphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: isc_halfsiphash24_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - ISC_U8TO32_LE
    - REQUIRE
    - UINT32_C
    linkageType: ''
    returnType: void
    signature: void isc_halfsiphash24_init(isc_halfsiphash24_t *restrict state, const
      uint8_t *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HALFSIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - m
    argTypes:
    - isc_halfsiphash24_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 320
    functionName: isc_halfsiphash24_one
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached:
    - HALFSIPROUND
    linkageType: ''
    returnType: void
    signature: void isc_halfsiphash24_one(isc_halfsiphash24_t *restrict state, const
      uint32_t m)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:325,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:338,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:347,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:356,1
    - Dst: isc_halfsiphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:360,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:368,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:376,1
    - Dst: isc_ascii_tolower4
      Src: /src/bind9/lib/isc/include/isc/siphash.h:377,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:377,1
    - Dst: isc_halfsiphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:379,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/siphash.h:382,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:385,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:388,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:391,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 4
    argNames:
    - state
    - in
    - inlen
    - case_sensitive
    argTypes:
    - isc_halfsiphash24_t*
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 400
    functionName: isc_halfsiphash24_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - isc_ascii_tolower4
    - INSIST
    - U8TO32_ONE
    - REQUIRE
    - isc_halfsiphash24_one
    - ISC_U8TO32_LE
    linkageType: ''
    returnType: void
    signature: "void isc_halfsiphash24_hash(isc_halfsiphash24_t *restrict state, const
      uint8_t *in,\n\t\t       const size_t inlen, const bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:404,1
    - Dst: isc_halfsiphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:408,1
    - Dst: HALFSIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:413,1
    - Dst: ISC_U32TO8_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - state
    - out
    argTypes:
    - isc_halfsiphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 418
    functionName: isc_halfsiphash24_finalize
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - HALFSIPROUND
    - isc_halfsiphash24_one
    - REQUIRE
    - ISC_U32TO8_LE
    linkageType: ''
    returnType: void
    signature: void isc_halfsiphash24_finalize(isc_halfsiphash24_t *restrict state,
      uint8_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_halfsiphash24_init
      Src: /src/bind9/lib/isc/include/isc/siphash.h:425,1
    - Dst: isc_halfsiphash24_hash
      Src: /src/bind9/lib/isc/include/isc/siphash.h:426,1
    - Dst: isc_halfsiphash24_finalize
      Src: /src/bind9/lib/isc/include/isc/siphash.h:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - k
    - in
    - inlen
    - case_sensitive
    - out
    argTypes:
    - uint8_t*
    - uint8_t*
    - size_t
    - bool
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: isc_halfsiphash24
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - isc_halfsiphash24_hash
    - isc_halfsiphash24_init
    - isc_halfsiphash24_finalize
    linkageType: ''
    returnType: void
    signature: "void isc_halfsiphash24(const uint8_t *k, const uint8_t *in, const
      size_t inlen,\n\t\t  bool case_sensitive, uint8_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: be16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: le16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: be32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: le32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: be64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: le64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: htobe16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: htole16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: be16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: le16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: htobe32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: htole32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: be32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: le32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: htobe64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: htole64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: be64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: le64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: bswap_16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: bswap_32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: bswap_64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: bswap_16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: bswap_32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: bswap_64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bswap_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: htobe16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: htole16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: be16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: le16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: htobe16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: htole16
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: be16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: le16toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: htobe32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: htole32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: be32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: le32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: htobe32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: htole32
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: be32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: le32toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: htobe64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: htole64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: be64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: le64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: htobe64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: htole64
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: be64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: le64toh
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: ISC_U16TO8_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U16TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: ISC_U8TO16_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO16_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: ISC_U32TO8_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U32TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: ISC_U8TO32_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO32_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: ISC_U48TO8_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U48TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: ISC_U8TO48_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO48_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: ISC_U64TO8_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U64TO8_LE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: ISC_U8TO64_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO64_LE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: ISC_U16TO8_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U16TO8_BE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: ISC_U8TO16_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO16_BE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: ISC_U32TO8_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U32TO8_BE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: ISC_U8TO32_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO32_BE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: ISC_U48TO8_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U48TO8_BE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: ISC_U8TO48_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO48_BE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: ISC_U64TO8_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U64TO8_BE(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: ISC_U8TO64_BE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_U8TO64_BE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lp
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: RWLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RWLOCK(lp, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lp
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: RWUNLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RWUNLOCK(lp, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: RDLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RDLOCK(lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: RDUNLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RDUNLOCK(lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: WRLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRLOCK(lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: WRUNLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRUNLOCK(lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lock
    - ','
    - locktype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: UPGRADELOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPGRADELOCK(lock, locktype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: isc_rwlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_init(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: isc_rwlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_lock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: isc_rwlock_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_trylock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: isc_rwlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_unlock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: isc_rwlock_tryupgrade
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_tryupgrade(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: isc_rwlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_destroy(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: isc_rwlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_init(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: isc_rwlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_lock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: isc_rwlock_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_trylock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: isc_rwlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_unlock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: isc_rwlock_tryupgrade
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_tryupgrade(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: isc_rwlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_destroy(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: isc__rwlock_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__rwlock_init(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: isc__rwlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__rwlock_lock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 173
    functionName: isc__rwlock_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__rwlock_trylock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: isc__rwlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__rwlock_unlock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: isc__rwlock_tryupgrade
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__rwlock_tryupgrade(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: isc__rwlock_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__rwlock_destroy(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: isc_rwlock_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_lock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 280
    functionName: isc_rwlock_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_trylock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rwl
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: isc_rwlock_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/rwlock.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_rwlock_unlock(rwl, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__lib_initialize
      Src: /src/bind9/lib/isc/include/isc/lib.h:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: isc_lib_initialize
    functionSourceFile: /src/bind9/lib/isc/include/isc/lib.h
    functionUses: 0
    functionsReached:
    - isc__lib_initialize
    linkageType: ''
    returnType: void
    signature: void isc_lib_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__lib_shutdown
      Src: /src/bind9/lib/isc/include/isc/lib.h:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: isc_lib_shutdown
    functionSourceFile: /src/bind9/lib/isc/include/isc/lib.h
    functionUses: 0
    functionsReached:
    - isc__lib_shutdown
    linkageType: ''
    returnType: void
    signature: void isc_lib_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: isc_nm_ref
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nm_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: isc_nm_unref
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nm_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: isc_nm_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nm_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: isc_nm_detach
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nm_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: isc_nmhandle_ref
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nmhandle_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: isc_nmhandle_unref
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nmhandle_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: isc_nmhandle_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nmhandle_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: isc_nmhandle_detach
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nmhandle_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/include/isc/queue.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - isc_queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: isc_queue_node_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - cds_wfcq_node_init
    linkageType: ''
    returnType: void
    signature: void isc_queue_node_init(isc_queue_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/isc/include/isc/queue.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - isc_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: isc_queue_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - __cds_wfcq_init
    linkageType: ''
    returnType: void
    signature: void isc_queue_init(isc_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/include/isc/queue.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - isc_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: isc_queue_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isc_queue_destroy(isc_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/isc/include/isc/queue.h:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - isc_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: isc_queue_empty
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - cds_wfcq_empty
    linkageType: ''
    returnType: bool
    signature: bool isc_queue_empty(isc_queue_t *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/include/isc/queue.h:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - queue
    - node
    argTypes:
    - isc_queue_t*
    - isc_queue_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: isc_queue_enqueue
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - cds_wfcq_enqueue
    linkageType: ''
    returnType: bool
    signature: bool isc_queue_enqueue(isc_queue_t *queue, isc_queue_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - queue
    - ','
    - entry
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: isc_queue_enqueue_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_enqueue_entry(queue, entry, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cds_wfcq_dequeue_nonblocking
      Src: /src/bind9/lib/isc/include/isc/queue.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - isc_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: isc_queue_dequeue
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - __cds_wfcq_dequeue_nonblocking
    linkageType: ''
    returnType: isc_queue_node_t
    signature: 'isc_queue_node_t *

      isc_queue_dequeue(isc_queue_t *queue)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: isc_queue_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_entry(ptr, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - queue
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: isc_queue_dequeue_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_dequeue_entry(queue, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/isc/include/isc/queue.h:73,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/queue.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - isc_queue_t*
    - isc_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: isc_queue_splice
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached:
    - __cds_wfcq_splice_blocking
    - INSIST
    linkageType: ''
    returnType: bool
    signature: bool isc_queue_splice(isc_queue_t *dest, isc_queue_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - queue
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: isc_queue_first_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_first_entry(queue, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - queue
    - ','
    - node
    - ','
    - type
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: isc_queue_next_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_next_entry(queue, node, type, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - queue
    - ','
    - pos
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: isc_queue_for_each_entry
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_for_each_entry(queue, pos, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - queue
    - ','
    - pos
    - ','
    - next
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: isc_queue_for_each_entry_safe
    functionSourceFile: /src/bind9/lib/isc/include/isc/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_queue_for_each_entry_safe(queue, pos, next, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: ISC_REFCOUNT_INITIALIZER
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_INITIALIZER(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - target
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: isc_refcount_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_init(target, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: isc_refcount_current
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_current(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: isc_refcount_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_destroy(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: isc_refcount_increment0
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_increment0(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: isc_refcount_increment
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_increment(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: isc_refcount_decrement
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_decrement(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: isc_refcount_decrementz
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_decrementz(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: isc_refcount_decrement1
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_decrement1(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: isc_refcount_decrement0
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_refcount_decrement0(target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: ISC__REFCOUNT_TRACE_DECL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC__REFCOUNT_TRACE_DECL(name, stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: ISC_REFCOUNT_TRACE_DECL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_TRACE_DECL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: ISC_REFCOUNT_STATIC_TRACE_DECL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_STATIC_TRACE_DECL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - destroy
    - ','
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 192
    functionName: ISC__REFCOUNT_TRACE_IMPL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC__REFCOUNT_TRACE_IMPL(name, destroy, stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - destroy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: ISC_REFCOUNT_TRACE_IMPL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_TRACE_IMPL(name, destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - destroy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: ISC_REFCOUNT_STATIC_TRACE_IMPL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_STATIC_TRACE_IMPL(name, destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: ISC__REFCOUNT_DECL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC__REFCOUNT_DECL(name, stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: ISC_REFCOUNT_DECL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_DECL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: ISC_REFCOUNT_STATIC_DECL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_STATIC_DECL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - destroy
    - ','
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 234
    functionName: ISC__REFCOUNT_IMPL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC__REFCOUNT_IMPL(name, destroy, stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - destroy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: ISC_REFCOUNT_IMPL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_IMPL(name, destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - destroy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: ISC_REFCOUNT_STATIC_IMPL
    functionSourceFile: /src/bind9/lib/isc/include/isc/refcount.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_REFCOUNT_STATIC_IMPL(name, destroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: LOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK(lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: UNLOCK
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK(lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: isc_mutex_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_init(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: isc_mutex_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_lock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: isc_mutex_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_unlock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: isc_mutex_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_trylock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: isc_mutex_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_destroy(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: isc_mutex_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_init(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: isc_mutex_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_lock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: isc_mutex_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_unlock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: isc_mutex_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_trylock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: isc_mutex_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mutex_destroy(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: isc__mutex_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__mutex_init(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: isc__mutex_lock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__mutex_lock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: isc__mutex_unlock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__mutex_unlock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: isc__mutex_trylock
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__mutex_trylock(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: isc__mutex_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/mutex.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__mutex_destroy(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: IN6_IS_ADDR_V4MAPPED
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_V4MAPPED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: IN6_IS_ADDR_V4COMPAT
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_V4COMPAT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: IN6_IS_ADDR_MULTICAST
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_MULTICAST(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: IN6_IS_ADDR_LINKLOCAL
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_LINKLOCAL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: IN6_IS_ADDR_SITELOCAL
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_SITELOCAL(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: IN6_IS_ADDR_LOOPBACK
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN6_IS_ADDR_LOOPBACK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: ISC__IPADDR
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC__IPADDR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: ISC_IPADDR_ISMULTICAST
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_IPADDR_ISMULTICAST(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: ISC_IPADDR_ISEXPERIMENTAL
    functionSourceFile: /src/bind9/lib/isc/include/isc/net.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_IPADDR_ISEXPERIMENTAL(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: UV_VERSION
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UV_VERSION(major, minor, patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: UV_STRINGIFY
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UV_STRINGIFY(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: UV_STRINGIFY_HELPER
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UV_STRINGIFY_HELPER(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: UV__ERR
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UV__ERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - ret
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: UV_RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UV_RUNTIME_CHECK(func, ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: isc_uverr2result
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_uverr2result(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: uv_handle_set_data
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_handle_set_data(handle, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: uv_handle_get_data
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_handle_get_data(handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - close_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: uv_close
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_close(handle, close_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loop
    - ','
    - idle
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: uv_idle_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_idle_init(loop, idle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loop
    - ','
    - timer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: uv_timer_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_timer_init(loop, timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - loop
    - ','
    - async
    - ','
    - async_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: uv_async_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_async_init(loop, async, async_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - close_cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: uv_close
    functionSourceFile: /src/bind9/lib/isc/include/isc/uv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv_close(handle, close_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: isc_pause
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iters
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: isc_pause_n
    functionSourceFile: /src/bind9/lib/isc/include/isc/pause.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_pause_n(iters)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - seconds
    - ','
    - nanoseconds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: isc_interval_set
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_interval_set(i, seconds, nanoseconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: isc_interval_iszero
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_interval_iszero(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: isc_interval_ms
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_interval_ms(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ns
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: isc_interval_fromnanosecs
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_interval_fromnanosecs(ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: isc_interval_tonanosecs
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_interval_tonanosecs(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - time
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: isc_nanosecs_fromtime
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_nanosecs_fromtime(time)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ns
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: isc_time_fromnanosecs
    functionSourceFile: /src/bind9/lib/isc/include/isc/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_time_fromnanosecs(ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: ISC_FORMAT_PRINTF
    functionSourceFile: /src/bind9/lib/isc/include/isc/formatcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_FORMAT_PRINTF(fmt, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - category
    - ','
    - module
    - ','
    - funcname
    - ','
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: isc_tlserr2result
    functionSourceFile: /src/bind9/lib/isc/include/isc/tls.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_tlserr2result(category, module, funcname, fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: rotate_left
    functionSourceFile: /src/bind9/lib/isc/include/isc/fxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rotate_left(size_t x, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rotate_left
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - i
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: fx_add_to_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/fxhash.h
    functionUses: 0
    functionsReached:
    - rotate_left
    linkageType: ''
    returnType: size_t
    signature: size_t fx_add_to_hash(size_t hash, size_t i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:60,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:61,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:69,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:70,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:78,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:79,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - initial_hash
    - bytes
    - len
    - case_sensitive
    argTypes:
    - size_t
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 89
    functionName: fx_hash_bytes
    functionSourceFile: /src/bind9/lib/isc/include/isc/fxhash.h
    functionUses: 1
    functionsReached:
    - memmove
    - fx_add_to_hash
    linkageType: ''
    returnType: size_t
    signature: "size_t fx_hash_bytes(size_t initial_hash, const uint8_t *restrict
      bytes, size_t len,\n\t      bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: isc_mem_get
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 165
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_get(c, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: isc_mem_cget
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_cget(c, n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - o
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: isc_mem_reget
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_reget(c, p, o, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - o
    - ','
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: isc_mem_creget
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_creget(c, p, o, n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: isc_mem_allocate
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_allocate(c, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: isc_mem_callocate
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_callocate(c, n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: isc_mem_reallocate
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_reallocate(c, p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: isc_mem_strdup
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_strdup(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: isc_mem_strndup
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_strndup(c, p, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: isc_mempool_get
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mempool_get(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: isc_mem_put
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_put(c, p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - n
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: isc_mem_cput
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_cput(c, p, n, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: isc_mem_putanddetach
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_putanddetach(c, p, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: isc_mem_free
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_free(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: isc_mempool_put
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mempool_put(c, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: isc_mem_create
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_create(name, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: isc_mem_create
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_create(name, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: isc_mem_ref
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: isc_mem_unref
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: isc_mem_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: isc_mem_detach
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mem_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - n
    - ','
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: isc_mempool_create
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mempool_create(c, s, n, mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: isc_mempool_destroy
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_mempool_destroy(mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: isc_loop
    functionSourceFile: /src/bind9/lib/isc/include/isc/loop.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

      isc_loop(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: isc_loop_ref
    functionSourceFile: /src/bind9/lib/isc/include/isc/loop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_loop_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: isc_loop_unref
    functionSourceFile: /src/bind9/lib/isc/include/isc/loop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_loop_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: isc_loop_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/loop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_loop_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: isc_loop_detach
    functionSourceFile: /src/bind9/lib/isc/include/isc/loop.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_loop_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: isc_once_do
    functionSourceFile: /src/bind9/lib/isc/include/isc/once.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_once_do(op, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:232,1
    - Dst: isc_dnsstream_assembler_setcb
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:235,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:236,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:238,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - dnsasm
    - memctx
    - cb
    - cbarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_mem_t*
    - isc_dnsstream_assembler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 242
    functionName: isc_dnsstream_assembler_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_buffer_init
    - REQUIRE
    - isc_dnsstream_assembler_setcb
    - isc_buffer_setmctx
    linkageType: ''
    returnType: void
    signature: "void isc_dnsstream_assembler_init(isc_dnsstream_assembler_t *restrict
      dnsasm,\n\t\t\t     isc_mem_t *memctx, isc_dnsstream_assembler_cb_t cb,\n\t\t\t
      \    void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:246,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:251,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:252,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:253,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dnsasm
    argTypes:
    - isc_dnsstream_assembler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: isc_dnsstream_assembler_uninit
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc_buffer_invalidate
    - isc_mem_detach
    - isc_buffer_clearmctx
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_dnsstream_assembler_uninit(isc_dnsstream_assembler_t *restrict
      dnsasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:266,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:268,1
    - Dst: isc_dnsstream_assembler_init
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - memctx
    - cb
    - cbarg
    argTypes:
    - isc_mem_t*
    - isc_dnsstream_assembler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: isc_dnsstream_assembler_new
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_dnsstream_assembler_init
    linkageType: ''
    returnType: isc_dnsstream_assembler_t
    signature: "isc_dnsstream_assembler_t *\nisc_dnsstream_assembler_new(isc_mem_t
      *memctx, isc_dnsstream_assembler_cb_t cb,\n\t\t\t    void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:278,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:282,1
    - Dst: isc_dnsstream_assembler_uninit
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:283,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dnsasm
    argTypes:
    - isc_dnsstream_assembler_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: isc_dnsstream_assembler_free
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mem_putanddetach
    - REQUIRE
    - isc_dnsstream_assembler_uninit
    linkageType: ''
    returnType: void
    signature: void isc_dnsstream_assembler_free(isc_dnsstream_assembler_t **restrict
      dnsasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dnsasm
    - cb
    - cbarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_dnsstream_assembler_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 296
    functionName: isc_dnsstream_assembler_setcb
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 7
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_dnsstream_assembler_setcb(isc_dnsstream_assembler_t *restrict
      dnsasm,\n\t\t\t      isc_dnsstream_assembler_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_t*::onmsg_cb
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dnsasm
    - result
    - region
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: isc__dnsstream_assembler_callcb
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc_dnsstream_assembler_t*::onmsg_cb
    linkageType: ''
    returnType: bool
    signature: "bool isc__dnsstream_assembler_callcb(isc_dnsstream_assembler_t *restrict
      dnsasm,\n\t\t\t\tconst isc_result_t result,\n\t\t\t\tisc_region_t *restrict
      region, void *userarg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:320,1
    - Dst: isc_buffer_peekuint16
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:322,1
    - Dst: isc_dnsstream_assembler_clear
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:332,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:336,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:346,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:350,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:351,1
    - Dst: isc__dnsstream_assembler_callcb
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:353,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:355,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:356,1
    - Dst: isc__dnsstream_assembler_callcb
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - dnsasm
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 365
    functionName: isc__dnsstream_assembler_handle_message
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - UNREACHABLE
    - isc_dnsstream_assembler_clear
    - isc__dnsstream_assembler_callcb
    - isc_buffer_forward
    - isc_buffer_getuint16
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_peekuint16
    linkageType: ''
    returnType: bool
    signature: "bool isc__dnsstream_assembler_handle_message(\n\tisc_dnsstream_assembler_t
      *restrict dnsasm, void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__dnsstream_assembler_handle_message
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:370,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - dnsasm
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 375
    functionName: isc__dnsstream_assembler_processing
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc__dnsstream_assembler_handle_message
    - isc_buffer_remaininglength
    linkageType: ''
    returnType: void
    signature: "void isc__dnsstream_assembler_processing(isc_dnsstream_assembler_t
      *restrict dnsasm,\n\t\t\t\t    void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:383,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:385,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:386,1
    - Dst: isc__dnsstream_assembler_processing
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:396,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:401,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - dnsasm
    - userarg
    - buf
    - buf_size
    argTypes:
    - isc_dnsstream_assembler_t*
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 411
    functionName: isc__dnsstream_assembler_incoming_direct
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - isc_buffer_putmem
    - INSIST
    - isc_buffer_init
    - isc_buffer_add
    - isc__dnsstream_assembler_processing
    linkageType: ''
    returnType: void
    signature: "void isc__dnsstream_assembler_incoming_direct(\n\tisc_dnsstream_assembler_t
      *restrict dnsasm, void *userarg,\n\tvoid *restrict buf, const unsigned int\t\t
      \ buf_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_peekuint16
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:422,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:426,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:450,1
    - Dst: isc__dnsstream_assembler_handle_message
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:455,1
    - Dst: isc_buffer_trycompact
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:456,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:458,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:458,1
    - Dst: isc__dnsstream_assembler_incoming_direct
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:468,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - dnsasm
    - userarg
    - buf
    - buf_size
    argTypes:
    - isc_dnsstream_assembler_t*
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 485
    functionName: isc__dnsstream_assembler_incoming_direct_non_empty
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 0
    functionsReached:
    - isc__dnsstream_assembler_incoming_direct
    - isc_buffer_putmem
    - INSIST
    - isc_buffer_remaininglength
    - isc__dnsstream_assembler_handle_message
    - isc_buffer_trycompact
    - isc_buffer_peekuint16
    linkageType: ''
    returnType: bool
    signature: "bool isc__dnsstream_assembler_incoming_direct_non_empty(\n\tisc_dnsstream_assembler_t
      *restrict dnsasm, void *userarg,\n\tvoid *restrict buf, unsigned int\t\t  buf_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:491,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:492,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:497,1
    - Dst: isc__dnsstream_assembler_incoming_direct
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:508,1
    - Dst: isc__dnsstream_assembler_incoming_direct_non_empty
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:511,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:532,1
    - Dst: isc__dnsstream_assembler_incoming_direct_non_empty
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:536,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:544,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:554,1
    - Dst: isc__dnsstream_assembler_processing
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:558,1
    - Dst: isc_buffer_trycompact
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - dnsasm
    - userarg
    - buf
    - buf_size
    argTypes:
    - isc_dnsstream_assembler_t*
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 487
    functionDepth: 5
    functionLinenumber: 487
    functionLinenumberEnd: 561
    functionName: isc_dnsstream_assembler_incoming
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 6
    functionsReached:
    - isc__dnsstream_assembler_incoming_direct
    - isc_buffer_putmem
    - isc__dnsstream_assembler_incoming_direct_non_empty
    - INSIST
    - isc_buffer_remaininglength
    - REQUIRE
    - isc_buffer_trycompact
    - isc__dnsstream_assembler_processing
    linkageType: ''
    returnType: void
    signature: "void isc_dnsstream_assembler_incoming(isc_dnsstream_assembler_t *restrict
      dnsasm,\n\t\t\t\t void\t\t   *userarg, void *restrict buf,\n\t\t\t\t const unsigned
      int buf_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dnsasm
    argTypes:
    - isc_dnsstream_assembler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 569
    functionName: isc_dnsstream_assembler_result
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 8
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_dnsstream_assembler_result(\n\tconst isc_dnsstream_assembler_t
      *restrict dnsasm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:574,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dnsasm
    argTypes:
    - isc_dnsstream_assembler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 577
    functionName: isc_dnsstream_assembler_remaininglength
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_buffer_remaininglength
    linkageType: ''
    returnType: size_t
    signature: "size_t isc_dnsstream_assembler_remaininglength(\n\tconst isc_dnsstream_assembler_t
      *restrict dnsasm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:581,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:583,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/include/isc/dnsstream.h:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dnsasm
    argTypes:
    - isc_dnsstream_assembler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 588
    functionName: isc_dnsstream_assembler_clear
    functionSourceFile: /src/bind9/lib/isc/include/isc/dnsstream.h
    functionUses: 2
    functionsReached:
    - isc_buffer_clear
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_dnsstream_assembler_clear(isc_dnsstream_assembler_t *restrict
      dnsasm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: isc_ascii_tolower
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_ascii_tolower(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: isc_ascii_toupper
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_ascii_toupper(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: isc__ascii_tolower1
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isc__ascii_tolower1(uint8_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__ascii_tolower1
      Src: /src/bind9/lib/isc/include/isc/ascii.h:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: isc_ascii_lowercopy
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 2
    functionsReached:
    - isc__ascii_tolower1
    linkageType: ''
    returnType: void
    signature: void isc_ascii_lowercopy(uint8_t *dst, const uint8_t *src, unsigned
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/isc/include/isc/ascii.h:58,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/include/isc/ascii.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: isc_ascii_strtolower
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 0
    functionsReached:
    - strlen
    - isc_ascii_lowercopy
    linkageType: ''
    returnType: void
    signature: void isc_ascii_strtolower(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - octets
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 104
    functionName: isc_ascii_tolower8
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_ascii_tolower8(uint64_t octets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - octets
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: isc_ascii_tolower4
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_ascii_tolower4(uint32_t octets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/ascii.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: isc__ascii_load8
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc__ascii_load8(const uint8_t *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:141,1
    - Dst: isc__ascii_load8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:141,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:142,1
    - Dst: isc__ascii_load8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:142,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:151,1
    - Dst: isc__ascii_load8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:151,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:152,1
    - Dst: isc__ascii_load8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:152,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/isc/include/isc/ascii.h:157,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/isc/include/isc/ascii.h:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 162
    functionName: isc_ascii_lowerequal
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 7
    functionsReached:
    - isc_ascii_tolower
    - isc_ascii_tolower8
    - isc__ascii_load8
    linkageType: ''
    returnType: bool
    signature: "bool isc_ascii_lowerequal(const uint8_t *restrict a, const uint8_t
      *restrict b,\n\t\t     unsigned int len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:174,1
    - Dst: htobe64
      Src: /src/bind9/lib/isc/include/isc/ascii.h:174,1
    - Dst: isc__ascii_load8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:174,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:175,1
    - Dst: htobe64
      Src: /src/bind9/lib/isc/include/isc/ascii.h:175,1
    - Dst: isc__ascii_load8
      Src: /src/bind9/lib/isc/include/isc/ascii.h:175,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/isc/include/isc/ascii.h:184,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/isc/include/isc/ascii.h:185,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - a
    - b
    - len
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 198
    functionName: isc_ascii_lowercmp
    functionSourceFile: /src/bind9/lib/isc/include/isc/ascii.h
    functionUses: 1
    functionsReached:
    - isc_ascii_tolower
    - htobe64
    - isc_ascii_tolower8
    - isc__ascii_load8
    linkageType: ''
    returnType: int
    signature: int isc_ascii_lowercmp(const uint8_t *a, const uint8_t *b, unsigned
      int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: ISC_BUFFER_VALID
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_BUFFER_VALID(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: isc_buffer_base
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_base(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: isc_buffer_current
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_current(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: isc_buffer_active
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_active(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: isc_buffer_used
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_used(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: isc_buffer_length
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_length(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: isc_buffer_usedlength
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_usedlength(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: isc_buffer_consumedlength
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_consumedlength(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: isc_buffer_remaininglength
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_remaininglength(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: isc_buffer_activelength
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_activelength(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: isc_buffer_availablelength
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_availablelength(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - b
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 533
    functionName: isc_buffer_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 174
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_buffer_init(isc_buffer_t *restrict b, void *base,\n\t\tconst
      unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: isc_buffer_initnull
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_buffer_initnull(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _b
    - ','
    - _d
    - ','
    - _l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: isc_buffer_constinit
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_buffer_constinit(_b, _d, _l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:578,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:578,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:579,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/isc/include/isc/buffer.h:579,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: isc_buffer_invalidate
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 7
    functionsReached:
    - ISC_LINK_LINKED
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_invalidate(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:598,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: isc_buffer_region
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 1
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_region(isc_buffer_t *restrict b, isc_region_t *restrict
      r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:617,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:617,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: isc_buffer_usedregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 45
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_buffer_usedregion(const isc_buffer_t *restrict b,\n\t\t      isc_region_t
      *restrict r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:635,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:635,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:636,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:638,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: isc_buffer_availableregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 8
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    - isc_buffer_used
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void isc_buffer_availableregion(isc_buffer_t *restrict b, isc_region_t
      *restrict r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:653,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: isc_buffer_add
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 121
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_add(isc_buffer_t *restrict b, const unsigned int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:670,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:670,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 680
    functionName: isc_buffer_subtract
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 2
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_subtract(isc_buffer_t *restrict b, const unsigned int
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:695,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: isc_buffer_clear
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 34
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_clear(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:713,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:713,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: isc_buffer_consumedregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_consumedregion(isc_buffer_t *restrict b, isc_region_t
      *restrict r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:731,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:731,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:732,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:734,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: isc_buffer_remainingregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 8
    functionsReached:
    - ISC_BUFFER_VALID
    - isc_buffer_current
    - REQUIRE
    - isc_buffer_remaininglength
    linkageType: ''
    returnType: void
    signature: void isc_buffer_remainingregion(isc_buffer_t *restrict b, isc_region_t
      *restrict r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:749,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:750,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:753,1
    - Dst: isc_buffer_activelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 759
    functionName: isc_buffer_activeregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - isc_buffer_activelength
    - ISC_BUFFER_VALID
    - isc_buffer_current
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_activeregion(isc_buffer_t *restrict b, isc_region_t
      *restrict r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:772,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 776
    functionName: isc_buffer_setactive
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 6
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_setactive(isc_buffer_t *restrict b, const unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:791,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 794
    functionName: isc_buffer_first
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 2
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_first(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:807,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:807,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: isc_buffer_forward
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 16
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_forward(isc_buffer_t *restrict b, const unsigned int
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:824,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:824,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: isc_buffer_back
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_back(isc_buffer_t *restrict b, const unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 837
    functionName: ISC_BUFFER_PEEK_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_BUFFER_PEEK_CHECK(b, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PEEK_CHECK
      Src: /src/bind9/lib/isc/include/isc/buffer.h:840,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:842,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/include/isc/buffer.h:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - valp
    argTypes:
    - isc_buffer_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 845
    functionName: isc_buffer_peekuint8
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - isc_buffer_current
    - ISC_BUFFER_PEEK_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_buffer_peekuint8(const isc_buffer_t *restrict b, uint8_t
      *valp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_peekuint8
      Src: /src/bind9/lib/isc/include/isc/buffer.h:850,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 854
    functionName: isc_buffer_getuint8
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 3
    functionsReached:
    - isc_buffer_peekuint8
    - ENSURE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isc_buffer_getuint8(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: ISC_BUFFER_PUT_RESERVE
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_BUFFER_PUT_RESERVE(b, v, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PUT_RESERVE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:870,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - isc_buffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 875
    functionName: isc_buffer_putuint8
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 27
    functionsReached:
    - isc_buffer_used
    - ISC_BUFFER_PUT_RESERVE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_putuint8(isc_buffer_t *restrict b, const uint8_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PEEK_CHECK
      Src: /src/bind9/lib/isc/include/isc/buffer.h:879,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:881,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/include/isc/buffer.h:883,1
    - Dst: ISC_U8TO16_BE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - valp
    argTypes:
    - isc_buffer_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 885
    functionName: isc_buffer_peekuint16
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 3
    functionsReached:
    - ISC_U8TO16_BE
    - SET_IF_NOT_NULL
    - isc_buffer_current
    - ISC_BUFFER_PEEK_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_buffer_peekuint16(const isc_buffer_t *restrict b,
      uint16_t *valp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_peekuint16
      Src: /src/bind9/lib/isc/include/isc/buffer.h:890,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 894
    functionName: isc_buffer_getuint16
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 8
    functionsReached:
    - isc_buffer_peekuint16
    - ENSURE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t isc_buffer_getuint16(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PUT_RESERVE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:898,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:900,1
    - Dst: ISC_U16TO8_BE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - isc_buffer_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 903
    functionName: isc_buffer_putuint16
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 9
    functionsReached:
    - isc_buffer_used
    - ISC_U16TO8_BE
    - ISC_BUFFER_PUT_RESERVE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_putuint16(isc_buffer_t *restrict b, const uint16_t
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PEEK_CHECK
      Src: /src/bind9/lib/isc/include/isc/buffer.h:907,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:909,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/include/isc/buffer.h:911,1
    - Dst: ISC_U8TO32_BE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - valp
    argTypes:
    - isc_buffer_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 913
    functionName: isc_buffer_peekuint32
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - ISC_U8TO32_BE
    - SET_IF_NOT_NULL
    - isc_buffer_current
    - ISC_BUFFER_PEEK_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_buffer_peekuint32(const isc_buffer_t *restrict b,
      uint32_t *valp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_peekuint32
      Src: /src/bind9/lib/isc/include/isc/buffer.h:918,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 922
    functionName: isc_buffer_getuint32
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - isc_buffer_peekuint32
    - ENSURE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_buffer_getuint32(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PUT_RESERVE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:926,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:928,1
    - Dst: ISC_U32TO8_BE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - isc_buffer_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 932
    functionName: isc_buffer_putuint32
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 4
    functionsReached:
    - ISC_U32TO8_BE
    - isc_buffer_used
    - ISC_BUFFER_PUT_RESERVE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_putuint32(isc_buffer_t *restrict b, const uint32_t
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PEEK_CHECK
      Src: /src/bind9/lib/isc/include/isc/buffer.h:936,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:938,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/include/isc/buffer.h:940,1
    - Dst: ISC_U8TO48_BE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - valp
    argTypes:
    - isc_buffer_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 942
    functionName: isc_buffer_peekuint48
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - isc_buffer_current
    - ISC_BUFFER_PEEK_CHECK
    - ISC_U8TO48_BE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_buffer_peekuint48(const isc_buffer_t *restrict b,
      uint64_t *valp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_peekuint48
      Src: /src/bind9/lib/isc/include/isc/buffer.h:947,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: isc_buffer_getuint48
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - ENSURE
    - isc_buffer_peekuint48
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_buffer_getuint48(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_BUFFER_PUT_RESERVE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:955,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:957,1
    - Dst: ISC_U48TO8_BE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - isc_buffer_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: isc_buffer_putuint48
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 1
    functionsReached:
    - isc_buffer_used
    - ISC_U48TO8_BE
    - ISC_BUFFER_PUT_RESERVE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_putuint48(isc_buffer_t *restrict b, const uint64_t
      val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:966,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:966,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/include/isc/buffer.h:969,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:970,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:973,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:973,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:976,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - b
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 979
    functionName: isc_buffer_putmem
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 32
    functionsReached:
    - memmove
    - isc_buffer_used
    - isc_buffer_reserve
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: "void isc_buffer_putmem(isc_buffer_t *restrict b, const unsigned char
      *restrict base,\n\t\t  const unsigned int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1000,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1000,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1001,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1003,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1005,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1006,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1009,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1009,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1011,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - b
    - source
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1014
    functionName: isc_buffer_putstr
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 19
    functionsReached:
    - memmove
    - isc_buffer_used
    - isc_buffer_reserve
    - ENSURE
    - strlen
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void isc_buffer_putstr(isc_buffer_t *restrict b, const char *restrict
      source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1028,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1029,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1030,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - b
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1038
    functionName: isc_buffer_reinit
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 5
    functionsReached:
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_buffer_reinit(isc_buffer_t *restrict b, void *base,\n\t\t
      \ const unsigned int length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1042,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1042,1
    - Dst: isc_buffer_compact
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1045
    functionName: isc_buffer_trycompact
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 4
    functionsReached:
    - isc_buffer_compact
    - isc_buffer_consumedlength
    - isc_buffer_remaininglength
    linkageType: ''
    returnType: void
    signature: void isc_buffer_trycompact(isc_buffer_t *restrict b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1058,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1058,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1060,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1061,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1073
    functionName: isc_buffer_compact
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 2
    functionsReached:
    - memmove
    - isc_buffer_remaininglength
    - isc_buffer_current
    - REQUIRE
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: void
    signature: void isc_buffer_compact(isc_buffer_t *restrict b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1078,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1080,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1083,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mctx
    - dbufp
    - length
    argTypes:
    - isc_mem_t*
    - isc_buffer_t**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1088
    functionName: isc_buffer_allocate
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 41
    functionsReached:
    - isc_buffer_init
    - isc_mem_get
    - REQUIRE
    - isc_buffer_setmctx
    linkageType: ''
    returnType: void
    signature: "void isc_buffer_allocate(isc_mem_t\t      *mctx, isc_buffer_t **restrict
      dbufp,\n\t\t    const unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1092,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - mctx
    argTypes:
    - isc_buffer_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1095
    functionName: isc_buffer_setmctx
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 8
    functionsReached:
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_setmctx(isc_buffer_t *restrict b, isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1099,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1099,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1107
    functionName: isc_buffer_clearmctx
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 7
    functionsReached:
    - isc_mem_put
    - ISC_BUFFER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_buffer_clearmctx(isc_buffer_t *restrict b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1111,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1111,1
    - Dst: ISC_ALIGN
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1126,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1139,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1141,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - dbuf
    - size
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1151
    functionName: isc_buffer_reserve
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 9
    functionsReached:
    - memmove
    - isc_mem_creget
    - isc_mem_get
    - REQUIRE
    - ISC_BUFFER_VALID
    - ISC_ALIGN
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_buffer_reserve(isc_buffer_t *restrict dbuf, const
      unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1155,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1156,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1164,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1166,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dbufp
    argTypes:
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1168
    functionName: isc_buffer_free
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 51
    functionsReached:
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - REQUIRE
    - isc_mem_put
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: void
    signature: void isc_buffer_free(isc_buffer_t **restrict dbufp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1178,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1178,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1180,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1182,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1184,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - dstp
    - src
    argTypes:
    - isc_mem_t*
    - isc_buffer_t**
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1188
    functionName: isc_buffer_dup
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - isc_buffer_copyregion
    - isc_buffer_allocate
    - REQUIRE
    - isc_buffer_usedregion
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_buffer_dup(isc_mem_t *mctx, isc_buffer_t **restrict
      dstp,\n\t       const isc_buffer_t *restrict src)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1195,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1195,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1196,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1199,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1205,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1210,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1215
    functionName: isc_buffer_copyregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 4
    functionsReached:
    - memmove
    - isc_buffer_used
    - isc_buffer_reserve
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_buffer_copyregion(isc_buffer_t *restrict b,\n\t\t
      \     const isc_region_t *restrict r)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1223,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1223,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1225,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1226,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1227,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1234,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1240,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1244,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1245,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1245,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - b
    - format
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1255
    functionName: isc_buffer_printf
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 9
    functionsReached:
    - va_end
    - isc_buffer_used
    - isc_buffer_reserve
    - va_start
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    - vsnprintf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_buffer_printf(isc_buffer_t *restrict b, const char
      *restrict format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - header
    - ','
    - name
    - ','
    - namelen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: HEADER_MATCH
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEADER_MATCH(header, name, namelen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: SUCCESSFUL_HTTP_STATUS
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUCCESSFUL_HTTP_STATUS(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: VALID_HTTP2_SESSION
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_HTTP2_SESSION(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: VALID_HTTP_ENDPOINTS
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_HTTP_ENDPOINTS(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: VALID_HTTP_HANDLER
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_HTTP_HANDLER(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:314,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: http_session_active
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_HTTP2_SESSION
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool http_session_active(isc_nm_http_session_t *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sz
    - mctx
    argTypes:
    - size_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: http_malloc
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: 'void *

      http_malloc(size_t sz, isc_mem_t *mctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_callocate
      Src: /src/bind9/lib/isc/netmgr/http.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - sz
    - mctx
    argTypes:
    - size_t
    - size_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: http_calloc
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_callocate
    linkageType: ''
    returnType: void
    signature: 'void *

      http_calloc(size_t n, size_t sz, isc_mem_t *mctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/isc/netmgr/http.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - newsz
    - mctx
    argTypes:
    - void*
    - size_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: http_realloc
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_reallocate
    linkageType: ''
    returnType: void
    signature: 'void *

      http_realloc(void *p, size_t newsz, isc_mem_t *mctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - mctx
    argTypes:
    - void*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: http_free
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void http_free(void *p, isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mctx
    - mem
    argTypes:
    - isc_mem_t*
    - nghttp2_mem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: init_nghttp2_mem
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_nghttp2_mem(isc_mem_t *mctx, nghttp2_mem *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:356,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:358,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/http.c:361,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:362,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:363,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:364,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - mctx
    - tctx
    - sessionp
    argTypes:
    - isc_mem_t*
    - isc_tlsctx_t*
    - isc_nm_http_session_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: new_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: "void new_session(isc_mem_t *mctx, isc_tlsctx_t *tctx,\n\t    isc_nm_http_session_t
      **sessionp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:373,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:374,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/netmgr/http.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - isc_nm_http_session_t*
    - isc_nm_http_session_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 379
    functionName: isc__nm_httpsession_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_HTTP2_SESSION
    - REQUIRE
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: "void isc__nm_httpsession_attach(isc_nm_http_session_t *source,\n\t\t\t
      \  isc_nm_http_session_t **targetp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:385,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:390,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:390,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/netmgr/http.c:392,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:396,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:398,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:398,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:399,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:399,1
    - Dst: nghttp2_session_del
      Src: /src/bind9/lib/isc/netmgr/http.c:402,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:407,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/http.c:411,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/http.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - sessionp
    argTypes:
    - isc_nm_http_session_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 416
    functionName: isc__nm_httpsession_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_refcount_current
    - isc_mem_putanddetach
    - VALID_HTTP2_SESSION
    - INSIST
    - isc_refcount_decrement
    - isc_buffer_free
    - finish_http_session
    - REQUIRE
    - nghttp2_session_del
    linkageType: ''
    returnType: void
    signature: void isc__nm_httpsession_detach(isc_nm_http_session_t **sessionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:420,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: isc__nm_httpsession_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_HTTP2_SESSION
    - REQUIRE
    linkageType: ''
    returnType: isc_nmhandle_t
    signature: 'isc_nmhandle_t *

      isc__nm_httpsession_handle(isc_nm_http_session_t *session)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:427,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:427,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:429,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:433,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/netmgr/http.c:436,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:437,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - stream_id
    - session
    argTypes:
    - int32_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: find_http_cstream
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - VALID_HTTP2_SESSION
    - ISC_LIST_UNLINK
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: http_cstream_t
    signature: 'http_cstream_t *

      find_http_cstream(int32_t stream_id, isc_nm_http_session_t *session)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:461,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/http.c:464,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:465,1
    - Dst: isc_url_parse
      Src: /src/bind9/lib/isc/netmgr/http.c:467,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/netmgr/http.c:467,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:470,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:471,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:475,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:477,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:478,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:482,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:499,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:501,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:511,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:517,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - sock
    - streamp
    argTypes:
    - isc_nmsocket_t*
    - http_cstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 524
    functionName: new_http_cstream
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - memmove
    - isc_url_parse
    - isc_mem_free
    - ISC_LINK_INIT
    - strlen
    - isc_mem_get
    - snprintf
    - isc_mem_strdup
    - isc__nmsocket_attach
    - isc_buffer_allocate
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t new_http_cstream(isc_nmsocket_t *sock, http_cstream_t
      **streamp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:528,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:529,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:531,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:533,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:538,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:539,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/isc/netmgr/http.c:545,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:546,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:549,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:551,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - mctx
    - stream
    argTypes:
    - isc_mem_t*
    - http_cstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 526
    functionDepth: 3
    functionLinenumber: 526
    functionLinenumberEnd: 553
    functionName: put_http_cstream
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - ISC_LINK_LINKED
    - INSIST
    - isc__nmsocket_detach
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void put_http_cstream(isc_mem_t *mctx, http_cstream_t *stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:565,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:566,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/http.c:567,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:576,1
    - Dst: client_call_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:580,1
    - Dst: server_call_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:582,1
    - Dst: call_pending_callbacks
      Src: /src/bind9/lib/isc/netmgr/http.c:585,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:587,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:590,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:593,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:597,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:600,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:600,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 607
    functionName: finish_http_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_detach
    - ISC_LIST_EMPTY
    - isc_nm_read_stop
    - isc_nmhandle_close
    - INSIST
    - isc__nmsocket_detach
    - isc_buffer_free
    - isc__nmsocket_timer_stop
    - server_call_failed_read_cb
    - call_pending_callbacks
    - ISC_LIST_INIT
    - client_call_failed_read_cb
    linkageType: ''
    returnType: void
    signature: void finish_http_session(isc_nm_http_session_t *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:612,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:616,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:617,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/http.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - stream_id
    - data
    - len
    - session
    argTypes:
    - int32_t
    - uint8_t*
    - size_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 630
    functionName: on_client_data_chunk_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_buffer_usedlength
    - INSIST
    - find_http_cstream
    linkageType: ''
    returnType: int
    signature: "int on_client_data_chunk_recv_callback(int32_t stream_id, const uint8_t
      *data,\n\t\t\t\t   size_t len, isc_nm_http_session_t *session)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/netmgr/http.c:635,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:640,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/http.c:641,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:643,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:647,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/http.c:653,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/netmgr/http.c:659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - stream_id
    - data
    - len
    - session
    argTypes:
    - int32_t
    - uint8_t*
    - size_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 666
    functionName: on_server_data_chunk_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - isc_buffer_putmem
    - isc_buffer_init
    - isc_buffer_usedlength
    - isc_mem_allocate
    - isc_buffer_base
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: int
    signature: "int on_server_data_chunk_recv_callback(int32_t stream_id, const uint8_t
      *data,\n\t\t\t\t   size_t len, isc_nm_http_session_t *session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:675,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:676,1
    - Dst: on_client_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:679,1
    - Dst: on_server_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - ngsession
    - flags
    - stream_id
    - data
    - len
    - user_data
    argTypes:
    - nghttp2_session*
    - uint8_t
    - int32_t
    - uint8_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 668
    functionDepth: 3
    functionLinenumber: 668
    functionLinenumberEnd: 687
    functionName: on_data_chunk_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - on_server_data_chunk_recv_callback
    - on_client_data_chunk_recv_callback
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int on_data_chunk_recv_callback(nghttp2_session *ngsession, uint8_t
      flags,\n\t\t\t    int32_t stream_id, const uint8_t *data, size_t len,\n\t\t\t
      \   void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:694,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:694,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:695,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:696,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:697,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:697,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:698,1
    - Dst: http_cstream_t*::read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:699,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/http.c:702,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - cstream
    - session
    - result
    argTypes:
    - http_cstream_t*
    - isc_nm_http_session_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 689
    functionDepth: 4
    functionLinenumber: 689
    functionLinenumberEnd: 705
    functionName: call_unlink_cstream_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - http_cstream_t*::read_cb
    - put_http_cstream
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_buffer_usedregion
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: "void call_unlink_cstream_readcb(http_cstream_t *cstream,\n\t\t\t   isc_nm_http_session_t
      *session,\n\t\t\t   isc_result_t result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:710,1
    - Dst: SUCCESSFUL_HTTP_STATUS
      Src: /src/bind9/lib/isc/netmgr/http.c:714,1
    - Dst: call_unlink_cstream_readcb
      Src: /src/bind9/lib/isc/netmgr/http.c:717,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:718,1
    - Dst: nghttp2_session_terminate_session
      Src: /src/bind9/lib/isc/netmgr/http.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - stream_id
    - session
    argTypes:
    - int32_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 707
    functionDepth: 5
    functionLinenumber: 707
    functionLinenumberEnd: 734
    functionName: on_client_stream_close_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - nghttp2_session_terminate_session
    - SUCCESSFUL_HTTP_STATUS
    - call_unlink_cstream_readcb
    - find_http_cstream
    linkageType: ''
    returnType: int
    signature: "int on_client_stream_close_callback(int32_t stream_id,\n\t\t\t\tisc_nm_http_session_t
      *session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:739,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:743,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:763,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - stream_id
    - session
    argTypes:
    - int32_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 766
    functionName: on_server_stream_close_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_detach
    - nghttp2_session_get_stream_user_data
    - isc__nmsocket_prep_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: int
    signature: "int on_server_stream_close_callback(int32_t stream_id,\n\t\t\t\tisc_nm_http_session_t
      *session)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:774,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:774,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:775,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:777,1
    - Dst: on_client_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:780,1
    - Dst: on_server_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ngsession
    - stream_id
    - error_code
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 768
    functionDepth: 6
    functionLinenumber: 768
    functionLinenumberEnd: 786
    functionName: on_stream_close_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - VALID_HTTP2_SESSION
    - on_client_stream_close_callback
    - on_server_stream_close_callback
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: "int on_stream_close_callback(nghttp2_session *ngsession, int32_t stream_id,\n\t\t\t
      uint32_t error_code, void *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/bind9/lib/isc/netmgr/http.c:794,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/netmgr/http.c:794,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/netmgr/http.c:795,1
    - Dst: SUCCESSFUL_HTTP_STATUS
      Src: /src/bind9/lib/isc/netmgr/http.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cstream
    - value
    - valuelen
    argTypes:
    - http_cstream_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 802
    functionName: client_handle_status_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - SUCCESSFUL_HTTP_STATUS
    - strncpy
    - ISC_MIN
    - strtoul
    linkageType: ''
    returnType: bool
    signature: "bool client_handle_status_header(http_cstream_t *cstream, const uint8_t
      *value,\n\t\t\t    const size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/bind9/lib/isc/netmgr/http.c:811,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/netmgr/http.c:811,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/netmgr/http.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cstream
    - value
    - valuelen
    argTypes:
    - http_cstream_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 821
    functionName: client_handle_content_length_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - strncpy
    - ISC_MIN
    - strtoul
    linkageType: ''
    returnType: bool
    signature: "bool client_handle_content_length_header(http_cstream_t *cstream,\n\t\t\t\t
      \   const uint8_t *value,\n\t\t\t\t    const size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:829,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/netmgr/http.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cstream
    - value
    - valuelen
    argTypes:
    - http_cstream_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 837
    functionName: client_handle_content_type_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: "bool client_handle_content_type_header(http_cstream_t *cstream, const
      uint8_t *value,\n\t\t\t\t  const size_t valuelen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:851,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:851,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:852,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:854,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:855,1
    - Dst: find_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:857,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:868,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:868,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:876,1
    - Dst: client_handle_status_header
      Src: /src/bind9/lib/isc/netmgr/http.c:877,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:879,1
    - Dst: client_handle_content_length_header
      Src: /src/bind9/lib/isc/netmgr/http.c:880,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:882,1
    - Dst: client_handle_content_type_header
      Src: /src/bind9/lib/isc/netmgr/http.c:883,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 8
    argNames:
    - ngsession
    - frame
    - name
    - namelen
    - value
    - valuelen
    - flags
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    - uint8_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 894
    functionName: client_on_header_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - client_handle_content_type_header
    - client_handle_status_header
    - UNUSED
    - VALID_HTTP2_SESSION
    - INSIST
    - client_handle_content_length_header
    - REQUIRE
    - find_http_cstream
    - HEADER_MATCH
    linkageType: ''
    returnType: int
    signature: "int client_on_header_callback(nghttp2_session *ngsession,\n\t\t\t
      \ const nghttp2_frame *frame, const uint8_t *name,\n\t\t\t  size_t namelen,
      const uint8_t *value, size_t valuelen,\n\t\t\t  uint8_t flags, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_nghttp2_mem
      Src: /src/bind9/lib/isc/netmgr/http.c:902,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:903,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/bind9/lib/isc/netmgr/http.c:903,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:904,1
    - Dst: nghttp2_option_new
      Src: /src/bind9/lib/isc/netmgr/http.c:904,1
    - Dst: nghttp2_option_set_max_send_header_block_length
      Src: /src/bind9/lib/isc/netmgr/http.c:907,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:911,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:914,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:917,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:920,1
    - Dst: nghttp2_session_client_new3
      Src: /src/bind9/lib/isc/netmgr/http.c:920,1
    - Dst: nghttp2_option_del
      Src: /src/bind9/lib/isc/netmgr/http.c:924,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/bind9/lib/isc/netmgr/http.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 926
    functionName: initialize_nghttp2_client_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_option_new
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_option_del
    - RUNTIME_CHECK
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_client_new3
    - init_nghttp2_mem
    - nghttp2_option_set_max_send_header_block_length
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_del
    linkageType: ''
    returnType: void
    signature: void initialize_nghttp2_client_session(isc_nm_http_session_t *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_settings
      Src: /src/bind9/lib/isc/netmgr/http.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 940
    functionName: send_client_connection_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_settings
    linkageType: ''
    returnType: bool
    signature: bool send_client_connection_header(isc_nm_http_session_t *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME
    - ','
    - VALUE
    - ','
    - VALUELEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: MAKE_NV
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_NV(NAME, VALUE, VALUELEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: MAKE_NV2
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_NV2(NAME, VALUE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:957,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:958,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:958,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:960,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:961,1
    - Dst: find_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:963,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:970,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:977,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/netmgr/http.c:977,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:979,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - ngsession
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 993
    functionName: client_read_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISC_LIST_EMPTY
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_remaininglength
    - isc_buffer_current
    - REQUIRE
    - find_http_cstream
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t client_read_callback(nghttp2_session *ngsession, int32_t stream_id,\n\t\t
      \    uint8_t *buf, size_t length, uint32_t *data_flags,\n\t\t     nghttp2_data_source
      *source, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:1007,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1008,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1010,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1011,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1014,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1016,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1017,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1018,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1019,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/netmgr/http.c:1019,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1020,1
    - Dst: nghttp2_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1025,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1029,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1030,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1032,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1033,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1036,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1038,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1040,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1041,1
    - Dst: nghttp2_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - session
    - stream
    argTypes:
    - isc_nm_http_session_t*
    - http_cstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1057
    functionName: client_submit_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - INSIST
    - strlen
    - nghttp2_submit_request
    - isc_buffer_usedlength
    - snprintf
    - MAKE_NV
    - MAKE_NV2
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t client_submit_request(isc_nm_http_session_t *session,
      http_cstream_t *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1064,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1070
    functionName: http_in_flight_data_size
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    linkageType: ''
    returnType: size_t
    signature: size_t http_in_flight_data_size(isc_nm_http_session_t *session)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1081,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1081,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1082,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:1084,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1093,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/bind9/lib/isc/netmgr/http.c:1098,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:1102,1
    - Dst: http_in_flight_data_size
      Src: /src/bind9/lib/isc/netmgr/http.c:1129,1
    - Dst: http_too_many_active_streams
      Src: /src/bind9/lib/isc/netmgr/http.c:1145,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1149,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/netmgr/http.c:1154,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/bind9/lib/isc/netmgr/http.c:1156,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:1160,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/netmgr/http.c:1164,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - session
    - input_data
    argTypes:
    - isc_nm_http_session_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1170
    functionName: http_process_input_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - http_in_flight_data_size
    - isc_buffer_clear
    - http_too_many_active_streams
    - http_session_active
    - nghttp2_session_mem_recv
    - isc_buffer_forward
    - ISC_MIN
    - VALID_HTTP2_SESSION
    - REQUIRE
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t http_process_input_data(isc_nm_http_session_t *session,\n\t\t\tisc_buffer_t
      *input_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/http.c:1174,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/http.c:1175,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:1179,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:1181,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/http.c:1183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1172
    functionDepth: 3
    functionLinenumber: 1172
    functionLinenumberEnd: 1191
    functionName: http_log_flooding_peer
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc__nmsocket_log
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void http_log_flooding_peer(isc_nm_http_session_t *session)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1246
    functionName: http_is_flooding_peer
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool http_is_flooding_peer(isc_nm_http_session_t *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:1314,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pending_callbacks
    - result
    argTypes:
    - isc__nm_http_pending_callbacks_t
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1317
    functionName: call_pending_callbacks
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc__nm_sendcb
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: "void call_pending_callbacks(isc__nm_http_pending_callbacks_t pending_callbacks,\n\t\t
      \      isc_result_t result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:1314,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1316
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 99
    functionsReached:
    - isc__nm_sendcb
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (pending_callbacks, cbreq, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1325,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1326,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1326,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:1328,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1329,1
    - Dst: call_pending_callbacks
      Src: /src/bind9/lib/isc/netmgr/http.c:1332,1
    - Dst: isc_http_send_req_t*::cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1335,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1336,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1340,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:1341,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:1343,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1348,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1350,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1352,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1355
    functionName: http_writecb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - http_session_active
    - VALID_HTTP2_SESSION
    - INSIST
    - isc_http_send_req_t*::cb
    - http_do_bio
    - isc_buffer_free
    - isc__nm_httpsession_detach
    - isc_buffer_usedlength
    - REQUIRE
    - call_pending_callbacks
    - finish_http_session
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void http_writecb(isc_nmhandle_t *handle, isc_result_t result, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/isc/netmgr/http.c:1360,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:1364,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - session
    - send
    argTypes:
    - isc_nm_http_session_t*
    - isc_http_send_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1368
    functionName: move_pending_send_callbacks
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    - STATIC_ASSERT
    - memmove
    linkageType: ''
    returnType: void
    signature: "void move_pending_send_callbacks(isc_nm_http_session_t *session,\n\t\t\t
      \   isc_http_send_req_t *send)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1374,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1375,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1375,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1376,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1378,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1382,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - session
    - httphandle
    - cb
    - cbarg
    argTypes:
    - isc_nm_http_session_t*
    - isc_nmhandle_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1384
    functionName: http_append_pending_send_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - ISC_LIST_APPEND
    - VALID_HTTP2_SESSION
    - isc__nm_uvreq_get
    - isc_nmhandle_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void http_append_pending_send_request(isc_nm_http_session_t *session,\n\t\t\t\t
      isc_nmhandle_t *httphandle, isc_nm_cb_t cb,\n\t\t\t\t void *cbarg)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:1397,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1400,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1404,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1405,1
    - Dst: nghttp2_session_want_write
      Src: /src/bind9/lib/isc/netmgr/http.c:1409,1
    - Dst: http_append_pending_send_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1413,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1427,1
    - Dst: nghttp2_session_want_write
      Src: /src/bind9/lib/isc/netmgr/http.c:1429,1
    - Dst: nghttp2_session_mem_send
      Src: /src/bind9/lib/isc/netmgr/http.c:1432,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:1446,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/http.c:1450,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1457,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1485,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1496,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1497,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1498,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1499,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1515,1
    - Dst: http_append_pending_send_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1525,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1535,1
    - Dst: move_pending_send_callbacks
      Src: /src/bind9/lib/isc/netmgr/http.c:1544,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1547,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1550,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1550,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1551,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1555,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/http.c:1557,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1561,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 4
    argNames:
    - session
    - httphandle
    - cb
    - cbarg
    argTypes:
    - isc_nm_http_session_t*
    - isc_nmhandle_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1562
    functionName: http_send_outgoing
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - isc__nm_sendcb
    - isc_buffer_putmem
    - move_pending_send_callbacks
    - http_session_active
    - isc__nm_httpsession_attach
    - isc_nm_send
    - isc__nm_uvreq_get
    - INSIST
    - isc_mem_get
    - isc_nmhandle_attach
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - nghttp2_session_mem_send
    - http_append_pending_send_request
    - nghttp2_session_want_write
    linkageType: ''
    returnType: void
    signature: "void http_send_outgoing(isc_nm_http_session_t *session, isc_nmhandle_t
      *httphandle,\n\t\t   isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MAX
      Src: /src/bind9/lib/isc/netmgr/http.c:1580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1596
    functionName: http_too_many_active_streams
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - ISC_MAX
    linkageType: ''
    returnType: bool
    signature: bool http_too_many_active_streams(isc_nm_http_session_t *session)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1603,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1603,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1612,1
    - Dst: nghttp2_session_want_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1615,1
    - Dst: nghttp2_session_want_write
      Src: /src/bind9/lib/isc/netmgr/http.c:1616,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:1621,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1624,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:1631,1
    - Dst: nghttp2_session_want_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1634,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/http.c:1637,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1638,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1650,1
    - Dst: http_process_input_data
      Src: /src/bind9/lib/isc/netmgr/http.c:1652,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:1656,1
    - Dst: failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1659,1
    - Dst: http_is_flooding_peer
      Src: /src/bind9/lib/isc/netmgr/http.c:1660,1
    - Dst: http_log_flooding_peer
      Src: /src/bind9/lib/isc/netmgr/http.c:1661,1
    - Dst: failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1662,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/netmgr/http.c:1664,1
    - Dst: isc_buffer_compact
      Src: /src/bind9/lib/isc/netmgr/http.c:1665,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1666,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1668,1
    - Dst: http_do_bio_async
      Src: /src/bind9/lib/isc/netmgr/http.c:1685,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1687,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1689,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1689,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/http.c:1693,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1694,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1697,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1697,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:1699,1
    - Dst: http_send_outgoing
      Src: /src/bind9/lib/isc/netmgr/http.c:1703,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1710,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1714,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1715,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 4
    argNames:
    - session
    - send_httphandle
    - send_cb
    - send_cbarg
    argTypes:
    - isc_nm_http_session_t*
    - isc_nmhandle_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1598
    functionDepth: 4
    functionLinenumber: 1598
    functionLinenumberEnd: 1716
    functionName: http_do_bio
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nm_read
    - http_send_outgoing
    - isc__nm_uvreq_get
    - nghttp2_session_want_read
    - http_log_flooding_peer
    - finish_http_session
    - http_do_bio_async
    - isc_nmhandle_attach
    - isc_buffer_clear
    - isc__nm_sendcb
    - isc_nm_read_stop
    - VALID_HTTP2_SESSION
    - http_do_bio
    - isc_buffer_remaininglength
    - failed_read_cb
    - isc__nm_httpsession_detach
    - INSIST
    - http_is_flooding_peer
    - isc_buffer_compact
    - isc__nm_httpsession_attach
    - http_process_input_data
    - isc__nmsocket_timer_start
    - nghttp2_session_want_write
    linkageType: ''
    returnType: void
    signature: "void http_do_bio(isc_nm_http_session_t *session, isc_nmhandle_t *send_httphandle,\n\t
      \   isc_nm_cb_t send_cb, void *send_cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1722,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1722,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1727,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1729,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1732,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1718
    functionDepth: 5
    functionLinenumber: 1718
    functionLinenumberEnd: 1733
    functionName: http_do_bio_async_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_HTTP2_SESSION
    - http_do_bio
    - isc__nm_httpsession_detach
    - isc__nmsocket_closing
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void http_do_bio_async_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1739,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1739,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1742,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1748,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/http.c:1749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1751
    functionName: http_do_bio_async
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc_async_run
    - isc__nm_httpsession_attach
    - VALID_HTTP2_SESSION
    - isc__nmsocket_closing
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void http_do_bio_async(isc_nm_http_session_t *session)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1758,1
    - Dst: new_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:1763,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sock
    - streamp
    argTypes:
    - isc_nmsocket_t*
    - http_cstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1753
    functionDepth: 5
    functionLinenumber: 1753
    functionLinenumberEnd: 1772
    functionName: get_http_cstream
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - new_http_cstream
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_http_cstream(isc_nmsocket_t *sock, http_cstream_t
      **streamp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1777,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1782,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1786,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1791,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1793,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - sock
    - session
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_nm_http_session_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1774
    functionDepth: 2
    functionLinenumber: 1774
    functionLinenumberEnd: 1796
    functionName: http_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    - connect_cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void http_call_connect_cb(isc_nmsocket_t *sock, isc_nm_http_session_t
      *session,\n\t\t     isc_result_t result)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1806,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:1806,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1807,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1807,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1811,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:1811,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1815,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/http.c:1818,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:1823,1
    - Dst: new_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1824,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/http.c:1829,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/http.c:1830,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1835,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1841,1
    - Dst: isc__nmhandle_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/http.c:1844,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netmgr/http.c:1846,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1860,1
    - Dst: initialize_nghttp2_client_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1862,1
    - Dst: send_client_connection_header
      Src: /src/bind9/lib/isc/netmgr/http.c:1863,1
    - Dst: get_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:1867,1
    - Dst: http_transpost_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/http.c:1873,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/http.c:1874,1
    - Dst: http_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1876,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1878,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1879,1
    - Dst: http_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1883,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:1886,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:1890,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1891,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1798
    functionDepth: 6
    functionLinenumber: 1798
    functionLinenumberEnd: 1892
    functionName: transport_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - memcmp
    - REQUIRE
    - VALID_NMHANDLE
    - http_call_connect_cb
    - isc_nmhandle_localaddr
    - http_transpost_tcp_nodelay
    - initialize_nghttp2_client_session
    - send_client_connection_header
    - isc_nmhandle_peeraddr
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - get_http_cstream
    - isc__nmsocket_prep_destroy
    - isc__nmhandle_set_manual_timer
    - http_initsocket
    - VALID_NMSOCK
    - new_session
    - isc__nmhandle_get_selected_alpn
    - INSIST
    - http_do_bio
    - isc_nm_verify_tls_peer_result_string
    - isc_mem_free
    - isc__nm_httpsession_attach
    linkageType: ''
    returnType: void
    signature: void transport_connect_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1905,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/http.c:1905,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1906,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1907,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1908,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1909,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:1911,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1913,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1914,1
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/isc/netmgr/http.c:1919,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1923,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/http.c:1924,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:1925,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1932,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1933,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1939,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1941,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1942,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:1943,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1944,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/http.c:1948,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:1952,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1966,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1971,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1977,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1982,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1988,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1989,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1994,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 13
    argNames:
    - mgr
    - local
    - peer
    - uri
    - post
    - cb
    - cbarg
    - tlsctx
    - sni_hostname
    - client_sess_cache
    - timeout
    - proxy_type
    - proxy_info
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - char*
    - bool
    - isc_nm_cb_t
    - void*
    - isc_tlsctx_t*
    - char*
    - isc_tlsctx_client_session_cache_t*
    - unsigned int
    - isc_nm_proxy_type_t
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1894
    functionDepth: 3
    functionLinenumber: 1894
    functionLinenumberEnd: 1996
    functionName: isc_nm_httpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 5
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc__nmhandle_get
    - isc_nm_tlsconnect
    - REQUIRE
    - UNREACHABLE
    - isc__nmsocket_clearcb
    - ISC_LINK_INIT
    - isc__nm_uvreq_get
    - isc__nmsocket_detach
    - isc__nmsocket_prep_destroy
    - isc_sockaddr_anyofpf
    - isc_nm_tcpconnect
    - http_initsocket
    - isc_tid
    - VALID_NM
    - INSIST
    - isc__nm_closing
    - isc_mem_strdup
    - isc_nm_proxystreamconnect
    - cb
    - isc__nm_connectcb
    linkageType: ''
    returnType: void
    signature: "void isc_nm_httpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t   const char *uri, bool post, isc_nm_cb_t cb, void *cbarg,\n\t\t
      \  isc_tlsctx_t *tlsctx, const char *sni_hostname,\n\t\t   isc_tlsctx_client_session_cache_t
      *client_sess_cache,\n\t\t   unsigned int timeout, isc_nm_proxy_type_t proxy_type,\n\t\t
      \  isc_nm_proxyheader_info_t *proxy_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2006,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:2006,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2007,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2008,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2009,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2010,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2016,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:2020,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/http.c:2021,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:2033,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/isc/netmgr/http.c:2035,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2037,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:2041,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2042,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/lib/isc/netmgr/http.c:2044,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2047,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:2054,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:2055,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2059,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2060,1
    - Dst: client_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:2066,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:2068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - handle
    - region
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 1998
    functionDepth: 4
    functionLinenumber: 1998
    functionLinenumberEnd: 2074
    functionName: client_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc__nm_base64_to_base64url
    - isc_mem_free
    - put_http_cstream
    - VALID_HTTP2_SESSION
    - INSIST
    - isc_mem_allocate
    - isc_buffer_free
    - snprintf
    - isc_buffer_allocate
    - REQUIRE
    - isc_base64_totext
    - isc_buffer_usedregion
    - client_submit_request
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t client_send(isc_nmhandle_t *handle, const isc_region_t
      *region)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2083,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2083,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2084,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2084,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2085,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2085,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2086,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2088,1
    - Dst: isc__nm_http_read
      Src: /src/bind9/lib/isc/netmgr/http.c:2092,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2093,1
    - Dst: client_send
      Src: /src/bind9/lib/isc/netmgr/http.c:2097,1
    - Dst: http_cstream_t*::read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2076
    functionDepth: 5
    functionLinenumber: 2076
    functionLinenumberEnd: 2110
    functionName: isc__nm_http_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 3
    functionsReached:
    - VALID_NMHANDLE
    - isc__nm_http_read
    - http_cstream_t*::read_cb
    - isc_tid
    - http_session_active
    - VALID_NMSOCK
    - client_send
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__nm_http_request(isc_nmhandle_t *handle, isc_region_t
      *region,\n\t\t     isc_nm_recv_cb_t cb, void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2132,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2132,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2135,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/http.c:2136,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2137,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:2138,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/http.c:2139,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2148,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2149,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2150,1
    - Dst: http_get_listener_endpoints
      Src: /src/bind9/lib/isc/netmgr/http.c:2151,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2154,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:2155,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:2158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - ngsession
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2112
    functionDepth: 2
    functionLinenumber: 2112
    functionLinenumberEnd: 2161
    functionName: server_on_begin_headers_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - http_get_listener_endpoints
    - isc_nmhandle_localaddr
    - isc_tid
    - ISC_LIST_APPEND
    - nghttp2_session_set_stream_user_data
    - isc__nm_httpsession_attach
    - INSIST
    - isc_nmhandle_peeraddr
    - isc_nm_http_endpoints_attach
    - isc_buffer_initnull
    - http_initsocket
    linkageType: ''
    returnType: int
    signature: "int server_on_begin_headers_callback(nghttp2_session *ngsession,\n\t\t\t\t
      const nghttp2_frame *frame, void *user_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/bind9/lib/isc/netmgr/http.c:2170,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2176,1
    - Dst: isc_mem_strndup
      Src: /src/bind9/lib/isc/netmgr/http.c:2178,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isc/netmgr/http.c:2181,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2182,1
    - Dst: http_endpoints_find
      Src: /src/bind9/lib/isc/netmgr/http.c:2186,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2192,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/lib/isc/netmgr/http.c:2200,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2206,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/lib/isc/netmgr/http.c:2210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - socket
    - value
    - valuelen
    argTypes:
    - isc_nmsocket_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2225
    functionName: server_handle_path_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc__nm_base64url_to_base64
    - isc_nm_http_path_isvalid
    - http_endpoints_find
    - memchr
    - isc__nm_parse_httpquery
    - isc_mem_strndup
    linkageType: ''
    returnType: isc_http_error_responses_t
    signature: "isc_http_error_responses_t server_handle_path_header(isc_nmsocket_t
      *socket, const uint8_t *value,\n\t\t\t  const size_t valuelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2233,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - socket
    - value
    - valuelen
    argTypes:
    - isc_nmsocket_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2241
    functionName: server_handle_method_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - HEADER_MATCH
    linkageType: ''
    returnType: isc_http_error_responses_t
    signature: "isc_http_error_responses_t server_handle_method_header(isc_nmsocket_t
      *socket, const uint8_t *value,\n\t\t\t    const size_t valuelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2249,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - socket
    - value
    - valuelen
    argTypes:
    - isc_nmsocket_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2243
    functionDepth: 1
    functionLinenumber: 2243
    functionLinenumberEnd: 2257
    functionName: server_handle_scheme_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - HEADER_MATCH
    linkageType: ''
    returnType: isc_http_error_responses_t
    signature: "isc_http_error_responses_t server_handle_scheme_header(isc_nmsocket_t
      *socket, const uint8_t *value,\n\t\t\t    const size_t valuelen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/bind9/lib/isc/netmgr/http.c:2266,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/netmgr/http.c:2268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - socket
    - value
    - valuelen
    argTypes:
    - isc_nmsocket_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2275
    functionName: server_handle_content_length_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - strncpy
    - strtoul
    linkageType: ''
    returnType: isc_http_error_responses_t
    signature: "isc_http_error_responses_t server_handle_content_length_header(isc_nmsocket_t
      *socket,\n\t\t\t\t    const uint8_t *value,\n\t\t\t\t    const size_t valuelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2283,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - socket
    - value
    - valuelen
    argTypes:
    - isc_nmsocket_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2277
    functionDepth: 1
    functionLinenumber: 2277
    functionLinenumberEnd: 2289
    functionName: server_handle_content_type_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - HEADER_MATCH
    linkageType: ''
    returnType: isc_http_error_responses_t
    signature: "isc_http_error_responses_t server_handle_content_type_header(isc_nmsocket_t
      *socket, const uint8_t *value,\n\t\t\t\t  const size_t valuelen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2308,1
    - Dst: server_handle_content_length_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2309,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2311,1
    - Dst: server_handle_path_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2312,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2313,1
    - Dst: server_handle_method_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2314,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2315,1
    - Dst: server_handle_scheme_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2316,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2317,1
    - Dst: server_handle_content_type_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2318,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - socket
    - name
    - namelen
    - value
    - valuelen
    argTypes:
    - isc_nmsocket_t*
    - uint8_t*
    - size_t
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2323
    functionName: server_handle_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - server_handle_content_length_header
    - server_handle_content_type_header
    - server_handle_scheme_header
    - server_handle_path_header
    - server_handle_method_header
    - HEADER_MATCH
    linkageType: ''
    returnType: isc_http_error_responses_t
    signature: "isc_http_error_responses_t server_handle_header(isc_nmsocket_t *socket,
      const uint8_t *name,\n\t\t     size_t namelen, const uint8_t *value,\n\t\t     const
      size_t valuelen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2333,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2334,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:2336,1
    - Dst: server_handle_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2349,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    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*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2325
    functionDepth: 3
    functionLinenumber: 2325
    functionLinenumberEnd: 2369
    functionName: server_on_header_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - server_handle_header
    - nghttp2_session_get_stream_user_data
    - UNUSED
    - INSIST
    linkageType: ''
    returnType: int
    signature: "int server_on_header_callback(nghttp2_session *session, const nghttp2_frame
      *frame,\n\t\t\t  const uint8_t *name, size_t namelen,\n\t\t\t  const uint8_t
      *value, size_t valuelen, uint8_t flags,\n\t\t\t  void *user_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2379,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2381,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2382,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:2384,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:2390,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/netmgr/http.c:2390,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:2392,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:2395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - ngsession
    - stream_id
    - buf
    - length
    - data_flags
    - source
    - user_data
    argTypes:
    - nghttp2_session*
    - int32_t
    - uint8_t*
    - size_t
    - uint32_t*
    - nghttp2_data_source*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2371
    functionDepth: 2
    functionLinenumber: 2371
    functionLinenumberEnd: 2400
    functionName: server_read_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_remaininglength
    - isc_buffer_current
    - REQUIRE
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t server_read_callback(nghttp2_session *ngsession, int32_t stream_id,\n\t\t
      \    uint8_t *buf, size_t length, uint32_t *data_flags,\n\t\t     nghttp2_data_source
      *source, void *user_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ngsession
    - stream_id
    - nva
    - nvlen
    - socket
    argTypes:
    - nghttp2_session*
    - int32_t
    - nghttp2_nv*
    - size_t
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2429
    functionName: server_send_response
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_response
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t server_send_response(nghttp2_session *ngsession, int32_t
      stream_id,\n\t\t     const nghttp2_nv *nva, size_t nvlen,\n\t\t     isc_nmsocket_t
      *socket)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - code
    - ','
    - desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2433
    functionName: MAKE_ERROR_REPLY
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_ERROR_REPLY(tag, code, desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/http.c:2458,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/http.c:2462,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:2466,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:2467,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/http.c:2468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - socket
    - response
    argTypes:
    - isc_nmsocket_t*
    - struct http_error_responses*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2455
    functionDepth: 3
    functionLinenumber: 2455
    functionLinenumberEnd: 2472
    functionName: log_server_error_response
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc__nmsocket_log
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void log_server_error_response(const isc_nmsocket_t *socket,\n\t\t\t
      \ const struct http_error_responses *response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2479,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:2481,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2483,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2484,1
    - Dst: log_server_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2494,1
    - Dst: server_send_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2495,1
    - Dst: server_send_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - error
    - ngsession
    - socket
    argTypes:
    - isc_http_error_responses_t
    - nghttp2_session*
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2474
    functionDepth: 4
    functionLinenumber: 2474
    functionLinenumberEnd: 2503
    functionName: server_send_error_response
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - log_server_error_response
    - isc_mem_free
    - isc_buffer_initnull
    - server_send_response
    - REQUIRE
    - isc_buffer_base
    - server_send_error_response
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t server_send_error_response(const isc_http_error_responses_t
      error,\n\t\t\t   nghttp2_session *ngsession, isc_nmsocket_t *socket)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2510,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2510,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2521,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/http.c:2525,1
    - Dst: isc_nmsocket_t*::h2::cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2531,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:2532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - socket
    - result
    - data
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2533
    functionName: server_call_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc__nmhandle_get
    - VALID_NMSOCK
    - REQUIRE
    - isc_nmsocket_t*::h2::cb
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: "void server_call_cb(isc_nmsocket_t *socket, const isc_result_t result,\n\t
      \      isc_region_t *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2539,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2539,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2540,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2542,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2543,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2544,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:2544,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2547,1
    - Dst: server_send_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2535
    functionDepth: 5
    functionLinenumber: 2535
    functionLinenumberEnd: 2554
    functionName: isc__nm_http_bad_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - http_session_active
    - VALID_NMSOCK
    - VALID_HTTP2_SESSION
    - REQUIRE
    - server_send_error_response
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_bad_request(isc_nmhandle_t *handle)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:2575,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:2580,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2603,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2613,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isc/netmgr/http.c:2614,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:2620,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2622,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:2623,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2625,1
    - Dst: server_call_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2628,1
    - Dst: server_send_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2633,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 2
    argNames:
    - ngsession
    - socket
    argTypes:
    - nghttp2_session*
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2556
    functionDepth: 5
    functionLinenumber: 2556
    functionLinenumberEnd: 2638
    functionName: server_on_request_recv
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - INSIST
    - isc_buffer_init
    - isc_base64_decodestring
    - isc_buffer_usedlength
    - server_call_cb
    - isc_buffer_usedregion
    - server_send_error_response
    linkageType: ''
    returnType: int
    signature: int server_on_request_recv(nghttp2_session *ngsession, isc_nmsocket_t
      *socket)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2649,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2649,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2653,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2654,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2654,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2656,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2657,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/http.c:2664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2643
    functionDepth: 2
    functionLinenumber: 2643
    functionLinenumberEnd: 2665
    functionName: isc__nm_http_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - isc__nm_uvreq_get
    - isc_nmhandle_attach
    - isc_job_run
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc__nm_http_send(isc_nmhandle_t *handle, const isc_region_t
      *region,\n\t\t  isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2670,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2670,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2671,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/http.c:2671,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:2674,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/http.c:2676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sock
    - req
    - eresult
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2667
    functionDepth: 1
    functionLinenumber: 2667
    functionLinenumberEnd: 2678
    functionName: failed_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nm_sendcb
    - VALID_NMSOCK
    - REQUIRE
    - isc__nm_uvreq_put
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: "void failed_send_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t *req,\n\t
      \      isc_result_t eresult)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: client_send
      Src: /src/bind9/lib/isc/netmgr/http.c:2687,1
    - Dst: failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2691,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2695,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/http.c:2696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - sock
    - req
    argTypes:
    - isc_nmhandle_t*
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2680
    functionDepth: 5
    functionLinenumber: 2680
    functionLinenumberEnd: 2697
    functionName: client_httpsend
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_put
    - failed_send_cb
    - client_send
    - http_do_bio
    linkageType: ''
    returnType: void
    signature: "void client_httpsend(isc_nmhandle_t *handle, isc_nmsocket_t *sock,\n\t\tisc__nm_uvreq_t
      *req)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:2706,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2707,1
    - Dst: failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2709,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2713,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2713,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2714,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2714,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2715,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2715,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2717,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/netmgr/http.c:2718,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:2720,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:2725,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:2730,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:2734,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:2735,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:2736,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:2738,1
    - Dst: server_send_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2742,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2747,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2749,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/http.c:2751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - sock
    - req
    argTypes:
    - isc_nmhandle_t*
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2699
    functionDepth: 5
    functionLinenumber: 2699
    functionLinenumberEnd: 2752
    functionName: server_httpsend
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_put
    - VALID_NMHANDLE
    - isc_tid
    - cb
    - http_session_active
    - VALID_NMSOCK
    - http_do_bio
    - INSIST
    - isc__nmsocket_closing
    - isc_buffer_init
    - snprintf
    - MAKE_NV
    - server_send_response
    - isc_buffer_add
    - MAKE_NV2
    - failed_send_cb
    linkageType: ''
    returnType: void
    signature: "void server_httpsend(isc_nmhandle_t *handle, isc_nmsocket_t *sock,\n\t\tisc__nm_uvreq_t
      *req)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2758,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/http.c:2758,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2762,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2762,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2763,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:2763,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2767,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2767,1
    - Dst: client_httpsend
      Src: /src/bind9/lib/isc/netmgr/http.c:2771,1
    - Dst: server_httpsend
      Src: /src/bind9/lib/isc/netmgr/http.c:2773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2754
    functionDepth: 6
    functionLinenumber: 2754
    functionLinenumberEnd: 2775
    functionName: http_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - server_httpsend
    - VALID_HTTP2_SESSION
    - REQUIRE
    - client_httpsend
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: void http_send_cb(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2783,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2783,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2786,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2787,1
    - Dst: get_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:2791,1
    - Dst: client_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:2802,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:2804,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2810
      start: 2777
    functionDepth: 6
    functionLinenumber: 2777
    functionLinenumberEnd: 2810
    functionName: isc__nm_http_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - cb
    - http_session_active
    - put_http_cstream
    - http_do_bio
    - get_http_cstream
    - REQUIRE
    - client_submit_request
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb,
      void *cbarg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2817,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:2824,1
    - Dst: server_on_request_recv
      Src: /src/bind9/lib/isc/netmgr/http.c:2839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ngsession
    - frame
    - user_data
    argTypes:
    - nghttp2_session*
    - nghttp2_frame*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2812
    functionDepth: 6
    functionLinenumber: 2812
    functionLinenumberEnd: 2846
    functionName: server_on_frame_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_get_stream_user_data
    - server_on_request_recv
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int server_on_frame_recv_callback(nghttp2_session *ngsession,\n\t\t\t
      \     const nghttp2_frame *frame, void *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_nghttp2_mem
      Src: /src/bind9/lib/isc/netmgr/http.c:2853,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:2855,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/bind9/lib/isc/netmgr/http.c:2855,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2857,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2860,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2863,1
    - Dst: nghttp2_session_callbacks_set_on_begin_headers_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2866,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2869,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:2872,1
    - Dst: nghttp2_session_server_new3
      Src: /src/bind9/lib/isc/netmgr/http.c:2872,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/bind9/lib/isc/netmgr/http.c:2876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2848
    functionDepth: 1
    functionLinenumber: 2848
    functionLinenumberEnd: 2877
    functionName: initialize_nghttp2_server_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_session_server_new3
    - RUNTIME_CHECK
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - init_nghttp2_mem
    - nghttp2_session_callbacks_set_on_begin_headers_callback
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_del
    linkageType: ''
    returnType: void
    signature: void initialize_nghttp2_server_session(isc_nm_http_session_t *session)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nghttp2_submit_settings
      Src: /src/bind9/lib/isc/netmgr/http.c:2887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2893
    functionName: server_send_connection_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_settings
    linkageType: ''
    returnType: int
    signature: int server_send_connection_header(isc_nm_http_session_t *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/http.c:2904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transphandle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2902
    functionDepth: 1
    functionLinenumber: 2902
    functionLinenumberEnd: 2905
    functionName: http_transpost_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_set_tcp_nodelay
    linkageType: ''
    returnType: void
    signature: void http_transpost_tcp_nodelay(isc_nmhandle_t *transphandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2912,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2913,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2913,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:2915,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2921,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2921,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2922,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:2924,1
    - Dst: http_transpost_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/http.c:2926,1
    - Dst: new_session
      Src: /src/bind9/lib/isc/netmgr/http.c:2928,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/http.c:2930,1
    - Dst: initialize_nghttp2_server_session
      Src: /src/bind9/lib/isc/netmgr/http.c:2931,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2934,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2935,1
    - Dst: server_send_connection_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2936,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/http.c:2938,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2907
    functionDepth: 5
    functionLinenumber: 2907
    functionLinenumberEnd: 2943
    functionName: httplisten_acceptcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - initialize_nghttp2_server_session
    - http_transpost_tcp_nodelay
    - VALID_NMSOCK
    - new_session
    - server_send_connection_header
    - http_do_bio
    - isc__nm_closing
    - atomic_load_relaxed
    - isc_nmhandle_attach
    - REQUIRE
    - isc__nmsocket_attach
    - isc__nmhandle_set_manual_timer
    - http_initsocket
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t httplisten_acceptcb(isc_nmhandle_t *handle, isc_result_t
      result, void *cbarg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2954,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/http.c:2954,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2955,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:2955,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2956,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/netmgr/http.c:2956,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2957,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2957,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2959,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2960,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2961,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:2962,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2963,1
    - Dst: isc_nmsocket_set_max_streams
      Src: /src/bind9/lib/isc/netmgr/http.c:2966,1
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/netmgr/http.c:2968,1
    - Dst: http_init_listener_endpoints
      Src: /src/bind9/lib/isc/netmgr/http.c:2969,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/http.c:2974,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/http.c:2978,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/http.c:2985,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/http.c:2989,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2995,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/http.c:2996,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3001,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 10
    argNames:
    - mgr
    - workers
    - iface
    - backlog
    - quota
    - ctx
    - eps
    - max_concurrent_streams
    - proxy_type
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - int
    - isc_quota_t*
    - isc_tlsctx_t*
    - isc_nm_http_endpoints_t*
    - uint32_t
    - isc_nm_proxy_type_t
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2945
    functionDepth: 1
    functionLinenumber: 2945
    functionLinenumberEnd: 3015
    functionName: isc_nm_listenhttp
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 9
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - ISC_LIST_EMPTY
    - isc_nmsocket_set_max_streams
    - isc_tid
    - UNREACHABLE
    - atomic_store
    - isc_nm_listentls
    - isc_nm_listenproxystream
    - VALID_NM
    - INSIST
    - isc__nmsocket_detach
    - atomic_init
    - http_init_listener_endpoints
    - REQUIRE
    - isc_nm_listentcp
    - atomic_load
    - http_initsocket
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenhttp(isc_nm_t *mgr, uint32_t workers, isc_sockaddr_t
      *iface,\n\t\t  int backlog, isc_quota_t *quota, isc_tlsctx_t *ctx,\n\t\t  isc_nm_http_endpoints_t
      *eps, uint32_t max_concurrent_streams,\n\t\t  isc_nm_proxy_type_t proxy_type,
      isc_nmsocket_t **sockp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3020,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3022,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3025,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:3026,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/http.c:3027,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/http.c:3028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3017
    functionDepth: 1
    functionLinenumber: 3017
    functionLinenumberEnd: 3032
    functionName: isc_nm_http_endpoints_new
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - atomic_init
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_nm_http_endpoints_t
    signature: 'isc_nm_http_endpoints_t *

      isc_nm_http_endpoints_new(isc_mem_t *mctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3039,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3041,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3041,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/netmgr/http.c:3043,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3051,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/http.c:3052,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3053,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:3055,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/http.c:3060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - epsp
    argTypes:
    - isc_nm_http_endpoints_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3062
      start: 3034
    functionDepth: 1
    functionLinenumber: 3034
    functionLinenumberEnd: 3062
    functionName: isc_nm_http_endpoints_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_DEQUEUE
    - isc_mem_free
    - isc_mem_putanddetach
    - VALID_HTTP_ENDPOINTS
    - isc_refcount_decrement
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void isc_nm_http_endpoints_detach(isc_nm_http_endpoints_t **restrict
      epsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3067,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3067,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3068,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/netmgr/http.c:3070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - isc_nm_http_endpoints_t*
    - isc_nm_http_endpoints_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3064
    functionDepth: 1
    functionLinenumber: 3064
    functionLinenumberEnd: 3073
    functionName: isc_nm_http_endpoints_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - VALID_HTTP_ENDPOINTS
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_nm_http_endpoints_attach(isc_nm_http_endpoints_t *source,\n\t\t\t
      \    isc_nm_http_endpoints_t **targetp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3078,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3078,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3084,1
    - Dst: strcmp
      Src: /src/bind9/lib/isc/netmgr/http.c:3085,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3086,1
    - Dst: VALID_HTTP_HANDLER
      Src: /src/bind9/lib/isc/netmgr/http.c:3086,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - request_path
    - eps
    argTypes:
    - char*
    - isc_nm_http_endpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3075
    functionDepth: 1
    functionLinenumber: 3075
    functionLinenumberEnd: 3093
    functionName: http_endpoints_find
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - VALID_HTTP_ENDPOINTS
    - VALID_HTTP_HANDLER
    - INSIST
    - REQUIRE
    - ISC_LIST_FOREACH
    - strcmp
    linkageType: ''
    returnType: isc_nm_httphandler_t
    signature: "isc_nm_httphandler_t *\nhttp_endpoints_find(const char *request_path,\n\t\t
      \   isc_nm_http_endpoints_t *restrict eps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3102,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3103,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isc/netmgr/http.c:3103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3105,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/netmgr/http.c:3105,1
    - Dst: http_endpoints_find
      Src: /src/bind9/lib/isc/netmgr/http.c:3109,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3110,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/http.c:3114,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:3119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - eps
    - uri
    - cb
    - cbarg
    argTypes:
    - isc_nm_http_endpoints_t*
    - char*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3095
    functionDepth: 2
    functionLinenumber: 3095
    functionLinenumberEnd: 3123
    functionName: isc_nm_http_endpoints_add
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 9
    functionsReached:
    - ISC_LIST_APPEND
    - isc_nm_http_path_isvalid
    - VALID_HTTP_ENDPOINTS
    - http_endpoints_find
    - isc_mem_get
    - REQUIRE
    - isc_mem_strdup
    - atomic_load
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_http_endpoints_add(isc_nm_http_endpoints_t *restrict
      eps,\n\t\t\t  const char *uri, const isc_nm_recv_cb_t cb,\n\t\t\t  void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3127,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3129,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3129,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:3131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3125
    functionDepth: 1
    functionLinenumber: 3125
    functionLinenumberEnd: 3132
    functionName: isc__nm_http_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_stop
    - VALID_NMSOCK
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3138,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3138,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:3150,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:3152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3134
    functionDepth: 5
    functionLinenumber: 3134
    functionLinenumberEnd: 3154
    functionName: http_close_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - http_do_bio
    - VALID_NMSOCK
    - finish_http_session
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void http_close_direct(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3159,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3159,1
    - Dst: http_close_direct
      Src: /src/bind9/lib/isc/netmgr/http.c:3161,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3156
    functionDepth: 6
    functionLinenumber: 3156
    functionLinenumberEnd: 3163
    functionName: http_close_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_detach
    - VALID_NMSOCK
    - REQUIRE
    - http_close_direct
    linkageType: ''
    returnType: void
    signature: void http_close_cb(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3168,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3170,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/http.c:3170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3171,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3176,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3178,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3180,1
    - Dst: http_close_direct
      Src: /src/bind9/lib/isc/netmgr/http.c:3185,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:3186,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3190,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/http.c:3191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3165
    functionDepth: 6
    functionLinenumber: 3165
    functionLinenumberEnd: 3192
    functionName: isc__nm_http_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc_async_run
    - VALID_NMSOCK
    - isc__nm_httpsession_detach
    - isc__nmsocket_active
    - REQUIRE
    - isc__nmsocket_prep_destroy
    - isc__nmsocket_attach
    - http_close_direct
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_close(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3198,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3198,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3199,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/bind9/lib/isc/netmgr/http.c:3205,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:3208,1
    - Dst: server_call_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sock
    - result
    - session
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3194
    functionDepth: 2
    functionLinenumber: 3194
    functionLinenumberEnd: 3210
    functionName: failed_httpstream_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMSOCK
    - nghttp2_submit_rst_stream
    - INSIST
    - server_call_cb
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: "void failed_httpstream_read_cb(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t  isc_nm_http_session_t *session)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3215,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3216,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3218,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:3227,1
    - Dst: read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3228,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/http.c:3234,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/http.c:3236,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:3237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - result
    - session
    argTypes:
    - isc_result_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3212
    functionDepth: 4
    functionLinenumber: 3212
    functionLinenumberEnd: 3240
    functionName: client_call_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_DEQUEUE
    - put_http_cstream
    - isc__nmsocket_timer_running
    - VALID_HTTP2_SESSION
    - read_cb
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: "void client_call_failed_read_cb(isc_result_t result,\n\t\t\t   isc_nm_http_session_t
      *session)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3245,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3246,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3248,1
    - Dst: failed_httpstream_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3249,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3252,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/http.c:3253,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - result
    - session
    argTypes:
    - isc_result_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3242
    functionDepth: 3
    functionLinenumber: 3242
    functionLinenumberEnd: 3260
    functionName: server_call_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - failed_httpstream_read_cb
    - ISC_LIST_DEQUEUE
    - VALID_HTTP2_SESSION
    - isc__nmsocket_detach
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: "void server_call_failed_read_cb(isc_result_t result,\n\t\t\t   isc_nm_http_session_t
      *session)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: client_call_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3265,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:3271,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:3272,1
    - Dst: server_call_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3275,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:3279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - result
    - session
    argTypes:
    - isc_result_t
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3262
    functionDepth: 5
    functionLinenumber: 3262
    functionLinenumberEnd: 3281
    functionName: failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 3
    functionsReached:
    - ISC_LIST_EMPTY
    - server_call_failed_read_cb
    - finish_http_session
    - client_call_failed_read_cb
    linkageType: ''
    returnType: void
    signature: void failed_read_cb(isc_result_t result, isc_nm_http_session_t *session)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3288,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3289,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3289,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3294,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3294,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - ttl
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3283
    functionDepth: 1
    functionLinenumber: 3283
    functionLinenumberEnd: 3298
    functionName: isc__nm_http_set_maxage
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_set_maxage(isc_nmhandle_t *handle, const uint32_t
      ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3305,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3306,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3306,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3311,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3311,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/http.c:3317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3300
    functionDepth: 1
    functionLinenumber: 3300
    functionLinenumberEnd: 3318
    functionName: isc__nm_http_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    - isc_nm_has_encryption
    linkageType: ''
    returnType: bool
    signature: bool isc__nm_http_has_encryption(const isc_nmhandle_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3325,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3326,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3327,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3345,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3345,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/http.c:3351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3320
    functionDepth: 1
    functionLinenumber: 3320
    functionLinenumberEnd: 3352
    functionName: isc__nm_http_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    - isc_nm_verify_tls_peer_result_string
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__nm_http_verify_tls_peer_result_string(const isc_nmhandle_t *handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3356,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3357,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/http.c:3359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3360
      start: 3354
    functionDepth: 1
    functionLinenumber: 3354
    functionLinenumberEnd: 3360
    functionName: isc__nm_http_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_set_tlsctx
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_set_tlsctx(isc_nmsocket_t *listener, isc_tlsctx_t
      *tlsctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3367,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3367,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3368,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/http.c:3376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - max_concurrent_streams
    argTypes:
    - isc_nmsocket_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3362
    functionDepth: 1
    functionLinenumber: 3362
    functionLinenumberEnd: 3378
    functionName: isc__nm_http_set_max_streams
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: "void isc__nm_http_set_max_streams(isc_nmsocket_t *listener,\n\t\t\t
      \    const uint32_t max_concurrent_streams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3388,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:3393,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3395,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3396,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3399,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3385
    functionDepth: 2
    functionLinenumber: 3385
    functionLinenumberEnd: 3401
    functionName: http_set_endpoints_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc_nm_http_endpoints_detach
    - isc_nm_http_endpoints_attach
    - isc__nmsocket_detach
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void http_set_endpoints_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3408,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3410,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3410,1
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/netmgr/http.c:3414,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/http.c:3416,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/http.c:3419,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3422,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3423,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/http.c:3425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - listener
    - eps
    argTypes:
    - isc_nmsocket_t*
    - isc_nm_http_endpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3403
    functionDepth: 2
    functionLinenumber: 3403
    functionLinenumberEnd: 3427
    functionName: isc_nm_http_set_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_async_run
    - VALID_HTTP_ENDPOINTS
    - VALID_NMSOCK
    - isc_nm_http_endpoints_attach
    - REQUIRE
    - isc__nmsocket_attach
    - atomic_store
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: "void isc_nm_http_set_endpoints(isc_nmsocket_t *listener,\n\t\t\t  isc_nm_http_endpoints_t
      *eps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3435,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3436,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/http.c:3436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3437,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3437,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/http.c:3440,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3441,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/http.c:3444,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - listener
    - epset
    argTypes:
    - isc_nmsocket_t*
    - isc_nm_http_endpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3452
      start: 3429
    functionDepth: 2
    functionLinenumber: 3429
    functionLinenumberEnd: 3452
    functionName: http_init_listener_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc_mem_cget
    - VALID_HTTP_ENDPOINTS
    - VALID_NMSOCK
    - VALID_NM
    - INSIST
    - isc_nm_http_endpoints_attach
    - REQUIRE
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: "void http_init_listener_endpoints(isc_nmsocket_t *listener,\n\t\t\t
      \    isc_nm_http_endpoints_t *epset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3456,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/http.c:3456,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3463,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/http.c:3466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3454
    functionDepth: 2
    functionLinenumber: 3454
    functionLinenumberEnd: 3470
    functionName: http_cleanup_listener_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NM
    - isc_mem_cput
    - REQUIRE
    - isc_nm_http_endpoints_detach
    linkageType: ''
    returnType: void
    signature: void http_cleanup_listener_endpoints(isc_nmsocket_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3475,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3476,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3477,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tid
    argTypes:
    - isc_nmsocket_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3482
      start: 3472
    functionDepth: 1
    functionLinenumber: 3472
    functionLinenumberEnd: 3482
    functionName: http_get_listener_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_nm_http_endpoints_t
    signature: 'isc_nm_http_endpoints_t *

      http_get_listener_endpoints(isc_nmsocket_t *listener, const isc_tid_t tid)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:3525,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3539,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3552,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - mem
    - base64url
    - base64url_len
    - res_len
    argTypes:
    - isc_mem_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3561
      start: 3513
    functionDepth: 1
    functionLinenumber: 3513
    functionLinenumberEnd: 3561
    functionName: isc__nm_base64url_to_base64
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - isc_mem_allocate
    - INSIST
    - isc_mem_free
    linkageType: ''
    returnType: char
    signature: "char *\nisc__nm_base64url_to_base64(isc_mem_t *mem, const char *base64url,\n\t\t\t
      \   const size_t base64url_len, size_t *res_len)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:3573,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3600,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - mem
    - base64
    - base64_len
    - res_len
    argTypes:
    - isc_mem_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3614
      start: 3563
    functionDepth: 1
    functionLinenumber: 3563
    functionLinenumberEnd: 3614
    functionName: isc__nm_base64_to_base64url
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - isc_mem_allocate
    - isc_mem_free
    linkageType: ''
    returnType: char
    signature: "char *\nisc__nm_base64_to_base64url(isc_mem_t *mem, const char *base64,\n\t\t\t
      \   const size_t base64_len, size_t *res_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3618,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3625
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3625
    functionName: http_initsocket
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 5
    functionsReached:
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void http_initsocket(isc_nmsocket_t *sock)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: http_cleanup_listener_endpoints
      Src: /src/bind9/lib/isc/netmgr/http.c:3636,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3642,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3646,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3651,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3654,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:3656,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:3657,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3658,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:3659,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3669,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3672,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:3675,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3627
    functionDepth: 4
    functionLinenumber: 3627
    functionLinenumberEnd: 3682
    functionName: isc__nm_http_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_mem_free
    - isc_nm_http_endpoints_detach
    - INSIST
    - isc__nm_httpsession_detach
    - isc_buffer_initnull
    - http_cleanup_listener_endpoints
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_cleanup_data(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3688,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3688,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3689,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3689,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3690,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3694,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3694,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3695,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3695,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/http.c:3696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3684
    functionDepth: 1
    functionLinenumber: 3684
    functionLinenumberEnd: 3698
    functionName: isc__nm_http_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_cleartimeout
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_cleartimeout(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3704,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3704,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3705,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3705,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3706,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3710,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3710,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3711,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3711,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/http.c:3712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3714
    functionName: isc__nm_http_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_settimeout
    - VALID_NMSOCK
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_http_settimeout(isc_nmhandle_t *handle, uint32_t timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3720,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3720,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3721,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3721,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3722,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3726,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3726,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3727,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3727,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/http.c:3729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3716
    functionDepth: 1
    functionLinenumber: 3716
    functionLinenumberEnd: 3731
    functionName: isc__nmhandle_http_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    - VALID_HTTP2_SESSION
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_http_keepalive(isc_nmhandle_t *handle, bool value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3745,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3746,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3747,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isc/netmgr/http.c:3747,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/netmgr/http.c:3755,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3766,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/netmgr/http.c:3768,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/isc/netmgr/http.c:3771,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:3789,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - https
    - sa
    - hostname
    - http_port
    - abs_path
    - outbuf
    - outbuf_len
    argTypes:
    - bool
    - isc_sockaddr_t*
    - char*
    - uint16_t
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3733
    functionDepth: 1
    functionLinenumber: 3733
    functionLinenumberEnd: 3792
    functionName: isc_nm_http_makeuri
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 4
    functionsReached:
    - isc_nm_http_path_isvalid
    - inet_ntop
    - INSIST
    - snprintf
    - inet_pton
    - REQUIRE
    - ntohs
    linkageType: ''
    returnType: void
    signature: "void isc_nm_http_makeuri(const bool https, const isc_sockaddr_t *sa,\n\t\t
      \   const char *hostname, const uint16_t http_port,\n\t\t    const char *abs_path,
      char *outbuf,\n\t\t    const size_t outbuf_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3826
      start: 3825
    functionDepth: 0
    functionLinenumber: 3825
    functionLinenumberEnd: 3826
    functionName: MATCH
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3826
    functionDepth: 0
    functionLinenumber: 3826
    functionLinenumberEnd: 3827
    functionName: MATCH_ALPHA
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_ALPHA()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3828
    functionName: MATCH_DIGIT
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DIGIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3829
    functionName: MATCH_ALNUM
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_ALNUM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3829
    functionDepth: 0
    functionLinenumber: 3829
    functionLinenumberEnd: 3830
    functionName: MATCH_XDIGIT
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_XDIGIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3831
    functionName: ADVANCE
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3832
    functionName: GETP
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETP()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3841,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3842,1
    - Dst: rule_query_string
      Src: /src/bind9/lib/isc/netmgr/http.c:3849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - query_string
    - start
    - len
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3836
    functionDepth: 1
    functionLinenumber: 3836
    functionLinenumberEnd: 3861
    functionName: isc__nm_parse_httpquery
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - rule_query_string
    linkageType: ''
    returnType: bool
    signature: "bool isc__nm_parse_httpquery(const char *query_string, const char
      **start,\n\t\t\tsize_t *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3883,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3884,1
    - Dst: rule_key_value_pair
      Src: /src/bind9/lib/isc/netmgr/http.c:3887,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3891,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3881
    functionDepth: 1
    functionLinenumber: 3881
    functionLinenumberEnd: 3897
    functionName: rule_query_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - rule_key_value_pair
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_query_string(isc_httpparser_state_t *st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rule_key
      Src: /src/bind9/lib/isc/netmgr/http.c:3901,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3905,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3906,1
    - Dst: rule_value
      Src: /src/bind9/lib/isc/netmgr/http.c:3911,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netmgr/http.c:3914,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3924,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3929
      start: 3899
    functionDepth: 1
    functionLinenumber: 3899
    functionLinenumberEnd: 3929
    functionName: rule_key_value_pair
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_key
    - rule_value
    - memcmp
    - ADVANCE
    - MATCH
    linkageType: ''
    returnType: bool
    signature: bool rule_key_value_pair(isc_httpparser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3933,1
    - Dst: MATCH_ALPHA
      Src: /src/bind9/lib/isc/netmgr/http.c:3933,1
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3934,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3935,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3940,1
    - Dst: MATCH_ALNUM
      Src: /src/bind9/lib/isc/netmgr/http.c:3940,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3941,1
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3944,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3946
      start: 3931
    functionDepth: 1
    functionLinenumber: 3931
    functionLinenumberEnd: 3946
    functionName: rule_key
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH_ALPHA
    - MATCH_ALNUM
    - ADVANCE
    - MATCH
    - GETP
    linkageType: ''
    returnType: bool
    signature: bool rule_key(isc_httpparser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3950,1
    - Dst: rule_value_char
      Src: /src/bind9/lib/isc/netmgr/http.c:3951,1
    - Dst: rule_value_char
      Src: /src/bind9/lib/isc/netmgr/http.c:3956,1
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3961
      start: 3948
    functionDepth: 1
    functionLinenumber: 3948
    functionLinenumberEnd: 3961
    functionName: rule_value
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - GETP
    - rule_value_char
    linkageType: ''
    returnType: bool
    signature: bool rule_value(isc_httpparser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rule_unreserved_char
      Src: /src/bind9/lib/isc/netmgr/http.c:3965,1
    - Dst: rule_percent_charcode
      Src: /src/bind9/lib/isc/netmgr/http.c:3969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3963
    functionDepth: 1
    functionLinenumber: 3963
    functionLinenumberEnd: 3970
    functionName: rule_value_char
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_percent_charcode
    - rule_unreserved_char
    linkageType: ''
    returnType: bool
    signature: bool rule_value_char(isc_httpparser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_ALNUM
      Src: /src/bind9/lib/isc/netmgr/http.c:3974,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3974,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3974,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3974,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3975,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3972
    functionDepth: 1
    functionLinenumber: 3972
    functionLinenumberEnd: 3981
    functionName: rule_unreserved_char
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - MATCH_ALNUM
    linkageType: ''
    returnType: bool
    signature: bool rule_unreserved_char(isc_httpparser_state_t *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3985,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3986,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:3991,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3994,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:3996,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3983
    functionDepth: 1
    functionLinenumber: 3983
    functionLinenumberEnd: 4002
    functionName: rule_percent_charcode
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - MATCH_XDIGIT
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_percent_charcode(isc_httpparser_state_t *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4061,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4062,1
    - Dst: rule_loc_segments
      Src: /src/bind9/lib/isc/netmgr/http.c:4067,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4069,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4059
    functionDepth: 1
    functionLinenumber: 4059
    functionLinenumberEnd: 4076
    functionName: rule_loc_path_absolute
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - MATCH
    - rule_loc_segments
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_path_absolute(isc_http_location_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rule_loc_segment_nz
      Src: /src/bind9/lib/isc/netmgr/http.c:4080,1
    - Dst: rule_loc_slash_segment
      Src: /src/bind9/lib/isc/netmgr/http.c:4084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4078
    functionDepth: 1
    functionLinenumber: 4078
    functionLinenumberEnd: 4089
    functionName: rule_loc_segments
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_loc_slash_segment
    - rule_loc_segment_nz
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_segments(isc_http_location_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4093,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4094,1
    - Dst: rule_loc_segment
      Src: /src/bind9/lib/isc/netmgr/http.c:4099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 4091
    functionDepth: 1
    functionLinenumber: 4091
    functionLinenumberEnd: 4100
    functionName: rule_loc_slash_segment
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - rule_loc_segment
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_slash_segment(isc_http_location_parser_state_t *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rule_loc_pchar
      Src: /src/bind9/lib/isc/netmgr/http.c:4104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4102
    functionDepth: 1
    functionLinenumber: 4102
    functionLinenumberEnd: 4109
    functionName: rule_loc_segment
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_loc_pchar
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_segment(isc_http_location_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rule_loc_pchar
      Src: /src/bind9/lib/isc/netmgr/http.c:4113,1
    - Dst: rule_loc_pchar
      Src: /src/bind9/lib/isc/netmgr/http.c:4117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4111
    functionDepth: 1
    functionLinenumber: 4111
    functionLinenumberEnd: 4122
    functionName: rule_loc_segment_nz
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_loc_pchar
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_segment_nz(isc_http_location_parser_state_t *st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rule_loc_unreserved
      Src: /src/bind9/lib/isc/netmgr/http.c:4126,1
    - Dst: rule_loc_pct_encoded
      Src: /src/bind9/lib/isc/netmgr/http.c:4128,1
    - Dst: rule_loc_sub_delims
      Src: /src/bind9/lib/isc/netmgr/http.c:4130,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4132,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4132,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4138
      start: 4124
    functionDepth: 1
    functionLinenumber: 4124
    functionLinenumberEnd: 4138
    functionName: rule_loc_pchar
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - MATCH
    - rule_loc_pct_encoded
    - ADVANCE
    - rule_loc_unreserved
    - rule_loc_sub_delims
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_pchar(isc_http_location_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_ALPHA
      Src: /src/bind9/lib/isc/netmgr/http.c:4142,1
    - Dst: MATCH_DIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:4142,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4142,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4142,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4143,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4143,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4149
      start: 4140
    functionDepth: 1
    functionLinenumber: 4140
    functionLinenumberEnd: 4149
    functionName: rule_loc_unreserved
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - MATCH_DIGIT
    - MATCH_ALPHA
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_unreserved(isc_http_location_parser_state_t *st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4153,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4156,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:4158,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4161,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:4163,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4151
    functionDepth: 1
    functionLinenumber: 4151
    functionLinenumberEnd: 4169
    functionName: rule_loc_pct_encoded
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - MATCH_XDIGIT
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_pct_encoded(isc_http_location_parser_state_t *st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4173,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4173,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4173,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4173,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4173,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4174,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4174,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4174,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4174,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4174,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4175,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4182
      start: 4171
    functionDepth: 0
    functionLinenumber: 4171
    functionLinenumberEnd: 4182
    functionName: rule_loc_sub_delims
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    linkageType: ''
    returnType: bool
    signature: bool rule_loc_sub_delims(isc_http_location_parser_state_t *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:4188,1
    - Dst: rule_loc_path_absolute
      Src: /src/bind9/lib/isc/netmgr/http.c:4192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4193
      start: 4184
    functionDepth: 2
    functionLinenumber: 4184
    functionLinenumberEnd: 4193
    functionName: isc_nm_http_path_isvalid
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 5
    functionsReached:
    - rule_loc_path_absolute
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_http_path_isvalid(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: gettid
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: gettid
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: gettid
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: gettid
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: gettid
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: gettid
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: NETMGR_TRACE_LOG
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NETMGR_TRACE_LOG(format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: isc__nm_uvreq_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nm_uvreq_get(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: isc__nm_uvreq_put
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nm_uvreq_put(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sock
    - ','
    - mgr
    - ','
    - type
    - ','
    - iface
    - ','
    - parent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: isc__nmsocket_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_init(sock, mgr, type, iface, parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sockp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: isc__nmsocket_put
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_put(sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sock
    - ','
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: isc__nmsocket_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_attach(sock, target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - socketp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: isc__nmsocket_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_detach(socketp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - socketp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: isc__nmsocket_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_close(socketp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sock
    - ','
    - peer
    - ','
    - local
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: isc__nmhandle_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmhandle_get(sock, peer, local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: isc__nmsocket_prep_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_prep_destroy(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sock
    - ','
    - sockaddr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: isc__nm_get_read_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nm_get_read_req(sock, sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: isc__nm_uvreq_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nm_uvreq_get(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: isc__nm_uvreq_put
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nm_uvreq_put(req)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - sock
    - ','
    - mgr
    - ','
    - type
    - ','
    - iface
    - ','
    - parent
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: isc__nmsocket_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_init(sock, mgr, type, iface, parent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sockp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: isc__nmsocket_put
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_put(sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sock
    - ','
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: isc__nmsocket_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_attach(sock, target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - socketp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: isc__nmsocket_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_detach(socketp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - socketp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: isc__nmsocket_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_close(socketp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sock
    - ','
    - peer
    - ','
    - local
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: isc__nmhandle_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmhandle_get(sock, peer, local)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sock
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: isc__nmsocket_prep_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nmsocket_prep_destroy(sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sock
    - ','
    - sockaddr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: isc__nm_get_read_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__nm_get_read_req(sock, sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: VALID_NMHANDLE
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NMHANDLE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: VALID_UVREQ
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_UVREQ(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: VALID_NM
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NM(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: VALID_NMSOCK
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NMSOCK(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:74,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:75,1
    - Dst: isc__nm_socket_disable_pmtud
      Src: /src/bind9/lib/isc/netmgr/udp.c:77,1
    - Dst: isc__nm_socket_v6only
      Src: /src/bind9/lib/isc/netmgr/udp.c:78,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/lib/isc/netmgr/udp.c:80,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:81,1
    - Dst: isc__nm_socket_reuse_lb
      Src: /src/bind9/lib/isc/netmgr/udp.c:84,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - mgr
    - sa_family
    argTypes:
    - isc_nm_t*
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 89
    functionName: isc__nm_udp_lb_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - isc__nm_socket
    - isc__nm_socket_v6only
    - isc__nm_socket_disable_pmtud
    - isc__nm_socket_reuse
    - isc__nm_socket_reuse_lb
    linkageType: ''
    returnType: uv_os_sock_t
    signature: uv_os_sock_t isc__nm_udp_lb_socket(isc_nm_t *mgr, sa_family_t sa_family)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:98,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:99,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:101,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:101,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/udp.c:110,1
    - Dst: uv_udp_init_ex
      Src: /src/bind9/lib/isc/netmgr/udp.c:115,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:116,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:117,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/udp.c:119,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:121,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:122,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:123,1
    - Dst: uv_udp_open
      Src: /src/bind9/lib/isc/netmgr/udp.c:125,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/udp.c:127,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:128,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:131,1
    - Dst: isc__nm_udp_freebind
      Src: /src/bind9/lib/isc/netmgr/udp.c:138,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:142,1
    - Dst: isc__nm_udp_freebind
      Src: /src/bind9/lib/isc/netmgr/udp.c:147,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:151,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/udp.c:160,1
    - Dst: uv_udp_recv_start
      Src: /src/bind9/lib/isc/netmgr/udp.c:162,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:165,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:174,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/udp.c:177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 179
    functionName: start_udp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc__nm_set_network_buffers
    - uv_udp_init_ex
    - uv_timer_init
    - isc_tid
    - isc__nm_udp_freebind
    - uv_handle_set_data
    - VALID_NMSOCK
    - isc__nm_socket_min_mtu
    - isc_uverr2result
    - isc__nm_closesocket
    - REQUIRE
    - isc__nmsocket_attach
    - isc_barrier_wait
    - uv_udp_open
    - uv_udp_recv_start
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void start_udp_child_job(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:187,1
    - Dst: isc__nm_udp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:193,1
    - Dst: dup
      Src: /src/bind9/lib/isc/netmgr/udp.c:196,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:198,1
    - Dst: start_udp_child_job
      Src: /src/bind9/lib/isc/netmgr/udp.c:201,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/udp.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - mgr
    - iface
    - sock
    - fd
    - tid
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_nmsocket_t*
    - uv_os_sock_t
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 205
    functionName: start_udp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_init
    - isc__nm_udp_lb_socket
    - isc_async_run
    - start_udp_child_job
    - INSIST
    - dup
    linkageType: ''
    returnType: void
    signature: "void start_udp_child(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nmsocket_t
      *sock,\n\t\tuv_os_sock_t fd, isc_tid_t tid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:215,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/udp.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:216,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:216,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:220,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:227,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:229,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:230,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/udp.c:234,1
    - Dst: isc__nmsocket_barrier_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:237,1
    - Dst: isc__nm_udp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:243,1
    - Dst: start_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:246,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:248,1
    - Dst: start_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:251,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/udp.c:254,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/udp.c:257,1
    - Dst: isc__nm_udp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/udp.c:274,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 6
    argNames:
    - mgr
    - workers
    - iface
    - cb
    - cbarg
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_recv_cb_t
    - void*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 284
    functionName: isc_nm_listenudp
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 7
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc__nmsocket_barrier_init
    - isc_tid
    - isc__nm_udp_lb_socket
    - isc_mem_cget
    - VALID_NM
    - INSIST
    - isc__nm_closing
    - REQUIRE
    - isc_barrier_wait
    - isc__nm_udp_stoplistening
    - start_udp_child
    - isc_nmsocket_close
    - isc__nm_closesocket
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenudp(isc_nm_t *mgr, uint32_t workers, isc_sockaddr_t
      *iface,\n\t\t isc_nm_recv_cb_t cb, void *cbarg, isc_nmsocket_t **sockp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:296,1
    - Dst: bind
      Src: /src/bind9/lib/isc/netmgr/udp.c:305,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/udp.c:307,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/udp.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - fdp
    argTypes:
    - uv_os_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 314
    functionName: route_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_socket
    - bind
    - isc__nm_closesocket
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t route_socket(uv_os_sock_t *fdp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:321,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:321,1
    - Dst: uv_udp_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:327,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:328,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:329,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:331,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:332,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:333,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:335,1
    - Dst: uv_udp_open
      Src: /src/bind9/lib/isc/netmgr/udp.c:339,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:341,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/udp.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 351
    functionName: route_connect_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_set_network_buffers
    - uv_timer_init
    - isc_tid
    - uv_handle_set_data
    - isc_uverr2result
    - uv_udp_init
    - isc__nm_closing
    - REQUIRE
    - uv_udp_open
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t route_connect_direct(isc_nmsocket_t *sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:364,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/udp.c:364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:365,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:365,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:367,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:369,1
    - Dst: route_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:373,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:378,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:379,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:387,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:390,1
    - Dst: route_connect_direct
      Src: /src/bind9/lib/isc/netmgr/udp.c:394,1
    - Dst: isc__nm_udp_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:397,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:400,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:402,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:406,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:407,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:408,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - mgr
    - cb
    - cbarg
    argTypes:
    - isc_nm_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 412
    functionName: isc_nm_routeconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - route_socket
    - isc_tid
    - isc__nmhandle_get
    - isc__nm_udp_close
    - UNUSED
    - VALID_NM
    - isc__nm_uvreq_get
    - isc__nmsocket_detach
    - isc__nm_closing
    - REQUIRE
    - route_connect_direct
    - isc__nm_connectcb
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_nm_routeconnect(isc_nm_t *mgr, isc_nm_cb_t cb, void
      *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:420,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:420,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:421,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:421,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:422,1
    - Dst: isc__nm_udp_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:428,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/udp.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 430
    functionName: stop_udp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_udp_close
    - isc_tid
    - VALID_NMSOCK
    - REQUIRE
    - isc_barrier_wait
    linkageType: ''
    returnType: void
    signature: void stop_udp_child_job(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:434,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:434,1
    - Dst: stop_udp_child_job
      Src: /src/bind9/lib/isc/netmgr/udp.c:437,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/udp.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: stop_udp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - stop_udp_child_job
    - isc_async_run
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void stop_udp_child(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:445,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:445,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:446,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:447,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:447,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:449,1
    - Dst: stop_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:458,1
    - Dst: stop_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:462,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 467
    functionName: isc__nm_udp_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 1
    functionsReached:
    - stop_udp_child
    - isc_tid
    - VALID_NMSOCK
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void isc__nm_udp_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:483,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:484,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:484,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:494,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:495,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:499,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/udp.c:507,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:521,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:521,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:528,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:529,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/udp.c:536,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:537,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:548,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:556,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/udp.c:559,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:560,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/udp.c:564,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:581,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:582,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:583,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:586,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:588,1
    - Dst: isc__nm_free_uvbuf
      Src: /src/bind9/lib/isc/netmgr/udp.c:616,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 5
    argNames:
    - handle
    - nrecv
    - buf
    - addr
    - flags
    argTypes:
    - uv_udp_t*
    - ssize_t
    - uv_buf_t*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 617
    functionName: isc__nm_udp_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromsockaddr
    - isc_uverr2result
    - isc__nmsocket_active
    - REQUIRE
    - isc__nmsocket_clearcb
    - isc__nm_get_read_req
    - isc_tid
    - RUNTIME_CHECK
    - isc__nm_stop_reading
    - VALID_NMSOCK
    - UNUSED
    - uv_handle_get_data
    - INSIST
    - isc__nm_closing
    - isc__nm_free_uvbuf
    - isc__nmsocket_timer_stop
    - isc__nm_failed_read_cb
    - isc__nm_readcb
    - atomic_load_relaxed
    linkageType: ''
    returnType: void
    signature: "void isc__nm_udp_read_cb(uv_udp_t *handle, ssize_t nrecv, const uv_buf_t
      *buf,\n\t\t    const struct sockaddr *addr, unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:625,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/udp.c:625,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:626,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/udp.c:626,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:630,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:630,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:631,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:631,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:634,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:635,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:635,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_udp_send_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 641
    functionName: udp_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - VALID_NMHANDLE
    - isc__nm_sendcb
    - isc_tid
    - VALID_NMSOCK
    - isc_uverr2result
    - uv_handle_get_data
    - isc__nm_failed_send_cb
    - REQUIRE
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: void udp_send_cb(uv_udp_send_t *req, int status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/isc/netmgr/udp.c:647,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/isc/netmgr/udp.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: can_log_udp_sends
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    - atomic_exchange_relaxed
    linkageType: ''
    returnType: bool
    signature: bool can_log_udp_sends(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:673,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:673,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:675,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:675,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/netmgr/udp.c:678,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:690,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:694,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/udp.c:698,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:703,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:708,1
    - Dst: uv_udp_get_send_queue_size
      Src: /src/bind9/lib/isc/netmgr/udp.c:713,1
    - Dst: uv_udp_try_send
      Src: /src/bind9/lib/isc/netmgr/udp.c:720,1
    - Dst: can_log_udp_sends
      Src: /src/bind9/lib/isc/netmgr/udp.c:722,1
    - Dst: isc__netmgr_log
      Src: /src/bind9/lib/isc/netmgr/udp.c:723,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/udp.c:726,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:726,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:729,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:730,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:734,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:735,1
    - Dst: uv_udp_send
      Src: /src/bind9/lib/isc/netmgr/udp.c:739,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:742,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:743,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 750
    functionName: isc__nm_udp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - uv_udp_send
    - uv_udp_get_send_queue_size
    - can_log_udp_sends
    - isc_uverr2result
    - isc__nm_failed_send_cb
    - REQUIRE
    - isc__nm_incstats
    - isc__netmgr_log
    - isc__nm_uvreq_get
    - isc__nmsocket_closing
    - uv_udp_try_send
    - isc_nmhandle_attach
    - isc__nm_sendcb
    - isc_tid
    - RUNTIME_CHECK
    - VALID_NMSOCK
    - isc__nm_closing
    - atomic_load
    - isc_nmhandle_detach
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: "void isc__nm_udp_send(isc_nmhandle_t *handle, const isc_region_t *region,\n\t\t
      isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_udp_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:759,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:760,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:761,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:763,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:764,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:765,1
    - Dst: uv_udp_open
      Src: /src/bind9/lib/isc/netmgr/udp.c:767,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:769,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:770,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:772,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/lib/isc/netmgr/udp.c:777,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:778,1
    - Dst: uv_udp_bind
      Src: /src/bind9/lib/isc/netmgr/udp.c:788,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:791,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:792,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/udp.c:795,1
    - Dst: uv_udp_connect
      Src: /src/bind9/lib/isc/netmgr/udp.c:804,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:807,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:808,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:810,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 813
    functionName: udp_connect_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc__nm_set_network_buffers
    - uv_timer_init
    - RUNTIME_CHECK
    - uv_udp_connect
    - uv_handle_set_data
    - isc_uverr2result
    - uv_udp_init
    - isc__nm_socket_reuse
    - uv_udp_open
    - uv_udp_bind
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t udp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t
      *req)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:825,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/udp.c:825,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:826,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:827,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:829,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:831,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:832,1
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:838,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:840,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:845,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:846,1
    - Dst: isc__nm_socket_disable_pmtud
      Src: /src/bind9/lib/isc/netmgr/udp.c:856,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/udp.c:858,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:861,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:866,1
    - Dst: udp_connect_direct
      Src: /src/bind9/lib/isc/netmgr/udp.c:871,1
    - Dst: isc__nm_failed_connect_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:874,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:875,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:882,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 6
    argNames:
    - mgr
    - local
    - peer
    - cb
    - cbarg
    - timeout
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 884
    functionName: isc_nm_udpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 8
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc__nmhandle_get
    - cb
    - isc_tid
    - udp_connect_direct
    - isc__nm_socket
    - isc__nm_socket_min_mtu
    - VALID_NM
    - isc__nm_uvreq_get
    - isc__nm_socket_disable_pmtud
    - isc__nm_failed_connect_cb
    - isc__nm_closing
    - isc__nmsocket_detach
    - REQUIRE
    - isc__nm_connectcb
    linkageType: ''
    returnType: void
    signature: "void isc_nm_udpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t  isc_nm_cb_t cb, void *cbarg, unsigned int timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:889,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:889,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:890,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:891,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:891,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:902,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:903,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/udp.c:911,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:912,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:917,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 921
    functionName: isc__nm_udp_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - isc__nm_stop_reading
    - isc_tid
    - VALID_NMSOCK
    - isc__nmsocket_timer_stop
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nmsocket_prep_destroy
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: "void isc__nm_udp_failed_read_cb(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t   bool async)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:928,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/udp.c:928,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:932,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:932,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:933,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:934,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:935,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:935,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:945,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:950,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:955,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/udp.c:960,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 966
    functionName: isc__nm_udp_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_start_reading
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - isc__nmsocket_closing
    - isc__nm_closing
    - isc__nm_failed_read_cb
    - REQUIRE
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: void isc__nm_udp_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb,
      void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:970,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:971,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:973,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:973,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:974,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:975,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:976,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:980,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:984,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 990
    functionName: udp_close_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc_tid
    - uv_handle_set_data
    - VALID_NMSOCK
    - uv_handle_get_data
    - isc__nmsocket_detach
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void udp_close_cb(uv_handle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:994,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:994,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:995,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:996,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:996,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:997,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:1001,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:1002,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:1003,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:1012,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:1013,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:1014,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:1017,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1019
    functionName: isc__nm_udp_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 2
    functionsReached:
    - isc__nmsocket_clearcb
    - isc_tid
    - isc__nm_stop_reading
    - VALID_NMSOCK
    - uv_close
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_udp_close(isc_nmsocket_t *sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1023,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:1023,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1024,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:1024,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1025,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1037,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:1045,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:1051,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1059
    functionName: isc__nm_udp_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - VALID_NMSOCK
    - isc__nm_failed_read_cb
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void isc__nm_udp_shutdown(isc_nmsocket_t *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - tls_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: tls_status2str
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: ISC_ATTR_UNUSED
    signature: 'ISC_ATTR_UNUSED *

      tls_status2str(int tls_status)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: state2str
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: ISC_ATTR_UNUSED
    signature: 'ISC_ATTR_UNUSED *

      state2str(int state)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_verify_result
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - tls_err
    - tls_state
    - tls
    argTypes:
    - int
    - int
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: tls_error_to_result
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - SSL_get_verify_result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tls_error_to_result(const int tls_err, const int tls_state,
      isc_tls_t *tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:147,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:149,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: inactive
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nm_closing
    - isc__nmsocket_active
    linkageType: ''
    returnType: bool
    signature: bool inactive(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:157,1
    - Dst: isc_nmsocket_t*::connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:158,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sock
    - handle
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: tls_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_t*::connect_cb
    - isc__nmsocket_clearcb
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void tls_call_connect_cb(isc_nmsocket_t *sock, isc_nmhandle_t *handle,\n\t\t
      \   const isc_result_t result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:174,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:175,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:176,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:176,1
    - Dst: tls_try_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:188,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:201,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:204,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:205,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:206,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:208,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:211,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:214,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:215,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:216,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:222,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:222,1
    - Dst: send_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:223,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:224,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:238,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:240,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:254,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 258
    functionName: tls_senddone
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - VALID_NMHANDLE
    - isc_nmhandle_detach
    - isc_buffer_length
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - VALID_NMSOCK
    - tls_failed_read_cb
    - INSIST
    - isc_buffer_init
    - isc__nmsocket_detach
    - REQUIRE
    - isc_buffer_setmctx
    - isc_mem_put
    - tls_try_shutdown
    - send_cb
    - tls_do_bio
    linkageType: ''
    returnType: void
    signature: void tls_senddone(isc_nmhandle_t *handle, isc_result_t eresult, void
      *cbarg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:262,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:263,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:272,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:273,1
    - Dst: tls_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:274,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:275,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:276,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:280,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:289,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:292,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:293,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:296,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:301,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:313,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:314,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:315,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:319,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - sock
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 320
    functionName: tls_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_detach
    - tls_call_connect_cb
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    - INSIST
    - isc__nmsocket_timer_stop
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nmsocket_prep_destroy
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: void tls_failed_read_cb(isc_nmsocket_t *sock, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inactive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:325,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:326,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sock
    - result
    - ISC_ATTR_UNUSED
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 4
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: isc__nm_tls_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - inactive
    - tls_failed_read_cb
    - tls_do_bio
    linkageType: ''
    returnType: void
    signature: "void isc__nm_tls_failed_read_cb(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t   bool async ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:337,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:337,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:339,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: tls_do_bio_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_detach
    - VALID_NMSOCK
    - tls_do_bio
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void tls_do_bio_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:346,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: async_tls_do_bio
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc__nmsocket_attach
    linkageType: ''
    returnType: void
    signature: void async_tls_do_bio(isc_nmsocket_t *sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:359,1
    - Dst: inactive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:361,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:365,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:365,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:366,1
    - Dst: tls_try_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:372,1
    - Dst: tls_keep_client_tls_session
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:373,1
    - Dst: BIO_pending
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:376,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:387,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:393,1
    - Dst: isc_buffer_setmctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:395,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:397,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:397,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:399,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:403,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:406,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:406,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:408,1
    - Dst: BIO_read_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:409,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:410,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:412,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:414,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:414,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:417,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 5
    argNames:
    - sock
    - finish
    - tlshandle
    - cb
    - cbarg
    argTypes:
    - isc_nmsocket_t*
    - bool
    - isc_nmhandle_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 421
    functionName: tls_send_outgoing
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - inactive
    - VALID_NMHANDLE
    - isc_nm_send
    - isc_nmhandle_attach
    - isc_buffer_setmctx
    - tls_try_shutdown
    - BIO_pending
    - RUNTIME_CHECK
    - BIO_read_ex
    - tls_keep_client_tls_session
    - INSIST
    - isc_buffer_remaininglength
    - isc__nm_closing
    - isc_mem_get
    - isc_buffer_remainingregion
    - cb
    - isc_buffer_reserve
    - isc_buffer_init
    - isc__nmsocket_attach
    - isc_buffer_add
    - isc_buffer_base
    linkageType: ''
    returnType: int
    signature: "int tls_send_outgoing(isc_nmsocket_t *sock, bool finish, isc_nmhandle_t
      *tlshandle,\n\t\t  isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:428,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:430,1
    - Dst: tls_send_outgoing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:439,1
    - Dst: tls_send_outgoing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sock
    - finish
    - send_data
    argTypes:
    - isc_nmsocket_t*
    - bool
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 447
    functionName: tls_process_outgoing
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - SSL_get_shutdown
    - tls_send_outgoing
    linkageType: ''
    returnType: int
    signature: "int tls_process_outgoing(isc_nmsocket_t *sock, bool finish,\n\t\t
      \    isc__nm_uvreq_t *send_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:451,1
    - Dst: SSL_is_init_finished
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:453,1
    - Dst: SSL_do_handshake
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:457,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:462,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:463,1
    - Dst: SSL_is_init_finished
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:463,1
    - Dst: isc__nmsocket_log_tls_session_reuse
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:465,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:466,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:467,1
    - Dst: tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:468,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:470,1
    - Dst: isc_nmsocket_t*::accept_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:486,1
    - Dst: tls_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:490,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - sock
    - presult
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 501
    functionName: tls_try_handshake
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_t*::accept_cb
    - isc_nmhandle_detach
    - tls_call_connect_cb
    - isc__nmhandle_get
    - isc__nmsocket_log_tls_session_reuse
    - INSIST
    - isc__nm_closing
    - SSL_do_handshake
    - isc__nmsocket_timer_stop
    - REQUIRE
    - SSL_is_init_finished
    - tls_read_stop
    linkageType: ''
    returnType: int
    signature: int tls_try_handshake(isc_nmsocket_t *sock, isc_result_t *presult)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: tls_try_to_close_unused_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: bool
    signature: bool tls_try_to_close_unused_socket(isc_nmsocket_t *sock)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:529,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:530,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:530,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:551,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:554,1
    - Dst: SSL_set_accept_state
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:556,1
    - Dst: SSL_set_connect_state
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:558,1
    - Dst: tls_try_handshake
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:561,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:562,1
    - Dst: SSL_is_init_finished
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:562,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:563,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:568,1
    - Dst: BIO_write_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:569,1
    - Dst: tls_try_handshake
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:586,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:596,1
    - Dst: SSL_is_init_finished
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:596,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:603,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:604,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:606,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:609,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:625,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:630,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:632,1
    - Dst: SSL_write_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:637,1
    - Dst: SSL_write_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:644,1
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:656,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:669,1
    - Dst: SSL_read_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:670,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:678,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:678,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:679,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:723,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:736,1
    - Dst: SSL_get_error
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:740,1
    - Dst: tls_process_outgoing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:764,1
    - Dst: tls_try_to_close_unused_socket
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:772,1
    - Dst: async_tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:780,1
    - Dst: tls_try_to_close_unused_socket
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:784,1
    - Dst: tls_read_start
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:796,1
    - Dst: tls_read_start
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:802,1
    - Dst: tls_error_to_result
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:805,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:816,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:819,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 128
    argCount: 4
    argNames:
    - sock
    - received_data
    - send_data
    - finish
    argTypes:
    - isc_nmsocket_t*
    - isc_region_t*
    - isc__nm_uvreq_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 820
    functionName: tls_do_bio
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 4
    functionsReached:
    - isc__nm_uvreq_t*::cb::send
    - memmove
    - REQUIRE
    - tls_error_to_result
    - tls_process_outgoing
    - VALID_NMHANDLE
    - SSL_get_error
    - tls_read_start
    - SSL_set_accept_state
    - ERR_clear_error
    - isc_nmsocket_t*::recv_cb
    - tls_try_handshake
    - async_tls_do_bio
    - SSL_set_connect_state
    - SSL_write_ex
    - tls_try_to_close_unused_socket
    - isc_tid
    - VALID_NMSOCK
    - tls_failed_read_cb
    - INSIST
    - isc__nmsocket_timer_stop
    - SSL_get_shutdown
    - SSL_read_ex
    - BIO_write_ex
    - isc_result_totext
    - SSL_is_init_finished
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: "void tls_do_bio(isc_nmsocket_t *sock, isc_region_t *received_data,\n\t
      \  isc__nm_uvreq_t *send_data, bool finish)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:827,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:827,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:828,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:828,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:829,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:829,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:832,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:834,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:835,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:839,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - handle
    - result
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 841
    functionName: tls_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - tls_failed_read_cb
    - isc__nmsocket_closing
    - REQUIRE
    - tls_do_bio
    linkageType: ''
    returnType: void
    signature: "void tls_readcb(isc_nmhandle_t *handle, isc_result_t result, isc_region_t
      *region,\n\t   void *cbarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:845,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:845,1
    - Dst: BIO_new
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:847,1
    - Dst: BIO_s_mem
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:847,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:849,1
    - Dst: BIO_new
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:852,1
    - Dst: BIO_s_mem
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:852,1
    - Dst: BIO_free_all
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:854,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:856,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:860,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:861,1
    - Dst: SSL_set_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:866,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:872,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:873,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:881,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - sock
    - server
    argTypes:
    - isc_nmsocket_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 884
    functionName: initialize_tls
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - SSL_set_tlsext_host_name
    - isc_tid
    - BIO_s_mem
    - BIO_set_mem_eof_return
    - INSIST
    - BIO_new
    - BIO_free_all
    - REQUIRE
    - SSL_set_bio
    - isc_tls_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t initialize_tls(isc_nmsocket_t *sock, bool server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlssock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: tls_try_to_enable_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_set_tcp_nodelay
    linkageType: ''
    returnType: void
    signature: void tls_try_to_enable_tcp_nodelay(isc_nmsocket_t *tlssock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:909,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:910,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:910,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:911,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:911,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:912,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:914,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:916,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:920,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:924,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:925,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:927,1
    - Dst: tls_get_listener_tlsctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:930,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:930,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:931,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:932,1
    - Dst: isc_tls_create
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:933,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:936,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:937,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:943,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:944,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:945,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:947,1
    - Dst: initialize_tls
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:955,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:956,1
    - Dst: tls_try_to_enable_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:959,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:961,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 897
    functionDepth: 5
    functionLinenumber: 897
    functionLinenumberEnd: 964
    functionName: tlslisten_acceptcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nmhandle_localaddr
    - isc__nmsocket_closing
    - isc__nmsocket_detach
    - isc_nmhandle_peeraddr
    - isc_nmhandle_attach
    - initialize_tls
    - isc__nmhandle_set_manual_timer
    - isc_tlsctx_attach
    - isc_tid
    - RUNTIME_CHECK
    - VALID_NMSOCK
    - isc__nm_closing
    - tls_do_bio
    - tls_get_listener_tlsctx
    - tls_try_to_enable_tcp_nodelay
    - atomic_load_relaxed
    - isc_tls_create
    - isc__nmsocket_attach
    - isc_tlsctx_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tlslisten_acceptcb(isc_nmhandle_t *handle, isc_result_t
      result, void *cbarg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:976,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:976,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:977,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:977,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:979,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:981,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:988,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:990,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:991,1
    - Dst: tls_init_listener_tlsctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:994,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1002,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1006,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1012,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1017,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1022,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1025,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1026,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1027,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 10
    argNames:
    - mgr
    - workers
    - iface
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - sslctx
    - proxy
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_accept_cb_t
    - void*
    - int
    - isc_quota_t*
    - SSL_CTX*
    - bool
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 1036
    functionName: isc_nm_listentls
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 2
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc_sockaddr_getport
    - isc_tid
    - isc_nm_listenproxystream
    - VALID_NM
    - INSIST
    - isc__nmsocket_detach
    - isc__nm_closing
    - REQUIRE
    - isc__nmsocket_attach
    - isc_nm_listentcp
    - tls_init_listener_tlsctx
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listentls(isc_nm_t *mgr, uint32_t workers, isc_sockaddr_t
      *iface,\n\t\t isc_nm_accept_cb_t accept_cb, void *accept_cbarg, int backlog,\n\t\t
      isc_quota_t *quota, SSL_CTX *sslctx, bool proxy,\n\t\t isc_nmsocket_t **sockp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1042,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1042,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1046,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1046,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1047,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1047,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1049,1
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1050,1
    - Dst: inactive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1052,1
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1053,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1057,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1038
    functionDepth: 5
    functionLinenumber: 1038
    functionLinenumberEnd: 1061
    functionName: tls_send_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_t*::cb::send
    - isc_tid
    - VALID_NMSOCK
    - isc__nm_closing
    - inactive
    - REQUIRE
    - isc__nm_uvreq_put
    - VALID_UVREQ
    - tls_do_bio
    linkageType: ''
    returnType: void
    signature: void tls_send_direct(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1069,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1069,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1070,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1074,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1076,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1077,1
    - Dst: htons
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1083,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - handle
    - region
    - cb
    - cbarg
    - dnsmsg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1087
    functionName: tls_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - htons
    - VALID_NMSOCK
    - isc__nm_uvreq_get
    - isc_nmhandle_attach
    - isc_job_run
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void tls_send(isc_nmhandle_t *handle, const isc_region_t *region,
      isc_nm_cb_t cb,\n\t void *cbarg, const bool dnsmsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1093
    functionName: isc__nm_tls_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - tls_send
    linkageType: ''
    returnType: void
    signature: "void isc__nm_tls_send(isc_nmhandle_t *handle, const isc_region_t *region,\n\t\t
      isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tls_send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: isc__nm_tls_senddns
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - tls_send
    linkageType: ''
    returnType: void
    signature: "void isc__nm_tls_senddns(isc_nmhandle_t *handle, const isc_region_t
      *region,\n\t\t    isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1105,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1108,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1110,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1110,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1112,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1113,1
    - Dst: inactive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1115,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1116,1
    - Dst: async_tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1125
    functionName: isc__nm_tls_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - cb
    - VALID_NMSOCK
    - isc__nm_closing
    - inactive
    - REQUIRE
    - async_tls_do_bio
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb,
      void *cbarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1134,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1134,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1136,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1140
    functionName: tls_read_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - isc_nm_read
    - isc__nmsocket_timer_start
    - VALID_NMHANDLE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void tls_read_start(isc_nmsocket_t *restrict sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1142
    functionDepth: 1
    functionLinenumber: 1142
    functionLinenumberEnd: 1148
    functionName: tls_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - isc_nm_read_stop
    linkageType: ''
    returnType: void
    signature: void tls_read_stop(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1152,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1153,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1153,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1158,1
    - Dst: tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1162
    functionName: isc__nm_tls_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nmsocket_timer_stop
    - REQUIRE
    - tls_read_stop
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_read_stop(isc_nmhandle_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1166,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1169,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1171,1
    - Dst: tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1179,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1181,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1182,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1183,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1184,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1188,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1164
    functionDepth: 2
    functionLinenumber: 1164
    functionLinenumberEnd: 1199
    functionName: isc__nm_tls_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_tid
    - isc_nm_read_stop
    - isc_nmhandle_close
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc__nmsocket_timer_stop
    - REQUIRE
    - tls_read_stop
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_close(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1203,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1206,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1209
    functionName: isc__nm_tls_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_stop
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1224,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1224,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1226,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1228,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1229,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1233,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1234,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1238,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1241,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1245,1
    - Dst: isc_tlsctx_client_session_cache_getctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1245,1
    - Dst: isc_tlsctx_client_session_cache_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1247,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1252,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 11
    argNames:
    - mgr
    - local
    - peer
    - connect_cb
    - connect_cbarg
    - ctx
    - sni_hostname
    - client_sess_cache
    - timeout
    - proxy
    - proxy_info
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - isc_tlsctx_t*
    - char*
    - isc_tlsctx_client_session_cache_t*
    - unsigned int
    - bool
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1259
    functionName: isc_nm_tlsconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 3
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc_tid
    - connect_cb
    - VALID_NM
    - INSIST
    - isc_tlsctx_client_session_cache_attach
    - isc__nm_closing
    - REQUIRE
    - isc_mem_strdup
    - isc_nm_proxystreamconnect
    - isc_tlsctx_attach
    - isc_tlsctx_client_session_cache_getctx
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: "void isc_nm_tlsconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t  isc_nm_cb_t connect_cb, void *connect_cbarg,\n\t\t  isc_tlsctx_t
      *ctx, const char *sni_hostname,\n\t\t  isc_tlsctx_client_session_cache_t *client_sess_cache,\n\t\t
      \ unsigned int timeout, bool proxy,\n\t\t  isc_nm_proxyheader_info_t *proxy_info)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1267,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1267,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1275,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1275,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1277,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1278,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1279,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1282,1
    - Dst: isc_tls_create
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1290,1
    - Dst: initialize_tls
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1296,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1300,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1301,1
    - Dst: isc_tlsctx_client_session_cache_reuse_sockaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1305,1
    - Dst: tls_try_to_enable_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1316,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1318,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1319,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1322,1
    - Dst: tls_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1324,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1325,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1326,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1261
    functionDepth: 7
    functionLinenumber: 1261
    functionLinenumberEnd: 1327
    functionName: tcp_connected
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nmhandle_get
    - REQUIRE
    - VALID_NMHANDLE
    - tls_call_connect_cb
    - isc_nmhandle_localaddr
    - isc_nmhandle_peeraddr
    - isc__nmsocket_closing
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - isc_tlsctx_client_session_cache_reuse_sockaddr
    - isc__nmhandle_set_manual_timer
    - initialize_tls
    - VALID_NMSOCK
    - INSIST
    - isc__nm_closing
    - tls_do_bio
    - isc_nmhandle_detach
    - tls_try_to_enable_tcp_nodelay
    - isc_tls_create
    linkageType: ''
    returnType: void
    signature: void tcp_connected(isc_nmhandle_t *handle, isc_result_t result, void
      *cbarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1335,1
    - Dst: tls_cleanup_listener_tlsctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1337,1
    - Dst: tls_try_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1344,1
    - Dst: tls_keep_client_tls_session
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1345,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1346,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1352,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1355,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1359,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1360,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1365,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1366,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1367,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1329
    functionDepth: 6
    functionLinenumber: 1329
    functionLinenumberEnd: 1381
    functionName: isc__nm_tls_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - tls_cleanup_listener_tlsctx
    - isc_mem_free
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - tls_keep_client_tls_session
    - INSIST
    - isc__nmsocket_detach
    - isc_tlsctx_free
    - isc_tls_free
    - isc_mem_put
    - tls_try_shutdown
    - isc_tlsctx_client_session_cache_detach
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_cleanup_data(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1387,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1387,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1388,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1388,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1389,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1393,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1393,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1396
    functionName: isc__nm_tls_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_cleartimeout
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_cleartimeout(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1402,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1403,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1404,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1408,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1408,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1411
    functionName: isc__nm_tls_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_settimeout
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_settimeout(isc_nmhandle_t *handle, uint32_t timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1417,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1417,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1418,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1419,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1423,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1423,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1427
    functionName: isc__nmhandle_tls_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_tls_keepalive(isc_nmhandle_t *handle, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1434,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1434,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1435,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1436,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1440,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1440,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1444
    functionName: isc__nmhandle_tls_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_tls_setwritetimeout(isc_nmhandle_t *handle,\n\t\t\t\t
      \ uint64_t write_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1448,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1449,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1452,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1453,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1453,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1456
    functionName: isc__nmsocket_tls_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_reset
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_tls_reset(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1460,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1461,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1464,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1465,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1465,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1470
    functionName: isc__nmsocket_tls_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc__nmsocket_timer_running
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_tls_timer_running(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1474,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1474,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1475,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1478,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1478,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1479,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1479,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1482
    functionName: isc__nmsocket_tls_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_tls_timer_restart(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1486,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1487,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1490,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1490,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1491,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1491,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1484
    functionDepth: 1
    functionLinenumber: 1484
    functionLinenumberEnd: 1494
    functionName: isc__nmsocket_tls_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_tls_timer_stop(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1500,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1500,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1501,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1501,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1502,1
    - Dst: isc_tls_verify_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1510
    functionName: isc__nm_tls_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    - isc_tls_verify_peer_result_string
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__nm_tls_verify_tls_peer_result_string(const isc_nmhandle_t *handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1516,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1516,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1517,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1520,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1521,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1523,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - listener
    - ctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1512
    functionDepth: 2
    functionLinenumber: 1512
    functionLinenumberEnd: 1531
    functionName: tls_init_listener_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - isc_mem_cget
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_tlsctx_attach
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void tls_init_listener_tlsctx(isc_nmsocket_t *listener, isc_tlsctx_t
      *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1535,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1535,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1542,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1533
    functionDepth: 2
    functionLinenumber: 1533
    functionLinenumberEnd: 1548
    functionName: tls_cleanup_listener_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - isc_mem_cput
    - VALID_NMSOCK
    - REQUIRE
    - isc_tlsctx_free
    linkageType: ''
    returnType: void
    signature: void tls_cleanup_listener_tlsctx(isc_nmsocket_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1552,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1552,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tid
    argTypes:
    - isc_nmsocket_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1550
    functionDepth: 1
    functionLinenumber: 1550
    functionLinenumberEnd: 1560
    functionName: tls_get_listener_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: isc_tlsctx_t
    signature: 'isc_tlsctx_t *

      tls_get_listener_tlsctx(isc_nmsocket_t *listener, const isc_tid_t tid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1565,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1567,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - listener
    - tlsctx
    - tid
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1562
    functionDepth: 2
    functionLinenumber: 1562
    functionLinenumberEnd: 1569
    functionName: isc__nm_async_tls_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_tlsctx_attach
    - REQUIRE
    - isc_tlsctx_free
    linkageType: ''
    returnType: void
    signature: "void isc__nm_async_tls_set_tlsctx(isc_nmsocket_t *listener, isc_tlsctx_t
      *tlsctx,\n\t\t\t     const isc_tid_t tid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1577,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1577,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1581,1
    - Dst: isc_tlsctx_client_session_cache_keep_sockaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1571
    functionDepth: 7
    functionLinenumber: 1571
    functionLinenumberEnd: 1587
    functionName: tls_keep_client_tls_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 2
    functionsReached:
    - isc_tlsctx_client_session_cache_keep_sockaddr
    - INSIST
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void tls_keep_client_tls_session(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1592,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1593,1
    - Dst: SSL_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tls
    - force
    argTypes:
    - isc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1596
    functionName: tls_try_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 3
    functionsReached:
    - SSL_set_shutdown
    - SSL_get_shutdown
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void tls_try_shutdown(isc_tls_t *tls, const bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1602,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1604,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1606,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1609
    functionName: isc__nmhandle_tls_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_tls_set_manual_timer(isc_nmhandle_t *handle, const
      bool manual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1617,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1617,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1619,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1619,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1620,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1621,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1621,1
    - Dst: isc_tls_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - alpn
    - alpnlen
    argTypes:
    - isc_nmhandle_t*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1624
    functionName: isc__nmhandle_tls_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_tls_get_selected_alpn
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_tls_get_selected_alpn(isc_nmhandle_t *handle,\n\t\t\t\t
      \   const unsigned char **alpn,\n\t\t\t\t    unsigned int *alpnlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1631,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1631,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1632,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1632,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1633,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1637,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1637,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1651
    functionName: isc__nmhandle_tls_set_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_set_tcp_nodelay
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nmhandle_tls_set_tcp_nodelay(isc_nmhandle_t *handle,
      const bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - socket
    - ','
    - level
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: setsockopt_on
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsockopt_on(socket, level, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - socket
    - ','
    - level
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: setsockopt_off
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsockopt_off(socket, level, name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:31,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:32,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:39,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:46,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:54,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:55,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:60,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - fd
    - sa_family
    argTypes:
    - uv_os_sock_t
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 64
    functionName: socket_freebind
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - setsockopt_on
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t socket_freebind(uv_os_sock_t fd, sa_family_t sa_family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_fileno
      Src: /src/bind9/lib/isc/netmgr/socket.c:72,1
    - Dst: uv_udp_bind
      Src: /src/bind9/lib/isc/netmgr/socket.c:77,1
    - Dst: socket_freebind
      Src: /src/bind9/lib/isc/netmgr/socket.c:79,1
    - Dst: uv_udp_bind
      Src: /src/bind9/lib/isc/netmgr/socket.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - addr
    - flags
    argTypes:
    - uv_udp_t*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: isc__nm_udp_freebind
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 1
    functionsReached:
    - uv_fileno
    - socket_freebind
    - uv_udp_bind
    linkageType: ''
    returnType: int
    signature: "int isc__nm_udp_freebind(uv_udp_t *handle, const struct sockaddr *addr,\n\t\t
      \    unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_bind
      Src: /src/bind9/lib/isc/netmgr/socket.c:100,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/socket.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - addr
    - flags
    argTypes:
    - uv_tcp_t*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: tcp_bind_now
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - uv_tcp_getsockname
    - uv_tcp_bind
    linkageType: ''
    returnType: int
    signature: "int tcp_bind_now(uv_tcp_t *handle, const struct sockaddr *addr,\n\t
      \    unsigned int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_fileno
      Src: /src/bind9/lib/isc/netmgr/socket.c:124,1
    - Dst: tcp_bind_now
      Src: /src/bind9/lib/isc/netmgr/socket.c:129,1
    - Dst: socket_freebind
      Src: /src/bind9/lib/isc/netmgr/socket.c:131,1
    - Dst: tcp_bind_now
      Src: /src/bind9/lib/isc/netmgr/socket.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - addr
    - flags
    argTypes:
    - uv_tcp_t*
    - struct sockaddr*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: isc__nm_tcp_freebind
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - uv_fileno
    - socket_freebind
    - tcp_bind_now
    linkageType: ''
    returnType: int
    signature: "int isc__nm_tcp_freebind(uv_tcp_t *handle, const struct sockaddr *addr,\n\t\t
      \    unsigned int flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/bind9/lib/isc/netmgr/socket.c:147,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/socket.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - sockp
    argTypes:
    - int
    - int
    - int
    - uv_os_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: isc__nm_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 3
    functionsReached:
    - socket
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket(int domain, int type, int protocol, uv_os_sock_t
      *sockp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/bind9/lib/isc/netmgr/socket.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - uv_os_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: isc__nm_closesocket
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 4
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void isc__nm_closesocket(uv_os_sock_t sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:176,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - val
    argTypes:
    - uv_os_sock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: isc__nm_socket_reuse
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 3
    functionsReached:
    - UNUSED
    - setsockopt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_reuse(uv_os_sock_t fd, int val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:204,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - uv_os_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 219
    functionName: isc__nm_socket_reuse_lb
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached:
    - setsockopt_on
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_reuse_lb(uv_os_sock_t fd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_off
      Src: /src/bind9/lib/isc/netmgr/socket.c:228,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:242,1
    - Dst: setsockopt_off
      Src: /src/bind9/lib/isc/netmgr/socket.c:246,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:252,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - fd
    - sa_family
    argTypes:
    - uv_os_sock_t
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 267
    functionName: isc__nm_socket_disable_pmtud
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached:
    - setsockopt_off
    - UNUSED
    - setsockopt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_disable_pmtud(uv_os_sock_t fd, sa_family_t
      sa_family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:276,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - sa_family
    argTypes:
    - uv_os_sock_t
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: isc__nm_socket_v6only
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 1
    functionsReached:
    - setsockopt_on
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_v6only(uv_os_sock_t fd, sa_family_t sa_family)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:297,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:305,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - timeout_ms
    argTypes:
    - uv_os_sock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: isc__nm_socket_connectiontimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setsockopt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_connectiontimeout(uv_os_sock_t fd, int
      timeout_ms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:318,1
    - Dst: setsockopt_off
      Src: /src/bind9/lib/isc/netmgr/socket.c:320,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - value
    argTypes:
    - uv_os_sock_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 332
    functionName: isc__nm_socket_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - setsockopt_off
    - setsockopt_on
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_tcp_nodelay(uv_os_sock_t fd, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:337,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:345,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - uv_os_sock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 349
    functionName: isc__nm_socket_tcp_maxseg
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setsockopt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_tcp_maxseg(uv_os_sock_t fd, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:357,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:361,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - fd
    - sa_family
    argTypes:
    - uv_os_sock_t
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: isc__nm_socket_min_mtu
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached:
    - setsockopt_on
    - UNUSED
    - setsockopt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_socket_min_mtu(uv_os_sock_t fd, sa_family_t sa_family)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/isc/netmgr/tcp.c:45,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: can_log_tcp_quota
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    - atomic_exchange_relaxed
    linkageType: ''
    returnType: bool
    signature: bool can_log_tcp_quota(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:79,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/tcp.c:81,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/tcp.c:92,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/tcp.c:95,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/tcp.c:100,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:101,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sock
    - result
    - msg
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 107
    functionName: tcp_dbg_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_result_totext
    - isc_log_write
    - snprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void tcp_dbg_log(const isc_nmsocket_t *sock, const isc_result_t result,\n\t
      \   const char *msg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:115,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:116,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:118,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:118,1
    - Dst: isc__nm_socket_connectiontimeout
      Src: /src/bind9/lib/isc/netmgr/tcp.c:125,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:126,1
    - Dst: uv_tcp_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:128,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:129,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:130,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:132,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:133,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:134,1
    - Dst: uv_tcp_open
      Src: /src/bind9/lib/isc/netmgr/tcp.c:136,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:138,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:139,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:140,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:142,1
    - Dst: uv_tcp_bind
      Src: /src/bind9/lib/isc/netmgr/tcp.c:145,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:147,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:148,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/tcp.c:152,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:155,1
    - Dst: uv_tcp_connect
      Src: /src/bind9/lib/isc/netmgr/tcp.c:156,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:159,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:160,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:163,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/tcp.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 168
    functionName: tcp_connect_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - uv_tcp_bind
    - isc__nm_set_network_buffers
    - uv_timer_init
    - uv_tcp_open
    - isc_tid
    - RUNTIME_CHECK
    - uv_handle_set_data
    - VALID_NMSOCK
    - uv_tcp_init
    - isc_uverr2result
    - isc__nm_closesocket
    - uv_tcp_connect
    - isc__nm_socket_connectiontimeout
    - REQUIRE
    - isc__nmsocket_timer_start
    - VALID_UVREQ
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tcp_connect_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t
      *req)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:179,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:180,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:180,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:186,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:187,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:187,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tcp.c:189,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:195,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:199,1
    - Dst: uv_tcp_connect
      Src: /src/bind9/lib/isc/netmgr/tcp.c:210,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:214,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:219,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:222,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:226,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:227,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:229,1
    - Dst: uv_tcp_getpeername
      Src: /src/bind9/lib/isc/netmgr/tcp.c:230,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:233,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:240,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:241,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:243,1
    - Dst: isc__nm_failed_connect_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:247,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - uvreq
    - status
    argTypes:
    - uv_connect_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 248
    functionName: tcp_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromsockaddr
    - isc_uverr2result
    - REQUIRE
    - isc__nm_incstats
    - VALID_NMHANDLE
    - uv_tcp_connect
    - uv_handle_set_data
    - isc__nmsocket_closing
    - isc_tid
    - RUNTIME_CHECK
    - VALID_NMSOCK
    - uv_handle_get_data
    - INSIST
    - isc__nm_closing
    - isc__nmsocket_timer_stop
    - uv_tcp_getpeername
    - isc__nm_failed_connect_cb
    - VALID_UVREQ
    - isc__nm_connectcb
    linkageType: ''
    returnType: void
    signature: void tcp_connect_cb(uv_connect_t *uvreq, int status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:261,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/tcp.c:261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:263,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:265,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:267,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:268,1
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:274,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:276,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:280,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:281,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:287,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:292,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/tcp.c:294,1
    - Dst: isc__nm_socket_tcp_maxseg
      Src: /src/bind9/lib/isc/netmgr/tcp.c:295,1
    - Dst: tcp_connect_direct
      Src: /src/bind9/lib/isc/netmgr/tcp.c:299,1
    - Dst: isc__nm_tcp_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:302,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:303,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 6
    argNames:
    - mgr
    - local
    - peer
    - connect_cb
    - connect_cbarg
    - timeout
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 310
    functionName: isc_nm_tcpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 5
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc__nm_socket_tcp_maxseg
    - isc__nmhandle_get
    - isc_tid
    - isc__nm_tcp_close
    - connect_cb
    - isc__nm_socket
    - isc__nm_socket_min_mtu
    - VALID_NM
    - isc__nm_uvreq_get
    - tcp_connect_direct
    - isc__nmsocket_detach
    - isc__nm_closing
    - REQUIRE
    - isc__nm_connectcb
    linkageType: ''
    returnType: void
    signature: "void isc_nm_tcpconnect(isc_nm_t *mgr, isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t  isc_nm_cb_t connect_cb, void *connect_cbarg,\n\t\t  unsigned int
      timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:317,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:318,1
    - Dst: isc__nm_socket_v6only
      Src: /src/bind9/lib/isc/netmgr/tcp.c:320,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/lib/isc/netmgr/tcp.c:324,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:325,1
    - Dst: isc__nm_socket_reuse_lb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:328,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mgr
    - sa_family
    argTypes:
    - isc_nm_t*
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: isc__nm_tcp_lb_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - isc__nm_socket
    - isc__nm_socket_v6only
    - isc__nm_socket_reuse
    - isc__nm_socket_reuse_lb
    linkageType: ''
    returnType: uv_os_sock_t
    signature: uv_os_sock_t isc__nm_tcp_lb_socket(isc_nm_t *mgr, sa_family_t sa_family)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:339,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:339,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:340,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:342,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:342,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/tcp.c:350,1
    - Dst: isc__nm_socket_tcp_maxseg
      Src: /src/bind9/lib/isc/netmgr/tcp.c:351,1
    - Dst: uv_tcp_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:353,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:354,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:355,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:357,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:359,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:360,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:361,1
    - Dst: uv_tcp_open
      Src: /src/bind9/lib/isc/netmgr/tcp.c:363,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:365,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:366,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:369,1
    - Dst: isc__nm_tcp_freebind
      Src: /src/bind9/lib/isc/netmgr/tcp.c:376,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:379,1
    - Dst: isc__nm_tcp_freebind
      Src: /src/bind9/lib/isc/netmgr/tcp.c:383,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:386,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/tcp.c:395,1
    - Dst: uv_listen
      Src: /src/bind9/lib/isc/netmgr/tcp.c:402,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:405,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:406,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:406,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:407,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/tcp.c:412,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:419,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:427,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:436,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/tcp.c:439,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 441
    functionName: start_tcp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_socket_tcp_maxseg
    - isc_sockaddr_fromsockaddr
    - uv_tcp_init
    - isc__nm_socket_min_mtu
    - isc_uverr2result
    - REQUIRE
    - uv_listen
    - isc_barrier_wait
    - isc__nm_incstats
    - isc__nm_set_network_buffers
    - uv_tcp_getsockname
    - uv_handle_set_data
    - UV_RUNTIME_CHECK
    - uv_timer_init
    - uv_tcp_open
    - isc_tid
    - VALID_NMSOCK
    - isc__nmsocket_log
    - isc_result_totext
    - isc__nmsocket_attach
    - isc__nm_tcp_freebind
    - isc__nm_closesocket
    linkageType: ''
    returnType: void
    signature: void start_tcp_child_job(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:449,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/tcp.c:460,1
    - Dst: isc__nm_tcp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:461,1
    - Dst: dup
      Src: /src/bind9/lib/isc/netmgr/tcp.c:464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:466,1
    - Dst: start_tcp_child_job
      Src: /src/bind9/lib/isc/netmgr/tcp.c:469,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tcp.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - mgr
    - iface
    - sock
    - fd
    - tid
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_nmsocket_t*
    - uv_os_sock_t
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 443
    functionDepth: 4
    functionLinenumber: 443
    functionLinenumberEnd: 473
    functionName: start_tcp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_init
    - isc_async_run
    - UNUSED
    - isc__nm_tcp_lb_socket
    - start_tcp_child_job
    - REQUIRE
    - dup
    linkageType: ''
    returnType: void
    signature: "void start_tcp_child(isc_nm_t *mgr, isc_sockaddr_t *iface, isc_nmsocket_t
      *sock,\n\t\tuv_os_sock_t fd, isc_tid_t tid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:484,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/tcp.c:484,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:485,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:490,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:493,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:494,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/tcp.c:498,1
    - Dst: isc__nmsocket_barrier_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:501,1
    - Dst: isc__nm_tcp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:509,1
    - Dst: start_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:512,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tcp.c:514,1
    - Dst: start_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:517,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/tcp.c:520,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:523,1
    - Dst: isc__nm_tcp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/tcp.c:540,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 8
    argNames:
    - mgr
    - workers
    - iface
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_accept_cb_t
    - void*
    - int
    - isc_quota_t*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 550
    functionName: isc_nm_listentcp
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 5
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc__nmsocket_barrier_init
    - isc_tid
    - isc_mem_cget
    - start_tcp_child
    - VALID_NM
    - INSIST
    - isc__nm_tcp_stoplistening
    - isc__nm_tcp_lb_socket
    - REQUIRE
    - isc_barrier_wait
    - isc_nmsocket_close
    - isc__nm_closesocket
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listentcp(isc_nm_t *mgr, uint32_t workers, isc_sockaddr_t
      *iface,\n\t\t isc_nm_accept_cb_t accept_cb, void *accept_cbarg, int backlog,\n\t\t
      isc_quota_t *quota, isc_nmsocket_t **sockp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:554,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:557,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:560,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:561,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:566,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:567,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:567,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:569,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:575,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:576,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:578,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:580,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:583,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/isc/netmgr/tcp.c:587,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:588,1
    - Dst: accept_connection
      Src: /src/bind9/lib/isc/netmgr/tcp.c:593,1
    - Dst: isc__nm_accept_connection_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:595,1
    - Dst: can_log_tcp_quota
      Src: /src/bind9/lib/isc/netmgr/tcp.c:595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 596
    functionName: tcp_connection_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc_mempool_get
    - isc__nmsocket_init
    - can_log_tcp_quota
    - isc_tid
    - isc__nm_accept_connection_log
    - VALID_NMSOCK
    - isc_uverr2result
    - uv_handle_get_data
    - tcp_dbg_log
    - isc__nmsocket_closing
    - isc_quota_acquire_cb
    - isc_time_monotonic
    - accept_connection
    - REQUIRE
    - isc__nmsocket_attach
    linkageType: ''
    returnType: void
    signature: void tcp_connection_cb(uv_stream_t *server, int status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:602,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:603,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:603,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:606,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:618,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:619,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:620,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:623,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:624,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:626,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/tcp.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 628
    functionName: stop_tcp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - isc__nm_stop_reading
    - isc_tid
    - VALID_NMSOCK
    - uv_close
    - isc__nmsocket_timer_stop
    - REQUIRE
    - isc_barrier_wait
    linkageType: ''
    returnType: void
    signature: void stop_tcp_child_job(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:632,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:632,1
    - Dst: stop_tcp_child_job
      Src: /src/bind9/lib/isc/netmgr/tcp.c:635,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tcp.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 639
    functionName: stop_tcp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - stop_tcp_child_job
    - VALID_NMSOCK
    - REQUIRE
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void stop_tcp_child(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:643,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:645,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:645,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:647,1
    - Dst: stop_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:656,1
    - Dst: stop_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:660,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 641
    functionDepth: 3
    functionLinenumber: 641
    functionLinenumberEnd: 666
    functionName: isc__nm_tcp_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 1
    functionsReached:
    - isc_tid
    - VALID_NMSOCK
    - stop_tcp_child
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void isc__nm_tcp_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:670,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:671,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:673,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:673,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:674,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:675,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:677,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:681,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 684
    functionName: tcp_stop_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc_tid
    - uv_handle_set_data
    - VALID_NMSOCK
    - uv_handle_get_data
    - isc__nmsocket_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void tcp_stop_cb(uv_handle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:689,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:689,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:690,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:692,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:693,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/tcp.c:697,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:698,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:699,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 703
    functionName: isc__nm_tcp_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - isc__nm_stop_reading
    - VALID_NMSOCK
    - isc__nmsocket_timer_stop
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nmsocket_prep_destroy
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: "void isc__nm_tcp_failed_read_cb(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t   bool async)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:711,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:712,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:717,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:718,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:727,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:728,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:731,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:737,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/tcp.c:746,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 752
    functionName: isc__nm_tcp_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_start_reading
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nmsocket_closing
    - isc__nm_tcp_failed_read_cb
    - atomic_load_relaxed
    - REQUIRE
    - isc__nmsocket_timer_start
    linkageType: ''
    returnType: void
    signature: void isc__nm_tcp_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb,
      void *cbarg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:756,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:756,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:757,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:757,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:762,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 768
    functionName: isc__nm_tcp_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc__nm_stop_reading
    - VALID_NMSOCK
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_tcp_read_stop(isc_nmhandle_t *handle)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:776,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:776,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:777,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:777,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:778,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:782,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:783,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:789,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:792,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:792,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/tcp.c:798,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:811,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:812,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:815,1
    - Dst: uv_stream_get_write_queue_size
      Src: /src/bind9/lib/isc/netmgr/tcp.c:826,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:829,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:830,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:835,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:837,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/tcp.c:842,1
    - Dst: isc__nm_free_uvbuf
      Src: /src/bind9/lib/isc/netmgr/tcp.c:855,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - stream
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 856
    functionName: isc__nm_tcp_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc_tid
    - uv_stream_get_write_queue_size
    - isc__nmsocket_log
    - ISC_LOG_DEBUG
    - isc__nm_stop_reading
    - VALID_NMSOCK
    - isc_uverr2result
    - uv_handle_get_data
    - isc__nmsocket_closing
    - isc__nm_tcp_failed_read_cb
    - atomic_load_relaxed
    - isc__nm_free_uvbuf
    - isc__nmsocket_timer_restart
    - REQUIRE
    - isc__nm_get_read_req
    - uv_is_active
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: void isc__nm_tcp_read_cb(uv_stream_t *stream, ssize_t nread, const
      uv_buf_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:866,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:866,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:867,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:867,1
    - Dst: accept_connection
      Src: /src/bind9/lib/isc/netmgr/tcp.c:869,1
    - Dst: isc__nm_accept_connection_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:870,1
    - Dst: can_log_tcp_quota
      Src: /src/bind9/lib/isc/netmgr/tcp.c:870,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 872
    functionName: tcpaccept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - can_log_tcp_quota
    - isc_tid
    - isc__nm_accept_connection_log
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - accept_connection
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void tcpaccept_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:879,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:879,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:885,1
    - Dst: accept_connection
      Src: /src/bind9/lib/isc/netmgr/tcp.c:886,1
    - Dst: isc__nm_accept_connection_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:887,1
    - Dst: can_log_tcp_quota
      Src: /src/bind9/lib/isc/netmgr/tcp.c:888,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:890,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tcp.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 874
    functionDepth: 2
    functionLinenumber: 874
    functionLinenumberEnd: 893
    functionName: quota_accept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - can_log_tcp_quota
    - isc_tid
    - isc__nm_accept_connection_log
    - isc_async_run
    - VALID_NMSOCK
    - accept_connection
    - REQUIRE
    - isc__nmsocket_attach
    linkageType: ''
    returnType: void
    signature: void quota_accept_cb(void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:903,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:903,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:904,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:904,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:905,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:905,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:912,1
    - Dst: uv_tcp_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:914,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:915,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:916,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:918,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:919,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:920,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:923,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:930,1
    - Dst: uv_accept
      Src: /src/bind9/lib/isc/netmgr/tcp.c:935,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:938,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/isc/netmgr/tcp.c:946,1
    - Dst: uv_tcp_getpeername
      Src: /src/bind9/lib/isc/netmgr/tcp.c:964,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:967,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:971,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/tcp.c:977,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:980,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:984,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:989,1
    - Dst: isc_nmsocket_t*::accept_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:991,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:993,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:999,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1001,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1007,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1012,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1022,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1024,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1027,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1029,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1031,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 85
    argCount: 1
    argNames:
    - csock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 895
    functionDepth: 4
    functionLinenumber: 895
    functionLinenumberEnd: 1034
    functionName: accept_connection
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 3
    functionsReached:
    - isc_sockaddr_fromsockaddr
    - isc__nmhandle_get
    - uv_tcp_init
    - isc_uverr2result
    - tcp_dbg_log
    - REQUIRE
    - isc__nm_incstats
    - uv_accept
    - uv_tcp_getsockname
    - uv_handle_set_data
    - isc__nmsocket_closing
    - isc__nmsocket_detach
    - isc__nmsocket_prep_destroy
    - UV_RUNTIME_CHECK
    - isc_nmsocket_t*::accept_cb
    - uv_timer_init
    - isc_tid
    - VALID_NMSOCK
    - isc_time_monotonic
    - uv_tcp_getpeername
    - isc_nmhandle_detach
    - isc__nmsocket_log
    - isc_result_totext
    - atomic_load_relaxed
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t accept_connection(isc_nmsocket_t *csock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1039,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1039,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1040,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1040,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1047,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1048,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1048,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1050,1
    - Dst: htons
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1052,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1057,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1065,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1066,1
    - Dst: tcp_send_direct
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1069,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1071,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 5
    argNames:
    - handle
    - region
    - cb
    - cbarg
    - dnsmsg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1076
    functionName: tcp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - VALID_NMHANDLE
    - htons
    - isc_tid
    - VALID_NMSOCK
    - isc__nm_uvreq_get
    - atomic_load_relaxed
    - tcp_send_direct
    - isc_nmhandle_attach
    - isc__nm_failed_send_cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void tcp_send(isc_nmhandle_t *handle, const isc_region_t *region,
      isc_nm_cb_t cb,\n\t void *cbarg, const bool dnsmsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1078
    functionDepth: 2
    functionLinenumber: 1078
    functionLinenumberEnd: 1082
    functionName: isc__nm_tcp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - tcp_send
    linkageType: ''
    returnType: void
    signature: "void isc__nm_tcp_send(isc_nmhandle_t *handle, const isc_region_t *region,\n\t\t
      isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tcp_send
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1088
    functionName: isc__nm_tcp_senddns
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - tcp_send
    linkageType: ''
    returnType: void
    signature: "void isc__nm_tcp_senddns(isc_nmhandle_t *handle, const isc_region_t
      *region,\n\t\t    isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1093,1
    - Dst: uv_stream_get_write_queue_size
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1104,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1106,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1107,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1115
    functionName: tcp_maybe_restart_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_start_reading
    - uv_stream_get_write_queue_size
    - isc__nmsocket_log
    - ISC_LOG_DEBUG
    - uv_is_active
    linkageType: ''
    returnType: void
    signature: void tcp_maybe_restart_reading(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1122,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1123,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1123,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1127,1
    - Dst: isc_nm_timer_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1128,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1131,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1132,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1132,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1140,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1141,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1146,1
    - Dst: tcp_maybe_restart_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1148
    functionName: tcp_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc__nm_start_reading
    - isc__nmsocket_reset
    - isc__nm_sendcb
    - VALID_NMSOCK
    - isc_uverr2result
    - isc_nm_timer_stop
    - isc__nm_failed_send_cb
    - REQUIRE
    - tcp_maybe_restart_reading
    - isc_nm_timer_detach
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: void tcp_send_cb(uv_write_t *req, int status)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1152,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1153,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1154,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1155,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1162,1
    - Dst: uv_try_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1171,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1175,1
    - Dst: tcp_maybe_restart_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1176,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1182,1
    - Dst: uv_try_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1191,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1195,1
    - Dst: tcp_maybe_restart_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1196,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1208,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1214,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1217,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1217,1
    - Dst: uv_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1224,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1227,1
    - Dst: isc_nm_timer_create
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1230,1
    - Dst: isc_nm_timer_start
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1233,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - sock
    - req
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1237
    functionName: tcp_send_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 1
    functionsReached:
    - isc_nm_timer_create
    - isc__nm_sendcb
    - isc_tid
    - isc__nm_stop_reading
    - isc__nmsocket_log
    - ISC_LOG_DEBUG
    - VALID_NMSOCK
    - isc_uverr2result
    - isc__nmsocket_closing
    - isc_nm_timer_start
    - REQUIRE
    - tcp_maybe_restart_reading
    - VALID_UVREQ
    - uv_write
    - uv_try_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tcp_send_direct(isc_nmsocket_t *sock, isc__nm_uvreq_t
      *req)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1241,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1242,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1244,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1249,1
    - Dst: isc__nm_decstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1253,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1254,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1256,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1259,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1239
    functionDepth: 4
    functionLinenumber: 1239
    functionLinenumberEnd: 1262
    functionName: tcp_close_sock
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - isc_tid
    - isc_quota_release
    - VALID_NMSOCK
    - tcp_dbg_log
    - isc__nmsocket_detach
    - isc__nm_decstats
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void tcp_close_sock(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1266,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1267,1
    - Dst: tcp_close_sock
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1264
    functionDepth: 5
    functionLinenumber: 1264
    functionLinenumberEnd: 1270
    functionName: tcp_close_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - tcp_close_sock
    - uv_handle_set_data
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void tcp_close_cb(uv_handle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1274,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1274,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1276,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1276,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1277,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1277,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1279,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1289,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1293,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1294,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1296,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1299,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1300,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1305,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1306,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1309
    functionName: isc__nm_tcp_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_clearcb
    - isc_tid
    - isc__nm_stop_reading
    - uv_handle_set_data
    - VALID_NMSOCK
    - uv_close
    - isc__nmsocket_active
    - isc__nmsocket_timer_stop
    - REQUIRE
    - uv_is_closing
    linkageType: ''
    returnType: void
    signature: void isc__nm_tcp_close(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1313,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1315,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1317,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1317,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1319,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1321
    functionName: tcp_close_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - VALID_NMSOCK
    - uv_handle_get_data
    - isc__nmsocket_detach
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void tcp_close_connect_cb(uv_handle_t *handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1325,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1326,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1327,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1338,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1342,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1343,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1349,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1355,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1363
    functionName: isc__nm_tcp_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - VALID_NMSOCK
    - INSIST
    - uv_close
    - isc__nm_failed_read_cb
    - isc__nmsocket_attach
    - REQUIRE
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void isc__nm_tcp_shutdown(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1369,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1369,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1371,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1371,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1372,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1373,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1374,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1377
    functionName: isc__nmhandle_tcp_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - REQUIRE
    - uv_is_active
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_tcp_set_manual_timer(isc_nmhandle_t *handle, const
      bool manual)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:36,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/timer.c:36,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:37,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/timer.c:37,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/timer.c:43,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/timer.c:45,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/timer.c:46,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/timer.c:48,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/timer.c:49,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/timer.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - cb
    - cbarg
    - timerp
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_timer_cb
    - void*
    - isc_nm_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 53
    functionName: isc_nm_timer_create
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - uv_timer_init
    - uv_handle_set_data
    - VALID_NMSOCK
    - isc_mem_get
    - isc_refcount_init
    - isc_nmhandle_attach
    - REQUIRE
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: "void isc_nm_timer_create(isc_nmhandle_t *handle, isc_nm_timer_cb cb,
      void *cbarg,\n\t\t    isc_nm_timer_t **timerp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:57,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:58,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/netmgr/timer.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - timer
    - timerp
    argTypes:
    - isc_nm_timer_t*
    - isc_nm_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: isc_nm_timer_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nm_timer_attach(isc_nm_timer_t *timer, isc_nm_timer_t **timerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/timer.c:66,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/timer.c:70,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/timer.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uvhandle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: timer_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 10
    functionsReached:
    - isc_mem_put
    - isc_nmhandle_detach
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void timer_destroy(uv_handle_t *uvhandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:87,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/timer.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:88,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/timer.c:88,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/netmgr/timer.c:90,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/netmgr/timer.c:91,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/timer.c:92,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/timer.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - timerp
    argTypes:
    - isc_nm_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: isc_nm_timer_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - uv_timer_stop
    - isc_refcount_decrement
    - uv_close
    - REQUIRE
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_nm_timer_detach(isc_nm_timer_t **timerp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/timer.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/timer.c:101,1
    - Dst: isc_nm_timer_t*::cb
      Src: /src/bind9/lib/isc/netmgr/timer.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - uvtimer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: timer_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 0
    functionsReached:
    - isc_nm_timer_t*::cb
    - REQUIRE
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void timer_cb(uv_timer_t *uvtimer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/netmgr/timer.c:108,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/timer.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - timer
    - timeout
    argTypes:
    - isc_nm_timer_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: isc_nm_timer_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 1
    functionsReached:
    - uv_timer_start
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_nm_timer_start(isc_nm_timer_t *timer, uint64_t timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/netmgr/timer.c:114,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/timer.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timer
    argTypes:
    - isc_nm_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: isc_nm_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/timer.c
    functionUses: 1
    functionsReached:
    - uv_timer_stop
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_nm_timer_stop(isc_nm_timer_t *timer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:80,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: proxyudp_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_closing
    linkageType: ''
    returnType: bool
    signature: bool proxyudp_closing(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:88,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: proxyudp_stop_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_timer_stop
    - isc__nm_stop_reading
    linkageType: ''
    returnType: void
    signature: void proxyudp_stop_reading(isc_nmsocket_t *sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:97,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:99,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:99,1
    - Dst: proxyudp_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:110,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:117,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:118,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:123,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 126
    functionName: isc__nm_proxyudp_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - isc_tid
    - VALID_NMSOCK
    - proxyudp_stop_reading
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nmsocket_prep_destroy
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxyudp_failed_read_cb(isc_nmsocket_t *sock, const isc_result_t
      result,\n\t\t\t\tconst bool async)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:139,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:170,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:170,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:171,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:173,1
    - Dst: isc__nm_valid_proxy_addresses
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:176,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:189,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:190,1
    - Dst: isc__nm_received_proxy_header_log
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:195,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:197,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:202,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 8
    argNames:
    - result
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlvs
    - extra
    - cbarg
    argTypes:
    - isc_result_t
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 203
    functionName: proxyudp_on_header_data_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - isc__nm_proxyudp_failed_read_cb
    - INSIST
    - isc__nm_valid_proxy_addresses
    - isc__nm_received_proxy_header_log
    - isc_nmsocket_t*::recv_cb
    linkageType: ''
    returnType: void
    signature: "void proxyudp_on_header_data_cb(const isc_result_t result,\n\t\t\t
      \  const isc_proxy2_command_t cmd, const int socktype,\n\t\t\t   const isc_sockaddr_t
      *restrict src_addr,\n\t\t\t   const isc_sockaddr_t *restrict dst_addr,\n\t\t\t
      \  const isc_region_t *restrict tlvs,\n\t\t\t   const isc_region_t *restrict
      extra, void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:209,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:212,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:213,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:216,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:220,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - worker
    - type
    - addr
    - is_server
    argTypes:
    - isc__networker_t*
    - isc_nmsocket_type_t
    - isc_sockaddr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 232
    functionName: proxyudp_sock_new
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc_mem_cget
    - INSIST
    - isc_nm_getinitialtimeout
    - isc_buffer_allocate
    linkageType: ''
    returnType: isc_nmsocket_t
    signature: "isc_nmsocket_t *\nproxyudp_sock_new(isc__networker_t *worker, const
      isc_nmsocket_type_t type,\n\t\t  isc_sockaddr_t *addr, const bool is_server)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:240,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:241,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:241,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:246,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:249,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:252,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:253,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:256,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:256,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:268,1
    - Dst: proxyudp_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:271,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:280,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:282,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:283,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:285,1
    - Dst: proxyudp_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:295,1
    - Dst: recv_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:297,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:300,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:303,1
    - Dst: proxyudp_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:308,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:313,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 4
    argNames:
    - handle
    - result
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 234
    functionDepth: 8
    functionLinenumber: 234
    functionLinenumberEnd: 315
    functionName: proxyudp_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc__nmhandle_get
    - isc__nmsocket_timer_running
    - REQUIRE
    - VALID_NMHANDLE
    - proxyudp_closing
    - isc_nmhandle_localaddr
    - isc__nmsocket_clearcb
    - isc__nm_proxyudp_failed_read_cb
    - isc_nmhandle_peeraddr
    - isc_nmhandle_attach
    - proxyudp_stop_reading
    - proxyudp_try_close_unused
    - isc_tid
    - VALID_NMSOCK
    - INSIST
    - recv_cb
    - isc__nm_closing
    - isc_nmhandle_detach
    - isc_proxy2_header_handle_directly
    linkageType: ''
    returnType: void
    signature: "void proxyudp_read_cb(isc_nmhandle_t *handle, isc_result_t result,\n\t\t
      isc_region_t *region, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:325,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:326,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:327,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:329,1
    - Dst: proxyudp_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:333,1
    - Dst: proxyudp_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:339,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:348,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:353,1
    - Dst: stop_proxyudp_child
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:365,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - mgr
    - workers
    - iface
    - cb
    - cbarg
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_recv_cb_t
    - void*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 373
    functionName: isc_nm_listenproxyudp
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 1
    functionsReached:
    - isc_tid
    - stop_proxyudp_child
    - VALID_NM
    - proxyudp_sock_new
    - isc_nm_listenudp
    - isc__nm_closing
    - isc__nmsocket_detach
    - REQUIRE
    - isc__nmsocket_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenproxyudp(isc_nm_t *mgr, uint32_t workers,
      isc_sockaddr_t *iface,\n\t\t      isc_nm_recv_cb_t cb, void *cbarg,\n\t\t      isc_nmsocket_t
      **sockp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmsocket_t*::connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:383,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sock
    - handle
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: proxyudp_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_t*::connect_cb
    - isc__nmsocket_clearcb
    linkageType: ''
    returnType: void
    signature: "void proxyudp_call_connect_cb(isc_nmsocket_t *sock, isc_nmhandle_t
      *handle,\n\t\t\t isc_result_t result)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:396,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: proxyudp_try_close_unused
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_detach
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void proxyudp_try_close_unused(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:408,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:408,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:410,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:416,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:416,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:418,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:419,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:420,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:426,1
    - Dst: proxyudp_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:427,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:428,1
    - Dst: proxyudp_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:430,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:432,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:436,1
    - Dst: proxyudp_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:438,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:439,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 441
    functionName: proxyudp_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - proxyudp_call_connect_cb
    - VALID_NMHANDLE
    - isc_nmhandle_detach
    - isc_nmhandle_localaddr
    - isc_tid
    - isc__nmhandle_get
    - VALID_NMSOCK
    - INSIST
    - isc_nmhandle_peeraddr
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - REQUIRE
    - proxyudp_try_close_unused
    linkageType: ''
    returnType: void
    signature: void proxyudp_connect_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:452,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:452,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:454,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:455,1
    - Dst: proxyudp_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:459,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:466,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:470,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:475,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:481,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 7
    argNames:
    - mgr
    - local
    - peer
    - cb
    - cbarg
    - timeout
    - proxy_info
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 443
    functionDepth: 4
    functionLinenumber: 443
    functionLinenumberEnd: 485
    functionName: isc_nm_proxyudpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 2
    functionsReached:
    - isc_proxy2_make_header
    - isc_buffer_putmem
    - cb
    - isc_tid
    - RUNTIME_CHECK
    - VALID_NM
    - proxyudp_sock_new
    - isc__nm_closing
    - isc_nm_udpconnect
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_nm_proxyudpconnect(isc_nm_t *mgr, isc_sockaddr_t *local,\n\t\t
      \      isc_sockaddr_t *peer, isc_nm_cb_t cb, void *cbarg,\n\t\t       unsigned
      int timeout,\n\t\t       isc_nm_proxyheader_info_t *proxy_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:500,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:500,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:501,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:501,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:506,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:506,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:507,1
    - Dst: proxyudp_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:510,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:511,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:515,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:516,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 518
    functionName: stop_proxyudp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_tid
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_detach
    - proxyudp_stop_reading
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void stop_proxyudp_child_job(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:522,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:522,1
    - Dst: stop_proxyudp_child_job
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:525,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 530
    functionName: stop_proxyudp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 1
    functionsReached:
    - isc_async_run
    - VALID_NMSOCK
    - stop_proxyudp_child_job
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void stop_proxyudp_child(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:534,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:535,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:536,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:538,1
    - Dst: stop_proxyudp_child
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:543,1
    - Dst: stop_proxyudp_child
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: isc__nm_proxyudp_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_stop
    - VALID_NMSOCK
    - REQUIRE
    - stop_proxyudp_child
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxyudp_stoplistening(isc_nmsocket_t *listener)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: proxyudp_clear_proxy_header_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    linkageType: ''
    returnType: void
    signature: void proxyudp_clear_proxy_header_data(isc_nmsocket_t *sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: proxyudp_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:561,1
    - Dst: proxyudp_clear_proxy_header_data
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:565,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:568,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 578
    functionName: isc__nm_proxyudp_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - proxyudp_clear_proxy_header_data
    - proxyudp_put_send_req
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxyudp_cleanup_data(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:584,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:584,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:585,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:585,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:586,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:590,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:590,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 593
    functionName: isc__nmhandle_proxyudp_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_cleartimeout
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_proxyudp_cleartimeout(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:599,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:599,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:600,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:600,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:601,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:605,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:605,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 608
    functionName: isc__nmhandle_proxyudp_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_settimeout
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_proxyudp_settimeout(isc_nmhandle_t *handle, uint32_t
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:615,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:615,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:616,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:616,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:617,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:621,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:621,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 625
    functionName: isc__nmhandle_proxyudp_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_proxyudp_setwritetimeout(isc_nmhandle_t *handle,\n\t\t\t\t
      \      uint64_t write_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:629,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:630,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:633,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:633,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:634,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:634,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: isc__nmsocket_proxyudp_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc__nmsocket_timer_running
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_proxyudp_timer_running(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:643,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:644,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:647,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:647,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:648,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:648,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 651
    functionName: isc__nmsocket_proxyudp_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_proxyudp_timer_restart(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:655,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:655,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:656,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:659,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:659,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:660,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:660,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 663
    functionName: isc__nmsocket_proxyudp_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_proxyudp_timer_stop(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:667,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:667,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:668,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:669,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:669,1
    - Dst: proxyudp_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:677,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:680,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:681,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 665
    functionDepth: 2
    functionLinenumber: 665
    functionLinenumberEnd: 691
    functionName: isc__nm_proxyudp_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_tid
    - isc_nmhandle_close
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - proxyudp_stop_reading
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxyudp_close(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:697,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:697,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:699,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:699,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:700,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:701,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:702,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:702,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:708,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:709,1
    - Dst: proxyudp_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:712,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:713,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 718
    functionName: isc__nm_proxyudp_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - proxyudp_closing
    - isc_tid
    - isc_nm_read
    - isc__nm_proxyudp_failed_read_cb
    - VALID_NMSOCK
    - isc__nm_closing
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxyudp_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t
      cb,\n\t\t      void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:735,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:742,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:746,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:747,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:749,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:752,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:756,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:761,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 6
    argNames:
    - mctx
    - sock
    - proxyhandle
    - client_data
    - cb
    - cbarg
    argTypes:
    - isc_mem_t*
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 770
    functionName: proxyudp_get_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - INSIST
    - isc_mem_get
    - isc_nmhandle_attach
    - isc_buffer_allocate
    - isc_buffer_usedregion
    linkageType: ''
    returnType: proxyudp_send_req_t
    signature: "proxyudp_send_req_t *\nproxyudp_get_send_req(isc_mem_t *mctx, isc_nmsocket_t
      *sock,\n\t\t      isc_nmhandle_t *proxyhandle, isc_region_t *client_data,\n\t\t
      \     isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:777,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:786,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:797,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - mctx
    - send_req
    - force_destroy
    argTypes:
    - isc_mem_t*
    - proxyudp_send_req_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 802
    functionName: proxyudp_put_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 1
    functionsReached:
    - isc_buffer_clear
    - isc_nmhandle_detach
    - isc_buffer_free
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: "void proxyudp_put_send_req(isc_mem_t *mctx, proxyudp_send_req_t *send_req,\n\t\t
      \     const bool force_destroy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:813,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:813,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:814,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:814,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:815,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:815,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:816,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:816,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:822,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:823,1
    - Dst: proxyudp_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:826,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:827,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:828,1
    - Dst: proxyudp_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:835,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 804
    functionDepth: 4
    functionLinenumber: 804
    functionLinenumberEnd: 837
    functionName: proxyudp_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - isc_tid
    - cb
    - VALID_NMSOCK
    - proxyudp_put_send_req
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - REQUIRE
    - isc__nmsocket_attach
    - proxyudp_try_close_unused
    linkageType: ''
    returnType: void
    signature: void proxyudp_send_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:846,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:847,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:847,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:851,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:853,1
    - Dst: proxyudp_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:855,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:860,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:861,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:865,1
    - Dst: proxyudp_get_send_req
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:869,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:874,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:875,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 839
    functionDepth: 4
    functionLinenumber: 839
    functionLinenumberEnd: 881
    functionName: isc__nm_proxyudp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - proxyudp_closing
    - proxyudp_get_send_req
    - VALID_NMSOCK
    - isc_nm_send
    - isc__nm_uvreq_get
    - isc__nm_closing
    - isc__nm_failed_send_cb
    - isc_nmhandle_attach
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxyudp_send(isc_nmhandle_t *handle, isc_region_t *region,\n\t\t
      \     isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__netmgr_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:121,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:122,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:124,1
    - Dst: uv_walk
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:126,1
    - Dst: isc__networker_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: networker_teardown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__netmgr_log
    - isc_tid
    - ISC_LOG_DEBUG
    - uv_walk
    - isc__networker_detach
    linkageType: ''
    returnType: void
    signature: void networker_teardown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:135,1
    - Dst: isc__netmgr_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:138,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: netmgr_teardown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc__netmgr_log
    - atomic_compare_exchange_strong_acq_rel
    linkageType: ''
    returnType: void
    signature: void netmgr_teardown(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_version
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:160,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:161,1
    - Dst: uv_version_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:164,1
    - Dst: uv_version
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:168,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:169,1
    - Dst: uv_version_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:172,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:175,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:178,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:181,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:182,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:183,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:184,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:185,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:186,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:187,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:188,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:199,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:200,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:201,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:202,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:203,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:205,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:208,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:213,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:217,1
    - Dst: isc_nm_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:222,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:224,1
    - Dst: isc_mempool_create
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:226,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:228,1
    - Dst: isc_mempool_create
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:231,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:233,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:235,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:236,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 3
    argNames:
    - mctx
    - loopmgr
    - netmgrp
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - isc_nm_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 241
    functionName: isc_netmgr_create
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - isc_loop_teardown
    - isc_mem_attach
    - uv_version
    - isc_loopmgr_teardown
    - isc_mempool_setfreemax
    - FATAL_ERROR
    - isc_mem_cget
    - uv_version_string
    - isc_mem_get
    - isc_refcount_init
    - atomic_init
    - isc_loop_get
    - isc_loop_attach
    - isc_mempool_create
    - isc_loopmgr_nloops
    - isc_nm_attach
    linkageType: ''
    returnType: void
    signature: void isc_netmgr_create(isc_mem_t *mctx, isc_loopmgr_t *loopmgr, isc_nm_t
      **netmgrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:248,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:248,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:250,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:255,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:258,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - netmgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: nm_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_stats_detach
    - isc_mem_putanddetach
    - VALID_NM
    - isc_mem_cput
    - REQUIRE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void nm_destroy(isc_nm_t *netmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:271,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:271,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - maxudp
    argTypes:
    - isc_nm_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: isc_nm_maxudp
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_maxudp(isc_nm_t *mgr, uint32_t maxudp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:278,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:279,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:279,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:280,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:280,1
    - Dst: isc__nmhandle_tls_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:288,1
    - Dst: isc__nmhandle_streamdns_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:291,1
    - Dst: isc__nmhandle_proxystream_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:294,1
    - Dst: isc__nmhandle_proxyudp_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:298,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 304
    functionName: isc_nmhandle_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 13
    functionsReached:
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc_tid
    - VALID_NMSOCK
    - isc__nmhandle_streamdns_setwritetimeout
    - isc__nmhandle_proxystream_setwritetimeout
    - REQUIRE
    - isc__nmhandle_proxyudp_setwritetimeout
    - isc__nmhandle_tls_setwritetimeout
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_setwritetimeout(isc_nmhandle_t *handle, uint64_t
      write_timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:308,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:308,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - timeout_ms
    argTypes:
    - isc_nm_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: isc_nm_setinitialtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setinitialtimeout(isc_nm_t *mgr, uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:315,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:315,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - timeout_ms
    argTypes:
    - isc_nm_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: isc_nm_setprimariestimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setprimariestimeout(isc_nm_t *mgr, uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:322,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:322,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - timeout_ms
    argTypes:
    - isc_nm_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: isc_nm_setidletimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setidletimeout(isc_nm_t *mgr, uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:329,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:329,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - timeout_ms
    argTypes:
    - isc_nm_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: isc_nm_setkeepalivetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setkeepalivetimeout(isc_nm_t *mgr, uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:336,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:336,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - timeout_ms
    argTypes:
    - isc_nm_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: isc_nm_setadvertisedtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 9
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setadvertisedtimeout(isc_nm_t *mgr, uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:344,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:344,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:346,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:347,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:348,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - mgr
    - recv_tcp
    - send_tcp
    - recv_udp
    - send_udp
    argTypes:
    - isc_nm_t*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: isc_nm_setnetbuffers
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - REQUIRE
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: "void isc_nm_setnetbuffers(isc_nm_t *mgr, int32_t recv_tcp, int32_t
      send_tcp,\n\t\t     int32_t recv_udp, int32_t send_udp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:354,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: isc_nm_getloadbalancesockets
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_getloadbalancesockets(isc_nm_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:361,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mgr
    - enabled
    argTypes:
    - isc_nm_t*
    - ISC_ATTR_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 366
    functionName: isc_nm_setloadbalancesockets
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nm_setloadbalancesockets(isc_nm_t *mgr, ISC_ATTR_UNUSED bool
      enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:370,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:370,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: isc_nm_getinitialtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - VALID_NM
    - atomic_load_relaxed
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getinitialtimeout(isc_nm_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:377,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:377,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: isc_nm_getprimariestimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - atomic_load_relaxed
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getprimariestimeout(isc_nm_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:384,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:384,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: isc_nm_getidletimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - atomic_load_relaxed
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getidletimeout(isc_nm_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:391,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:391,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: isc_nm_getkeepalivetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - atomic_load_relaxed
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getkeepalivetimeout(isc_nm_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:398,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:398,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: isc_nm_getadvertisedtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - atomic_load_relaxed
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getadvertisedtimeout(isc_nm_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:405,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: isc__nmsocket_active
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_active(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:412,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:412,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:413,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:419,1
    - Dst: NETMGR_TRACE_LOG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:424,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:426,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sock
    - FLARG
    argTypes:
    - isc_nmsocket_t*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: isc___nmsocket_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_refcount_current
    - isc_refcount_increment0
    - VALID_NMSOCK
    - NETMGR_TRACE_LOG
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc___nmsocket_attach(isc_nmsocket_t *sock, isc_nmsocket_t **target
      FLARG)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:440,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:440,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:441,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:441,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:445,1
    - Dst: isc__nm_decstats
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:447,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:449,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:458,1
    - Dst: nmsocket_cleanup
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:459,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:465,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:473,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:477,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:480,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:481,1
    - Dst: nmhandle_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:482,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:485,1
    - Dst: isc__nm_tls_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:488,1
    - Dst: isc__nm_http_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:490,1
    - Dst: isc__nm_streamdns_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:492,1
    - Dst: isc__nm_proxystream_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:493,1
    - Dst: isc__nm_proxyudp_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:494,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:497,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:498,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:505,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:505,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:507,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:509,1
    - Dst: isc__networker_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 436
    functionDepth: 7
    functionLinenumber: 436
    functionLinenumberEnd: 513
    functionName: nmsocket_cleanup
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - isc__nm_streamdns_cleanup_data
    - isc__nmsocket_active
    - isc__nm_decstats
    - REQUIRE
    - nmsocket_cleanup
    - isc_barrier_destroy
    - isc__nmsocket_detach
    - isc__nm_proxystream_cleanup_data
    - nmhandle_free
    - ISC_LIST_DEQUEUE
    - isc_tid
    - VALID_NMSOCK
    - INSIST
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - isc_refcount_decrementz
    - isc__networker_detach
    - isc_nmhandle_detach
    - isc__nm_http_cleanup_data
    - isc__nm_tls_cleanup_data
    - isc__nm_proxyudp_cleanup_data
    - isc_mempool_put
    - isc_refcount_destroy
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void nmsocket_cleanup(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:517,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: nmsocket_has_active_handles
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    linkageType: ''
    returnType: bool
    signature: bool nmsocket_has_active_handles(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:671,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:672,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:672,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:673,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sockp
    argTypes:
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 682
    functionName: isc_nmsocket_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 9
    functionsReached:
    - isc__nmsocket_detach
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nmsocket_close(isc_nmsocket_t **sockp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:690,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:691,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:715,1
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:719,1
    - Dst: isc__networker_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:722,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:742,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:757,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:764,1
    - Dst: NETMGR_TRACE_LOG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:766,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:768,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:772,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 5
    argNames:
    - sock
    - worker
    - type
    - iface
    - parent
    argTypes:
    - isc_nmsocket_t*
    - isc__networker_t*
    - isc_nmsocket_type
    - isc_sockaddr_t*
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 773
    functionName: isc___nmsocket_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_incstats
    - UNREACHABLE
    - ISC_LIST_APPEND
    - isc_refcount_current
    - NETMGR_TRACE_LOG
    - isc_refcount_init
    - isc__networker_attach
    - REQUIRE
    - isc_backtrace
    linkageType: ''
    returnType: void
    signature: "void isc___nmsocket_init(isc_nmsocket_t *sock, isc__networker_t *worker,\n\t\t
      \   isc_nmsocket_type type, isc_sockaddr_t *iface,\n\t\t    isc_nmsocket_t *parent
      FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:777,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:777,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:778,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 786
    functionName: isc__nmsocket_clearcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 13
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_clearcb(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:790,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:790,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sock
    - buf
    argTypes:
    - isc_nmsocket_t*
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 795
    functionName: isc__nm_free_uvbuf
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_free_uvbuf(isc_nmsocket_t *sock, const uv_buf_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:799,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 810
    functionName: alloc_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_refcount_init
    linkageType: ''
    returnType: isc_nmhandle_t
    signature: 'isc_nmhandle_t *

      alloc_handle(isc_nmsocket_t *sock)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:815,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:817,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:821,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:822,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:822,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:826,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 829
    functionName: dequeue_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - ISC_LIST_HEAD
    - ISC_LIST_DEQUEUE
    - ISC_LIST_EMPTY
    - INSIST
    - isc_refcount_init
    linkageType: ''
    returnType: isc_nmhandle_t
    signature: 'isc_nmhandle_t *

      dequeue_handle(isc_nmsocket_t *sock)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:834,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:834,1
    - Dst: dequeue_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:836,1
    - Dst: alloc_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:838,1
    - Dst: NETMGR_TRACE_LOG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:841,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:843,1
    - Dst: isc___nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:845,1
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:848,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:863,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:876,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - sock
    - peer
    - local
    argTypes:
    - isc_nmsocket_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 900
    functionName: isc___nmhandle_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - isc_refcount_current
    - dequeue_handle
    - VALID_NMSOCK
    - NETMGR_TRACE_LOG
    - isc__nm_httpsession_attach
    - alloc_handle
    - INSIST
    - REQUIRE
    - isc___nmsocket_attach
    - isc_backtrace
    linkageType: ''
    returnType: isc_nmhandle_t
    signature: "isc_nmhandle_t *\nisc___nmhandle_get(isc_nmsocket_t *sock, isc_sockaddr_t
      const *peer,\n\t\t   isc_sockaddr_t const *local FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:904,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: isc_nmhandle_is_stream
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nmhandle_is_stream(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_t*::dofree
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:918,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - handle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 922
    functionName: nmhandle_free
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - isc_nmhandle_t*::dofree
    linkageType: ''
    returnType: void
    signature: void nmhandle_free(isc_nmsocket_t *sock, isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nmhandle_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:930,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:936,1
    - Dst: nmhandle_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:938,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 943
    functionName: nmhandle__destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_detach
    - ISC_LIST_APPEND
    - nmhandle_free
    linkageType: ''
    returnType: void
    signature: void nmhandle__destroy(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmsocket_t*::closehandle_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:950,1
    - Dst: nmhandle__destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 945
    functionDepth: 3
    functionLinenumber: 945
    functionLinenumberEnd: 953
    functionName: isc__nm_closehandle_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - nmhandle__destroy
    - isc_nmsocket_t*::closehandle_cb
    linkageType: ''
    returnType: void
    signature: void isc__nm_closehandle_job(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_t*::doreset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:960,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:965,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:975,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:978,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:979,1
    - Dst: nmhandle__destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:983,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 955
    functionDepth: 4
    functionLinenumber: 955
    functionLinenumberEnd: 994
    functionName: nmhandle_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_nmhandle_t*::doreset
    - nmhandle__destroy
    - INSIST
    - isc__nm_httpsession_detach
    - isc_job_run
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void nmhandle_destroy(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1004,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1007
    functionName: isc_nmhandle_getdata
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_nmhandle_getdata(isc_nmhandle_t *handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1012,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - handle
    - arg
    - doreset
    - dofree
    argTypes:
    - isc_nmhandle_t*
    - void*
    - isc_nm_opaquecb_t
    - isc_nm_opaquecb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1017
    functionName: isc_nmhandle_setdata
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_nmhandle_setdata(isc_nmhandle_t *handle, void *arg,\n\t\t
      \    isc_nm_opaquecb_t doreset, isc_nm_opaquecb_t dofree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1022,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1022,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1023,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1023,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1026,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - sock
    - req
    - eresult
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1030
    functionName: isc__nm_failed_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - isc__nm_sendcb
    - VALID_NMSOCK
    - REQUIRE
    - isc__nm_uvreq_put
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: "void isc__nm_failed_send_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t
      *req,\n\t\t       isc_result_t eresult, bool async)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1035,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1035,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1036,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1036,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1037,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1037,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1038,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1039,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1043,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1045,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1046,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1048,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1049,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - sock
    - req
    - eresult
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1052
    functionName: isc__nm_failed_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - isc__nm_incstats
    - isc__nmsocket_clearcb
    - isc_tid
    - uv_handle_set_data
    - VALID_NMSOCK
    - isc__nmsocket_timer_stop
    - REQUIRE
    - isc__nmsocket_prep_destroy
    - VALID_UVREQ
    - isc__nm_connectcb
    linkageType: ''
    returnType: void
    signature: "void isc__nm_failed_connect_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t
      *req,\n\t\t\t  isc_result_t eresult, bool async)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1056,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1056,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1057,1
    - Dst: isc__nm_udp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1060,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1063,1
    - Dst: isc__nm_tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1066,1
    - Dst: isc__nm_streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1069,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1072,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1075,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1054
    functionDepth: 5
    functionLinenumber: 1054
    functionLinenumberEnd: 1080
    functionName: isc__nm_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - UNREACHABLE
    - isc__nm_proxystream_failed_read_cb
    - isc__nm_proxyudp_failed_read_cb
    - VALID_NMSOCK
    - UNUSED
    - isc__nm_tcp_failed_read_cb
    - isc__nm_streamdns_failed_read_cb
    - REQUIRE
    - isc__nm_udp_failed_read_cb
    - isc__nm_tls_failed_read_cb
    linkageType: ''
    returnType: void
    signature: void isc__nm_failed_read_cb(isc_nmsocket_t *sock, isc_result_t result,
      bool async)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1084,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1085,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1086,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1088,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1088,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1089,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1089,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1090,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1090,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1091,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1091,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1092,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1094,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1099,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1102
    functionName: isc__nmsocket_connecttimeout_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - isc__nmsocket_shutdown
    - VALID_NMSOCK
    - uv_handle_get_data
    - isc__nmsocket_timer_stop
    - REQUIRE
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_connecttimeout_cb(uv_timer_t *timer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1127,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - sock
    - result
    - can_log_quota
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1129
    functionName: isc__nm_accept_connection_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc__nmsocket_log
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: "void isc__nm_accept_connection_log(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t      bool can_log_quota)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1137,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1138,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1138,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1142,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - eresult
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1144
    functionName: isc__nmsocket_writetimeout_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_start_reading
    - isc__nmsocket_reset
    - VALID_NMSOCK
    - REQUIRE
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_writetimeout_cb(void *data, isc_result_t eresult)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1150,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1151,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1151,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1154,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1157,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1158,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1161,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1162,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1163,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1146
    functionDepth: 6
    functionLinenumber: 1146
    functionLinenumberEnd: 1168
    functionName: isc__nmsocket_readtimeout_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - isc_tid
    - VALID_NMSOCK
    - uv_timer_stop
    - isc__nmsocket_timer_running
    - uv_handle_get_data
    - isc__nm_failed_read_cb
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_readtimeout_cb(uv_timer_t *timer)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1172,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1172,1
    - Dst: isc__nmsocket_tls_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1176,1
    - Dst: isc__nmsocket_streamdns_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1179,1
    - Dst: isc__nmsocket_proxystream_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1182,1
    - Dst: isc__nmsocket_proxyudp_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1185,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1191,1
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1202,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1205,1
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1214,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1219
    functionName: isc__nmsocket_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 7
    functionsReached:
    - isc__nmsocket_streamdns_timer_restart
    - isc__nmsocket_proxyudp_timer_restart
    - VALID_NMSOCK
    - isc__nmsocket_tls_timer_restart
    - REQUIRE
    - uv_timer_start
    - isc__nmsocket_proxystream_timer_restart
    - UV_RUNTIME_CHECK
    - uv_is_closing
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_timer_restart(isc_nmsocket_t *sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1223,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1223,1
    - Dst: isc__nmsocket_tls_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1227,1
    - Dst: isc__nmsocket_streamdns_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1229,1
    - Dst: isc__nmsocket_proxystream_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1231,1
    - Dst: isc__nmsocket_proxyudp_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1233,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1239
    functionName: isc__nmsocket_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - isc__nmsocket_proxystream_timer_running
    - VALID_NMSOCK
    - isc__nmsocket_streamdns_timer_running
    - isc__nmsocket_proxyudp_timer_running
    - REQUIRE
    - uv_is_active
    - isc__nmsocket_tls_timer_running
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_timer_running(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1243,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1243,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1245,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1250
    functionName: isc__nmsocket_timer_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - isc__nmsocket_timer_running
    - isc__nmsocket_timer_restart
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_timer_start(isc_nmsocket_t *sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1256,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1256,1
    - Dst: isc__nmsocket_tls_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1260,1
    - Dst: isc__nmsocket_streamdns_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1263,1
    - Dst: isc__nmsocket_proxystream_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1266,1
    - Dst: isc__nmsocket_proxyudp_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1269,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1277,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1279
    functionName: isc__nmsocket_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 19
    functionsReached:
    - isc__nmsocket_proxystream_timer_stop
    - isc__nmsocket_tls_timer_stop
    - VALID_NMSOCK
    - isc__nmsocket_streamdns_timer_stop
    - uv_timer_stop
    - isc__nmsocket_proxyudp_timer_stop
    - REQUIRE
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_timer_stop(isc_nmsocket_t *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1285,1
    - Dst: isc_nmhandle__attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1294,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1297,1
    - Dst: isc_nmhandle__attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1302,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1305,1
    - Dst: isc_nmhandle__attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1311,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1314,1
    - Dst: isc___nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - sock
    - sockaddr
    argTypes:
    - isc_nmsocket_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1324
    functionName: isc___nm_get_read_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc___nmhandle_get
    - isc_nmhandle__attach
    - isc_nmhandle_attach
    - isc__nm_uvreq_get
    linkageType: ''
    returnType: isc__nm_uvreq_t
    signature: 'isc__nm_uvreq_t *

      isc___nm_get_read_req(isc_nmsocket_t *sock, isc_sockaddr_t *sockaddr FLARG)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1337,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1337,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1343,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1346,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1347,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1357,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - handle
    - size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1364
    functionName: isc__nm_alloc_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - VALID_NMSOCK
    - UNUSED
    - INSIST
    - uv_handle_get_data
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_alloc_cb(uv_handle_t *handle, size_t size, uv_buf_t *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1371,1
    - Dst: uv_udp_recv_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1377,1
    - Dst: uv_read_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1381,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1385,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1392
    functionName: isc__nm_start_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - UNREACHABLE
    - isc_uverr2result
    - uv_read_start
    - uv_is_active
    - uv_udp_recv_start
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_start_reading(isc_nmsocket_t *sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1398,1
    - Dst: uv_udp_recv_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1404,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1405,1
    - Dst: uv_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1408,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1409,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1414
    functionName: isc__nm_stop_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - UNREACHABLE
    - uv_read_stop
    - uv_udp_recv_stop
    - uv_is_active
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__nm_stop_reading(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - worker
    argTypes:
    - isc__networker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1419
    functionName: isc__nm_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isc__nm_closing(isc__networker_t *worker)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1424,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1426
    functionName: isc__nmsocket_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 15
    functionsReached:
    - isc__nm_closing
    - isc__nmsocket_active
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_closing(isc_nmsocket_t *sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1430,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1430,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1431,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1431,1
    - Dst: isc__nm_http_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1436,1
    - Dst: isc__nm_tls_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1440,1
    - Dst: isc__nmhandle_streamdns_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1443,1
    - Dst: isc__nmhandle_proxystream_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1446,1
    - Dst: isc__nmhandle_proxyudp_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1449,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1454,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1458
    functionName: isc_nmhandle_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc__nmhandle_proxyudp_cleartimeout
    - VALID_NMHANDLE
    - isc__nmhandle_proxystream_cleartimeout
    - isc__nm_http_cleartimeout
    - VALID_NMSOCK
    - isc__nmhandle_streamdns_cleartimeout
    - isc__nmsocket_timer_stop
    - REQUIRE
    - uv_is_active
    - isc__nm_tls_cleartimeout
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_cleartimeout(isc_nmhandle_t *handle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1462,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1462,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1463,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1463,1
    - Dst: isc__nm_http_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1468,1
    - Dst: isc__nm_tls_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1472,1
    - Dst: isc__nmhandle_streamdns_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1475,1
    - Dst: isc__nmhandle_proxystream_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1478,1
    - Dst: isc__nmhandle_proxyudp_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1481,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1460
    functionDepth: 3
    functionLinenumber: 1460
    functionLinenumberEnd: 1487
    functionName: isc_nmhandle_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 9
    functionsReached:
    - VALID_NMHANDLE
    - isc__nm_http_settimeout
    - isc__nmhandle_proxystream_settimeout
    - VALID_NMSOCK
    - isc__nmhandle_streamdns_settimeout
    - REQUIRE
    - isc__nm_tls_settimeout
    - isc__nmhandle_proxyudp_settimeout
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_settimeout(isc_nmhandle_t *handle, uint32_t timeout)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1494,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1494,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1495,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1495,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1500,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1500,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1506,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1507,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1509,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1510,1
    - Dst: isc__nmhandle_streamdns_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1513,1
    - Dst: isc__nmhandle_tls_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1516,1
    - Dst: isc__nmhandle_http_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1520,1
    - Dst: isc__nmhandle_proxystream_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1532
    functionName: isc_nmhandle_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - isc__nmhandle_tls_keepalive
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - isc__nmhandle_streamdns_keepalive
    - isc__nmhandle_http_keepalive
    - atomic_load_relaxed
    - REQUIRE
    - isc__nmhandle_proxystream_keepalive
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_keepalive(isc_nmhandle_t *handle, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1536,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1537,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1537,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1534
    functionDepth: 3
    functionLinenumber: 1534
    functionLinenumberEnd: 1540
    functionName: isc_nmhandle_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_timer_running
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nmhandle_timer_running(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1544,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1542
    functionDepth: 1
    functionLinenumber: 1542
    functionLinenumberEnd: 1547
    functionName: isc_nmhandle_peeraddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 13
    functionsReached:
    - VALID_NMHANDLE
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t isc_nmhandle_peeraddr(isc_nmhandle_t *handle)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1553,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1553,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1560,1
    - Dst: uv_udp_getsockname
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1566,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1575,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1590
    functionName: isc_nmhandle_localaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc_nmhandle_localaddr
    - uv_tcp_getsockname
    - REQUIRE
    - uv_udp_getsockname
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t isc_nmhandle_localaddr(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1594,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1594,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1595,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1598
    functionName: isc_nmhandle_netmgr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: isc_nm_t
    signature: 'isc_nm_t *

      isc_nmhandle_netmgr(isc_nmhandle_t *handle)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1654,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1654,1
    - Dst: isc__nm_udp_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1659,1
    - Dst: isc__nm_tcp_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1662,1
    - Dst: isc__nm_streamdns_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1665,1
    - Dst: isc__nm_tls_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1668,1
    - Dst: isc__nm_http_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1672,1
    - Dst: isc__nm_proxystream_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1676,1
    - Dst: isc__nm_proxyudp_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1679,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1651
    functionDepth: 5
    functionLinenumber: 1651
    functionLinenumberEnd: 1684
    functionName: isc_nm_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 23
    functionsReached:
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc__nm_udp_send
    - isc__nm_tls_send
    - isc__nm_proxystream_send
    - isc__nm_http_send
    - isc__nm_streamdns_send
    - REQUIRE
    - isc__nm_proxyudp_send
    - isc__nm_tcp_send
    linkageType: ''
    returnType: void
    signature: "void isc_nm_send(isc_nmhandle_t *handle, isc_region_t *region, isc_nm_cb_t
      cb,\n\t    void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1689,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1689,1
    - Dst: isc__nm_tcp_senddns
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1693,1
    - Dst: isc__nm_tls_senddns
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1696,1
    - Dst: isc__nm_proxystream_senddns
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1699,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1686
    functionDepth: 4
    functionLinenumber: 1686
    functionLinenumberEnd: 1704
    functionName: isc__nm_senddns
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc__nm_tls_senddns
    - isc__nm_proxystream_senddns
    - REQUIRE
    - isc__nm_tcp_senddns
    linkageType: ''
    returnType: void
    signature: "void isc__nm_senddns(isc_nmhandle_t *handle, isc_region_t *region,
      isc_nm_cb_t cb,\n\t\tvoid *cbarg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1708,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1708,1
    - Dst: isc__nm_udp_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1712,1
    - Dst: isc__nm_tcp_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1715,1
    - Dst: isc__nm_streamdns_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1718,1
    - Dst: isc__nm_tls_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1721,1
    - Dst: isc__nm_http_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1725,1
    - Dst: isc__nm_proxystream_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1729,1
    - Dst: isc__nm_proxyudp_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1732,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1706
    functionDepth: 7
    functionLinenumber: 1706
    functionLinenumberEnd: 1737
    functionName: isc_nm_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 23
    functionsReached:
    - isc__nm_proxyudp_read
    - isc__nm_tcp_read
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc__nm_http_read
    - isc__nm_udp_read
    - isc__nm_streamdns_read
    - isc__nm_tls_read
    - isc__nm_proxystream_read
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nm_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb, void
      *cbarg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1743,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1743,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1744,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1745,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1745,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1747,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1747,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1754,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1757,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1739
    functionDepth: 6
    functionLinenumber: 1739
    functionLinenumberEnd: 1761
    functionName: cancelread_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc_tid
    - VALID_NMSOCK
    - isc__nm_failed_read_cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cancelread_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1765,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1765,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1766,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1766,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1769,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1763
    functionDepth: 2
    functionLinenumber: 1763
    functionLinenumberEnd: 1771
    functionName: isc_nm_cancelread
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_ref
    - isc_async_run
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nm_cancelread(isc_nmhandle_t *handle)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1775,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1775,1
    - Dst: isc__nm_tcp_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1781,1
    - Dst: isc__nm_tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1784,1
    - Dst: isc__nm_proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1787,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1773
    functionDepth: 3
    functionLinenumber: 1773
    functionLinenumberEnd: 1792
    functionName: isc_nm_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc__nm_tcp_read_stop
    - isc__nm_tls_read_stop
    - REQUIRE
    - isc__nm_proxystream_read_stop
    linkageType: ''
    returnType: void
    signature: void isc_nm_read_stop(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1796,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1796,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1797,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1797,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1799,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1794
    functionDepth: 2
    functionLinenumber: 1794
    functionLinenumberEnd: 1801
    functionName: isc_nmhandle_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - VALID_NMHANDLE
    - isc__nmsocket_clearcb
    - VALID_NMSOCK
    - isc__nmsocket_prep_destroy
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nmhandle_close(isc_nmhandle_t *handle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1805,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1805,1
    - Dst: isc__nm_udp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1809,1
    - Dst: isc__nm_tcp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1812,1
    - Dst: isc__nm_streamdns_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1815,1
    - Dst: isc__nm_tls_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1818,1
    - Dst: isc__nm_http_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1822,1
    - Dst: isc__nm_proxystream_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1826,1
    - Dst: isc__nm_proxyudp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1829,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1832,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1803
    functionDepth: 5
    functionLinenumber: 1803
    functionLinenumberEnd: 1834
    functionName: isc_nm_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - UNREACHABLE
    - isc__nm_tls_stoplistening
    - isc__nm_proxyudp_stoplistening
    - isc__nm_streamdns_stoplistening
    - VALID_NMSOCK
    - isc__nm_tcp_stoplistening
    - REQUIRE
    - isc__nm_udp_stoplistening
    - isc__nm_http_stoplistening
    - isc__nm_proxystream_stoplistening
    linkageType: ''
    returnType: void
    signature: void isc_nm_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1838,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1838,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1839,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1839,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1840,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1841,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1850,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1851,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1836
    functionDepth: 6
    functionLinenumber: 1836
    functionLinenumberEnd: 1861
    functionName: isc__nmsocket_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc_tid
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nm_stoplistening
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_stop(isc_nmsocket_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1865,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1866,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1869
    functionName: isc__nmsocket_barrier_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - isc_barrier_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_barrier_init(isc_nmsocket_t *listener)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_uvreq_t*::cb::connect
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1875,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1877
    functionName: isc___nm_connectcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_put
    - isc__nm_uvreq_t*::cb::connect
    linkageType: ''
    returnType: void
    signature: void isc___nm_connectcb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1882,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1882,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1883,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1884,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1884,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1885,1
    - Dst: isc___nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1890,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - sock
    - uvreq
    - eresult
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1879
    functionDepth: 2
    functionLinenumber: 1879
    functionLinenumberEnd: 1895
    functionName: isc__nm_connectcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - isc___nm_connectcb
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_job_run
    - REQUIRE
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: "void isc__nm_connectcb(isc_nmsocket_t *sock, isc__nm_uvreq_t *uvreq,\n\t\t
      \ isc_result_t eresult, bool async)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_uvreq_t*::cb::recv
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1904,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1907
    functionName: isc___nm_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_put
    - isc__nm_uvreq_t*::cb::recv
    linkageType: ''
    returnType: void
    signature: void isc___nm_readcb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1912,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1913,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1913,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1914,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1914,1
    - Dst: isc___nm_readcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1919,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - sock
    - uvreq
    - eresult
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1924
    functionName: isc__nm_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 7
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc___nm_readcb
    - isc_job_run
    - REQUIRE
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: "void isc__nm_readcb(isc_nmsocket_t *sock, isc__nm_uvreq_t *uvreq,\n\t
      \      isc_result_t eresult, bool async)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1930,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1926
    functionDepth: 1
    functionLinenumber: 1926
    functionLinenumberEnd: 1932
    functionName: isc___nm_sendcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_t*::cb::send
    - isc__nm_uvreq_put
    linkageType: ''
    returnType: void
    signature: void isc___nm_sendcb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1937,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1937,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1938,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1938,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1939,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1939,1
    - Dst: isc___nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1944,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - sock
    - uvreq
    - eresult
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 1949
    functionName: isc__nm_sendcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc___nm_sendcb
    - isc_job_run
    - REQUIRE
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: "void isc__nm_sendcb(isc_nmsocket_t *sock, isc__nm_uvreq_t *uvreq,\n\t
      \      isc_result_t eresult, bool async)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1953,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1955,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1957
    functionName: reset_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_detach
    - isc__nmsocket_shutdown
    - uv_handle_get_data
    linkageType: ''
    returnType: void
    signature: void reset_shutdown(uv_handle_t *handle)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1961,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1961,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1968,1
    - Dst: isc__nmsocket_tls_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1971,1
    - Dst: isc__nmsocket_streamdns_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1974,1
    - Dst: isc__nmsocket_proxystream_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1977,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1980,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1984,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1985,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1991,1
    - Dst: uv_tcp_close_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1992,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1995,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1996,1
    - Dst: uv_strerror
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1998,1
    - Dst: reset_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1999,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1959
    functionDepth: 2
    functionLinenumber: 1959
    functionLinenumberEnd: 2004
    functionName: isc__nmsocket_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc__nmsocket_tls_reset
    - UNREACHABLE
    - isc__nmsocket_proxystream_reset
    - ISC_LOG_DEBUG
    - uv_strerror
    - isc__nmsocket_shutdown
    - VALID_NMSOCK
    - reset_shutdown
    - isc_log_write
    - isc__nmsocket_streamdns_reset
    - REQUIRE
    - isc__nmsocket_attach
    - uv_tcp_close_reset
    - uv_is_active
    - uv_is_closing
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_reset(isc_nmsocket_t *sock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2008,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2008,1
    - Dst: isc__nm_udp_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2011,1
    - Dst: isc__nm_tcp_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2014,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2006
    functionDepth: 2
    functionLinenumber: 2006
    functionLinenumberEnd: 2022
    functionName: isc__nmsocket_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - UNREACHABLE
    - isc__nm_udp_shutdown
    - VALID_NMSOCK
    - REQUIRE
    - isc__nm_tcp_shutdown
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_shutdown(isc_nmsocket_t *sock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2027,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2029,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2033,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2037,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2044,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2024
    functionDepth: 3
    functionLinenumber: 2024
    functionLinenumberEnd: 2056
    functionName: shutdown_walk_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_reset
    - isc__nmsocket_shutdown
    - UNUSED
    - uv_handle_get_data
    - uv_is_closing
    linkageType: ''
    returnType: void
    signature: void shutdown_walk_cb(uv_handle_t *handle, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2060,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2060,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2061,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2062,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2062,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mgr
    - stats
    argTypes:
    - isc_nm_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2058
    functionDepth: 2
    functionLinenumber: 2058
    functionLinenumberEnd: 2065
    functionName: isc_nm_setstats
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NM
    - REQUIRE
    - isc_stats_attach
    - isc_stats_ncounters
    linkageType: ''
    returnType: void
    signature: void isc_nm_setstats(isc_nm_t *mgr, isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2069,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2069,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2070,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - id
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_statid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2067
    functionDepth: 2
    functionLinenumber: 2067
    functionLinenumberEnd: 2076
    functionName: isc__nm_incstats
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 17
    functionsReached:
    - VALID_NMSOCK
    - isc_stats_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_incstats(isc_nmsocket_t *sock, isc__nm_statid_t id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2080,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2080,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2081,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - id
    argTypes:
    - isc_nmsocket_t*
    - isc__nm_statid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2078
    functionDepth: 2
    functionLinenumber: 2078
    functionLinenumberEnd: 2087
    functionName: isc__nm_decstats
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - isc_stats_decrement
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_decstats(isc_nmsocket_t *sock, isc__nm_statid_t id)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2093,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2106,1
    - Dst: socket
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2113,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2115,1
    - Dst: bind
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2118,1
    - Dst: close
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2120,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2121,1
    - Dst: close
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - addr
    - type
    argTypes:
    - isc_sockaddr_t*
    - isc_socktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2089
    functionDepth: 2
    functionLinenumber: 2089
    functionLinenumberEnd: 2126
    functionName: isc_nm_checkaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - socket
    - isc_sockaddr_pf
    - close
    - REQUIRE
    - bind
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_nm_checkaddr(const isc_sockaddr_t *addr, isc_socktype_t
      type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2154,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2156,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2160,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2162,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2165,1
    - Dst: uv_recv_buffer_size
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2169,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2170,1
    - Dst: uv_send_buffer_size
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2174,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - nm
    - handle
    argTypes:
    - isc_nm_t*
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2146
    functionDepth: 1
    functionLinenumber: 2146
    functionLinenumberEnd: 2177
    functionName: isc__nm_set_network_buffers
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - uv_recv_buffer_size
    - UNREACHABLE
    - uv_send_buffer_size
    - atomic_load_relaxed
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__nm_set_network_buffers(isc_nm_t *nm, uv_handle_t *handle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2183,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2184,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2196,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2197,1
    - Dst: isc__nm_http_bad_request
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2201,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2179
    functionDepth: 6
    functionLinenumber: 2179
    functionLinenumberEnd: 2208
    functionName: isc_nm_bad_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_reset
    - VALID_NMHANDLE
    - UNREACHABLE
    - VALID_NMSOCK
    - isc__nm_http_bad_request
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nm_bad_request(isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2215,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2216,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2216,1
    - Dst: isc__nm_streamdns_xfr_checkperm
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2229
    functionName: isc_nm_xfr_checkperm
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    - isc__nm_streamdns_xfr_checkperm
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_nm_xfr_checkperm(isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2233,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2234,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2237
    functionName: isc_nm_is_http_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_is_http_handle(isc_nmhandle_t *handle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2252,1
    - Dst: isc__nm_httpsession_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2253,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2239
    functionDepth: 2
    functionLinenumber: 2239
    functionLinenumberEnd: 2266
    functionName: get_proxy_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - get_proxy_handle
    - isc__nm_httpsession_handle
    linkageType: ''
    returnType: isc_nmhandle_t
    signature: 'isc_nmhandle_t *

      get_proxy_handle(isc_nmhandle_t *handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2270,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2271,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2271,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2268
    functionDepth: 3
    functionLinenumber: 2268
    functionLinenumberEnd: 2274
    functionName: isc_nm_is_proxy_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - get_proxy_handle
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_is_proxy_handle(isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2279,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2279,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2280,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2280,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2276
    functionDepth: 3
    functionLinenumber: 2276
    functionLinenumberEnd: 2292
    functionName: isc_nm_is_proxy_unspec
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - get_proxy_handle
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_is_proxy_unspec(isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2298,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2298,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2300,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2302,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2305,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2305,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2307,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2308,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2310,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2294
    functionDepth: 3
    functionLinenumber: 2294
    functionLinenumberEnd: 2315
    functionName: isc_nmhandle_real_peeraddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - VALID_NMHANDLE
    - get_proxy_handle
    - VALID_NMSOCK
    - INSIST
    - isc_nmhandle_peeraddr
    - isc_nmhandle_is_stream
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t isc_nmhandle_real_peeraddr(isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2321,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2321,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2323,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2325,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2328,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2328,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2330,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2331,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2333,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2338
      start: 2317
    functionDepth: 3
    functionLinenumber: 2317
    functionLinenumberEnd: 2338
    functionName: isc_nmhandle_real_localaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_localaddr
    - get_proxy_handle
    - VALID_NMSOCK
    - INSIST
    - isc_nmhandle_is_stream
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t isc_nmhandle_real_localaddr(isc_nmhandle_t *handle)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2357,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2370,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2371,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2373,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2374,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2376,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2376,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2376,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2378,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2380,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2384,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2389,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2393,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2340
    functionDepth: 2
    functionLinenumber: 2340
    functionLinenumberEnd: 2402
    functionName: isc__nm_valid_proxy_addresses
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_fromin
    - isc_sockaddr_getport
    - isc_sockaddr_pf
    - UNREACHABLE
    - isc_netaddr_fromsockaddr
    - INSIST
    - isc_netaddr_equal
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: bool
    signature: "bool isc__nm_valid_proxy_addresses(const isc_sockaddr_t *src,\n\t\t\t
      \     const isc_sockaddr_t *dst)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2408,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2409,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2410,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2413,1
    - Dst: isc__nm_http_set_maxage
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2420,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - handle
    - ttl
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2404
    functionDepth: 2
    functionLinenumber: 2404
    functionLinenumberEnd: 2435
    functionName: isc_nm_set_maxage
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - UNREACHABLE
    - isc__nm_http_set_maxage
    - VALID_NMSOCK
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc_nm_set_maxage(isc_nmhandle_t *handle, const uint32_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2439,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2440,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2443
    functionName: isc_nm_socket_type
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: isc_nmsocket_type
    signature: isc_nmsocket_type isc_nm_socket_type(const isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2449,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2450,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2450,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2452,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2445
    functionDepth: 3
    functionLinenumber: 2445
    functionLinenumberEnd: 2463
    functionName: isc_nmhandle_proxy_type
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - get_proxy_handle
    - VALID_NMSOCK
    - REQUIRE
    - isc_nm_has_encryption
    linkageType: ''
    returnType: isc_nm_proxy_type_t
    signature: isc_nm_proxy_type_t isc_nmhandle_proxy_type(isc_nmhandle_t *handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2467,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2467,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2468,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2468,1
    - Dst: isc__nm_http_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2475,1
    - Dst: isc__nm_streamdns_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2478,1
    - Dst: isc__nm_proxystream_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2465
    functionDepth: 2
    functionLinenumber: 2465
    functionLinenumberEnd: 2486
    functionName: isc_nm_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - VALID_NMHANDLE
    - isc__nm_proxystream_has_encryption
    - VALID_NMSOCK
    - isc__nm_streamdns_has_encryption
    - isc__nm_http_has_encryption
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_has_encryption(const isc_nmhandle_t *handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2492,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2492,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2493,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2493,1
    - Dst: isc__nm_tls_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2498,1
    - Dst: isc__nm_proxystream_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2501,1
    - Dst: isc__nm_http_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2506,1
    - Dst: isc__nm_streamdns_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2488
    functionDepth: 3
    functionLinenumber: 2488
    functionLinenumberEnd: 2517
    functionName: isc_nm_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nm_http_verify_tls_peer_result_string
    - isc__nm_tls_verify_tls_peer_result_string
    - isc__nm_streamdns_verify_tls_peer_result_string
    - REQUIRE
    - isc__nm_proxystream_verify_tls_peer_result_string
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_nm_verify_tls_peer_result_string(const isc_nmhandle_t *handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2527,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2532,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2534,1
    - Dst: isc__nm_async_tls_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2536,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2538,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2524
    functionDepth: 3
    functionLinenumber: 2524
    functionLinenumberEnd: 2540
    functionName: settlsctx_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc__nmsocket_detach
    - isc__nm_async_tls_set_tlsctx
    - REQUIRE
    - isc_tlsctx_free
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void settlsctx_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2545,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2550,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2553,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2554,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2542
    functionDepth: 2
    functionLinenumber: 2542
    functionLinenumberEnd: 2558
    functionName: set_tlsctx_workers
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_async_run
    - isc__nmsocket_attach
    - isc_tlsctx_attach
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void set_tlsctx_workers(isc_nmsocket_t *listener, isc_tlsctx_t *tlsctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2562,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2562,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2563,1
    - Dst: isc__nm_http_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2574,1
    - Dst: set_tlsctx_workers
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2578,1
    - Dst: isc__nm_streamdns_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2581,1
    - Dst: isc__nm_proxystream_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2584,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2560
    functionDepth: 3
    functionLinenumber: 2560
    functionLinenumberEnd: 2590
    functionName: isc_nmsocket_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - set_tlsctx_workers
    - VALID_NMSOCK
    - isc__nm_http_set_tlsctx
    - isc__nm_proxystream_set_tlsctx
    - REQUIRE
    - isc__nm_streamdns_set_tlsctx
    linkageType: ''
    returnType: void
    signature: void isc_nmsocket_set_tlsctx(isc_nmsocket_t *listener, isc_tlsctx_t
      *tlsctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2595,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2595,1
    - Dst: isc__nm_http_set_max_streams
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2599,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - listener
    - max_streams
    argTypes:
    - isc_nmsocket_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2592
    functionDepth: 2
    functionLinenumber: 2592
    functionLinenumberEnd: 2607
    functionName: isc_nmsocket_set_max_streams
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NMSOCK
    - UNUSED
    - REQUIRE
    - isc__nm_http_set_max_streams
    linkageType: ''
    returnType: void
    signature: "void isc_nmsocket_set_max_streams(isc_nmsocket_t *listener,\n\t\t\t
      \    const uint32_t max_streams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2611,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2615,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2617,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2621,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2622,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2623,1
    - Dst: SSL_is_server
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2624,1
    - Dst: SSL_session_reused
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sock
    - tls
    argTypes:
    - isc_nmsocket_t*
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2627
      start: 2609
    functionDepth: 3
    functionLinenumber: 2609
    functionLinenumberEnd: 2627
    functionName: isc__nmsocket_log_tls_session_reuse
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - SSL_session_reused
    - SSL_is_server
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc__nmsocket_log
    - REQUIRE
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_log_tls_session_reuse(isc_nmsocket_t *sock, isc_tls_t
      *tls)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__netmgr_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2634,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2634,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2637,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2639,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2641,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2642,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2644,1
    - Dst: isc_nm_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - worker
    argTypes:
    - isc__networker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2629
    functionDepth: 1
    functionLinenumber: 2629
    functionLinenumberEnd: 2647
    functionName: isc__networker_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__netmgr_log
    - isc_tid
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - isc_nm_detach
    - isc_loop_detach
    - isc_mempool_destroy
    linkageType: ''
    returnType: void
    signature: void isc__networker_destroy(isc__networker_t *worker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2656,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2660,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2661,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2662,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - netmgr
    - level
    - fmt
    argTypes:
    - isc_nm_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2651
    functionDepth: 2
    functionLinenumber: 2651
    functionLinenumberEnd: 2666
    functionName: isc__netmgr_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void isc__netmgr_log(const isc_nm_t *netmgr, int level, const char
      *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2673,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2677,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2678,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2679,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - sock
    - level
    - fmt
    argTypes:
    - isc_nmsocket_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2683
      start: 2668
    functionDepth: 2
    functionLinenumber: 2668
    functionLinenumberEnd: 2683
    functionName: isc__nmsocket_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 9
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_log(const isc_nmsocket_t *sock, int level, const
      char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2691,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2695,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2696,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2697,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - level
    - fmt
    argTypes:
    - isc_nmhandle_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2685
    functionDepth: 3
    functionLinenumber: 2685
    functionLinenumberEnd: 2700
    functionName: isc__nmhandle_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - va_end
    - isc__nmsocket_log
    - va_start
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_log(const isc_nmhandle_t *handle, int level, const
      char *fmt,\n\t\t  ...)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2709,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2718,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2722,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2723,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2728,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2729,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2731,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2734,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2736,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2741,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2754,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2767,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2771,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2777,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2782,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 6
    argNames:
    - handle
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlvs
    argTypes:
    - isc_nmhandle_t*
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2702
    functionDepth: 4
    functionLinenumber: 2702
    functionLinenumberEnd: 2789
    functionName: isc__nm_received_proxy_header_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_nmhandle_is_stream
    - isc_nmhandle_real_peeraddr
    - snprintf
    - isc_log_write
    - isc_nmhandle_real_localaddr
    - isc_nm_has_encryption
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void isc__nm_received_proxy_header_log(isc_nmhandle_t *handle,\n\t\t\t\t
      \ const isc_proxy2_command_t cmd,\n\t\t\t\t  const int socktype,\n\t\t\t\t  const
      isc_sockaddr_t *restrict src_addr,\n\t\t\t\t  const isc_sockaddr_t *restrict
      dst_addr,\n\t\t\t\t  const isc_region_t *restrict tlvs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2793,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2793,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2794,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2794,1
    - Dst: isc__nmhandle_tcp_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2800,1
    - Dst: isc__nmhandle_tls_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2803,1
    - Dst: isc__nmhandle_proxystream_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2806,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2791
    functionDepth: 2
    functionLinenumber: 2791
    functionLinenumberEnd: 2813
    functionName: isc__nmhandle_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - VALID_NMHANDLE
    - isc__nmhandle_tls_set_manual_timer
    - isc__nmhandle_proxystream_set_manual_timer
    - UNREACHABLE
    - VALID_NMSOCK
    - REQUIRE
    - isc__nmhandle_tcp_set_manual_timer
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_set_manual_timer(isc_nmhandle_t *handle, const bool
      manual)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2819,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2819,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2820,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2820,1
    - Dst: isc__nmhandle_tls_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2826,1
    - Dst: isc__nmhandle_proxystream_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - alpn
    - alpnlen
    argTypes:
    - isc_nmhandle_t*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2815
    functionDepth: 3
    functionLinenumber: 2815
    functionLinenumberEnd: 2835
    functionName: isc__nmhandle_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nmhandle_tls_get_selected_alpn
    - REQUIRE
    - isc__nmhandle_proxystream_get_selected_alpn
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_get_selected_alpn(isc_nmhandle_t *handle,\n\t\t\t\tconst
      unsigned char **alpn,\n\t\t\t\tunsigned int *alpnlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2839,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2839,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2840,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2840,1
    - Dst: uv_fileno
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2848,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2849,1
    - Dst: isc__nm_socket_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2850,1
    - Dst: isc__nmhandle_tls_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2854,1
    - Dst: isc__nmhandle_proxystream_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2857,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2861,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2837
    functionDepth: 2
    functionLinenumber: 2837
    functionLinenumberEnd: 2866
    functionName: isc_nmhandle_set_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - uv_fileno
    - VALID_NMHANDLE
    - UNREACHABLE
    - RUNTIME_CHECK
    - VALID_NMSOCK
    - isc__nmhandle_tls_set_tcp_nodelay
    - isc__nmhandle_proxystream_set_tcp_nodelay
    - REQUIRE
    - isc__nm_socket_tcp_nodelay
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_nmhandle_set_tcp_nodelay(isc_nmhandle_t *handle, const
      bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2870,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2868
    functionDepth: 1
    functionLinenumber: 2868
    functionLinenumberEnd: 2872
    functionName: isc_nmsocket_getaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t isc_nmsocket_getaddr(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2879,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2880,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2881,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - info
    - src_addr
    - dst_addr
    - tlv_data
    argTypes:
    - isc_nm_proxyheader_info_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 2890
    functionName: isc_nm_proxyheader_info_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_nm_proxyheader_info_init(isc_nm_proxyheader_info_t *restrict
      info,\n\t\t\t     isc_sockaddr_t *restrict src_addr,\n\t\t\t     isc_sockaddr_t
      *restrict dst_addr,\n\t\t\t     isc_region_t *restrict tlv_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2895,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2896,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - header_data
    argTypes:
    - isc_nm_proxyheader_info_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2892
    functionDepth: 1
    functionLinenumber: 2892
    functionLinenumberEnd: 2902
    functionName: isc_nm_proxyheader_info_init_complete
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc_nm_proxyheader_info_init_complete(isc_nm_proxyheader_info_t
      *restrict info,\n\t\t\t\t      isc_region_t *restrict header_data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_nmsocket_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2910
    functionDepth: 1
    functionLinenumber: 2910
    functionLinenumberEnd: 2944
    functionName: nmsocket_type_totext
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: char
    signature: 'char *

      nmsocket_type_totext(isc_nmsocket_type type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2948,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2949,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2950,1
    - Dst: isc_backtrace_symbols_fd
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2951,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2954
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 2954
    functionName: nmhandle_dump
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_backtrace_symbols_fd
    - fprintf
    - isc_refcount_current
    linkageType: ''
    returnType: void
    signature: void nmhandle_dump(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2958,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2959,1
    - Dst: nmsocket_type_totext
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2961,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2962,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2963,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2967,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2972,1
    - Dst: isc_backtrace_symbols_fd
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2973,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2975,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2977,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2980,1
    - Dst: nmhandle_dump
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2983,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2986,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2956
    functionDepth: 2
    functionLinenumber: 2956
    functionLinenumberEnd: 2987
    functionName: nmsocket_dump
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - nmsocket_type_totext
    - isc_refcount_current
    - isc_backtrace_symbols_fd
    - nmhandle_dump
    - fprintf
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void nmsocket_dump(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2993,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2995,1
    - Dst: nmsocket_dump
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - worker
    argTypes:
    - isc__networker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2989
    functionDepth: 3
    functionLinenumber: 2989
    functionLinenumberEnd: 3000
    functionName: isc__nm_dump_active
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - fprintf
    - nmsocket_dump
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void isc__nm_dump_active(isc__networker_t *worker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3009,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3010,1
    - Dst: isc__nm_dump_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - netmgr
    argTypes:
    - isc_nm_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3002
    functionDepth: 4
    functionLinenumber: 3002
    functionLinenumberEnd: 3014
    functionName: isc__nm_dump_active_manager
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_dump_active
    - ISC_LIST_EMPTY
    - fprintf
    linkageType: ''
    returnType: void
    signature: void isc__nm_dump_active_manager(isc_nm_t *netmgr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:123,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:124,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:125,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:162,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:162,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:163,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:165,1
    - Dst: isc__nm_valid_proxy_addresses
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:170,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:185,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:188,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:189,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:190,1
    - Dst: isc__nm_received_proxy_header_log
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:194,1
    - Dst: isc_nmsocket_t*::accept_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:197,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:199,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:203,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:204,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:210,1
    - Dst: proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:219,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 8
    argNames:
    - result
    - cmd
    - socktype
    - src_addr
    - dst_addr
    - tlvs
    - extra
    - cbarg
    argTypes:
    - isc_result_t
    - isc_proxy2_command_t
    - int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_region_t*
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 101
    functionDepth: 5
    functionLinenumber: 101
    functionLinenumberEnd: 222
    functionName: proxystream_on_header_data_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_t*::accept_cb
    - isc_nmhandle_detach
    - isc_sockaddr_pf
    - isc__nmhandle_get
    - proxystream_failed_read_cb
    - INSIST
    - isc__nmsocket_detach
    - isc__nm_valid_proxy_addresses
    - isc__nmsocket_timer_stop
    - isc__nm_received_proxy_header_log
    - proxystream_try_close_unused
    - isc__nmhandle_set_manual_timer
    - proxystream_read_stop
    linkageType: ''
    returnType: void
    signature: "void proxystream_on_header_data_cb(const isc_result_t result,\n\t\t\t
      \     const isc_proxy2_command_t cmd,\n\t\t\t      const int socktype,\n\t\t\t
      \     const isc_sockaddr_t *restrict src_addr,\n\t\t\t      const isc_sockaddr_t
      *restrict dst_addr,\n\t\t\t      const isc_region_t *restrict tlvs,\n\t\t\t
      \     const isc_region_t *restrict extra, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:229,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sock
    - data
    argTypes:
    - isc_nmsocket_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 9
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: proxystream_handle_incoming_header_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_push
    - proxystream_try_close_unused
    linkageType: ''
    returnType: void
    signature: "void proxystream_handle_incoming_header_data(isc_nmsocket_t *sock,\n\t\t\t\t\tisc_region_t
      *restrict data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:237,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:240,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:241,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:244,1
    - Dst: isc_proxy2_handler_new
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:252,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - worker
    - type
    - addr
    - is_server
    argTypes:
    - isc__networker_t*
    - isc_nmsocket_type_t
    - isc_sockaddr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 263
    functionName: proxystream_sock_new
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - isc_proxy2_handler_new
    - INSIST
    - isc_nm_getinitialtimeout
    - isc_buffer_allocate
    linkageType: ''
    returnType: isc_nmsocket_t
    signature: "isc_nmsocket_t *\nproxystream_sock_new(isc__networker_t *worker, const
      isc_nmsocket_type_t type,\n\t\t     isc_sockaddr_t *addr, const bool is_server)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:276,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:276,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:277,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:277,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:278,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:278,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:279,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:281,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:283,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:287,1
    - Dst: proxystream_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:288,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:290,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:294,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:295,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:299,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:300,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:307,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:308,1
    - Dst: proxystream_read_start
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 313
    functionName: proxystream_accept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - proxystream_read_start
    - VALID_NMHANDLE
    - isc_nmhandle_localaddr
    - isc_tid
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_closing
    - proxystream_sock_new
    - isc__nm_closing
    - isc_nmhandle_peeraddr
    - isc_nmhandle_attach
    - isc__nmsocket_attach
    - isc__nmhandle_set_manual_timer
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t proxystream_accept_cb(isc_nmhandle_t *handle, isc_result_t
      result,\n\t\t      void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:324,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:325,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:326,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:328,1
    - Dst: proxystream_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:332,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:338,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:342,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 9
    argNames:
    - mgr
    - workers
    - iface
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - tlsctx
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_accept_cb_t
    - void*
    - int
    - isc_quota_t*
    - isc_tlsctx_t*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 360
    functionName: isc_nm_listenproxystream
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 3
    functionsReached:
    - isc_tid
    - isc_nm_listentls
    - VALID_NM
    - proxystream_sock_new
    - isc__nm_closing
    - isc__nmsocket_detach
    - REQUIRE
    - isc_nm_listentcp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenproxystream(isc_nm_t *mgr, uint32_t workers,
      isc_sockaddr_t *iface,\n\t\t\t isc_nm_accept_cb_t accept_cb, void *accept_cbarg,\n\t\t\t
      int backlog, isc_quota_t *quota, isc_tlsctx_t *tlsctx,\n\t\t\t isc_nmsocket_t
      **sockp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: proxystream_try_close_unused
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 2
    functionsReached:
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void proxystream_try_close_unused(isc_nmsocket_t *sock)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmsocket_t*::connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:382,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sock
    - handle
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: proxystream_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_t*::connect_cb
    - isc__nmsocket_clearcb
    linkageType: ''
    returnType: void
    signature: "void proxystream_call_connect_cb(isc_nmsocket_t *sock, isc_nmhandle_t
      *handle,\n\t\t\t    isc_result_t result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:394,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:395,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:395,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:400,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:404,1
    - Dst: proxystream_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:405,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:406,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - transphandle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 409
    functionName: proxystream_send_header_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - proxystream_call_connect_cb
    - isc__nmhandle_get
    - VALID_NMSOCK
    - isc__nm_closing
    - proxystream_try_close_unused
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void proxystream_send_header_cb(isc_nmhandle_t *transphandle, isc_result_t
      result,\n\t\t\t   void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:418,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:418,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:420,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:426,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:426,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:428,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:429,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:430,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:433,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:438,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:442,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:444,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:446,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:450,1
    - Dst: proxystream_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:452,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:453,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 411
    functionDepth: 6
    functionLinenumber: 411
    functionLinenumberEnd: 455
    functionName: proxystream_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - proxystream_call_connect_cb
    - isc_nmhandle_localaddr
    - isc_tid
    - isc__nmhandle_get
    - VALID_NMSOCK
    - isc_nm_send
    - INSIST
    - isc_nmhandle_peeraddr
    - isc__nmsocket_closing
    - isc__nm_closing
    - proxystream_try_close_unused
    - isc_nmhandle_attach
    - isc__nmsocket_detach
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: "void proxystream_connect_cb(isc_nmhandle_t *handle, isc_result_t result,\n\t\t
      \      void *cbarg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:466,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:468,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:468,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:470,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:471,1
    - Dst: proxystream_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:475,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:482,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:486,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:491,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:497,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:500,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 10
    argNames:
    - mgr
    - local
    - peer
    - cb
    - cbarg
    - timeout
    - tlsctx
    - sni_hostname
    - client_sess_cache
    - proxy_info
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    - isc_tlsctx_t*
    - char*
    - isc_tlsctx_client_session_cache_t*
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 457
    functionDepth: 5
    functionLinenumber: 457
    functionLinenumberEnd: 508
    functionName: isc_nm_proxystreamconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 4
    functionsReached:
    - isc_proxy2_make_header
    - isc_buffer_putmem
    - isc_nm_tlsconnect
    - cb
    - isc_tid
    - RUNTIME_CHECK
    - VALID_NM
    - proxystream_sock_new
    - isc__nm_closing
    - REQUIRE
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: "void isc_nm_proxystreamconnect(isc_nm_t *mgr, isc_sockaddr_t *local,\n\t\t\t
      \ isc_sockaddr_t *peer, isc_nm_cb_t cb, void *cbarg,\n\t\t\t  unsigned int timeout,
      isc_tlsctx_t *tlsctx,\n\t\t\t  const char *sni_hostname,\n\t\t\t  isc_tlsctx_client_session_cache_t
      *client_sess_cache,\n\t\t\t  isc_nm_proxyheader_info_t *proxy_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:514,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: proxystream_failed_read_cb_async
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_put
    - proxystream_failed_read_cb
    linkageType: ''
    returnType: void
    signature: void proxystream_failed_read_cb_async(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:521,1
    - Dst: proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:524,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:526,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 532
    functionName: isc__nm_proxystream_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - proxystream_failed_read_cb
    - isc_job_run
    - proxystream_read_stop
    - isc__nm_uvreq_get
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxystream_failed_read_cb(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t\t   bool async)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:536,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:537,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:538,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 7
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: isc__nm_proxystream_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_stop
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxystream_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_proxy2_handler_free
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:546,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: proxystream_clear_proxy_header_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    - isc_proxy2_handler_free
    linkageType: ''
    returnType: void
    signature: void proxystream_clear_proxy_header_data(isc_nmsocket_t *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:558,1
    - Dst: proxystream_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:563,1
    - Dst: proxystream_clear_proxy_header_data
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:569,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 574
    functionName: isc__nm_proxystream_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_detach
    - proxystream_put_send_req
    - proxystream_clear_proxy_header_data
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxystream_cleanup_data(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:580,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:580,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:581,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:581,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:582,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:586,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:586,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: isc__nmhandle_proxystream_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_cleartimeout
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_proxystream_cleartimeout(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:595,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:596,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:596,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:597,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:601,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:601,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 591
    functionDepth: 4
    functionLinenumber: 591
    functionLinenumberEnd: 604
    functionName: isc__nmhandle_proxystream_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_settimeout
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_proxystream_settimeout(isc_nmhandle_t *handle, uint32_t
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:610,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:610,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:611,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:611,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:612,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:616,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:616,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 620
    functionName: isc__nmhandle_proxystream_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_proxystream_keepalive(isc_nmhandle_t *handle, bool
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:627,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:628,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:628,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:629,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:633,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:633,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 622
    functionDepth: 3
    functionLinenumber: 622
    functionLinenumberEnd: 637
    functionName: isc__nmhandle_proxystream_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_proxystream_setwritetimeout(isc_nmhandle_t *handle,\n\t\t\t\t\t
      \ uint64_t write_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:641,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:641,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:642,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:645,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:645,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:646,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:646,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 649
    functionName: isc__nmsocket_proxystream_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_reset
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_proxystream_reset(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:653,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:654,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:657,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:657,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:658,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:658,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: isc__nmsocket_proxystream_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc__nmsocket_timer_running
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_proxystream_timer_running(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:667,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:667,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:668,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:671,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:671,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:672,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:672,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 675
    functionName: isc__nmsocket_proxystream_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_proxystream_timer_restart(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:679,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:679,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:680,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:683,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:683,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:684,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:684,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 687
    functionName: isc__nmsocket_proxystream_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_proxystream_timer_stop(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:694,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:694,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:695,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:695,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:696,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:700,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:700,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 704
    functionName: isc__nmhandle_proxystream_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc__nmhandle_set_manual_timer
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_proxystream_set_manual_timer(isc_nmhandle_t *handle,\n\t\t\t\t\t
      \  const bool manual)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:712,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:713,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:713,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:714,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:718,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:718,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 724
    functionName: isc__nmhandle_proxystream_set_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_set_tcp_nodelay
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__nmhandle_proxystream_set_tcp_nodelay(isc_nmhandle_t
      *handle,\n\t\t\t\t\t  const bool value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:734,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:734,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 726
    functionDepth: 8
    functionLinenumber: 726
    functionLinenumberEnd: 738
    functionName: proxystream_read_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc_nm_read
    - VALID_NMHANDLE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void proxystream_read_start(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:748,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:748,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 752
    functionName: proxystream_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 3
    functionsReached:
    - VALID_NMHANDLE
    - INSIST
    - isc_nm_read_stop
    linkageType: ''
    returnType: void
    signature: void proxystream_read_stop(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:756,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:756,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:757,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:757,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:758,1
    - Dst: proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 754
    functionDepth: 5
    functionLinenumber: 754
    functionLinenumberEnd: 762
    functionName: isc__nm_proxystream_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - REQUIRE
    - proxystream_read_stop
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxystream_read_stop(isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:766,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:766,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:767,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:768,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:768,1
    - Dst: proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:776,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:777,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:780,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:781,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:782,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 764
    functionDepth: 5
    functionLinenumber: 764
    functionLinenumberEnd: 792
    functionName: isc__nm_proxystream_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_tid
    - isc_nm_read_stop
    - isc_nmhandle_close
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc__nmsocket_timer_stop
    - REQUIRE
    - proxystream_read_stop
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxystream_close(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:796,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:798,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 799
    functionName: proxystream_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_closing
    linkageType: ''
    returnType: bool
    signature: bool proxystream_closing(isc_nmsocket_t *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:803,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:803,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:804,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:808,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:809,1
    - Dst: proxystream_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:810,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:811,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:812,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:814,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:818,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:821,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:828,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:829,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:832,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:837,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:839,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:844,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:845,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:846,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - sock
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 850
    functionName: proxystream_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 4
    functionsReached:
    - isc_nmhandle_detach
    - proxystream_call_connect_cb
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    - INSIST
    - isc__nmsocket_timer_stop
    - REQUIRE
    - isc__nmsocket_prep_destroy
    - isc__nm_get_read_req
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: void proxystream_failed_read_cb(isc_nmsocket_t *sock, const isc_result_t
      result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:857,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:857,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:858,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:858,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:859,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:859,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:864,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:867,1
    - Dst: proxystream_handle_incoming_header_data
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:874,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:878,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:881,1
    - Dst: proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:885,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - handle
    - result
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 852
    functionDepth: 10
    functionLinenumber: 852
    functionLinenumberEnd: 886
    functionName: proxystream_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - proxystream_failed_read_cb
    - VALID_NMSOCK
    - isc__nmsocket_closing
    - isc__nm_closing
    - proxystream_try_close_unused
    - REQUIRE
    - isc_nmsocket_t*::recv_cb
    - proxystream_handle_incoming_header_data
    linkageType: ''
    returnType: void
    signature: "void proxystream_read_cb(isc_nmhandle_t *handle, isc_result_t result,\n\t\t
      \   isc_region_t *region, void *cbarg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:894,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:894,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:898,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:899,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:899,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:903,1
    - Dst: proxystream_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:905,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:913,1
    - Dst: isc__nm_uvreq_t*::cb::recv
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:915,1
    - Dst: proxystream_read_start
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:918,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:921,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 888
    functionDepth: 9
    functionLinenumber: 888
    functionLinenumberEnd: 925
    functionName: proxystream_read_extra_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - proxystream_read_start
    - proxystream_closing
    - isc_tid
    - isc__nm_proxystream_failed_read_cb
    - isc__nm_uvreq_t*::cb::recv
    - VALID_NMSOCK
    - INSIST
    - isc__nm_closing
    - REQUIRE
    - isc__nm_uvreq_put
    - VALID_UVREQ
    linkageType: ''
    returnType: void
    signature: void proxystream_read_extra_cb(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:933,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:933,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:935,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:935,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:936,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:937,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:938,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:938,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:944,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:945,1
    - Dst: proxystream_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:948,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:949,1
    - Dst: isc_proxy2_handler_extra
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:956,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:959,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:960,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:967,1
    - Dst: proxystream_read_start
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 927
    functionDepth: 9
    functionLinenumber: 927
    functionLinenumberEnd: 973
    functionName: isc__nm_proxystream_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - proxystream_read_start
    - VALID_NMHANDLE
    - proxystream_closing
    - isc_tid
    - isc__nm_proxystream_failed_read_cb
    - isc_proxy2_handler_extra
    - VALID_NMSOCK
    - isc__nm_uvreq_get
    - isc__nm_closing
    - isc_nmhandle_attach
    - isc_job_run
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxystream_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t
      cb,\n\t\t\t void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:990,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - mctx
    - sock
    - proxyhandle
    - cb
    - cbarg
    argTypes:
    - isc_mem_t*
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1002
    functionName: proxystream_get_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_nmhandle_attach
    linkageType: ''
    returnType: proxystream_send_req_t
    signature: "proxystream_send_req_t *\nproxystream_get_send_req(isc_mem_t *mctx,
      isc_nmsocket_t *sock,\n\t\t\t isc_nmhandle_t *proxyhandle, isc_nm_cb_t cb,\n\t\t\t
      void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1014,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mctx
    - send_req
    - force_destroy
    argTypes:
    - isc_mem_t*
    - proxystream_send_req_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1026
    functionName: proxystream_put_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_detach
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: "void proxystream_put_send_req(isc_mem_t *mctx, proxystream_send_req_t
      *send_req,\n\t\t\t const bool force_destroy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1036,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1036,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1037,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1037,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1038,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1038,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1039,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1039,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1045,1
    - Dst: proxystream_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1047,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1048,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1049,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1051
    functionName: proxystream_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - isc_tid
    - cb
    - proxystream_put_send_req
    - VALID_NMSOCK
    - proxystream_try_close_unused
    - isc_nmhandle_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void proxystream_send_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1061,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1061,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1062,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1062,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1066,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1068,1
    - Dst: proxystream_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1071,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1077,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1078,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1082,1
    - Dst: proxystream_get_send_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1086,1
    - Dst: isc__nm_senddns
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1089,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - handle
    - region
    - cb
    - cbarg
    - dnsmsg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1053
    functionDepth: 6
    functionLinenumber: 1053
    functionLinenumberEnd: 1095
    functionName: proxystream_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - proxystream_closing
    - proxystream_get_send_req
    - VALID_NMSOCK
    - isc_nm_send
    - isc__nm_uvreq_get
    - isc__nm_closing
    - isc__nm_failed_send_cb
    - isc_nmhandle_attach
    - REQUIRE
    - isc__nm_senddns
    linkageType: ''
    returnType: void
    signature: "void proxystream_send(isc_nmhandle_t *handle, isc_region_t *region,
      isc_nm_cb_t cb,\n\t\t void *cbarg, const bool dnsmsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_send
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1097
    functionDepth: 7
    functionLinenumber: 1097
    functionLinenumberEnd: 1101
    functionName: isc__nm_proxystream_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - proxystream_send
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxystream_send(isc_nmhandle_t *handle, isc_region_t
      *region,\n\t\t\t isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proxystream_send
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 7
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: isc__nm_proxystream_senddns
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - proxystream_send
    linkageType: ''
    returnType: void
    signature: "void isc__nm_proxystream_senddns(isc_nmhandle_t *handle, isc_region_t
      *region,\n\t\t\t    isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1111,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1112,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1115,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1115,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1118
    functionName: isc__nm_proxystream_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc_nmsocket_set_tlsctx
    - VALID_NMSOCK
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc__nm_proxystream_set_tlsctx(isc_nmsocket_t *listener, isc_tlsctx_t
      *tlsctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1124,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1125,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1126,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1130,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1130,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1135
    functionName: isc__nm_proxystream_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nm_has_encryption
    linkageType: ''
    returnType: bool
    signature: bool isc__nm_proxystream_has_encryption(const isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1141,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1142,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1143,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1147,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1147,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1152
    functionName: isc__nm_proxystream_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nm_verify_tls_peer_result_string
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__nm_proxystream_verify_tls_peer_result_string(const isc_nmhandle_t *handle)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1160,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1162,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1164,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1164,1
    - Dst: isc__nmhandle_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - handle
    - alpn
    - alpnlen
    argTypes:
    - isc_nmhandle_t*
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1154
    functionDepth: 4
    functionLinenumber: 1154
    functionLinenumberEnd: 1167
    functionName: isc__nmhandle_proxystream_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - VALID_NMSOCK
    - isc__nmhandle_get_selected_alpn
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_proxystream_get_selected_alpn(isc_nmhandle_t *handle,\n\t\t\t\t\t
      \   const unsigned char **alpn,\n\t\t\t\t\t    unsigned int *alpnlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - transphandle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 8
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: streamdns_resumeread
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    linkageType: ''
    returnType: void
    signature: void streamdns_resumeread(isc_nmsocket_t *sock, isc_nmhandle_t *transphandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamdns_resumeread
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:107,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:110,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:111,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:112,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - transphandle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 9
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: streamdns_readmore
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - streamdns_resumeread
    - INSIST
    - isc__nmsocket_timer_start
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void streamdns_readmore(isc_nmsocket_t *sock, isc_nmhandle_t *transphandle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - transphandle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: streamdns_pauseread
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nm_read_stop
    linkageType: ''
    returnType: void
    signature: void streamdns_pauseread(isc_nmsocket_t *sock, isc_nmhandle_t *transphandle)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_remaininglength
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:130,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:148,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:150,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:152,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:163,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:165,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:168,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:180,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:182,1
    - Dst: streamdns_pauseread
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:184,1
    - Dst: streamdns_readmore
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:190,1
    - Dst: streamdns_pauseread
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:195,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - dnsasm
    - region
    - sock
    - transphandle
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_region_t*
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 125
    functionDepth: 10
    functionLinenumber: 125
    functionLinenumberEnd: 201
    functionName: streamdns_on_complete_dnsmessage
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_dnsstream_assembler_remaininglength
    - isc_nmhandle_detach
    - isc__nmhandle_get
    - streamdns_closing
    - isc_async_run
    - INSIST
    - streamdns_pauseread
    - isc__nmsocket_timer_stop
    - isc_nmsocket_t*::recv_cb
    - streamdns_readmore
    linkageType: ''
    returnType: bool
    signature: "bool streamdns_on_complete_dnsmessage(isc_dnsstream_assembler_t *dnsasm,\n\t\t\t\t
      isc_region_t *restrict region,\n\t\t\t\t isc_nmsocket_t *sock,\n\t\t\t\t isc_nmhandle_t
      *transphandle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamdns_on_complete_dnsmessage
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:223,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:232,1
    - Dst: streamdns_readmore
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:240,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - dnsasm
    - result
    - region
    - cbarg
    - userarg
    argTypes:
    - isc_dnsstream_assembler_t*
    - isc_result_t
    - isc_region_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 209
    functionDepth: 11
    functionLinenumber: 209
    functionLinenumberEnd: 246
    functionName: streamdns_on_dnsmessage_data_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_on_complete_dnsmessage
    - UNREACHABLE
    - streamdns_failed_read_cb
    - streamdns_readmore
    linkageType: ''
    returnType: bool
    signature: "bool streamdns_on_dnsmessage_data_cb(isc_dnsstream_assembler_t *dnsasm,\n\t\t\t\tconst
      isc_result_t result,\n\t\t\t\tisc_region_t *restrict region, void *cbarg,\n\t\t\t\tvoid
      *userarg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_incoming
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:259,1
    - Dst: streamdns_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - sock
    - transphandle
    - data
    - len
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 6
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: streamdns_handle_incoming_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_dnsstream_assembler_incoming
    - streamdns_try_close_unused
    linkageType: ''
    returnType: void
    signature: "void streamdns_handle_incoming_data(isc_nmsocket_t *sock,\n\t\t\t
      \      isc_nmhandle_t *transphandle,\n\t\t\t       void *restrict data, size_t
      len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:267,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:270,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:271,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:274,1
    - Dst: isc_dnsstream_assembler_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - worker
    - type
    - addr
    - is_server
    argTypes:
    - isc__networker_t*
    - isc_nmsocket_type_t
    - isc_sockaddr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 283
    functionName: streamdns_sock_new
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_mempool_get
    - isc__nmsocket_init
    - INSIST
    - isc_nm_getinitialtimeout
    - isc_dnsstream_assembler_new
    linkageType: ''
    returnType: isc_nmsocket_t
    signature: "isc_nmsocket_t *\nstreamdns_sock_new(isc__networker_t *worker, const
      isc_nmsocket_type_t type,\n\t\t   isc_sockaddr_t *addr, const bool is_server)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:289,1
    - Dst: isc_nmsocket_t*::connect_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:290,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:292,1
    - Dst: streamdns_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - sock
    - handle
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 297
    functionName: streamdns_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_try_close_unused
    - isc_nmsocket_t*::connect_cb
    - isc__nmsocket_clearcb
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void streamdns_call_connect_cb(isc_nmsocket_t *sock, isc_nmhandle_t
      *handle,\n\t\t\t  const isc_result_t result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmhandle_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:305,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dnssock
    - transp_handle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: streamdns_save_alpn_status
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - memcmp
    - isc__nmhandle_get_selected_alpn
    linkageType: ''
    returnType: void
    signature: "void streamdns_save_alpn_status(isc_nmsocket_t *dnssock,\n\t\t\t   isc_nmhandle_t
      *transp_handle)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:320,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:320,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:322,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:345,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:345,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:347,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:348,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:349,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:354,1
    - Dst: streamdns_save_alpn_status
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:359,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:360,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:361,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:362,1
    - Dst: streamdns_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:363,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:364,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:373,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:373,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:375,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:377,1
    - Dst: streamdns_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:379,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:380,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 382
    functionName: streamdns_transport_connected
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - isc_nmhandle_set_tcp_nodelay
    - isc_nmhandle_localaddr
    - isc_tid
    - isc__nmhandle_get
    - VALID_NMSOCK
    - streamdns_save_alpn_status
    - INSIST
    - isc_nmhandle_peeraddr
    - isc__nmsocket_closing
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - REQUIRE
    - isc__nmhandle_set_manual_timer
    - isc_nm_verify_tls_peer_result_string
    - streamdns_call_connect_cb
    linkageType: ''
    returnType: void
    signature: "void streamdns_transport_connected(isc_nmhandle_t *handle, isc_result_t
      result,\n\t\t\t      void *cbarg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:395,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:395,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:397,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:399,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:400,1
    - Dst: streamdns_sock_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:404,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:413,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:414,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:418,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:426,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:431,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:438,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:439,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 11
    argNames:
    - mgr
    - local
    - peer
    - cb
    - cbarg
    - timeout
    - tlsctx
    - sni_hostname
    - client_sess_cache
    - proxy_type
    - proxy_info
    argTypes:
    - isc_nm_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    - isc_tlsctx_t*
    - char*
    - isc_tlsctx_client_session_cache_t*
    - isc_nm_proxy_type_t
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 384
    functionDepth: 6
    functionLinenumber: 384
    functionLinenumberEnd: 447
    functionName: isc_nm_streamdnsconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 9
    functionsReached:
    - UNREACHABLE
    - isc_nm_tlsconnect
    - cb
    - isc_tid
    - VALID_NM
    - INSIST
    - isc__nm_closing
    - REQUIRE
    - streamdns_sock_new
    - isc_nm_proxystreamconnect
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: "void isc_nm_streamdnsconnect(isc_nm_t *mgr, isc_sockaddr_t *local,\n\t\t\tisc_sockaddr_t
      *peer, isc_nm_cb_t cb, void *cbarg,\n\t\t\tunsigned int timeout, isc_tlsctx_t
      *tlsctx,\n\t\t\tconst char *sni_hostname,\n\t\t\tisc_tlsctx_client_session_cache_t
      *client_sess_cache,\n\t\t\tisc_nm_proxy_type_t proxy_type,\n\t\t\tisc_nm_proxyheader_info_t
      *proxy_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:453,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:454,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:460,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:460,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:462,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:462,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 465
    functionName: isc__nmsocket_streamdns_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc__nmsocket_timer_running
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool isc__nmsocket_streamdns_timer_running(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:471,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:471,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:472,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:478,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:478,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:480,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:480,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 483
    functionName: isc__nmsocket_streamdns_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_streamdns_timer_stop(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:489,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:489,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:490,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:496,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:496,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:498,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:498,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 501
    functionName: isc__nmsocket_streamdns_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc__nmsocket_timer_restart
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_streamdns_timer_restart(isc_nmsocket_t *sock)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:506,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:507,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:516,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:517,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:520,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:525,1
    - Dst: isc_dnsstream_assembler_clear
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:530,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:537,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:538,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:539,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 545
    functionName: streamdns_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 2
    functionsReached:
    - isc_dnsstream_assembler_clear
    - isc__nmsocket_clearcb
    - isc__nmsocket_timer_running
    - VALID_NMSOCK
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nmsocket_prep_destroy
    - isc__nm_readcb
    linkageType: ''
    returnType: void
    signature: "void streamdns_failed_read_cb(isc_nmsocket_t *sock, const isc_result_t
      result,\n\t\t\t const bool async)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:551,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sock
    - result
    - async
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 554
    functionName: isc__nm_streamdns_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - streamdns_failed_read_cb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isc__nm_streamdns_failed_read_cb(isc_nmsocket_t *sock, isc_result_t
      result,\n\t\t\t\t const bool async)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:561,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:561,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:562,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:562,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:563,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:563,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:566,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:568,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:569,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - result
    - region
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 556
    functionDepth: 7
    functionLinenumber: 556
    functionLinenumberEnd: 575
    functionName: streamdns_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - isc_tid
    - streamdns_closing
    - streamdns_handle_incoming_data
    - VALID_NMSOCK
    - REQUIRE
    - streamdns_failed_read_cb
    linkageType: ''
    returnType: void
    signature: "void streamdns_readcb(isc_nmhandle_t *handle, isc_result_t result,\n\t\t
      isc_region_t *region, void *cbarg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:586,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 590
    functionName: streamdns_try_close_unused
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 2
    functionsReached:
    - isc_nmhandle_detach
    - isc__nmsocket_prep_destroy
    linkageType: ''
    returnType: void
    signature: void streamdns_try_close_unused(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:606,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - sock
    - mctx
    - req
    argTypes:
    - isc_nmsocket_t*
    - isc_mem_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 618
    functionName: streamdns_get_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_nmhandle_attach
    linkageType: ''
    returnType: streamdns_send_req_t
    signature: "streamdns_send_req_t *\nstreamdns_get_send_req(isc_nmsocket_t *sock,
      isc_mem_t *mctx,\n\t\t       isc__nm_uvreq_t *req)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:630,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mctx
    - send_req
    - force_destroy
    argTypes:
    - isc_mem_t*
    - streamdns_send_req_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 642
    functionName: streamdns_put_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: "void streamdns_put_send_req(isc_mem_t *mctx, streamdns_send_req_t
      *send_req,\n\t\t       const bool force_destroy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:652,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:652,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:653,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:654,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:654,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:655,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:655,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:661,1
    - Dst: streamdns_put_send_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:663,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:664,1
    - Dst: streamdns_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:665,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 667
    functionName: streamdns_writecb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_NMHANDLE
    - isc_tid
    - cb
    - VALID_NMSOCK
    - isc_nmhandle_attach
    - REQUIRE
    - streamdns_put_send_req
    - streamdns_try_close_unused
    linkageType: ''
    returnType: void
    signature: void streamdns_writecb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:671,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:671,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: streamdns_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 2
    functionsReached:
    - isc__nm_closing
    - isc__nmsocket_closing
    linkageType: ''
    returnType: bool
    signature: bool streamdns_closing(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:681,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:681,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:682,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:682,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:683,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:685,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 677
    functionDepth: 7
    functionLinenumber: 677
    functionLinenumberEnd: 696
    functionName: streamdns_resume_processing
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_closing
    - isc_tid
    - VALID_NMSOCK
    - REQUIRE
    - streamdns_handle_incoming_data
    linkageType: ''
    returnType: void
    signature: void streamdns_resume_processing(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:703,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:705,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:705,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:706,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:706,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:708,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:714,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:714,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:715,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:717,1
    - Dst: streamdns_sock_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:718,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:723,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:726,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:730,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:731,1
    - Dst: streamdns_save_alpn_status
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:734,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:736,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:737,1
    - Dst: isc_nmsocket_t*::accept_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:738,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:741,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:742,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:743,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:749,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:751,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:753,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:754,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 698
    functionDepth: 7
    functionLinenumber: 698
    functionLinenumberEnd: 761
    functionName: streamdns_accept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_set_tcp_nodelay
    - isc__nmhandle_get
    - REQUIRE
    - streamdns_handle_incoming_data
    - VALID_NMHANDLE
    - isc_nmhandle_localaddr
    - isc_nmhandle_peeraddr
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - isc__nmhandle_set_manual_timer
    - isc_nmsocket_t*::accept_cb
    - isc_nmhandle_settimeout
    - isc_tid
    - VALID_NMSOCK
    - streamdns_save_alpn_status
    - INSIST
    - isc__nm_closing
    - streamdns_sock_new
    - isc_nmhandle_detach
    - isc_nm_getinitialtimeout
    - isc__nmsocket_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t streamdns_accept_cb(isc_nmhandle_t *handle, isc_result_t
      result, void *cbarg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:773,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:773,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:774,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:774,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:776,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:778,1
    - Dst: streamdns_sock_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:782,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:792,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:796,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:804,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:809,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:816,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:817,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:822,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:827,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:832,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:838,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 12
    argNames:
    - mgr
    - workers
    - iface
    - recv_cb
    - recv_cbarg
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - tlsctx
    - proxy_type
    - sockp
    argTypes:
    - isc_nm_t*
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_recv_cb_t
    - void*
    - isc_nm_accept_cb_t
    - void*
    - int
    - isc_quota_t*
    - isc_tlsctx_t*
    - isc_nm_proxy_type_t
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 763
    functionDepth: 7
    functionLinenumber: 763
    functionLinenumberEnd: 845
    functionName: isc_nm_listenstreamdns
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 9
    functionsReached:
    - UNREACHABLE
    - isc_sockaddr_getport
    - isc_tid
    - isc_nm_listentls
    - isc_nm_listenproxystream
    - VALID_NM
    - INSIST
    - isc__nmsocket_detach
    - isc__nm_closing
    - REQUIRE
    - isc__nmsocket_attach
    - isc_nm_listentcp
    - streamdns_sock_new
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenstreamdns(isc_nm_t *mgr, uint32_t workers,
      isc_sockaddr_t *iface,\n\t\t       isc_nm_recv_cb_t recv_cb, void *recv_cbarg,\n\t\t
      \      isc_nm_accept_cb_t accept_cb, void *accept_cbarg,\n\t\t       int backlog,
      isc_quota_t *quota, isc_tlsctx_t *tlsctx,\n\t\t       isc_nm_proxy_type_t proxy_type,
      isc_nmsocket_t **sockp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isc_dnsstream_assembler_free
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:851,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:852,1
    - Dst: streamdns_put_send_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:855,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:863,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:870,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 847
    functionDepth: 3
    functionLinenumber: 847
    functionLinenumberEnd: 883
    functionName: isc__nm_streamdns_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_detach
    - isc_dnsstream_assembler_free
    - streamdns_put_send_req
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc__nm_streamdns_cleanup_data(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:889,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:889,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:890,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:890,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:892,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:893,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:901,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:901,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:902,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 885
    functionDepth: 7
    functionLinenumber: 885
    functionLinenumberEnd: 905
    functionName: streamdns_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - streamdns_closing
    - isc_tid
    - streamdns_handle_incoming_data
    - VALID_NMSOCK
    - INSIST
    - isc__nmsocket_detach
    - REQUIRE
    - streamdns_failed_read_cb
    linkageType: ''
    returnType: void
    signature: void streamdns_read_cb(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:913,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:913,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:915,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:915,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:916,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:917,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:918,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:918,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:920,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:926,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:934,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:937,1
    - Dst: streamdns_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:938,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:953,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:954,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 907
    functionDepth: 8
    functionLinenumber: 907
    functionLinenumberEnd: 955
    functionName: isc__nm_streamdns_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - streamdns_closing
    - isc_tid
    - streamdns_read_cb
    - VALID_NMSOCK
    - isc_nmhandle_attach
    - isc_job_run
    - REQUIRE
    - isc__nmsocket_attach
    - isc_dnsstream_assembler_result
    linkageType: ''
    returnType: void
    signature: "void isc__nm_streamdns_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t
      cb,\n\t\t       void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:966,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:966,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:967,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:967,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:968,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:973,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:973,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:975,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:976,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:982,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:983,1
    - Dst: streamdns_get_send_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:993,1
    - Dst: isc__nm_senddns
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:996,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - handle
    - region
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 957
    functionDepth: 5
    functionLinenumber: 957
    functionLinenumberEnd: 1000
    functionName: isc__nm_streamdns_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc__nm_uvreq_put
    - VALID_NMHANDLE
    - isc_tid
    - streamdns_closing
    - VALID_NMSOCK
    - isc__nm_uvreq_get
    - streamdns_get_send_req
    - isc__nm_failed_send_cb
    - isc_nmhandle_attach
    - REQUIRE
    - isc__nm_senddns
    linkageType: ''
    returnType: void
    signature: "void isc__nm_streamdns_send(isc_nmhandle_t *handle, const isc_region_t
      *region,\n\t\t       isc_nm_cb_t cb, void *cbarg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1004,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1005,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1005,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1009,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1010,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1011,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1012,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1016,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1020,1
    - Dst: isc_dnsstream_assembler_clear
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 1027
    functionName: streamdns_close_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_dnsstream_assembler_clear
    - isc_tid
    - isc_nm_read_stop
    - isc_nmhandle_close
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc__nmsocket_timer_stop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void streamdns_close_direct(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1031,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1031,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1033,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1034,1
    - Dst: streamdns_close_direct
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1029
    functionDepth: 5
    functionLinenumber: 1029
    functionLinenumberEnd: 1039
    functionName: isc__nm_streamdns_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_close_direct
    - VALID_NMSOCK
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: void
    signature: void isc__nm_streamdns_close(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1043,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1043,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1044,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1041
    functionDepth: 7
    functionLinenumber: 1041
    functionLinenumberEnd: 1047
    functionName: isc__nm_streamdns_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_stop
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nm_streamdns_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1053,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1054,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1054,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1055,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1059,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1059,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1049
    functionDepth: 4
    functionLinenumber: 1049
    functionLinenumberEnd: 1062
    functionName: isc__nmhandle_streamdns_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_cleartimeout
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_streamdns_cleartimeout(isc_nmhandle_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1068,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1068,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1069,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1069,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1070,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1074,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1074,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1064
    functionDepth: 4
    functionLinenumber: 1064
    functionLinenumberEnd: 1077
    functionName: isc__nmhandle_streamdns_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc_nmhandle_settimeout
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_streamdns_settimeout(isc_nmhandle_t *handle, uint32_t
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1083,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1083,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1084,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1084,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1085,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1089,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1089,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1079
    functionDepth: 3
    functionLinenumber: 1079
    functionLinenumberEnd: 1092
    functionName: isc__nmhandle_streamdns_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmhandle_streamdns_keepalive(isc_nmhandle_t *handle, bool
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1099,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1100,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1101,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1105,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1105,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1108
    functionName: isc__nmhandle_streamdns_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: "void isc__nmhandle_streamdns_setwritetimeout(isc_nmhandle_t *handle,\n\t\t\t\t\tuint32_t
      timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1114,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1115,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1116,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1120,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1120,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1110
    functionDepth: 3
    functionLinenumber: 1110
    functionLinenumberEnd: 1125
    functionName: isc__nm_streamdns_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nm_has_encryption
    linkageType: ''
    returnType: bool
    signature: bool isc__nm_streamdns_has_encryption(const isc_nmhandle_t *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1131,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1132,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1133,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1137,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1137,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1127
    functionDepth: 4
    functionLinenumber: 1127
    functionLinenumberEnd: 1144
    functionName: isc__nm_streamdns_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    - isc_nm_verify_tls_peer_result_string
    linkageType: ''
    returnType: char
    signature: 'char *

      isc__nm_streamdns_verify_tls_peer_result_string(const isc_nmhandle_t *handle)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1148,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1149,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1152,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1152,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1146
    functionDepth: 4
    functionLinenumber: 1146
    functionLinenumberEnd: 1155
    functionName: isc__nm_streamdns_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc_nmsocket_set_tlsctx
    - VALID_NMSOCK
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc__nm_streamdns_set_tlsctx(isc_nmsocket_t *listener, isc_tlsctx_t
      *tlsctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1161,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1162,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1175
    functionName: isc__nm_streamdns_xfr_checkperm
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc_nm_has_encryption
    - VALID_NMSOCK
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc__nm_streamdns_xfr_checkperm(isc_nmsocket_t *sock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1179,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1180,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1186,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1186,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1177
    functionDepth: 3
    functionLinenumber: 1177
    functionLinenumberEnd: 1188
    functionName: isc__nmsocket_streamdns_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc__nmsocket_reset
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isc__nmsocket_streamdns_reset(isc_nmsocket_t *sock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: NS_STATS_VALID
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_STATS_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:37,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:37,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:38,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/ns/stats.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - statsp
    argTypes:
    - ns_stats_t*
    - ns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: ns_stats_attach
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - NS_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void ns_stats_attach(ns_stats_t *stats, ns_stats_t **statsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:49,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:49,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/ns/stats.c:54,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/ns/stats.c:55,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/stats.c:56,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/stats.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - statsp
    argTypes:
    - ns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: ns_stats_detach
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 7
    functionsReached:
    - isc_stats_detach
    - NS_STATS_VALID
    - isc_mem_putanddetach
    - isc_refcount_decrement
    - REQUIRE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void ns_stats_detach(ns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:63,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/stats.c:65,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/stats.c:68,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/ns/stats.c:70,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/stats.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - ncounters
    - statsp
    argTypes:
    - isc_mem_t*
    - int
    - ns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: ns_stats_create
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_stats_create
    - isc_refcount_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_stats_create(isc_mem_t *mctx, int ncounters, ns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:83,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:83,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/stats.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - ns_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: ns_stats_increment
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_increment
    - REQUIRE
    - NS_STATS_VALID
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t ns_stats_increment(ns_stats_t *stats, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:90,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:90,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/ns/stats.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - ns_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: ns_stats_decrement
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_decrement
    - REQUIRE
    - NS_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void ns_stats_decrement(ns_stats_t *stats, isc_statscounter_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:97,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - stats
    argTypes:
    - ns_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: ns_stats_get
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - NS_STATS_VALID
    linkageType: ''
    returnType: isc_stats_t
    signature: 'isc_stats_t *

      ns_stats_get(ns_stats_t *stats)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:105,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:105,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/lib/ns/stats.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - stats
    - counter
    - value
    argTypes:
    - ns_stats_t*
    - isc_statscounter_t
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: ns_stats_update_if_greater
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_update_if_greater
    - REQUIRE
    - NS_STATS_VALID
    linkageType: ''
    returnType: void
    signature: "void ns_stats_update_if_greater(ns_stats_t *stats, isc_statscounter_t
      counter,\n\t\t\t   isc_statscounter_t value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:112,1
    - Dst: NS_STATS_VALID
      Src: /src/bind9/lib/ns/stats.c:112,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/ns/stats.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - ns_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: ns_stats_get_counter
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 2
    functionsReached:
    - isc_stats_get_counter
    - REQUIRE
    - NS_STATS_VALID
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t ns_stats_get_counter(ns_stats_t *stats, isc_statscounter_t
      counter)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/listenlist.c:41,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/listenlist.c:42,1
    - Dst: isc_tlsctx_cache_find
      Src: /src/bind9/lib/ns/listenlist.c:52,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/listenlist.c:60,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/lib/ns/listenlist.c:63,1
    - Dst: isc_tlsctx_set_random_session_id_context
      Src: /src/bind9/lib/ns/listenlist.c:78,1
    - Dst: isc_tls_cert_store_create
      Src: /src/bind9/lib/ns/listenlist.c:86,1
    - Dst: isc_tlsctx_enable_peer_verification
      Src: /src/bind9/lib/ns/listenlist.c:95,1
    - Dst: isc_tlsctx_load_client_ca_names
      Src: /src/bind9/lib/ns/listenlist.c:105,1
    - Dst: isc_tlsctx_set_protocols
      Src: /src/bind9/lib/ns/listenlist.c:113,1
    - Dst: isc_tlsctx_load_dhparams
      Src: /src/bind9/lib/ns/listenlist.c:118,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/listenlist.c:121,1
    - Dst: isc_tlsctx_set_cipherlist
      Src: /src/bind9/lib/ns/listenlist.c:133,1
    - Dst: isc_tlsctx_set_cipher_suites
      Src: /src/bind9/lib/ns/listenlist.c:138,1
    - Dst: isc_tlsctx_prefer_server_ciphers
      Src: /src/bind9/lib/ns/listenlist.c:143,1
    - Dst: isc_tlsctx_session_tickets
      Src: /src/bind9/lib/ns/listenlist.c:149,1
    - Dst: isc_tlsctx_enable_http2server_alpn
      Src: /src/bind9/lib/ns/listenlist.c:155,1
    - Dst: isc_tlsctx_enable_dot_server_alpn
      Src: /src/bind9/lib/ns/listenlist.c:160,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/listenlist.c:175,1
    - Dst: isc_tlsctx_cache_add
      Src: /src/bind9/lib/ns/listenlist.c:175,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/listenlist.c:181,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/listenlist.c:185,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/listenlist.c:187,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/ns/listenlist.c:194,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/ns/listenlist.c:206,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/ns/listenlist.c:210,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 10
    argNames:
    - mctx
    - port
    - acl
    - family
    - is_http
    - tls
    - tls_params
    - tlsctx_cache
    - proxy
    - target
    argTypes:
    - isc_mem_t*
    - in_port_t
    - dns_acl_t*
    - uint16_t
    - bool
    - bool
    - ns_listen_tls_params_t*
    - isc_tlsctx_cache_t*
    - isc_nm_proxy_type_t
    - ns_listenelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 30
    functionDepth: 5
    functionLinenumber: 30
    functionLinenumberEnd: 213
    functionName: listenelt_create
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - REQUIRE
    - isc_tlsctx_set_protocols
    - isc_tlsctx_cache_attach
    - ISC_LINK_INIT
    - isc_tlsctx_enable_peer_verification
    - isc_tlsctx_set_cipher_suites
    - isc_tlsctx_prefer_server_ciphers
    - isc_tlsctx_load_dhparams
    - isc_tlsctx_session_tickets
    - RUNTIME_CHECK
    - INSIST
    - isc_mem_get
    - isc_tlsctx_enable_http2server_alpn
    - isc_tlsctx_cache_add
    - isc_tls_cert_store_create
    - isc_tlsctx_createserver
    - isc_tls_cert_store_free
    - isc_tlsctx_load_client_ca_names
    - isc_tlsctx_set_random_session_id_context
    - isc_tlsctx_free
    - isc_tlsctx_cache_find
    - isc_tlsctx_enable_dot_server_alpn
    - isc_tlsctx_set_cipherlist
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t listenelt_create(isc_mem_t *mctx, in_port_t port, dns_acl_t
      *acl,\n\t\t const uint16_t family, const bool is_http, bool tls,\n\t\t const
      ns_listen_tls_params_t *tls_params,\n\t\t isc_tlsctx_cache_t *tlsctx_cache,
      isc_nm_proxy_type_t proxy,\n\t\t ns_listenelt_t **target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listenelt_create
      Src: /src/bind9/lib/ns/listenlist.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - mctx
    - port
    - acl
    - family
    - tls
    - tls_params
    - tlsctx_cache
    - proxy
    - target
    argTypes:
    - isc_mem_t*
    - in_port_t
    - dns_acl_t*
    - uint16_t
    - bool
    - ns_listen_tls_params_t*
    - isc_tlsctx_cache_t*
    - isc_nm_proxy_type_t
    - ns_listenelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 6
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: ns_listenelt_create
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 1
    functionsReached:
    - listenelt_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_listenelt_create(isc_mem_t *mctx, in_port_t port,
      dns_acl_t *acl,\n\t\t    const uint16_t family, bool tls,\n\t\t    const ns_listen_tls_params_t
      *tls_params,\n\t\t    isc_tlsctx_cache_t *tlsctx_cache, isc_nm_proxy_type_t
      proxy,\n\t\t    ns_listenelt_t **target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/listenlist.c:235,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/listenlist.c:236,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/listenlist.c:237,1
    - Dst: listenelt_create
      Src: /src/bind9/lib/ns/listenlist.c:239,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/listenlist.c:257,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/listenlist.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 13
    argNames:
    - mctx
    - http_port
    - acl
    - family
    - tls
    - tls_params
    - tlsctx_cache
    - proxy
    - endpoints
    - nendpoints
    - max_clients
    - max_streams
    - target
    argTypes:
    - isc_mem_t*
    - in_port_t
    - dns_acl_t*
    - uint16_t
    - bool
    - ns_listen_tls_params_t*
    - isc_tlsctx_cache_t*
    - isc_nm_proxy_type_t
    - char**
    - size_t
    - uint32_t
    - uint32_t
    - ns_listenelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 225
    functionDepth: 6
    functionLinenumber: 225
    functionLinenumberEnd: 262
    functionName: ns_listenelt_create_http
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 1
    functionsReached:
    - listenelt_create
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_listenelt_create_http(isc_mem_t *mctx, in_port_t http_port,
      dns_acl_t *acl,\n\t\t\t const uint16_t family, bool tls,\n\t\t\t const ns_listen_tls_params_t
      *tls_params,\n\t\t\t isc_tlsctx_cache_t *tlsctx_cache,\n\t\t\t isc_nm_proxy_type_t
      proxy, char **endpoints,\n\t\t\t size_t nendpoints, const uint32_t max_clients,\n\t\t\t
      const uint32_t max_streams, ns_listenelt_t **target)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/listenlist.c:267,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/ns/listenlist.c:273,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/listenlist.c:277,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/listenlist.c:279,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/listenlist.c:281,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/listenlist.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - elt
    argTypes:
    - ns_listenelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 264
    functionDepth: 6
    functionLinenumber: 264
    functionLinenumberEnd: 284
    functionName: ns_listenelt_destroy
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - isc_mem_free
    - isc_tlsctx_cache_detach
    - INSIST
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ns_listenelt_destroy(ns_listenelt_t *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/listenlist.c:289,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/listenlist.c:290,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/listenlist.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mctx
    - target
    argTypes:
    - isc_mem_t*
    - ns_listenlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: ns_listenlist_create
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_INIT
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_listenlist_create(isc_mem_t *mctx, ns_listenlist_t
      **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/listenlist.c:300,1
    - Dst: ns_listenelt_destroy
      Src: /src/bind9/lib/ns/listenlist.c:301,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/listenlist.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - ns_listenlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 7
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: destroy
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 267
    functionsReached:
    - isc_mem_put
    - ns_listenelt_destroy
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void destroy(ns_listenlist_t *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/listenlist.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - ns_listenlist_t*
    - ns_listenlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: ns_listenlist_attach
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: void
    signature: void ns_listenlist_attach(ns_listenlist_t *source, ns_listenlist_t
      **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/listenlist.c:317,1
    - Dst: destroy
      Src: /src/bind9/lib/ns/listenlist.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - listp
    argTypes:
    - ns_listenlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: ns_listenlist_detach
    functionSourceFile: /src/bind9/lib/ns/listenlist.c
    functionUses: 2
    functionsReached:
    - destroy
    - INSIST
    linkageType: ''
    returnType: void
    signature: void ns_listenlist_detach(ns_listenlist_t **listp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 289
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/lib/ns/hooks.c:64,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/hooks.c:68,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/hooks.c:73,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/ns/hooks.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - src
    - dst
    - dstsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: ns_plugin_expandpath
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 2
    functionsReached:
    - strchr
    - snprintf
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_plugin_expandpath(const char *src, char *dst, size_t
      dstsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:91,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:92,1
    - Dst: uv_dlsym
      Src: /src/bind9/lib/ns/hooks.c:94,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/ns/hooks.c:96,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - modpath
    - symbol_name
    - symbolp
    argTypes:
    - uv_lib_t*
    - char*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 111
    functionName: load_symbol
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - uv_dlerror
    - isc_log_write
    - REQUIRE
    - uv_dlsym
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_symbol(uv_lib_t *handle, const char *modpath, const
      char *symbol_name,\n\t    void **symbolp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:124,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:126,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/ns/hooks.c:128,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/hooks.c:131,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/hooks.c:133,1
    - Dst: uv_dlopen
      Src: /src/bind9/lib/ns/hooks.c:135,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/ns/hooks.c:137,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:141,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:145,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:148,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:148,1
    - Dst: version_func
      Src: /src/bind9/lib/ns/hooks.c:151,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:155,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:159,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:162,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:162,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:164,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:164,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:166,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:166,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:174,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/hooks.c:176,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - mctx
    - modpath
    - pluginp
    argTypes:
    - isc_mem_t*
    - char*
    - ns_plugin_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 181
    functionName: load_plugin
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - uv_dlopen
    - ISC_LINK_INIT
    - unload_plugin
    - isc_result_totext
    - isc_mem_get
    - CHECK
    - isc_log_write
    - version_func
    - isc_mem_strdup
    - REQUIRE
    - uv_dlerror
    - load_symbol
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_plugin(isc_mem_t *mctx, const char *modpath, ns_plugin_t
      **pluginp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:187,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:192,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/hooks.c:193,1
    - Dst: ns_plugin_t*::destroy_func
      Src: /src/bind9/lib/ns/hooks.c:197,1
    - Dst: uv_dlclose
      Src: /src/bind9/lib/ns/hooks.c:200,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/hooks.c:201,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/hooks.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pluginp
    argTypes:
    - ns_plugin_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: unload_plugin
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - ns_plugin_t*::destroy_func
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - isc_log_write
    - uv_dlclose
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void unload_plugin(ns_plugin_t **pluginp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:213,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:215,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:218,1
    - Dst: load_plugin
      Src: /src/bind9/lib/ns/hooks.c:218,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:220,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:223,1
    - Dst: ns_plugin_t*::register_func
      Src: /src/bind9/lib/ns/hooks.c:223,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/hooks.c:226,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - modpath
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    - view
    argTypes:
    - char*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 234
    functionName: ns_plugin_register
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_APPEND
    - unload_plugin
    - CHECK
    - isc_log_write
    - REQUIRE
    - ns_plugin_t*::register_func
    - load_plugin
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_plugin_register(const char *modpath, const char *parameters,
      const void *cfg,\n\t\t   const char *cfg_file, unsigned long cfg_line,\n\t\t
      \  isc_mem_t *mctx, void *actx, dns_view_t *view)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:243,1
    - Dst: load_plugin
      Src: /src/bind9/lib/ns/hooks.c:243,1
    - Dst: ns_plugin_t*::check_func
      Src: /src/bind9/lib/ns/hooks.c:245,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - modpath
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - actx
    argTypes:
    - char*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: ns_plugin_check
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 0
    functionsReached:
    - CHECK
    - ns_plugin_t*::check_func
    - load_plugin
    - unload_plugin
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_plugin_check(const char *modpath, const char *parameters,
      const void *cfg,\n\t\tconst char *cfg_file, unsigned long cfg_line, isc_mem_t
      *mctx,\n\t\tvoid *actx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/hooks.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hooktable
    argTypes:
    - ns_hooktable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: ns_hooktable_init
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void ns_hooktable_init(ns_hooktable_t *hooktable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:269,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:271,1
    - Dst: ns_hooktable_init
      Src: /src/bind9/lib/ns/hooks.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - tablep
    argTypes:
    - isc_mem_t*
    - ns_hooktable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: ns_hooktable_create
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 6
    functionsReached:
    - ns_hooktable_init
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_hooktable_create(isc_mem_t *mctx, ns_hooktable_t **tablep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:285,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/hooks.c:291,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/hooks.c:292,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/hooks.c:294,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/hooks.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mctx
    - tablep
    argTypes:
    - isc_mem_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: ns_hooktable_free
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 5
    functionsReached:
    - isc_mem_putanddetach
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void ns_hooktable_free(isc_mem_t *mctx, void **tablep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:308,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:309,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:311,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:313,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/hooks.c:318,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/hooks.c:320,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/hooks.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - hooktable
    - mctx
    - hookpoint
    - hook
    argTypes:
    - ns_hooktable_t*
    - isc_mem_t*
    - ns_hookpoint_t
    - ns_hook_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: ns_hook_add
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 8
    functionsReached:
    - isc_mem_attach
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void ns_hook_add(ns_hooktable_t *hooktable, isc_mem_t *mctx,\n\t    ns_hookpoint_t
      hookpoint, const ns_hook_t *hook)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:328,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:330,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/hooks.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - listp
    argTypes:
    - isc_mem_t*
    - ns_plugins_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: ns_plugins_create
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_INIT
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_plugins_create(isc_mem_t *mctx, ns_plugins_t **listp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:341,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/hooks.c:346,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/hooks.c:347,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:348,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/hooks.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mctx
    - listp
    argTypes:
    - isc_mem_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: ns_plugins_free
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 0
    functionsReached:
    - unload_plugin
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void ns_plugins_free(isc_mem_t *mctx, void **listp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 292
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: FAIL
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: FAILC
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILC(code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: PREREQFAILC
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREREQFAILC(code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: FAILN
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILN(code, name, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 164
    functionName: PREREQFAILN
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREREQFAILN(code, name, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - type
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 190
    functionName: FAILNT
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILNT(code, name, type, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - type
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: PREREQFAILNT
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREREQFAILNT(code, name, type, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: FAILS
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILS(code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: TCPCLIENT
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCPCLIENT(client)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:296,1
    - Dst: va_start
      Src: /src/bind9/lib/ns/update.c:300,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/ns/update.c:301,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/update.c:302,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:305,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:305,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:307,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/ns/update.c:307,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:310,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - client
    - zone
    - level
    - fmt
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 318
    functionName: update_log
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - va_end
    - dns_rdataclass_format
    - ns_client_log
    - va_start
    - dns_zone_getorigin
    - dns_name_format
    - dns_zone_getclass
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void update_log(ns_client_t *client, dns_zone_t *zone, int level,
      const char *fmt,\n\t   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - zone
    - level
    - message
    argTypes:
    - void*
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: update_log_cb
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - update_log
    linkageType: ''
    returnType: void
    signature: void update_log_cb(void *arg, dns_zone_t *zone, int level, const char
      *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/update.c:330,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/update.c:333,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/update.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - client
    - zone
    - counter
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ns_stats_increment
    - dns_zone_getrequeststats
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t
      counter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/ns/update.c:353,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/update.c:356,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:360,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:361,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:364,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:369,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:370,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - client
    - queryacl
    - zonename
    - updateacl
    - ssutable
    argTypes:
    - ns_client_t*
    - dns_acl_t*
    - dns_name_t*
    - dns_acl_t*
    - dns_ssutable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 379
    functionName: checkqueryacl
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ns_client_checkaclsilent
    - dns_acl_isnone
    - dns_rdataclass_format
    - ns_client_log
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t checkqueryacl(ns_client_t *client, dns_acl_t *queryacl,
      dns_name_t *zonename,\n\t      dns_acl_t *updateacl, dns_ssutable_t *ssutable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/update.c:407,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/update.c:410,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/update.c:412,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:420,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:421,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:426,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:427,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:430,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - client
    - acl
    - message
    - zonename
    - secondary
    - has_ssutable
    argTypes:
    - ns_client_t*
    - dns_acl_t*
    - char*
    - dns_name_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 434
    functionName: checkupdateacl
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - ns_client_checkaclsilent
    - dns_rdataclass_format
    - ns_client_log
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t checkupdateacl(ns_client_t *client, dns_acl_t *acl, const
      char *message,\n\t       dns_name_t *zonename, bool secondary, bool has_ssutable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:453,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:454,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/ns/update.c:459,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:460,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/update.c:462,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tuple
    - db
    - ver
    - diff
    argTypes:
    - dns_difftuple_t**
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 475
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    - dns_diff_apply
    - dns_diff_init
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t
      *ver,\n\t     dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:488,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:489,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:490,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:490,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - updates
    - db
    - ver
    - diff
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 497
    functionName: do_diff
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    - do_one_tuple
    - CHECK
    - ISC_LIST_UNLINK
    - dns_diff_clear
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_diff(dns_diff_t *updates, dns_db_t *db, dns_dbversion_t
      *ver,\n\tdns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:505,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - db
    - ver
    - diff
    - op
    - name
    - ttl
    - rdata
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - dns_diffop_t
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 507
    functionName: update_one_rr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - do_one_tuple
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t
      *diff,\n\t      dns_diffop_t op, dns_name_t *name, dns_ttl_t ttl,\n\t      dns_rdata_t
      *rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - rdataset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 567
    functionName: foreach_node_rr_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t foreach_node_rr_action(void *data, dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/update.c:586,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:592,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/update.c:593,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:594,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/update.c:597,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/ns/update.c:606,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/update.c:613,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:617,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/ns/update.c:622,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - action
    - action_data
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - rrset_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 628
    functionName: foreach_rrset
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_db_findnodeext
    - dns_db_allrdatasets
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t      rrset_func *action, void *action_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/update.c:613,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:617,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 621
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/ns/update.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - rr_action
    - rr_action_data
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - rr_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: foreach_node_rr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t foreach_node_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t\trr_func *rr_action, void *rr_action_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/update.c:668,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:674,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/update.c:675,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:676,1
    - Dst: foreach_node_rr
      Src: /src/bind9/lib/ns/update.c:679,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/ns/update.c:687,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/update.c:689,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:698,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:699,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/update.c:712,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/update.c:713,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/ns/update.c:714,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:719,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:729,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:731,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 7
    argNames:
    - db
    - ver
    - name
    - type
    - covers
    - rr_action
    - rr_action_data
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - rr_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 734
    functionName: foreach_rr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - dns_db_detachnode
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - dns_fixedname_initname
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_findnsec3node
    - foreach_node_rr
    - dns_rdataset_disassociate
    - dns_db_findnodeext
    - dns_name_copy
    - dns_rdataset_init
    - dns_db_closeversion
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t   dns_rdatatype_t type, dns_rdatatype_t covers, rr_func *rr_action,\n\t
      \  void *rr_action_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 725
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 757
    functionName: count_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t count_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:764,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: rrset_exists_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rrset_exists_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - db
    - ver
    - name
    - type
    - covers
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 800
    functionName: rrset_exists
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rrset_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t     dns_rdatatype_t type, dns_rdatatype_t covers, bool *exists)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:807,1
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/lib/ns/update.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 814
    functionName: cname_compatibility_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_atcname
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cname_compatibility_action(void *data, dns_rdataset_t
      *rrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/ns/update.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - ver
    - name
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: cname_incompatible_rrset_exists
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cname_incompatible_rrset_exists(dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t\t\tdns_name_t *name, bool *exists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 841
    functionName: count_rr_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t count_rr_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - db
    - ver
    - name
    - type
    - covers
    - countp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 851
    functionName: rr_count
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rr_count(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t dns_rdatatype_t type, dns_rdatatype_t covers, int *countp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:859,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 862
    functionName: name_exists_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t name_exists_action(void *data, dns_rdataset_t *rrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/ns/update.c:871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - ver
    - name
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 873
    functionName: name_exists
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t    bool *exists)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:933,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/update.c:934,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:938,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:940,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:941,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:945,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:946,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:949,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:957,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:959,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 965
    functionName: ssu_checkrule
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_ssutable_checkrules
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ssu_checkrule(void *data, dns_rdataset_t *rrset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:938,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:940,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:941,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:945,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:946,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 956
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_ssutable_checkrules
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/ns/update.c:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 9
    argNames:
    - db
    - ver
    - name
    - ssutable
    - signer
    - addr
    - aclenv
    - tcp
    - key
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_ssutable_t*
    - dns_name_t*
    - isc_netaddr_t*
    - dns_aclenv_t*
    - bool
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 983
    functionName: ssu_checkall
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: bool
    signature: "bool ssu_checkall(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,\n\t
      \    dns_ssutable_t *ssutable, dns_name_t *signer, isc_netaddr_t *addr,\n\t
      \    dns_aclenv_t *aclenv, bool tcp, dst_key_t *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:995,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:996,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1000,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1001,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 1010
    functionName: ssu_checkrr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_ssutable_checkrules
    - RUNTIME_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ssu_checkrr(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/update.c:1031,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/ns/update.c:1031,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1032,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - diff
    - name
    - rdata
    argTypes:
    - dns_diff_t*
    - dns_name_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1035
    functionName: temp_append
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - REQUIRE
    - DNS_DIFF_VALID
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: void temp_append(dns_diff_t *diff, dns_name_t *name, dns_rdata_t *rdata)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1049,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1051,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1052,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1052,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1053,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1056,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dns_difftuple_t*
    - dns_difftuple_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1063
    functionName: temp_check_rrset
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - dns_name_equal
    - INSIST
    - dns_rdata_casecompare
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t temp_check_rrset(dns_difftuple_t *a, dns_difftuple_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/ns/update.c:1077,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1085,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1087
    functionName: temp_order
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    - dns_rdata_casecompare
    linkageType: ''
    returnType: int
    signature: int temp_order(const void *av, const void *bv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:1108,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1115,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/update.c:1118,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/ns/update.c:1123,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1125,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1129,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1134,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/update.c:1143,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/ns/update.c:1144,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1146,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1147,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:1157,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:1158,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1162,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1163,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:1167,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:1168,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:1172,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:1173,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/ns/update.c:1176,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1186,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1189,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:1190,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:1191,1
    - Dst: temp_check_rrset
      Src: /src/bind9/lib/ns/update.c:1196,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1196,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1197,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/ns/update.c:1207,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/ns/update.c:1208,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:1209,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1214,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1215,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1216,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:1217,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1218,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1222,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1225,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 73
    argCount: 6
    argNames:
    - mctx
    - temp
    - db
    - ver
    - tmpname
    - typep
    argTypes:
    - isc_mem_t*
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1099
    functionDepth: 2
    functionLinenumber: 1099
    functionLinenumberEnd: 1227
    functionName: temp_check
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - ISC_LIST_APPENDLIST
    - dns_rdataset_init
    - dns_diff_init
    - ISC_LIST_HEAD
    - dns_db_findnode
    - temp_check_rrset
    - dns_name_copy
    - ISC_LIST_NEXT
    - ISC_LIST_UNLINK
    - dns_diff_clear
    - dns_rdatatype_issig
    - ISC_LIST_APPEND
    - dns_rdata_covers
    - dns_name_equal
    - dns_diff_sort
    - temp_append
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t
      *db,\n\t   dns_dbversion_t *ver, dns_name_t *tmpname, dns_rdatatype_t *typep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:1172,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1170
    functionDepth: 2
    functionLinenumber: 1170
    functionLinenumberEnd: 1174
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - temp_append
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:1257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1265
    functionName: type_not_soa_nor_ns_p
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool type_not_soa_nor_ns_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:1272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1277
    functionName: type_not_dnssec
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool type_not_dnssec(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:1284,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1287
    functionName: true_p
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1300
    functionName: rr_equal_p
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_casecompare
    linkageType: ''
    returnType: bool
    signature: bool rr_equal_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1339,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1340,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1341,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1342,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1357,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:1358,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1366,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:1372,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1379
    functionName: replaces_p
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - INSIST
    - RUNTIME_CHECK
    linkageType: ''
    returnType: bool
    signature: bool replaces_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_one_rr
      Src: /src/bind9/lib/ns/update.c:1389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1396
    functionName: delete_if_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t delete_if_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - predicate
    - db
    - ver
    - name
    - type
    - covers
    - update_rr
    - diff
    argTypes:
    - rr_predicate*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - dns_rdata_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1417
    functionName: delete_if
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_if(rr_predicate *predicate, dns_db_t *db, dns_dbversion_t
      *ver,\n\t  dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers,\n\t
      \ dns_rdata_t *update_rr, dns_diff_t *diff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/ns/update.c:1430,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1441,1
    - Dst: replaces_p
      Src: /src/bind9/lib/ns/update.c:1451,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1452,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/ns/update.c:1454,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1463,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/ns/update.c:1465,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1467,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/ns/update.c:1470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1475
    functionName: add_rr_prepare_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_caseequal
    - replaces_p
    - dns_diff_append
    - dns_difftuple_create
    - dns_rdata_casecompare
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_rr_prepare_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1495,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1496,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1497,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1497,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/update.c:1500,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1501,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:1502,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1503,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/update.c:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - zoneclass
    - name
    - rdata
    - covers
    - ttl
    - update_class
    argTypes:
    - dns_rdataclass_t
    - dns_name_t*
    - dns_rdata_t*
    - dns_rdatatype_t*
    - dns_ttl_t*
    - dns_rdataclass_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1506
    functionName: get_current_rr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - dns_rdataset_next
    - dns_rdataset_current
    - INSIST
    - dns_rdataset_first
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: "void get_current_rr(dns_rdataclass_t zoneclass, dns_name_t *name,
      dns_rdata_t *rdata,\n\t       dns_rdatatype_t *covers, dns_ttl_t *ttl,\n\t       dns_rdataclass_t
      *update_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1528,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/ns/update.c:1528,1
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/ns/update.c:1529,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/update.c:1532,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/lib/ns/update.c:1533,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/ns/update.c:1534,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1535,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:1535,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1536,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:1536,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/update.c:1541,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/update.c:1544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - db
    - ver
    - diff
    - mctx
    - method
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - isc_mem_t*
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1520
    functionDepth: 1
    functionLinenumber: 1520
    functionLinenumberEnd: 1547
    functionName: update_soa_serial
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_copy
    - do_one_tuple
    - dns_soa_getserial
    - CHECK
    - dns_soa_setserial
    - dns_update_soaserial
    - dns_db_createsoatuple
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_soa_serial(dns_db_t *db, dns_dbversion_t *ver,
      dns_diff_t *diff,\n\t\t  isc_mem_t *mctx, dns_updatemethod_t method)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/update.c:1576,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/ns/update.c:1578,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/ns/update.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - db
    - ver
    - update_rdata
    - ok
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdata_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1590
    functionName: check_soa_increment
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_getsoaserial
    - dns_soa_getserial
    - DNS_SERIAL_GE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_soa_increment(dns_db_t *db, dns_dbversion_t *ver,\n\t\t
      \   dns_rdata_t *update_rdata, bool *ok)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1615,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/update.c:1615,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:1616,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/ns/update.c:1617,1
    - Dst: dns_zone_getssutable
      Src: /src/bind9/lib/ns/update.c:1618,1
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/update.c:1619,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:1620,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1627,1
    - Dst: checkqueryacl
      Src: /src/bind9/lib/ns/update.c:1627,1
    - Dst: dns_zone_getqueryacl
      Src: /src/bind9/lib/ns/update.c:1627,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:1628,1
    - Dst: dns_zone_getupdateacl
      Src: /src/bind9/lib/ns/update.c:1629,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1635,1
    - Dst: checkupdateacl
      Src: /src/bind9/lib/ns/update.c:1635,1
    - Dst: dns_zone_getupdateacl
      Src: /src/bind9/lib/ns/update.c:1635,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:1636,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1638,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1639,1
    - Dst: checkupdateacl
      Src: /src/bind9/lib/ns/update.c:1639,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:1640,1
    - Dst: dns_zone_getupdatedisabled
      Src: /src/bind9/lib/ns/update.c:1643,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1644,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/ns/update.c:1655,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1665,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:1666,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:1669,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1670,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1678,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1679,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/ns/update.c:1681,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:1683,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/lib/ns/update.c:1688,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1691,1
    - Dst: FAILNT
      Src: /src/bind9/lib/ns/update.c:1692,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1698,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1701,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1704,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1705,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1708,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:1711,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1720,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1723,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1726,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1728,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/update.c:1742,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1753,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1754,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1762,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1763,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1779,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:1782,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1786,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1793,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:1793,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1795,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1797,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1801,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1806,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1808,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1812,1
    - Dst: dns_ssurule_max
      Src: /src/bind9/lib/ns/update.c:1815,1
    - Dst: ssu_checkall
      Src: /src/bind9/lib/ns/update.c:1818,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1821,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1823,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1831,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/update.c:1833,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1835,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1837,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/update.c:1838,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1840,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/update.c:1843,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/update.c:1852,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:1853,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/ns/update.c:1853,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:1858,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/update.c:1859,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/update.c:1863,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/ns/update.c:1867,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 137
    argCount: 2
    argNames:
    - client
    - zone
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1598
    functionDepth: 3
    functionLinenumber: 1598
    functionLinenumberEnd: 1871
    functionName: send_update
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 4
    functionsReached:
    - checkqueryacl
    - dns_zone_getupdateacl
    - isc_async_run
    - dns_zone_checknames
    - dns_zone_getorigin
    - ns_stats_increment
    - checkupdateacl
    - dns_rdata_tostruct
    - FAILC
    - dns_name_issubdomain
    - dns_db_detach
    - isc_quota_acquire
    - dns_zone_getloop
    - isc_nmhandle_attach
    - dns_db_origin
    - dns_zone_getupdatedisabled
    - dns_db_currentversion
    - dns_zone_getssutable
    - isc_netaddr_fromsockaddr
    - RUNTIME_CHECK
    - INSIST
    - dns_rdatatype_ismeta
    - dns_ssutable_checkrules
    - isc_mem_get
    - FAILNT
    - dns_zone_getoptions
    - isc_mem_cput
    - FAIL
    - dns_rdata_checksvcb
    - rr_exists
    - dns_db_class
    - isc_mem_cget
    - update_log
    - TCPCLIENT
    - dns_zone_getdb
    - isc_result_totext
    - dns_zone_getqueryacl
    - dns_name_equal
    - CHECK
    - ssu_checkall
    - foreach_rr
    - dns_ssutable_detach
    - dns_ssurule_max
    - get_current_rr
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t send_update(ns_client_t *client, dns_zone_t *zone)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1665,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:1666,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:1669,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1670,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1678,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1679,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/ns/update.c:1681,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:1683,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/lib/ns/update.c:1688,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1691,1
    - Dst: FAILNT
      Src: /src/bind9/lib/ns/update.c:1692,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1698,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1701,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1704,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1705,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1708,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:1711,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1720,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1723,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1726,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1728,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/update.c:1742,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1753,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1754,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1762,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1763,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1779,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:1782,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1786,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1793,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:1793,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1795,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1797,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1801,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1806,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1808,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1812,1
    - Dst: dns_ssurule_max
      Src: /src/bind9/lib/ns/update.c:1815,1
    - Dst: ssu_checkall
      Src: /src/bind9/lib/ns/update.c:1818,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1821,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1823,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1660
    functionDepth: 2
    functionLinenumber: 1660
    functionLinenumberEnd: 1829
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_checknames
    - dns_rdata_tostruct
    - FAILC
    - dns_name_issubdomain
    - isc_netaddr_fromsockaddr
    - RUNTIME_CHECK
    - dns_rdatatype_ismeta
    - INSIST
    - dns_ssutable_checkrules
    - FAILNT
    - FAIL
    - dns_rdata_checksvcb
    - rr_exists
    - update_log
    - dns_name_equal
    - isc_result_totext
    - TCPCLIENT
    - CHECK
    - ssu_checkall
    - foreach_rr
    - dns_ssurule_max
    - get_current_rr
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (request, DNS_SECTION_UPDATE, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/update.c:1877,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/update.c:1879,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1882,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/update.c:1883,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:1884,1
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/update.c:1888,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/update.c:1889,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:1890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1891
      start: 1873
    functionDepth: 2
    functionLinenumber: 1873
    functionLinenumberEnd: 1891
    functionName: respond
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_detach
    - dns_message_reply
    - ns_client_drop
    - isc_result_totext
    - dns_result_torcode
    - isc_log_write
    - ns_client_send
    linkageType: ''
    returnType: void
    signature: void respond(ns_client_t *client, isc_result_t result)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/update.c:1906,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:1912,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1913,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1920,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1921,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1923,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1925,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1926,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1931,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1932,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/update.c:1936,1
    - Dst: FAILN
      Src: /src/bind9/lib/ns/update.c:1939,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/ns/update.c:1947,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:1949,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/ns/update.c:1950,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:1951,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/update.c:1954,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:1962,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/ns/update.c:1964,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1965,1
    - Dst: send_update
      Src: /src/bind9/lib/ns/update.c:1965,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/ns/update.c:1969,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1970,1
    - Dst: send_forward
      Src: /src/bind9/lib/ns/update.c:1970,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1973,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:1979,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/update.c:1988,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:1989,1
    - Dst: respond
      Src: /src/bind9/lib/ns/update.c:1991,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:1995,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - client
    - handle
    - sigresult
    argTypes:
    - ns_client_t*
    - isc_nmhandle_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1997
    functionName: ns_update_start
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - FAILN
    - dns_zone_detach
    - dns_zone_getraw
    - ISC_LIST_HEAD
    - FAILC
    - isc_nmhandle_attach
    - dns_zone_gettype
    - dns_message_clonebuffer
    - send_update
    - dns_view_findzone
    - ISC_LIST_NEXT
    - ISC_LIST_EMPTY
    - inc_stats
    - ns_client_drop
    - FAIL
    - send_forward
    - dns_zone_attach
    - isc_nmhandle_detach
    - CHECK
    - respond
    linkageType: ''
    returnType: void
    signature: "void ns_update_start(ns_client_t *client, isc_nmhandle_t *handle,\n\t\tisc_result_t
      sigresult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2011,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2013,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2021,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2021,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2024,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:2024,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2028,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:2028,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2034,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2035,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2036,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - db
    - newver
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2039
    functionName: remove_orphaned_ds
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - dns_name_equal
    - delete_if
    - CHECK
    - dns_diff_init
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_db_origin
    - rrset_exists
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t remove_orphaned_ds(dns_db_t *db, dns_dbversion_t *newver,
      dns_diff_t *diff)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/update.c:2062,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/update.c:2063,1
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/update.c:2064,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2066,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2073,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:2074,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2079,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2080,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/update.c:2083,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:2085,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:2086,1
    - Dst: inet_pton
      Src: /src/bind9/lib/ns/update.c:2088,1
    - Dst: inet_pton
      Src: /src/bind9/lib/ns/update.c:2089,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2096,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:2098,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2101,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:2104,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/ns/update.c:2113,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/ns/update.c:2120,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2129,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2135,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2140,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2141,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 5
    argNames:
    - client
    - zone
    - db
    - newver
    - diff
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2044
    functionDepth: 1
    functionLinenumber: 2044
    functionLinenumberEnd: 2148
    functionName: check_mx
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - strlcpy
    - dns_fixedname_initname
    - dns_db_find
    - update_log
    - isc_result_totext
    - strlen
    - inet_pton
    - ISC_LIST_FOREACH
    - dns_zone_getoptions
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_mx(ns_client_t *client, dns_zone_t *zone, dns_db_t
      *db,\n\t dns_dbversion_t *newver, dns_diff_t *diff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:2157,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/ns/update.c:2159,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/ns/update.c:2161,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2168,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:2170,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2181,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:2182,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:2187,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:2192,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - rdata
    - flag
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdata_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2195
    functionName: rr_exists
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 2
    functionsReached:
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_findnsec3node
    - dns_rdata_casecompare
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t  const dns_rdata_t *rdata, bool *flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2181,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:2182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2186
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_casecompare
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:2206,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/update.c:2208,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:2212,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2223,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2224,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2224,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:2233,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:2240,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2254,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/ns/update.c:2255,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2260,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2260,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:2275,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/update.c:2277,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:2278,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 4
    argNames:
    - db
    - ver
    - privatetype
    - iterationsp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2197
    functionDepth: 1
    functionLinenumber: 2197
    functionLinenumberEnd: 2281
    functionName: get_iterations
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_iterations(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t
      privatetype,\n\t       unsigned int *iterationsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2223,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2224,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2231
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - CHECK
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2254,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/ns/update.c:2255,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2260,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2267
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - CHECK
    - dns_rdataset_current
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/ns/update.c:2292,1
    - Dst: dns_zone_check_dnskey_nsec3
      Src: /src/bind9/lib/ns/update.c:2295,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2296,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2303,1
    - Dst: get_iterations
      Src: /src/bind9/lib/ns/update.c:2303,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/ns/update.c:2304,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - client
    - zone
    - db
    - ver
    - diff
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2287
    functionDepth: 2
    functionLinenumber: 2287
    functionLinenumberEnd: 2313
    functionName: check_dnssec
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_check_dnskey_nsec3
    - dns_zone_getprivatetype
    - update_log
    - CHECK
    - get_iterations
    - dns_nsec3_maxiterations
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_dnssec(ns_client_t *client, dns_zone_t *zone, dns_db_t
      *db,\n\t     dns_dbversion_t *ver, dns_diff_t *diff)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:2328,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/ns/update.c:2329,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2333,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/update.c:2333,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2336,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2341,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2343,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2347,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2348,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2355,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2372,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:2378,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2381,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2383,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2387,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2394,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2401,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2402,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2403,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2405,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2416,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2429,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2431,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2431,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2432,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2433,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2442,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2463,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:2472,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2475,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2478,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2479,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2480,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/ns/update.c:2487,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/ns/update.c:2500,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2508,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2508,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2511,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2514,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2514,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2523,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2523,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2526,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2529,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2529,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2536,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2537,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2539,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2539,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2540,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2541,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/update.c:2542,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2544,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2548,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2552,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2554,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/ns/update.c:2558,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2563,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2563,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2566,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2566,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2570,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2572,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2572,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2574,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2576,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2576,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2577,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2578,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/update.c:2579,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2584,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 117
    argCount: 5
    argNames:
    - client
    - zone
    - db
    - ver
    - diff
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2586
    functionName: add_nsec3param_records
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_toprivate
    - memcmp
    - dns_zone_getorigin
    - dns_diff_init
    - dns_rdata_reset
    - ISC_LIST_HEAD
    - do_one_tuple
    - dns_nsec_nseconly
    - ISC_LIST_NEXT
    - dns_diff_appendminimal
    - dns_difftuple_create
    - ISC_LOG_DEBUG
    - INSIST
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - rr_exists
    - ISC_LIST_APPEND
    - dns_zone_getprivatetype
    - update_log
    - dns_name_equal
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_nsec3param_records(ns_client_t *client, dns_zone_t
      *zone, dns_db_t *db,\n\t\t       dns_dbversion_t *ver, dns_diff_t *diff)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:2594,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2602,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2607,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2609,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2624,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/update.c:2625,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2631,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2634,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2636,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2636,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - db
    - privatetype
    - ver
    - diff
    argTypes:
    - dns_db_t*
    - dns_rdatatype_t
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2643
      start: 2588
    functionDepth: 1
    functionLinenumber: 2588
    functionLinenumberEnd: 2643
    functionName: rollback_private
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - dns_difftuple_create
    - do_one_tuple
    - dns_name_equal
    - dns_diff_clear
    - CHECK
    - ISC_LIST_UNLINK
    - dns_db_origin
    - ISC_LIST_FOREACH
    - dns_diff_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rollback_private(dns_db_t *db, dns_rdatatype_t privatetype,\n\t\t
      dns_dbversion_t *ver, dns_diff_t *diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/update.c:2650,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/ns/update.c:2654,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:2656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - db
    - ver
    - privatetype
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2645
    functionDepth: 1
    functionLinenumber: 2645
    functionLinenumberEnd: 2658
    functionName: isdnssec
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_private_chains
    - dns_db_issecure
    - RUNTIME_CHECK
    linkageType: ''
    returnType: bool
    signature: bool isdnssec(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype)
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/ns/update.c:2684,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2690,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2691,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2693,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/update.c:2693,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:2694,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/ns/update.c:2695,1
    - Dst: dns_zone_getssutable
      Src: /src/bind9/lib/ns/update.c:2696,1
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/update.c:2697,1
    - Dst: dns_zone_israw
      Src: /src/bind9/lib/ns/update.c:2699,1
    - Dst: dns_zone_issecure
      Src: /src/bind9/lib/ns/update.c:2699,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/ns/update.c:2700,1
    - Dst: dns_zone_israw
      Src: /src/bind9/lib/ns/update.c:2700,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:2706,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2707,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/ns/update.c:2707,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2719,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2723,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:2727,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2728,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2734,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2739,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2739,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2741,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2747,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2747,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2751,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2760,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2765,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2765,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2767,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2773,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2773,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2777,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:2785,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2787,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2795,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/ns/update.c:2802,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:2804,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/update.c:2808,1
    - Dst: temp_check
      Src: /src/bind9/lib/ns/update.c:2809,1
    - Dst: FAILNT
      Src: /src/bind9/lib/ns/update.c:2811,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2817,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2822,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2831,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2833,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2845,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2847,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/ns/update.c:2854,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2858,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2860,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2867,1
    - Dst: cname_incompatible_rrset_exists
      Src: /src/bind9/lib/ns/update.c:2867,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2870,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2877,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2877,1
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/lib/ns/update.c:2880,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2882,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2891,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2891,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2895,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2901,1
    - Dst: check_soa_increment
      Src: /src/bind9/lib/ns/update.c:2901,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2904,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/update.c:2914,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2915,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2919,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2921,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2929,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2944,1
    - Dst: dns_name_internalwildcard
      Src: /src/bind9/lib/ns/update.c:2953,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2956,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2957,1
    - Dst: dns_zone_getmaxttl
      Src: /src/bind9/lib/ns/update.c:2964,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2967,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2977,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:2977,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2980,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:2990,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2998,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2999,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/update.c:3001,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/ns/update.c:3002,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:3004,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/update.c:3007,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3010,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:3011,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:3013,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3015,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:3032,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:3033,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3034,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:3034,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3039,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3040,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:3042,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:3045,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3050,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3051,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/ns/update.c:3054,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3058,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3062,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3070,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3072,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3074,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3080,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3081,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3081,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3086,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3086,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3091,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3095,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3100,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3103,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3105,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3108,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3113,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3113,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3125,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3127,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3135,1
    - Dst: rr_count
      Src: /src/bind9/lib/ns/update.c:3135,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3139,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/ns/update.c:3150,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/ns/update.c:3153,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:3156,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3162,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3165,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3174,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3175,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3177,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3179,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3179,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3191,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3192,1
    - Dst: check_dnssec
      Src: /src/bind9/lib/ns/update.c:3192,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3195,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3197,1
    - Dst: dns_zone_nscheck
      Src: /src/bind9/lib/ns/update.c:3197,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3199,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3206,1
    - Dst: dns_zone_cdscheck
      Src: /src/bind9/lib/ns/update.c:3207,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3209,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3225,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3235,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/ns/update.c:3235,1
    - Dst: dns_zone_getserialupdatemethod
      Src: /src/bind9/lib/ns/update.c:3237,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3240,1
    - Dst: check_mx
      Src: /src/bind9/lib/ns/update.c:3240,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3242,1
    - Dst: remove_orphaned_ds
      Src: /src/bind9/lib/ns/update.c:3242,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3244,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:3244,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3247,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:3247,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3250,1
    - Dst: rollback_private
      Src: /src/bind9/lib/ns/update.c:3250,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3252,1
    - Dst: add_nsec3param_records
      Src: /src/bind9/lib/ns/update.c:3252,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3261,1
    - Dst: dns_nsec3param_deletechains
      Src: /src/bind9/lib/ns/update.c:3261,1
    - Dst: isdnssec
      Src: /src/bind9/lib/ns/update.c:3263,1
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/ns/update.c:3266,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/ns/update.c:3270,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3274,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3276,1
    - Dst: dns_zone_getmaxrecords
      Src: /src/bind9/lib/ns/update.c:3281,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/ns/update.c:3283,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3285,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/ns/update.c:3294,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3296,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/ns/update.c:3300,1
    - Dst: FAILS
      Src: /src/bind9/lib/ns/update.c:3303,1
    - Dst: dns_journal_write_transaction
      Src: /src/bind9/lib/ns/update.c:3306,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/ns/update.c:3308,1
    - Dst: FAILS
      Src: /src/bind9/lib/ns/update.c:3309,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/ns/update.c:3312,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3320,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3323,1
    - Dst: dns_zone_markdirty
      Src: /src/bind9/lib/ns/update.c:3328,1
    - Dst: dns_zone_notify
      Src: /src/bind9/lib/ns/update.c:3333,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3335,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3336,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3346,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3347,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3351,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3352,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3355,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/update.c:3359,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/update.c:3363,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/ns/update.c:3367,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:3372,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3375,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:3376,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 363
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3377
      start: 2660
    functionDepth: 3
    functionLinenumber: 2660
    functionLinenumberEnd: 3377
    functionName: update_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - do_diff
    - dns_diff_init
    - ISC_LIST_HEAD
    - dns_name_issubdomain
    - dns_db_detach
    - delete_if
    - name_exists
    - dns_journal_open
    - dns_rdatatype_format
    - dns_rdatatype_atcname
    - dns_zone_cdscheck
    - dns_db_currentversion
    - remove_orphaned_ds
    - dns_journal_destroy
    - FAIL
    - add_nsec3param_records
    - rr_count
    - dns_zone_getdb
    - dns_zone_getkasp
    - isc_buffer_init
    - isc_result_totext
    - PREREQFAILC
    - isc_mem_cput
    - dns_db_closeversion
    - dns_zone_getserialupdatemethod
    - temp_check
    - dns_nsec3param_deletechains
    - dns_zone_nscheck
    - FAILC
    - dns_zone_issecure
    - dns_name_iswildcard
    - dns_name_format
    - dns_name_internalwildcard
    - isc_log_wouldlog
    - check_mx
    - dns_zone_dnskey_inuse
    - INSIST
    - dns_db_getsize
    - update_one_rr
    - dns_journal_write_transaction
    - dns_zone_getprivatetype
    - update_log
    - dns_rdatatype_atparent
    - isc_buffer_usedlength
    - update_soa_serial
    - dns_zone_getmaxrecords
    - isc_async_run
    - dns_rdatatype_iskeymaterial
    - dns_fixedname_initname
    - dns_zone_israw
    - dns_zone_markdirty
    - dns_db_origin
    - rrset_exists
    - ISC_LIST_EMPTY
    - PREREQFAILNT
    - strlen
    - isdnssec
    - dns_zone_getoptions
    - dns_diff_clear
    - check_dnssec
    - dns_name_equal
    - CHECK
    - dns_diff_sort
    - foreach_rr
    - get_current_rr
    - FAILS
    - dns_rdata_totext
    - snprintf
    - cname_incompatible_rrset_exists
    - dns_zone_getmaxttl
    - dns_zone_notify
    - check_soa_increment
    - rollback_private
    - dns_zone_getssutable
    - dns_update_signatures
    - dns_zone_getjournal
    - FAILNT
    - dns_db_newversion
    - dns_db_class
    - dns_zone_getsigvalidityinterval
    - temp_append
    - PREREQFAILN
    - dns_ssutable_detach
    linkageType: ''
    returnType: void
    signature: void update_action(void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2719,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2723,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:2727,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2728,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2734,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2739,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2739,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2741,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2747,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2747,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2751,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2760,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2765,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2765,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2767,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2773,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2773,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2777,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:2785,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2787,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2713
    functionDepth: 2
    functionLinenumber: 2713
    functionLinenumberEnd: 2789
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    - PREREQFAILNT
    - CHECK
    - name_exists
    - PREREQFAILC
    - PREREQFAILN
    - temp_append
    - get_current_rr
    - rrset_exists
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (request, DNS_SECTION_PREREQUISITE, name)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2831,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2833,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2845,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2847,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/ns/update.c:2854,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2858,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2860,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2867,1
    - Dst: cname_incompatible_rrset_exists
      Src: /src/bind9/lib/ns/update.c:2867,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2870,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2877,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2877,1
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/lib/ns/update.c:2880,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2882,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2891,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2891,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2895,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2901,1
    - Dst: check_soa_increment
      Src: /src/bind9/lib/ns/update.c:2901,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2904,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/update.c:2914,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2915,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2919,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2921,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2929,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2944,1
    - Dst: dns_name_internalwildcard
      Src: /src/bind9/lib/ns/update.c:2953,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2956,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2957,1
    - Dst: dns_zone_getmaxttl
      Src: /src/bind9/lib/ns/update.c:2964,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2967,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2977,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:2977,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2980,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:2990,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2998,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2999,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/update.c:3001,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/ns/update.c:3002,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:3004,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/update.c:3007,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3010,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:3011,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:3013,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3015,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:3032,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:3033,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3034,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:3034,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3039,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3040,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:3042,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:3045,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3050,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3051,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/ns/update.c:3054,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3058,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3062,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3070,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3072,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3074,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3080,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3081,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3081,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3086,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3086,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3091,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3095,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3100,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3103,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3105,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3108,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3113,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3113,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3125,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3127,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3135,1
    - Dst: rr_count
      Src: /src/bind9/lib/ns/update.c:3135,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3139,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/ns/update.c:3150,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/ns/update.c:3153,1
    - Dst: FAIL
      Src: /src/bind9/lib/ns/update.c:3156,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3162,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3165,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3174,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3175,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3177,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3179,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3179,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 179
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3184
      start: 2825
    functionDepth: 2
    functionLinenumber: 2825
    functionLinenumberEnd: 3184
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_iskeymaterial
    - dns_rdata_totext
    - do_diff
    - snprintf
    - cname_incompatible_rrset_exists
    - dns_diff_init
    - dns_zone_getmaxttl
    - delete_if
    - check_soa_increment
    - dns_name_iswildcard
    - dns_name_format
    - dns_rdatatype_atcname
    - dns_rdatatype_format
    - rrset_exists
    - isc_log_wouldlog
    - dns_name_internalwildcard
    - dns_zone_dnskey_inuse
    - INSIST
    - strlen
    - dns_diff_clear
    - update_one_rr
    - FAIL
    - rr_count
    - update_log
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - dns_rdatatype_atparent
    - isc_buffer_usedlength
    - foreach_rr
    - get_current_rr
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (request, DNS_SECTION_UPDATE, name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/update.c:3384,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3388,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3391,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3394,1
    - Dst: respond
      Src: /src/bind9/lib/ns/update.c:3398,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3400,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:3402,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/update.c:3404,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3406
      start: 3379
    functionDepth: 2
    functionLinenumber: 3379
    functionLinenumberEnd: 3406
    functionName: updatedone_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - inc_stats
    - isc_quota_release
    - dns_zone_detach
    - REQUIRE
    - isc_mem_put
    - respond
    linkageType: ''
    returnType: void
    signature: void updatedone_action(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: respond
      Src: /src/bind9/lib/ns/update.c:3416,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3418,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/update.c:3419,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3411
    functionDepth: 2
    functionLinenumber: 3411
    functionLinenumberEnd: 3421
    functionName: forward_fail
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_nmhandle_detach
    - respond
    - isc_quota_release
    linkageType: ''
    returnType: void
    signature: void forward_fail(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:3430,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3431,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3432,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3435,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3436,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:3439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - arg
    - result
    - answer
    argTypes:
    - void*
    - isc_result_t
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3423
    functionDepth: 2
    functionLinenumber: 3423
    functionLinenumberEnd: 3440
    functionName: forward_callback
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_zone_detach
    - inc_stats
    - INSIST
    linkageType: ''
    returnType: void
    signature: void forward_callback(void *arg, isc_result_t result, dns_message_t
      *answer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_sendraw
      Src: /src/bind9/lib/ns/update.c:3447,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/ns/update.c:3448,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3450,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/update.c:3451,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3452,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3454
      start: 3442
    functionDepth: 2
    functionLinenumber: 3442
    functionLinenumberEnd: 3454
    functionName: forward_done
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - isc_quota_release
    - ns_client_sendraw
    - isc_mem_put
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void forward_done(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_forwardupdate
      Src: /src/bind9/lib/ns/update.c:3463,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3466,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3467,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:3468,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3456
    functionDepth: 2
    functionLinenumber: 3456
    functionLinenumberEnd: 3472
    functionName: forward_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_zone_detach
    - dns_zone_forwardupdate
    - inc_stats
    linkageType: ''
    returnType: void
    signature: void forward_action(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkupdateacl
      Src: /src/bind9/lib/ns/update.c:3481,1
    - Dst: dns_zone_getforwardacl
      Src: /src/bind9/lib/ns/update.c:3481,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:3482,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/update.c:3488,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3491,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3493,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3495,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/update.c:3496,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/update.c:3501,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3508,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:3508,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:3509,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/ns/update.c:3509,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:3512,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/update.c:3516,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3517,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/ns/update.c:3517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - client
    - zone
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3520
      start: 3474
    functionDepth: 3
    functionLinenumber: 3474
    functionLinenumberEnd: 3520
    functionName: send_forward
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 1
    functionsReached:
    - isc_quota_release
    - isc_async_run
    - update_log
    - dns_rdataclass_format
    - isc_quota_acquire
    - isc_result_totext
    - ns_client_log
    - isc_mem_get
    - dns_zone_getloop
    - dns_zone_getclass
    - isc_nmhandle_attach
    - dns_zone_getorigin
    - dns_name_format
    - ns_stats_increment
    - checkupdateacl
    - dns_zone_getforwardacl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t send_forward(ns_client_t *client, dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qctx
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: QUERY_ERROR
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUERY_ERROR(qctx, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: PARTIALANSWER
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARTIALANSWER(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: USECACHE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USECACHE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: RECURSIONOK
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECURSIONOK(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: RECURSING
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECURSING(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: WANTRECURSION
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTRECURSION(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: TCP
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCP(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: NEEDTCP
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDTCP(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: WANTDNSSEC
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTDNSSEC(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: WANTAD
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTAD(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: BADCOOKIE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BADCOOKIE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: HAVECOOKIE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVECOOKIE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: WANTCOOKIE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTCOOKIE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: HAVEECS
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVEECS(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: NOAUTHORITY
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOAUTHORITY(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: NOADDITIONAL
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOADDITIONAL(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: SECURE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SECURE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: DNS64
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS64(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: DNS64EXCLUDE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS64EXCLUDE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: REDIRECT
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REDIRECT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: QUERY_ANSWERED
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUERY_ANSWERED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: QUERY_STALEOK
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUERY_STALEOK(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: QUERY_STALETIMEOUT
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUERY_STALETIMEOUT(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: NOQNAME
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOQNAME(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: STALE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: STALE_WINDOW
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALE_WINDOW(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:163,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:166,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:168,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:170,1
    - Dst: isc_thread_self
      Src: /src/bind9/lib/ns/query.c:174,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:178,1
    - Dst: isc_thread_self
      Src: /src/bind9/lib/ns/query.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - client
    - level
    - message
    argTypes:
    - ns_client_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 183
    functionName: client_trace
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - dns_name_format
    - isc_thread_self
    - dns_rdatatype_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void client_trace(ns_client_t *client, int level, const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: CTRACE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTRACE(l, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: CCTRACE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCTRACE(l, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: CTRACE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTRACE(l, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: CCTRACE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCTRACE(l, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: PENDINGOK
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PENDINGOK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: SAVE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAVE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: RESTORE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: get_hooktab
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ns_hooktable_t
    signature: 'ns_hooktable_t *

      get_hooktab(query_ctx_t *qctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _id
    - ','
    - _qctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 296
    functionName: CALL_HOOK
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_HOOK(_id, _qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _id
    - ','
    - _qctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: CALL_HOOK_NORETURN
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_HOOK_NORETURN(_id, _qctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/query.c:525,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/query.c:532,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/query.c:535,1
    - Dst: dns_zone_getrcvquerystats
      Src: /src/bind9/lib/ns/query.c:544,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:546,1
    - Dst: dns_rdatatypestats_increment
      Src: /src/bind9/lib/ns/query.c:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - client
    - counter
    argTypes:
    - ns_client_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 553
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - dns_zone_getrcvquerystats
    - ISC_LIST_HEAD
    - isc_stats_increment
    - dns_rdatatypestats_increment
    - dns_zone_getrequeststats
    - ns_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stats(ns_client_t *client, isc_statscounter_t counter)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:562,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:563,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:563,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:567,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:569,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:572,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:574,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:575,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:578,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:581,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:583,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:584,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:585,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:586,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - client
    - flags
    - extflags
    - buf
    - len
    argTypes:
    - ns_client_t*
    - unsigned int
    - unsigned int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 589
    functionName: ns_client_log_flags
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - TCP
    - WANTRECURSION
    - HAVECOOKIE
    - isc_buffer_putstr
    - isc_buffer_init
    - snprintf
    - isc_buffer_putuint8
    - WANTCOOKIE
    linkageType: ''
    returnType: void
    signature: "void ns_client_log_flags(ns_client_t *client, unsigned int flags,\n\t\t
      \   unsigned int extflags, char *buf, size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/query.c:595,1
    - Dst: dns_ecs_format
      Src: /src/bind9/lib/ns/query.c:596,1
    - Dst: strlcat
      Src: /src/bind9/lib/ns/query.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - client
    - ecsbuf
    - len
    argTypes:
    - ns_client_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: ns_client_log_ecs
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_ecs_format
    - strlcat
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void ns_client_log_ecs(ns_client_t *client, char *ecsbuf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:612,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:616,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:617,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:619,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:620,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/ns/query.c:621,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:622,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/ns/query.c:623,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:625,1
    - Dst: ns_client_log_ecs
      Src: /src/bind9/lib/ns/query.c:626,1
    - Dst: ns_client_log_flags
      Src: /src/bind9/lib/ns/query.c:629,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - client
    - rcode
    argTypes:
    - ns_client_t*
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 638
    functionName: log_response
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataclass_format
    - ns_client_log_ecs
    - isc_buffer_init
    - isc_netaddr_format
    - ns_client_log
    - ns_client_log_flags
    - isc_buffer_putuint8
    - dns_name_format
    - dns_rdatatype_format
    - dns_rcode_totext
    - HAVEECS
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void log_response(ns_client_t *client, dns_rcode_t rcode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:645,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:647,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:652,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:669,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/query.c:670,1
    - Dst: log_response
      Src: /src/bind9/lib/ns/query.c:673,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 640
    functionDepth: 4
    functionLinenumber: 640
    functionLinenumberEnd: 677
    functionName: query_send
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - ISC_LIST_EMPTY
    - log_response
    - inc_stats
    - ns_client_send
    linkageType: ''
    returnType: void
    signature: void query_send(ns_client_t *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:681,1
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/query.c:684,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:687,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:688,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:691,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:694,1
    - Dst: log_queryerror
      Src: /src/bind9/lib/ns/query.c:702,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/query.c:704,1
    - Dst: log_response
      Src: /src/bind9/lib/ns/query.c:709,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - client
    - result
    - line
    argTypes:
    - ns_client_t*
    - isc_result_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 713
    functionName: query_error
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - log_queryerror
    - inc_stats
    - log_response
    - ISC_LOG_DEBUG
    - dns_result_torcode
    - ns_client_error
    linkageType: ''
    returnType: void
    signature: void query_error(ns_client_t *client, isc_result_t result, int line)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:718,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:720,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:722,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/query.c:724,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 726
    functionName: query_next
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - ns_client_drop
    - inc_stats
    linkageType: ''
    returnType: void
    signature: void query_next(ns_client_t *client, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:732,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:738,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client
    - everything
    argTypes:
    - ns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: query_freefreeversions
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void query_freefreeversions(ns_client_t *client, bool everything)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:748,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:748,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:750,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/ns/query.c:754,1
    - Dst: ns_client_t*::query::hookactx::cancel
      Src: /src/bind9/lib/ns/query.c:759,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: ns_query_cancel
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - LOCK
    - UNLOCK
    - REQUIRE
    - NS_CLIENT_VALID
    - dns_resolver_cancelfetch
    - ns_client_t*::query::hookactx::cancel
    linkageType: ''
    returnType: void
    signature: void ns_query_cancel(ns_client_t *client)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:767,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:767,1
    - Dst: ns_query_cancel
      Src: /src/bind9/lib/ns/query.c:776,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:781,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/query.c:782,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:783,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/ns/query.c:784,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:787,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:790,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:793,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:797,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:800,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:803,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:808,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:809,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:812,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:815,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:818,1
    - Dst: query_freefreeversions
      Src: /src/bind9/lib/ns/query.c:821,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:823,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/query.c:824,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:825,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/query.c:826,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:834,1
    - Dst: rpz_st_clear
      Src: /src/bind9/lib/ns/query.c:842,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:844,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/ns/query.c:849,1
    - Dst: recparam_update
      Src: /src/bind9/lib/ns/query.c:859,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - client
    - everything
    argTypes:
    - ns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 863
    functionName: query_reset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - recparam_update
    - query_freefreeversions
    - dns_zone_detach
    - rpz_st_clear
    - dns_message_puttempname
    - dns_db_detach
    - isc_counter_detach
    - CTRACE
    - ns_query_cancel
    - ISC_LIST_INIT
    - ISC_LIST_NEXT
    - ISC_LOG_DEBUG
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_db_detachnode
    - ISC_LIST_INITANDAPPEND
    - ns_client_putrdataset
    - isc_mem_put
    - isc_mem_cput
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void query_reset(ns_client_t *client, bool everything)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: query_reset
      Src: /src/bind9/lib/ns/query.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 865
    functionDepth: 4
    functionLinenumber: 865
    functionLinenumberEnd: 868
    functionName: query_cleanup
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_reset
    linkageType: ''
    returnType: void
    signature: void query_cleanup(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:872,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:872,1
    - Dst: query_reset
      Src: /src/bind9/lib/ns/query.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 4
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: ns_query_free
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - NS_CLIENT_VALID
    - REQUIRE
    - query_reset
    linkageType: ''
    returnType: void
    signature: void ns_query_free(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:879,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:879,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:883,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:884,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:885,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/query.c:891,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:893,1
    - Dst: query_reset
      Src: /src/bind9/lib/ns/query.c:894,1
    - Dst: ns_client_newdbversion
      Src: /src/bind9/lib/ns/query.c:895,1
    - Dst: ns_client_newnamebuf
      Src: /src/bind9/lib/ns/query.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 877
    functionDepth: 4
    functionLinenumber: 877
    functionLinenumberEnd: 897
    functionName: ns_query_init
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_client_newdbversion
    - isc_mutex_init
    - query_reset
    - dns_fixedname_initname
    - ISC_LIST_INIT
    - ns_client_newnamebuf
    - REQUIRE
    - NS_CLIENT_VALID
    linkageType: ''
    returnType: void
    signature: void ns_query_init(ns_client_t *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NS_CLIENT_ACLMSGSIZE
      Src: /src/bind9/lib/ns/query.c:935,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:938,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:942,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:952,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:952,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:954,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:957,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:959,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:969,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:972,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - client
    - name
    - qtype
    - options
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_getdb_options_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 992
    functionName: query_checkcacheaccess
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - NS_CLIENT_ACLMSGSIZE
    - ns_client_checkaclsilent
    - ISC_LOG_DEBUG
    - ns_client_aclmsg
    - ns_client_log
    - dns_ede_add
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_checkcacheaccess(ns_client_t *client, const dns_name_t
      *name,\n\t\t       dns_rdatatype_t qtype, dns_getdb_options_t options)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1004,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:1009,1
    - Dst: query_checkcacheaccess
      Src: /src/bind9/lib/ns/query.c:1010,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:1021,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:1021,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:1032,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:1033,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1049,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1051,1
    - Dst: dns_zone_getqueryacl
      Src: /src/bind9/lib/ns/query.c:1065,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:1088,1
    - Dst: NS_CLIENT_ACLMSGSIZE
      Src: /src/bind9/lib/ns/query.c:1090,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1092,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1092,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:1093,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1096,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1098,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:1102,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1105,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:1108,1
    - Dst: dns_zone_getqueryonacl
      Src: /src/bind9/lib/ns/query.c:1130,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:1135,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:1138,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1141,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/ns/query.c:1156,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 7
    argNames:
    - client
    - name
    - qtype
    - options
    - zone
    - db
    - versionp
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_getdb_options_t
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1158
    functionName: query_validatezonedb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_log_wouldlog
    - SET_IF_NOT_NULL
    - NS_CLIENT_ACLMSGSIZE
    - WANTRECURSION
    - ns_client_checkaclsilent
    - ISC_LOG_DEBUG
    - ns_client_findversion
    - CTRACE
    - dns_zone_getqueryacl
    - ns_client_aclmsg
    - ns_client_log
    - RECURSIONOK
    - REQUIRE
    - dns_zone_gettype
    - dns_zone_getqueryonacl
    - dns_ede_add
    - query_checkcacheaccess
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_validatezonedb(ns_client_t *client, const dns_name_t
      *name,\n\t\t     dns_rdatatype_t qtype, dns_getdb_options_t options,\n\t\t     dns_zone_t
      *zone, dns_db_t *db,\n\t\t     dns_dbversion_t **versionp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1172,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/query.c:1182,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/query.c:1188,1
    - Dst: query_validatezonedb
      Src: /src/bind9/lib/ns/query.c:1195,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:1213,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 7
    argNames:
    - client
    - name
    - qtype
    - options
    - zonep
    - dbp
    - versionp
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_getdb_options_t
    - dns_zone_t**
    - dns_db_t**
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1160
    functionDepth: 4
    functionLinenumber: 1160
    functionLinenumberEnd: 1220
    functionName: query_getzonedb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_zone_detach
    - dns_zone_getdb
    - REQUIRE
    - query_validatezonedb
    - dns_view_findzone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_getzonedb(ns_client_t *client, const dns_name_t
      *name,\n\t\tdns_rdatatype_t qtype, dns_getdb_options_t options,\n\t\tdns_zone_t
      **zonep, dns_db_t **dbp,\n\t\tdns_dbversion_t **versionp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/query.c:1241,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/query.c:1245,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/query.c:1247,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1252,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/ns/query.c:1257,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1261,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1262,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1265,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:1273,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:1274,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:1275,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:1276,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1283,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1285,1
    - Dst: dns_rpz_policy2str
      Src: /src/bind9/lib/ns/query.c:1286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 8
    argNames:
    - client
    - disabled
    - policy
    - type
    - p_zone
    - p_name
    - cname
    - rpz_num
    argTypes:
    - ns_client_t*
    - bool
    - dns_rpz_policy_t
    - dns_rpz_type_t
    - dns_zone_t*
    - dns_name_t*
    - dns_name_t*
    - dns_rpz_num_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1222
    functionDepth: 3
    functionLinenumber: 1222
    functionLinenumberEnd: 1288
    functionName: rpz_log_rewrite
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - DNS_RPZ_ZBIT
    - ISC_LIST_HEAD
    - dns_rpz_type2str
    - isc_stats_increment
    - INSIST
    - dns_rdataclass_format
    - ns_client_log
    - dns_zone_getrequeststats
    - dns_name_format
    - ns_stats_increment
    - dns_rdatatype_format
    - dns_rpz_policy2str
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void rpz_log_rewrite(ns_client_t *client, bool disabled, dns_rpz_policy_t
      policy,\n\t\tdns_rpz_type_t type, dns_zone_t *p_zone, dns_name_t *p_name,\n\t\tdns_name_t
      *cname, dns_rpz_num_t rpz_num)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1300,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1313,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1316,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1324,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1328,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1334,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:1337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 7
    argNames:
    - client
    - level
    - p_name
    - rpz_type1
    - rpz_type2
    - str
    - result
    argTypes:
    - ns_client_t*
    - int
    - dns_name_t*
    - dns_rpz_type_t
    - dns_rpz_type_t
    - char*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1338
    functionName: rpz_log_fail_helper
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rpz_type2str
    - isc_result_totext
    - ns_client_log
    - dns_name_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void rpz_log_fail_helper(ns_client_t *client, int level, dns_name_t
      *p_name,\n\t\t    dns_rpz_type_t rpz_type1, dns_rpz_type_t rpz_type2,\n\t\t
      \   const char *str, isc_result_t result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpz_log_fail_helper
      Src: /src/bind9/lib/ns/query.c:1343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - client
    - level
    - p_name
    - rpz_type
    - str
    - result
    argTypes:
    - ns_client_t*
    - int
    - dns_name_t*
    - dns_rpz_type_t
    - char*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1345
    functionName: rpz_log_fail
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_log_fail_helper
    linkageType: ''
    returnType: void
    signature: "void rpz_log_fail(ns_client_t *client, int level, dns_name_t *p_name,\n\t
      \    dns_rpz_type_t rpz_type, const char *str, isc_result_t result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1358,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1358,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:1361,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1371,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1373,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1375,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1376,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1379,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:1385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - client
    - p_name
    - rpz_type
    - zonep
    - dbp
    - versionp
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rpz_type_t
    - dns_zone_t**
    - dns_db_t**
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1350
    functionDepth: 5
    functionLinenumber: 1350
    functionLinenumberEnd: 1388
    functionName: rpz_getdb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_getzonedb
    - dns_rpz_type2str
    - ISC_LOG_DEBUG
    - rpz_log_fail
    - CTRACE
    - ns_client_log
    - dns_name_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_getdb(ns_client_t *client, dns_name_t *p_name, dns_rpz_type_t
      rpz_type,\n\t  dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1401,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:1403,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:1407,1
    - Dst: query_checkcacheaccess
      Src: /src/bind9/lib/ns/query.c:1409,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - client
    - name
    - qtype
    - dbp
    - options
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_db_t**
    - dns_getdb_options_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1394
    functionDepth: 3
    functionLinenumber: 1394
    functionLinenumberEnd: 1421
    functionName: query_getcachedb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_db_attach
    - USECACHE
    - REQUIRE
    - query_checkcacheaccess
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_getcachedb(ns_client_t *client, const dns_name_t
      *name,\n\t\t dns_rdatatype_t qtype, dns_db_t **dbp,\n\t\t dns_getdb_options_t
      options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1433,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:1436,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:1440,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:1445,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/query.c:1445,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:1453,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:1459,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:1460,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:1461,1
    - Dst: dns_view_searchdlz
      Src: /src/bind9/lib/ns/query.c:1464,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:1474,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1482,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1490,1
    - Dst: query_getcachedb
      Src: /src/bind9/lib/ns/query.c:1515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 8
    argNames:
    - client
    - name
    - qtype
    - options
    - zonep
    - dbp
    - versionp
    - is_zonep
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_getdb_options_t
    - dns_zone_t**
    - dns_db_t**
    - dns_dbversion_t**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1423
    functionDepth: 5
    functionLinenumber: 1423
    functionLinenumberEnd: 1521
    functionName: query_getdb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_getzonedb
    - dns_name_countlabels
    - query_getcachedb
    - dns_clientinfomethods_init
    - ISC_LIST_EMPTY
    - dns_view_searchdlz
    - dns_clientinfo_init
    - dns_clientinfo_setecs
    - dns_db_detach
    - ns_client_findversion
    - dns_zone_detach
    - REQUIRE
    - dns_zone_getorigin
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_getdb(ns_client_t *client, dns_name_t *name, dns_rdatatype_t
      qtype,\n\t    dns_getdb_options_t options, dns_zone_t **zonep, dns_db_t **dbp,\n\t
      \   dns_dbversion_t **versionp, bool *is_zonep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1530,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1530,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:1535,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1541,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1541,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:1552,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/ns/query.c:1557,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1559,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - client
    - name
    - type
    - mnamep
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1523
    functionDepth: 1
    functionLinenumber: 1523
    functionLinenumberEnd: 1561
    functionName: query_isduplicate
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - CTRACE
    - dns_message_findname
    linkageType: ''
    returnType: bool
    signature: "bool query_isduplicate(ns_client_t *client, dns_name_t *name, dns_rdatatype_t
      type,\n\t\t  dns_name_t **mnamep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:1597,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:1598,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:1605,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1609,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1610,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1614,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1616,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:1620,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:1629,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1630,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 9
    argNames:
    - db
    - version
    - name
    - type
    - client
    - nodep
    - fname
    - rdataset
    - sigrdataset
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - ns_client_t*
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1638
    functionName: query_additionalauthfind
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_db_findext
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_additionalauthfind(dns_db_t *db, dns_dbversion_t
      *version,\n\t\t\t const dns_name_t *name, dns_rdatatype_t type,\n\t\t\t ns_client_t
      *client, dns_dbnode_t **nodep,\n\t\t\t dns_name_t *fname, dns_rdataset_t *rdataset,\n\t\t\t
      dns_rdataset_t *sigrdataset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1681,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:1686,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1689,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1689,1
    - Dst: query_additionalauthfind
      Src: /src/bind9/lib/ns/query.c:1691,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:1695,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1702,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:1704,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:1709,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1711,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1711,1
    - Dst: query_additionalauthfind
      Src: /src/bind9/lib/ns/query.c:1713,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1719,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 8
    argNames:
    - qctx
    - name
    - type
    - dbp
    - nodep
    - fname
    - rdataset
    - sigrdataset
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_db_t**
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1660
    functionDepth: 5
    functionLinenumber: 1660
    functionLinenumberEnd: 1729
    functionName: query_additionalauth
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_getzonedb
    - query_additionalauthfind
    - ISC_LOG_DEBUG
    - ns_client_findversion
    - dns_db_detach
    - dns_db_attach
    - dns_zone_detach
    - CTRACE
    - RECURSIONOK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_additionalauth(query_ctx_t *qctx, const dns_name_t
      *name,\n\t\t     dns_rdatatype_t type, dns_db_t **dbp, dns_dbnode_t **nodep,\n\t\t
      \    dns_name_t *fname, dns_rdataset_t *rdataset,\n\t\t     dns_rdataset_t *sigrdataset)"
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1753,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:1753,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1754,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1756,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/ns/query.c:1756,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1760,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1760,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:1762,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:1763,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:1780,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:1781,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1782,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1783,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1784,1
    - Dst: query_additionalauth
      Src: /src/bind9/lib/ns/query.c:1800,1
    - Dst: query_getcachedb
      Src: /src/bind9/lib/ns/query.c:1815,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1826,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:1830,1
    - Dst: dns_cache_updatestats
      Src: /src/bind9/lib/ns/query.c:1836,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1837,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:1838,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1844,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1845,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1847,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1848,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:1851,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1853,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:1878,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:1878,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1882,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:1887,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:1890,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:1905,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1910,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:1911,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1919,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:1920,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:1923,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:1924,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:1929,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1939,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:1941,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1954,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1955,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1958,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1961,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1962,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1964,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1965,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:1967,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:1970,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1976,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1978,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1980,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:1987,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:1988,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:1991,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:1994,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1995,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1997,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:1999,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2001,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2006,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2013,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2016,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2018,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2021,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2023,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2025,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2027,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2029,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2034,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:2038,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2044,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2046,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2048,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:2056,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:2057,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:2060,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:2064,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2065,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2067,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2069,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2071,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2077,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2084,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2087,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2089,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2099,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2099,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:2113,1
    - Dst: dns_rdatatype_followadditional
      Src: /src/bind9/lib/ns/query.c:2122,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/ns/query.c:2126,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2139,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2139,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2140,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2142,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2145,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2148,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2151,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2154,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2154,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 256
    argCount: 4
    argNames:
    - arg
    - name
    - qtype
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 1731
    functionDepth: 6
    functionLinenumber: 1731
    functionLinenumberEnd: 2156
    functionName: query_additional_cb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_followadditional
    - validate
    - dns_clientinfo_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_db_findext
    - dns_clientinfomethods_init
    - dns_rdataset_additionaldata
    - ns_client_newrdataset
    - dns_name_issubdomain
    - WANTDNSSEC
    - ns_client_keepname
    - dns_db_detach
    - dns_rdataset_isassociated
    - CTRACE
    - ns_client_newname
    - ns_client_getnamebuf
    - NS_CLIENT_VALID
    - dns_db_origin
    - dns_rdatatype_isdnssec
    - ISC_LOG_DEBUG
    - dns_db_attach
    - DNS_TRUST_GLUE
    - INSIST
    - dns_message_addname
    - dns_rdataset_clone
    - query_additionalauth
    - query_getcachedb
    - query_isduplicate
    - ISC_LIST_APPEND
    - ns_client_putrdataset
    - ns_client_findversion
    - DNS_TRUST_PENDING
    - dns_db_detachnode
    - ns_client_releasename
    - dns_cache_updatestats
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_additional_cb(void *arg, const dns_name_t *name,
      dns_rdatatype_t qtype,\n\t\t    dns_rdataset_t *found DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - rdataset
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2161
    functionDepth: 1
    functionLinenumber: 2161
    functionLinenumberEnd: 2164
    functionName: query_addtoname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void query_addtoname(dns_name_t *name, dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2174,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2174,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/query.c:2176,1
    - Dst: dns_order_find
      Src: /src/bind9/lib/ns/query.c:2179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qctx
    - name
    - rdataset
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2169
    functionDepth: 1
    functionLinenumber: 2169
    functionLinenumberEnd: 2182
    functionName: query_setorder
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - dns_order_find
    - UNUSED
    - CTRACE
    linkageType: ''
    returnType: void
    signature: void query_setorder(query_ctx_t *qctx, dns_name_t *name, dns_rdataset_t
      *rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2193,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2193,1
    - Dst: NOADDITIONAL
      Src: /src/bind9/lib/ns/query.c:2195,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:2203,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:2207,1
    - Dst: dns_db_addglue
      Src: /src/bind9/lib/ns/query.c:2212,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/ns/query.c:2224,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2226,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - qctx
    - name
    - rdataset
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2187
    functionDepth: 1
    functionLinenumber: 2187
    functionLinenumberEnd: 2227
    functionName: query_additional
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - NOADDITIONAL
    - dns_db_iszone
    - dns_rdataset_additionaldata
    - ISC_LOG_DEBUG
    - ns_client_findversion
    - dns_db_addglue
    - CTRACE
    linkageType: ''
    returnType: void
    signature: "void query_additional(query_ctx_t *qctx, dns_name_t *name,\n\t\t dns_rdataset_t
      *rdataset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2239,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2239,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2241,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:2257,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2264,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2264,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2267,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:2281,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:2283,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:2287,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2289,1
    - Dst: query_addtoname
      Src: /src/bind9/lib/ns/query.c:2303,1
    - Dst: query_setorder
      Src: /src/bind9/lib/ns/query.c:2304,1
    - Dst: query_additional
      Src: /src/bind9/lib/ns/query.c:2305,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2313,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2317,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2321,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2321,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 6
    argNames:
    - qctx
    - namep
    - rdatasetp
    - sigrdatasetp
    - dbuf
    - section
    argTypes:
    - query_ctx_t*
    - dns_name_t**
    - dns_rdataset_t**
    - dns_rdataset_t**
    - isc_buffer_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2322
    functionName: query_addrrset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_setorder
    - ISC_LIST_APPEND
    - ns_client_keepname
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_message_addname
    - dns_rdataset_isassociated
    - CTRACE
    - REQUIRE
    - query_addtoname
    - query_additional
    - ns_client_releasename
    - dns_message_findname
    linkageType: ''
    returnType: void
    signature: "void query_addrrset(query_ctx_t *qctx, dns_name_t **namep,\n\t       dns_rdataset_t
      **rdatasetp, dns_rdataset_t **sigrdatasetp,\n\t       isc_buffer_t *dbuf, dns_section_t
      section)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:2340,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:2341,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/query.c:2346,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:2351,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/lib/ns/query.c:2352,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/ns/query.c:2355,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/ns/query.c:2357,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - client
    - db
    - name
    - rrsig
    - rdataset
    - sigrdataset
    argTypes:
    - ns_client_t*
    - dns_db_t*
    - dns_name_t*
    - dns_rdata_rrsig_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2360
    functionName: mark_secure
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_clientinfomethods_init
    - dns_db_addrdataset
    - dns_clientinfo_init
    - dns_db_findnodeext
    - isc_stdtime_now
    - dns_db_detachnode
    - dns_rdataset_trimttl
    linkageType: ''
    returnType: void
    signature: "void mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name,\n\t
      \   dns_rdata_rrsig_t *rrsig, dns_rdataset_t *rdataset,\n\t    dns_rdataset_t
      *sigrdataset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:2378,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:2379,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2381,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/query.c:2382,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:2388,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2391,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:2400,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:2402,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2405,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:2408,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:2414,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:2415,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2416,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/ns/query.c:2419,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/ns/query.c:2423,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/ns/query.c:2424,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/ns/query.c:2428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - client
    - db
    - rrsig
    - keyrdataset
    - keyp
    argTypes:
    - ns_client_t*
    - dns_db_t*
    - dns_rdata_rrsig_t*
    - dns_rdataset_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2368
    functionDepth: 1
    functionLinenumber: 2368
    functionLinenumberEnd: 2437
    functionName: get_key
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_iszonekey
    - dns_dnssec_keyfromrdata
    - dns_clientinfomethods_init
    - dns_rdataset_next
    - dns_clientinfo_init
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - dst_region_computeid
    - dns_db_findnodeext
    - dns_rdataset_first
    - dns_db_detachnode
    - dns_rdata_toregion
    linkageType: ''
    returnType: bool
    signature: "bool get_key(ns_client_t *client, dns_db_t *db, dns_rdata_rrsig_t
      *rrsig,\n\tdns_rdataset_t *keyrdataset, dst_key_t **keyp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:2446,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/ns/query.c:2449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - key
    - name
    - rdataset
    - rdata
    - client
    argTypes:
    - dst_key_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdata_t*
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2459
    functionName: verify
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 15
    functionsReached:
    - dns_fixedname_init
    - dns_dnssec_verify
    linkageType: ''
    returnType: bool
    signature: "bool verify(dst_key_t *key, dns_name_t *name, dns_rdataset_t *rdataset,\n
      \      dns_rdata_t *rdata, ns_client_t *client)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2472,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:2478,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:2479,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:2480,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/ns/query.c:2481,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2488,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:2491,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/lib/ns/query.c:2492,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2493,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/ns/query.c:2494,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2495,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:2496,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:2498,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/query.c:2499,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:2502,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:2505,1
    - Dst: get_key
      Src: /src/bind9/lib/ns/query.c:2507,1
    - Dst: verify
      Src: /src/bind9/lib/ns/query.c:2510,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2511,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2512,1
    - Dst: mark_secure
      Src: /src/bind9/lib/ns/query.c:2513,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2517,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2519,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2520,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 5
    argNames:
    - client
    - db
    - name
    - rdataset
    - sigrdataset
    argTypes:
    - ns_client_t*
    - dns_db_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2464
    functionDepth: 2
    functionLinenumber: 2464
    functionLinenumberEnd: 2524
    functionName: validate
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 25
    functionsReached:
    - dns_name_totext
    - dns_rdataset_current
    - isc_buffer_putstr
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_resolver_algorithm_supported
    - dns_rdataset_isassociated
    - get_key
    - verify
    - RUNTIME_CHECK
    - dst_algorithm_totext
    - isc_buffer_putuint8
    - dns_ede_add
    - mark_secure
    - dst_key_free
    - isc_buffer_init
    - dst_algorithm_fromdata
    - isc_buffer_base
    linkageType: ''
    returnType: bool
    signature: "bool validate(ns_client_t *client, dns_db_t *db, dns_name_t *name,\n\t
      dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:2478,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:2479,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:2480,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/ns/query.c:2481,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2488,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:2491,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/lib/ns/query.c:2492,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2493,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/ns/query.c:2494,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2495,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:2496,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:2498,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/query.c:2499,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:2502,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:2505,1
    - Dst: get_key
      Src: /src/bind9/lib/ns/query.c:2507,1
    - Dst: verify
      Src: /src/bind9/lib/ns/query.c:2510,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2511,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2512,1
    - Dst: mark_secure
      Src: /src/bind9/lib/ns/query.c:2513,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2517,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2519,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2522
      start: 2476
    functionDepth: 2
    functionLinenumber: 2476
    functionLinenumberEnd: 2522
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - dns_rdataset_current
    - isc_buffer_putstr
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_resolver_algorithm_supported
    - dns_rdataset_isassociated
    - get_key
    - verify
    - RUNTIME_CHECK
    - dst_algorithm_totext
    - isc_buffer_putuint8
    - dns_ede_add
    - mark_secure
    - dst_key_free
    - isc_buffer_init
    - dst_algorithm_fromdata
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (sigrdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2529,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2530,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client
    - rdataset
    argTypes:
    - ns_client_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2533
      start: 2526
    functionDepth: 1
    functionLinenumber: 2526
    functionLinenumberEnd: 2533
    functionName: fixrdataset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - ns_client_newrdataset
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void fixrdataset(ns_client_t *client, dns_rdataset_t **rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:2539,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:2540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - client
    - fname
    - dbuf
    - nbuf
    argTypes:
    - ns_client_t*
    - dns_name_t**
    - isc_buffer_t**
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2542
    functionName: fixfname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_client_getnamebuf
    - ns_client_newname
    linkageType: ''
    returnType: void
    signature: "void fixfname(ns_client_t *client, dns_name_t **fname, isc_buffer_t
      **dbuf,\n\t isc_buffer_t *nbuf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2548,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2548,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:2551,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2554,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2557,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2560,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2563,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/ns/query.c:2566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - client
    - frespp
    argTypes:
    - ns_client_t*
    - dns_fetchresponse_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2567
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2567
    functionName: free_fresp
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - ISC_LOG_DEBUG
    - dns_db_detach
    - ns_client_putrdataset
    - dns_resolver_freefresp
    - CTRACE
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void free_fresp(ns_client_t *client, dns_fetchresponse_t **frespp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/query.c:2574,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/query.c:2588,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/query.c:2594,1
    - Dst: ns_stats_update_if_greater
      Src: /src/bind9/lib/ns/query.c:2597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - client
    - soft_limit
    argTypes:
    - ns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2569
    functionDepth: 3
    functionLinenumber: 2569
    functionLinenumberEnd: 2602
    functionName: recursionquotatype_attach
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_stats_increment
    - ns_stats_update_if_greater
    - isc_quota_acquire
    - isc_quota_release
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t recursionquotatype_attach(ns_client_t *client, bool soft_limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recursionquotatype_attach
      Src: /src/bind9/lib/ns/query.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2604
    functionDepth: 4
    functionLinenumber: 2604
    functionLinenumberEnd: 2607
    functionName: recursionquotatype_attach_hard
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - recursionquotatype_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t recursionquotatype_attach_hard(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recursionquotatype_attach
      Src: /src/bind9/lib/ns/query.c:2611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2609
    functionDepth: 4
    functionLinenumber: 2609
    functionLinenumberEnd: 2612
    functionName: recursionquotatype_attach_soft
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - recursionquotatype_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t recursionquotatype_attach_soft(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/query.c:2616,1
    - Dst: ns_stats_decrement
      Src: /src/bind9/lib/ns/query.c:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2614
    functionDepth: 3
    functionLinenumber: 2614
    functionLinenumberEnd: 2619
    functionName: recursionquotatype_detach
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_stats_decrement
    - isc_quota_release
    linkageType: ''
    returnType: void
    signature: void recursionquotatype_detach(ns_client_t *client)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:2654,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:2655,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:2657,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:2668,1
    - Dst: qctx_init
      Src: /src/bind9/lib/ns/query.c:2670,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:2672,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:2673,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:2674,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:2675,1
    - Dst: qctx_prepare_buffers
      Src: /src/bind9/lib/ns/query.c:2678,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:2687,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:2688,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2694,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2696,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:2699,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:2700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2621
    functionDepth: 1
    functionLinenumber: 2621
    functionLinenumberEnd: 2702
    functionName: stale_refresh_aftermath
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - qctx_freedata
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - dns_clientinfo_setecs
    - qctx_prepare_buffers
    - dns_db_attach
    - dns_db_detach
    - ns_client_log
    - qctx_init
    - qctx_destroy
    - isc_stdtime_now
    - dns_db_findext
    - dns_name_format
    - dns_db_detachnode
    - dns_rdatatype_format
    - HAVEECS
    linkageType: ''
    returnType: void
    signature: void stale_refresh_aftermath(ns_client_t *client, isc_result_t result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2712,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:2712,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2714,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2714,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:2720,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:2722,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:2725,1
    - Dst: stale_refresh_aftermath
      Src: /src/bind9/lib/ns/query.c:2729,1
    - Dst: recursionquotatype_detach
      Src: /src/bind9/lib/ns/query.c:2732,1
    - Dst: free_fresp
      Src: /src/bind9/lib/ns/query.c:2733,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:2734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - resp
    - ctracestr
    - recursion_type
    argTypes:
    - dns_fetchresponse_t*
    - char*
    - ns_query_rectype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2704
    functionDepth: 4
    functionLinenumber: 2704
    functionLinenumberEnd: 2735
    functionName: cleanup_after_fetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - LOCK
    - stale_refresh_aftermath
    - ISC_LOG_DEBUG
    - recursionquotatype_detach
    - INSIST
    - CTRACE
    - UNLOCK
    - REQUIRE
    - free_fresp
    - NS_CLIENT_VALID
    linkageType: ''
    returnType: void
    signature: "void cleanup_after_fetch(dns_fetchresponse_t *resp, const char *ctracestr,\n\t\t
      \   ns_query_rectype_t recursion_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_after_fetch
      Src: /src/bind9/lib/ns/query.c:2739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2737
    functionDepth: 5
    functionLinenumber: 2737
    functionLinenumberEnd: 2740
    functionName: prefetch_done
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - cleanup_after_fetch
    linkageType: ''
    returnType: void
    signature: void prefetch_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_after_fetch
      Src: /src/bind9/lib/ns/query.c:2744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2742
    functionDepth: 5
    functionLinenumber: 2742
    functionLinenumberEnd: 2745
    functionName: rpzfetch_done
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - cleanup_after_fetch
    linkageType: ''
    returnType: void
    signature: void rpzfetch_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup_after_fetch
      Src: /src/bind9/lib/ns/query.c:2749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2747
    functionDepth: 5
    functionLinenumber: 2747
    functionLinenumberEnd: 2750
    functionName: stale_refresh_done
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - cleanup_after_fetch
    linkageType: ''
    returnType: void
    signature: void stale_refresh_done(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: recursionquotatype_attach_hard
      Src: /src/bind9/lib/ns/query.c:2771,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2776,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:2778,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:2798,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:2804,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/ns/query.c:2805,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2811,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:2812,1
    - Dst: recursionquotatype_detach
      Src: /src/bind9/lib/ns/query.c:2813,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - client
    - qname
    - qtype
    - recursion_type
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - ns_query_rectype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2760
    functionDepth: 5
    functionLinenumber: 2760
    functionLinenumberEnd: 2815
    functionName: fetch_and_forget
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - UNREACHABLE
    - TCP
    - ns_client_newrdataset
    - recursionquotatype_attach_hard
    - recursionquotatype_detach
    - ns_client_putrdataset
    - dns_resolver_createfetch
    - isc_nmhandle_attach
    linkageType: ''
    returnType: void
    signature: "void fetch_and_forget(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t
      qtype,\n\t\t ns_query_rectype_t recursion_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2820,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2820,1
    - Dst: FETCH_RECTYPE_PREFETCH
      Src: /src/bind9/lib/ns/query.c:2822,1
    - Dst: fetch_and_forget
      Src: /src/bind9/lib/ns/query.c:2830,1
    - Dst: dns_rdataset_clearprefetch
      Src: /src/bind9/lib/ns/query.c:2832,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/query.c:2833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - client
    - qname
    - rdataset
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2817
    functionDepth: 6
    functionLinenumber: 2817
    functionLinenumberEnd: 2835
    functionName: query_prefetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - FETCH_RECTYPE_PREFETCH
    - ISC_LOG_DEBUG
    - CTRACE
    - dns_rdataset_clearprefetch
    - fetch_and_forget
    - ns_stats_increment
    linkageType: ''
    returnType: void
    signature: "void query_prefetch(ns_client_t *client, dns_name_t *qname,\n\t       dns_rdataset_t
      *rdataset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2841,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2841,1
    - Dst: FETCH_RECTYPE_STALE_REFRESH
      Src: /src/bind9/lib/ns/query.c:2843,1
    - Dst: fetch_and_forget
      Src: /src/bind9/lib/ns/query.c:2857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2859
      start: 2837
    functionDepth: 6
    functionLinenumber: 2837
    functionLinenumberEnd: 2859
    functionName: query_stale_refresh
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - fetch_and_forget
    - FETCH_RECTYPE_STALE_REFRESH
    - CTRACE
    linkageType: ''
    returnType: void
    signature: void query_stale_refresh(ns_client_t *client)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2865,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2866,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2869,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:2872,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2875,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2877,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - zonep
    - dbp
    - nodep
    - rdatasetp
    argTypes:
    - dns_zone_t**
    - dns_db_t**
    - dns_dbnode_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2861
    functionDepth: 1
    functionLinenumber: 2861
    functionLinenumberEnd: 2879
    functionName: rpz_clean
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_zone_detach
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: "void rpz_clean(dns_zone_t **zonep, dns_db_t **dbp, dns_dbnode_t **nodep,\n\t
      \ dns_rdataset_t **rdatasetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:2883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - dns_rpz_st_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2881
    functionDepth: 2
    functionLinenumber: 2881
    functionLinenumberEnd: 2885
    functionName: rpz_match_clear
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_clean
    linkageType: ''
    returnType: void
    signature: void rpz_match_clear(dns_rpz_st_t *st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2889,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2891,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2891,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2894,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2895,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - client
    - rdatasetp
    argTypes:
    - ns_client_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2887
    functionDepth: 1
    functionLinenumber: 2887
    functionLinenumberEnd: 2899
    functionName: rpz_ready
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_client_newrdataset
    - ISC_LOG_DEBUG
    - dns_rdataset_isassociated
    - CTRACE
    - dns_rdataset_disassociate
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rpz_ready(ns_client_t *client, dns_rdataset_t **rdatasetp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2905,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2905,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2908,1
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:2910,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:2912,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2914,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2917,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:2920,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2922,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2901
    functionDepth: 3
    functionLinenumber: 2901
    functionLinenumberEnd: 2930
    functionName: rpz_st_clear
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - rpz_match_clear
    - rpz_clean
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - CTRACE
    linkageType: ''
    returnType: void
    signature: void rpz_st_clear(ns_client_t *client)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2938,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2939,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:2972,1
    - Dst: DNS_RPZ_ZMASK
      Src: /src/bind9/lib/ns/query.c:2985,1
    - Dst: DNS_RPZ_ZMASK
      Src: /src/bind9/lib/ns/query.c:2987,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:2994,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - client
    - ip_type
    - rpz_type
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    - dns_rpz_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2932
    functionDepth: 1
    functionLinenumber: 2932
    functionLinenumberEnd: 2999
    functionName: rpz_get_zbits
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - DNS_RPZ_ZMASK
    - UNREACHABLE
    - RECURSIONOK
    - REQUIRE
    linkageType: ''
    returnType: dns_rpz_zbits_t
    signature: "dns_rpz_zbits_t rpz_get_zbits(ns_client_t *client, dns_rdatatype_t
      ip_type,\n\t      dns_rpz_type_t rpz_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3003,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3003,1
    - Dst: FETCH_RECTYPE_RPZ
      Src: /src/bind9/lib/ns/query.c:3005,1
    - Dst: fetch_and_forget
      Src: /src/bind9/lib/ns/query.c:3009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - client
    - qname
    - type
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 3001
    functionDepth: 6
    functionLinenumber: 3001
    functionLinenumberEnd: 3010
    functionName: query_rpzfetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - fetch_and_forget
    - FETCH_RECTYPE_RPZ
    - CTRACE
    linkageType: ''
    returnType: void
    signature: void query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t
      type)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3030,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3030,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3034,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3035,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:3035,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3036,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:3037,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:3039,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:3041,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:3043,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3046,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3047,1
    - Dst: rpz_ready
      Src: /src/bind9/lib/ns/query.c:3055,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:3067,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3071,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:3075,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:3080,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3085,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:3086,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:3087,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3088,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:3091,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3096,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:3098,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3099,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3103,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3105,1
    - Dst: query_rpzfetch
      Src: /src/bind9/lib/ns/query.c:3116,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:3119,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:3120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 9
    argNames:
    - client
    - name
    - type
    - options
    - rpz_type
    - dbp
    - version
    - rdatasetp
    - resuming
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - unsigned int
    - dns_rpz_type_t
    - dns_db_t**
    - dns_dbversion_t*
    - dns_rdataset_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3129
      start: 3016
    functionDepth: 7
    functionLinenumber: 3016
    functionLinenumberEnd: 3129
    functionName: rpz_rrset_find
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_clean
    - dns_clientinfo_init
    - query_getdb
    - dns_zone_detach
    - dns_db_findext
    - dns_clientinfomethods_init
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - CTRACE
    - RESTORE
    - dns_name_copy
    - ISC_LOG_DEBUG
    - dns_db_attach
    - INSIST
    - USECACHE
    - ns_query_recurse
    - ns_client_putrdataset
    - dns_name_equal
    - rpz_ready
    - rpz_log_fail
    - query_rpzfetch
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_rrset_find(ns_client_t *client, dns_name_t *name,
      dns_rdatatype_t type,\n\t       unsigned int options, dns_rpz_type_t rpz_type,
      dns_db_t **dbp,\n\t       dns_dbversion_t *version, dns_rdataset_t **rdatasetp,\n\t
      \      bool resuming)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3142,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3142,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:3167,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:3174,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:3175,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:3178,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:3180,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3184,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3189,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3197,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - client
    - p_name
    - rpz
    - rpz_type
    - trig_name
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3135
    functionDepth: 4
    functionLinenumber: 3135
    functionLinenumberEnd: 3203
    functionName: rpz_get_p_name
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - UNREACHABLE
    - ISC_LOG_DEBUG
    - rpz_log_fail
    - INSIST
    - CTRACE
    - dns_name_concatenate
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_get_p_name(ns_client_t *client, dns_name_t *p_name,
      dns_rpz_zone_t *rpz,\n\t       dns_rpz_type_t rpz_type, dns_name_t *trig_name)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:3229,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3231,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3231,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:3233,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:3234,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3240,1
    - Dst: rpz_ready
      Src: /src/bind9/lib/ns/query.c:3241,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3243,1
    - Dst: rpz_getdb
      Src: /src/bind9/lib/ns/query.c:3247,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3251,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3253,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/ns/query.c:3263,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3266,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3268,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:3273,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:3276,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3280,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:3284,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3291,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/ns/query.c:3293,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:3299,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3300,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:3302,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:3304,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3307,1
    - Dst: dns_rpz_decode_cname
      Src: /src/bind9/lib/ns/query.c:3319,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3352,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3354,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 12
    argNames:
    - client
    - self_name
    - qtype
    - p_name
    - rpz
    - rpz_type
    - zonep
    - dbp
    - versionp
    - nodep
    - rdatasetp
    - policyp
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_zone_t**
    - dns_db_t**
    - dns_dbversion_t**
    - dns_dbnode_t**
    - dns_rdataset_t**
    - dns_rpz_policy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3216
    functionDepth: 6
    functionLinenumber: 3216
    functionLinenumberEnd: 3357
    functionName: rpz_find_p
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_clean
    - dns_clientinfo_init
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rpz_decode_cname
    - dns_db_findext
    - dns_clientinfomethods_init
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - CTRACE
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_db_allrdatasets
    - dns_rdatatype_issig
    - rpz_getdb
    - dns_rdatasetiter_current
    - rpz_ready
    - rpz_log_fail
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_find_p(ns_client_t *client, dns_name_t *self_name,
      dns_rdatatype_t qtype,\n\t   dns_name_t *p_name, dns_rpz_zone_t *rpz, dns_rpz_type_t
      rpz_type,\n\t   dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp,\n\t
      \  dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp,\n\t   dns_rpz_policy_t
      *policyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:3276,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3275
    functionDepth: 1
    functionLinenumber: 3275
    functionLinenumberEnd: 3281
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:3284,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3283
    functionDepth: 1
    functionLinenumber: 3283
    functionLinenumberEnd: 3292
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:3367,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:3371,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3374,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3375,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3376,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:3377,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3382,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3383,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3384,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:3385,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:3387,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:3389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 12
    argNames:
    - st
    - rpz
    - rpz_type
    - policy
    - p_name
    - prefix
    - result
    - zonep
    - dbp
    - nodep
    - rdatasetp
    - version
    argTypes:
    - dns_rpz_st_t*
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_rpz_policy_t
    - dns_name_t*
    - dns_rpz_prefix_t
    - isc_result_t
    - dns_zone_t**
    - dns_db_t**
    - dns_dbnode_t**
    - dns_rdataset_t**
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3390
      start: 3359
    functionDepth: 3
    functionLinenumber: 3359
    functionLinenumberEnd: 3390
    functionName: rpz_save_p
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_match_clear
    - ISC_MIN
    - dns_rdataset_isassociated
    - SAVE
    - dns_name_copy
    linkageType: ''
    returnType: void
    signature: "void rpz_save_p(dns_rpz_st_t *st, dns_rpz_zone_t *rpz, dns_rpz_type_t
      rpz_type,\n\t   dns_rpz_policy_t policy, dns_name_t *p_name, dns_rpz_prefix_t
      prefix,\n\t   isc_result_t result, dns_zone_t **zonep, dns_db_t **dbp,\n\t   dns_dbnode_t
      **nodep, dns_rdataset_t **rdatasetp,\n\t   dns_dbversion_t *version)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3413,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3413,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3418,1
    - Dst: dns_rpz_find_ip
      Src: /src/bind9/lib/ns/query.c:3425,1
    - Dst: DNS_RPZ_ZMASK
      Src: /src/bind9/lib/ns/query.c:3430,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3454,1
    - Dst: rpz_get_p_name
      Src: /src/bind9/lib/ns/query.c:3455,1
    - Dst: rpz_find_p
      Src: /src/bind9/lib/ns/query.c:3459,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3470,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3475,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/ns/query.c:3500,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3511,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3511,1
    - Dst: rpz_save_p
      Src: /src/bind9/lib/ns/query.c:3513,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:3523,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3528,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 6
    argNames:
    - client
    - netaddr
    - qtype
    - rpz_type
    - zbits
    - p_rdatasetp
    argTypes:
    - ns_client_t*
    - isc_netaddr_t*
    - dns_rdatatype_t
    - dns_rpz_type_t
    - dns_rpz_zbits_t
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3395
    functionDepth: 7
    functionLinenumber: 3395
    functionLinenumberEnd: 3530
    functionName: rpz_rewrite_ip
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_clean
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - rpz_save_p
    - rpz_find_p
    - CTRACE
    - dns_rpz_find_ip
    - rpz_get_p_name
    - dns_name_rdatacompare
    - DNS_RPZ_ZMASK
    - rpz_log_rewrite
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_rewrite_ip(ns_client_t *client, const isc_netaddr_t
      *netaddr,\n\t       dns_rdatatype_t qtype, dns_rpz_type_t rpz_type,\n\t       dns_rpz_zbits_t
      zbits, dns_rdataset_t **p_rdatasetp)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3550,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3550,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:3553,1
    - Dst: rpz_rrset_find
      Src: /src/bind9/lib/ns/query.c:3561,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3583,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3593,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3598,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:3620,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3623,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3624,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/ns/query.c:3625,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3628,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3629,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/ns/query.c:3630,1
    - Dst: rpz_rewrite_ip
      Src: /src/bind9/lib/ns/query.c:3636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 10
    argNames:
    - client
    - name
    - qtype
    - rpz_type
    - ip_type
    - ip_dbp
    - ip_version
    - ip_rdatasetp
    - p_rdatasetp
    - resuming
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rpz_type_t
    - dns_rdatatype_t
    - dns_db_t**
    - dns_dbversion_t*
    - dns_rdataset_t**
    - dns_rdataset_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3536
    functionDepth: 8
    functionLinenumber: 3536
    functionLinenumberEnd: 3646
    functionName: rpz_rewrite_ip_rrset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - memmove
    - ISC_LOG_DEBUG
    - rpz_rewrite_ip
    - dns_rdataset_current
    - INSIST
    - CTRACE
    - rpz_log_fail
    - isc_netaddr_fromin6
    - rpz_get_zbits
    - rpz_rrset_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_rewrite_ip_rrset(ns_client_t *client, dns_name_t
      *name,\n\t\t     dns_rdatatype_t qtype, dns_rpz_type_t rpz_type,\n\t\t     dns_rdatatype_t
      ip_type, dns_db_t **ip_dbp,\n\t\t     dns_dbversion_t *ip_version, dns_rdataset_t
      **ip_rdatasetp,\n\t\t     dns_rdataset_t **p_rdatasetp, bool resuming)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:3620,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3623,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3624,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/ns/query.c:3625,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3628,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3629,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/ns/query.c:3630,1
    - Dst: rpz_rewrite_ip
      Src: /src/bind9/lib/ns/query.c:3636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3641
      start: 3618
    functionDepth: 8
    functionLinenumber: 3618
    functionLinenumberEnd: 3641
    functionName: (*ip_rdatasetp)
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - memmove
    - rpz_rewrite_ip
    - dns_rdataset_current
    - INSIST
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (*ip_rdatasetp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3662,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3662,1
    - Dst: rpz_rewrite_ip_rrset
      Src: /src/bind9/lib/ns/query.c:3676,1
    - Dst: rpz_rewrite_ip_rrset
      Src: /src/bind9/lib/ns/query.c:3693,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:3699,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:3701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - client
    - name
    - qtype
    - rpz_type
    - ip_rdatasetp
    - resuming
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rpz_type_t
    - dns_rdataset_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3703
      start: 3652
    functionDepth: 9
    functionLinenumber: 3652
    functionLinenumberEnd: 3703
    functionName: rpz_rewrite_ip_rrsets
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - dns_db_detach
    - ns_client_putrdataset
    - CTRACE
    - rpz_rewrite_ip_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_rewrite_ip_rrsets(ns_client_t *client, dns_name_t
      *name,\n\t\t      dns_rdatatype_t qtype, dns_rpz_type_t rpz_type,\n\t\t      dns_rdataset_t
      **ip_rdatasetp, bool resuming)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3730,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3730,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:3735,1
    - Dst: dns_rpz_find_name
      Src: /src/bind9/lib/ns/query.c:3747,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3752,1
    - Dst: rpz_get_p_name
      Src: /src/bind9/lib/ns/query.c:3789,1
    - Dst: rpz_find_p
      Src: /src/bind9/lib/ns/query.c:3794,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3805,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3810,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/ns/query.c:3826,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3832,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3832,1
    - Dst: rpz_save_p
      Src: /src/bind9/lib/ns/query.c:3834,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3841,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:3848,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3854,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 6
    argNames:
    - client
    - trig_name
    - qtype
    - rpz_type
    - allowed_zbits
    - rdatasetp
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rpz_type_t
    - dns_rpz_zbits_t
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3712
    functionDepth: 7
    functionLinenumber: 3712
    functionLinenumberEnd: 3856
    functionName: rpz_rewrite_name
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_clean
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - rpz_save_p
    - rpz_find_p
    - CTRACE
    - rpz_get_p_name
    - dns_rpz_find_name
    - dns_name_compare
    - rpz_get_zbits
    - rpz_log_rewrite
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_rewrite_name(ns_client_t *client, dns_name_t *trig_name,\n\t\t
      dns_rdatatype_t qtype, dns_rpz_type_t rpz_type,\n\t\t dns_rpz_zbits_t allowed_zbits,
      dns_rdataset_t **rdatasetp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3863,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3863,1
    - Dst: rpz_log_fail_helper
      Src: /src/bind9/lib/ns/query.c:3868,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:3872,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - client
    - nsname
    - result
    - level
    - str
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - isc_result_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3878
      start: 3858
    functionDepth: 3
    functionLinenumber: 3858
    functionLinenumberEnd: 3878
    functionName: rpz_rewrite_ns_skip
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - dns_rdataset_isassociated
    - CTRACE
    - dns_rdataset_disassociate
    - rpz_log_fail_helper
    linkageType: ''
    returnType: void
    signature: "void rpz_rewrite_ns_skip(ns_client_t *client, dns_name_t *nsname,\n\t\t
      \   isc_result_t result, int level, const char *str)"
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3908,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3908,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:3919,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/ns/query.c:3923,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:3925,1
    - Dst: rpz_ck_dnssec
      Src: /src/bind9/lib/ns/query.c:3926,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/ns/query.c:3928,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/ns/query.c:3934,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:3937,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:3942,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:3946,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:3947,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3948,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3949,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3950,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:3984,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3994,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3999,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4032,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:4036,1
    - Dst: rpz_rewrite_ip
      Src: /src/bind9/lib/ns/query.c:4038,1
    - Dst: rpz_rewrite_name
      Src: /src/bind9/lib/ns/query.c:4053,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4064,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4101,1
    - Dst: rpz_rewrite_ip_rrsets
      Src: /src/bind9/lib/ns/query.c:4103,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4121,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4123,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:4129,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:4130,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:4130,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4137,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:4140,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:4141,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4145,1
    - Dst: rpz_rrset_find
      Src: /src/bind9/lib/ns/query.c:4148,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4153,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4163,1
    - Dst: rpz_rewrite_ns_skip
      Src: /src/bind9/lib/ns/query.c:4183,1
    - Dst: rpz_rewrite_ns_skip
      Src: /src/bind9/lib/ns/query.c:4189,1
    - Dst: rpz_rewrite_ns_skip
      Src: /src/bind9/lib/ns/query.c:4194,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4209,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4210,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4211,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:4212,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:4217,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:4218,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:4219,1
    - Dst: rpz_rewrite_name
      Src: /src/bind9/lib/ns/query.c:4227,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:4232,1
    - Dst: rpz_rewrite_ip_rrsets
      Src: /src/bind9/lib/ns/query.c:4240,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:4243,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:4249,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4251,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4264,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4266,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:4292,1
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:4296,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4299,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:4303,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:4305,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 246
    argCount: 6
    argNames:
    - client
    - qtype
    - qresult
    - resuming
    - ordataset
    - osigset
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    - isc_result_t
    - bool
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 3892
    functionDepth: 10
    functionLinenumber: 3892
    functionLinenumberEnd: 4309
    functionName: rpz_rewrite
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - rpz_clean
    - memset
    - rpz_rewrite_ip
    - rpz_ck_dnssec
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_rdata_reset
    - rpz_log_rewrite
    - dns_rdata_tostruct
    - dns_name_countlabels
    - RWUNLOCK
    - dns_fixedname_initname
    - dns_db_detach
    - dns_rdataset_isassociated
    - CTRACE
    - dns_rdata_freestruct
    - RECURSIONOK
    - dns_fixedname_init
    - rpz_match_clear
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - RWLOCK
    - RUNTIME_CHECK
    - dns_fixedname_name
    - isc_mem_get
    - RECURSING
    - rpz_rrset_find
    - dns_name_split
    - ns_client_putrdataset
    - dns_name_equal
    - rpz_rewrite_ns_skip
    - dns_name_clone
    - rpz_log_fail
    - rpz_rewrite_ip_rrsets
    - rpz_get_zbits
    - rpz_rewrite_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype,
      isc_result_t qresult,\n\t    bool resuming, dns_rdataset_t *ordataset, dns_rdataset_t
      *osigset)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4323,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4323,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4325,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4340,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4347,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4366,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:4367,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4369,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4371,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - client
    - qresult
    - rdataset
    - sigrdataset
    argTypes:
    - ns_client_t*
    - isc_result_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4379
      start: 4315
    functionDepth: 1
    functionLinenumber: 4315
    functionLinenumberEnd: 4379
    functionName: rpz_ck_dnssec
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - CTRACE
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_ncache_current
    linkageType: ''
    returnType: bool
    signature: "bool rpz_ck_dnssec(ns_client_t *client, isc_result_t qresult,\n\t
      \     dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4369,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4368
    functionDepth: 1
    functionLinenumber: 4368
    functionLinenumberEnd: 4377
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - dns_ncache_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:4430,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:4431,1
    - Dst: dns_ncache_getrdataset
      Src: /src/bind9/lib/ns/query.c:4432,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4439,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4440,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4441,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4442,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4443,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:4444,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:4445,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:4448,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4449,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - client
    - fname
    - rdataset
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4460
      start: 4421
    functionDepth: 1
    functionLinenumber: 4421
    functionLinenumberEnd: 4460
    functionName: warn_rfc1918
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - RUNTIME_CHECK
    - dns_ncache_getrdataset
    - dns_rdataset_current
    - dns_name_equal
    - ns_client_log
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_name_format
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t
      *rdataset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/lib/ns/query.c:4483,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:4489,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:4490,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4491,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:4492,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:4493,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:4503,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/ns/query.c:4504,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:4505,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:4512,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:4512,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4518,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4521,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4522,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4523,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4524,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4525,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:4526,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:4529,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:4529,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4531,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4532,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4533,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:4536,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4538,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4539,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4544,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4552,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:4558,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4562,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 9
    argNames:
    - qname
    - db
    - version
    - client
    - rdataset
    - sigrdataset
    - fname
    - exact
    - found
    argTypes:
    - dns_name_t*
    - dns_db_t*
    - dns_dbversion_t*
    - ns_client_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_name_t*
    - bool
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4565
      start: 4462
    functionDepth: 1
    functionLinenumber: 4462
    functionLinenumberEnd: 4565
    functionName: query_findclosestnsec3
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_clientinfo_init
    - dns_rdataset_current
    - ns_client_log
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_db_findext
    - dns_rdata_reset
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_clientinfomethods_init
    - dns_name_issubdomain
    - dns_rdataset_isassociated
    - dns_fixedname_init
    - dns_db_origin
    - dns_name_copy
    - dns_nsec3_hashname
    - dns_db_getnsec3parameters
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - INSIST
    - dns_name_getlabelsequence
    - dns_name_clone
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void query_findclosestnsec3(dns_name_t *qname, dns_db_t *db,\n\t\t
      \      dns_dbversion_t *version, ns_client_t *client,\n\t\t       dns_rdataset_t
      *rdataset, dns_rdataset_t *sigrdataset,\n\t\t       dns_name_t *fname, bool
      exact, dns_name_t *found)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:4576,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/query.c:4578,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:4583,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4588,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4593,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4594,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4595,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:4596,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4599,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4600,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4603,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - db
    - version
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4606
      start: 4567
    functionDepth: 1
    functionLinenumber: 4567
    functionLinenumberEnd: 4606
    functionName: dns64_ttl
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_getoriginnode
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - ISC_MIN
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns64_ttl(dns_db_t *db, dns_dbversion_t *version)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:4613,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4618,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4619,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4620,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4621,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:4627,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4631,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4632,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:4637,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/ns/query.c:4638,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:4640,1
    - Dst: dns_dns64_aaaaok
      Src: /src/bind9/lib/ns/query.c:4641,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:4646,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:4652,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:4658,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - client
    - rdataset
    - sigrdataset
    argTypes:
    - ns_client_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4608
    functionDepth: 2
    functionLinenumber: 4608
    functionLinenumberEnd: 4662
    functionName: dns64_aaaaok
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - WANTDNSSEC
    - isc_mem_cget
    - isc_netaddr_fromsockaddr
    - dns_dns64_aaaaok
    - dns_rdataset_isassociated
    - INSIST
    - SAVE
    - RECURSIONOK
    - dns_rdataset_count
    - isc_mem_cput
    linkageType: ''
    returnType: bool
    signature: "bool dns64_aaaaok(ns_client_t *client, dns_rdataset_t *rdataset,\n\t
      \    dns_rdataset_t *sigrdataset)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4687,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4687,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4693,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:4695,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:4696,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:4697,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4699,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:4699,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:4699,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4704,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4704,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4716,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4718,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:4729,1
    - Dst: dns_zone_getqueryacl
      Src: /src/bind9/lib/ns/query.c:4731,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/query.c:4736,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:4741,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4743,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:4750,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4754,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4755,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4757,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4758,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4762,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4763,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4766,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4768,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4772,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4772,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4773,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4774,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4775,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4777,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:4778,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4779,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4783,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4785,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/ns/query.c:4786,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:4787,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4788,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4789,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 85
    argCount: 7
    argNames:
    - client
    - name
    - rdataset
    - nodep
    - dbp
    - versionp
    - qtype
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_dbnode_t**
    - dns_db_t**
    - dns_dbversion_t**
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4672
    functionDepth: 1
    functionLinenumber: 4672
    functionLinenumberEnd: 4796
    functionName: redirect
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_iszone
    - dns_clientinfo_init
    - dns_clientinfo_setecs
    - dns_rdataset_disassociate
    - dns_db_findext
    - dns_clientinfomethods_init
    - WANTDNSSEC
    - dns_fixedname_initname
    - dns_db_detach
    - dns_rdataset_isassociated
    - CTRACE
    - dns_db_attachnode
    - dns_name_copy
    - ISC_LOG_DEBUG
    - ns_client_checkaclsilent
    - dns_db_attach
    - dns_rdataset_clone
    - ns_client_findversion
    - dns_zone_getdb
    - dns_zone_getqueryacl
    - dns_db_detachnode
    - dns_db_issecure
    - dns_ncache_current
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t redirect(ns_client_t *client, dns_name_t *name, dns_rdataset_t
      *rdataset,\n\t dns_dbnode_t **nodep, dns_db_t **dbp, dns_dbversion_t **versionp,\n\t
      dns_rdatatype_t qtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4716,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4725
      start: 4715
    functionDepth: 1
    functionLinenumber: 4715
    functionLinenumberEnd: 4725
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - dns_ncache_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4817,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4817,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:4823,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4827,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:4829,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:4830,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:4831,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4833,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:4833,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:4833,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4838,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4838,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4850,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4852,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4863,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4864,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:4868,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:4869,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:4871,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4878,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:4881,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:4888,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:4894,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4898,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4899,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4901,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4902,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4909,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4910,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4913,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4915,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:4919,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:4920,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4932,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4933,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4936,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4938,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4942,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4942,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:4946,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4947,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:4952,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4953,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4955,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4956,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4957,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4959,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:4960,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4961,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4965,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4967,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/ns/query.c:4968,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:4969,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4970,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4971,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 116
    argCount: 8
    argNames:
    - client
    - name
    - rdataset
    - nodep
    - dbp
    - versionp
    - qtype
    - is_zonep
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_dbnode_t**
    - dns_db_t**
    - dns_dbversion_t**
    - dns_rdatatype_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4979
      start: 4798
    functionDepth: 6
    functionLinenumber: 4798
    functionLinenumberEnd: 4979
    functionName: redirect2
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_iszone
    - dns_clientinfo_init
    - query_getdb
    - dns_clientinfo_setecs
    - dns_zone_detach
    - dns_rdataset_disassociate
    - dns_db_findext
    - dns_name_countlabels
    - dns_clientinfomethods_init
    - dns_ncache_current
    - dns_name_issubdomain
    - WANTDNSSEC
    - dns_fixedname_initname
    - dns_db_detach
    - dns_rdataset_isassociated
    - CTRACE
    - dns_db_attachnode
    - dns_name_concatenate
    - dns_name_copy
    - REDIRECT
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_db_attach
    - ns_query_recurse
    - dns_rdataset_clone
    - dns_name_getlabelsequence
    - dns_name_split
    - dns_db_detachnode
    - dns_db_issecure
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t redirect2(ns_client_t *client, dns_name_t *name, dns_rdataset_t
      *rdataset,\n\t  dns_dbnode_t **nodep, dns_db_t **dbp, dns_dbversion_t **versionp,\n\t
      \ dns_rdatatype_t qtype, bool *is_zonep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4850,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4859
      start: 4849
    functionDepth: 1
    functionLinenumber: 4849
    functionLinenumberEnd: 4859
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - dns_ncache_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:4992,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:4993,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:4995,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/ns/query.c:5000,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5002,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5002,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:5017,1
    - Dst: CALL_HOOK_NORETURN
      Src: /src/bind9/lib/ns/query.c:5021,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - client
    - frespp
    - qtype
    - qctx
    argTypes:
    - ns_client_t*
    - dns_fetchresponse_t**
    - dns_rdatatype_t
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5022
      start: 4989
    functionDepth: 1
    functionLinenumber: 4989
    functionLinenumberEnd: 5022
    functionName: qctx_init
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_view_attach
    - CALL_HOOK_NORETURN
    - memset
    - ISC_LOG_DEBUG
    - CCTRACE
    - REQUIRE
    - dns_rdatatype_issig
    linkageType: ''
    returnType: void
    signature: "void qctx_init(ns_client_t *client, dns_fetchresponse_t **frespp,\n\t
      \ dns_rdatatype_t qtype, query_ctx_t *qctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5029,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:5031,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5034,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:5036,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:5039,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5042,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5044
      start: 5027
    functionDepth: 1
    functionLinenumber: 5027
    functionLinenumberEnd: 5044
    functionName: qctx_clean
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_detach
    - dns_rdataset_disassociate
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void qctx_clean(query_ctx_t *qctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5052,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5056,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:5060,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:5064,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5065,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:5069,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5073,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5074,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:5075,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:5076,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5077,1
    - Dst: free_fresp
      Src: /src/bind9/lib/ns/query.c:5082,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5084
      start: 5049
    functionDepth: 2
    functionLinenumber: 5049
    functionLinenumberEnd: 5084
    functionName: qctx_freedata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ns_client_putrdataset
    - dns_db_detach
    - dns_zone_detach
    - INSIST
    - free_fresp
    - dns_db_detachnode
    - ns_client_releasename
    linkageType: ''
    returnType: void
    signature: void qctx_freedata(query_ctx_t *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALL_HOOK_NORETURN
      Src: /src/bind9/lib/ns/query.c:5088,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/ns/query.c:5090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5091
      start: 5086
    functionDepth: 1
    functionLinenumber: 5086
    functionLinenumberEnd: 5091
    functionName: qctx_destroy
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 5
    functionsReached:
    - CALL_HOOK_NORETURN
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void qctx_destroy(query_ctx_t *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5101
      start: 5096
    functionDepth: 0
    functionLinenumber: 5096
    functionLinenumberEnd: 5101
    functionName: INITANDSAVE
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITANDSAVE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5115,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5116,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5117,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5118,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5119,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5120,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5121,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5122,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5123,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5124,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5125,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5126,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5127,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5128,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5129,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5130,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5131,1
    - Dst: INITANDSAVE
      Src: /src/bind9/lib/ns/query.c:5132,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/ns/query.c:5136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - src
    - tgt
    argTypes:
    - query_ctx_t*
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5137
      start: 5109
    functionDepth: 1
    functionLinenumber: 5109
    functionLinenumberEnd: 5137
    functionName: qctx_save
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - INITANDSAVE
    - dns_view_attach
    linkageType: ''
    returnType: void
    signature: void qctx_save(query_ctx_t *src, query_ctx_t *tgt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5150,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:5153,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:5156,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5164,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5164,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/query.c:5166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5168
      start: 5143
    functionDepth: 1
    functionLinenumber: 5143
    functionLinenumberEnd: 5168
    functionName: query_trace
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - UNUSED
    - CCTRACE
    - snprintf
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void query_trace(query_ctx_t *qctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qctx_init
      Src: /src/bind9/lib/ns/query.c:5186,1
    - Dst: query_trace
      Src: /src/bind9/lib/ns/query.c:5187,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5189,1
    - Dst: ns__query_sfcache
      Src: /src/bind9/lib/ns/query.c:5194,1
    - Dst: ns__query_start
      Src: /src/bind9/lib/ns/query.c:5199,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:5202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - client
    - qtype
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5203
      start: 5181
    functionDepth: 2
    functionLinenumber: 5181
    functionLinenumberEnd: 5203
    functionName: query_setup
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_trace
    - ns__query_sfcache
    - qctx_init
    - ns__query_start
    - CALL_HOOK
    - qctx_destroy
    linkageType: ''
    returnType: void
    signature: void query_setup(ns_client_t *client, dns_rdatatype_t qtype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/bind9/lib/ns/query.c:5211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - qctx
    - ndata
    argTypes:
    - query_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5222
      start: 5205
    functionDepth: 0
    functionLinenumber: 5205
    functionLinenumberEnd: 5222
    functionName: get_root_key_sentinel_id
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool get_root_key_sentinel_id(query_ctx_t *qctx, const char *ndata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/bind9/lib/ns/query.c:5235,1
    - Dst: get_root_key_sentinel_id
      Src: /src/bind9/lib/ns/query.c:5237,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:5246,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/ns/query.c:5250,1
    - Dst: get_root_key_sentinel_id
      Src: /src/bind9/lib/ns/query.c:5252,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:5261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5230
    functionDepth: 1
    functionLinenumber: 5230
    functionLinenumberEnd: 5265
    functionName: root_key_sentinel_detect
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_client_log
    - get_root_key_sentinel_id
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void root_key_sentinel_detect(query_ctx_t *qctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/query.c:5274,1
    - Dst: dns_name_israd
      Src: /src/bind9/lib/ns/query.c:5287,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/query.c:5288,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:5297,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:5297,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:5298,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:5305,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5309,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:5310,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5317
      start: 5267
    functionDepth: 2
    functionLinenumber: 5267
    functionLinenumberEnd: 5317
    functionName: qctx_reportquery
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_israd
    - TCP
    - HAVECOOKIE
    - dns_rdataclass_format
    - isc_log_write
    - dns_zone_getorigin
    - dns_zone_getoptions
    - WANTCOOKIE
    - dns_name_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void qctx_reportquery(query_ctx_t *qctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:5326,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/query.c:5328,1
    - Dst: dns_zone_getrad
      Src: /src/bind9/lib/ns/query.c:5329,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/ns/query.c:5331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5319
    functionDepth: 1
    functionLinenumber: 5319
    functionLinenumberEnd: 5335
    functionName: qctx_setrad
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - dns_name_dup
    - dns_name_dynamic
    - dns_zone_getrad
    linkageType: ''
    returnType: void
    signature: void qctx_setrad(query_ctx_t *qctx)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5347,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5347,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5355,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:5362,1
    - Dst: BADCOOKIE
      Src: /src/bind9/lib/ns/query.c:5363,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:5364,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:5365,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5371,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:5377,1
    - Dst: NEEDTCP
      Src: /src/bind9/lib/ns/query.c:5377,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5381,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/ns/query.c:5385,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5393,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:5395,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:5396,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:5398,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5402,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5403,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:5411,1
    - Dst: root_key_sentinel_detect
      Src: /src/bind9/lib/ns/query.c:5414,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/query.c:5422,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:5423,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:5434,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:5438,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:5453,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5462,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5464,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:5467,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:5470,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:5471,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:5472,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5481,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:5484,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:5495,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5496,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5499,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5502,1
    - Dst: PARTIALANSWER
      Src: /src/bind9/lib/ns/query.c:5505,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5506,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5509,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5511,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5513,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:5525,1
    - Dst: qctx_reportquery
      Src: /src/bind9/lib/ns/query.c:5534,1
    - Dst: qctx_setrad
      Src: /src/bind9/lib/ns/query.c:5535,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/ns/query.c:5554,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:5557,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/query.c:5564,1
    - Dst: isc_nmhandle_proxy_type
      Src: /src/bind9/lib/ns/query.c:5566,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:5569,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5569,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5570,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5574,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5575,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5578,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5584,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5585,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5588,1
    - Dst: isc_nmhandle_proxy_type
      Src: /src/bind9/lib/ns/query.c:5595,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5597,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5601,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5602,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5611,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5616,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5617,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5625,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5632,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5635,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:5638,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:5643,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:5653,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 172
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5664
      start: 5344
    functionDepth: 6
    functionLinenumber: 5344
    functionLinenumberEnd: 5664
    functionName: ns__query_start
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - qctx_reportquery
    - HAVECOOKIE
    - query_getdb
    - dns_zone_detach
    - ns_client_log
    - ns_query_done
    - UNREACHABLE
    - PARTIALANSWER
    - TCP
    - dns_db_detach
    - dns_rdataclass_format
    - RECURSIONOK
    - CALL_HOOK
    - RESTORE
    - dns_name_format
    - dns_zone_gettype
    - dns_rdatatype_format
    - BADCOOKIE
    - WANTCOOKIE
    - dns_rdatatype_isaddr
    - root_key_sentinel_detect
    - inc_stats
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - isc_nmhandle_proxy_type
    - NEEDTCP
    - dns_db_attach
    - dns_view_staleanswerenabled
    - INSIST
    - isc_nm_socket_type
    - CCTRACE
    - dns_ede_add
    - query_getzonedb
    - dns_rdata_checkowner
    - dns_zone_attach
    - WANTRECURSION
    - ns_client_putrdataset
    - query_lookup
    - dns_name_equal
    - dns_rdatatype_atparent
    - qctx_setrad
    - isc_nm_has_encryption
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns__query_start(query_ctx_t *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns__query_start
      Src: /src/bind9/lib/ns/query.c:5674,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:5676,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:5677,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:5678,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:5679,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:5680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5666
    functionDepth: 7
    functionLinenumber: 5666
    functionLinenumberEnd: 5681
    functionName: async_restart
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - qctx_freedata
    - isc_nmhandle_detach
    - qctx_clean
    - ns__query_start
    - isc_mem_put
    - qctx_destroy
    linkageType: ''
    returnType: void
    signature: void async_restart(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5691,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5692,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5693,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:5695,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:5696,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:5697,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:5699,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:5700,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:5702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - qctx
    - buffer
    argTypes:
    - query_ctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5689
    functionDepth: 1
    functionLinenumber: 5689
    functionLinenumberEnd: 5706
    functionName: qctx_prepare_buffers
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ns_client_newrdataset
    - WANTDNSSEC
    - ns_client_newname
    - REQUIRE
    - ns_client_getnamebuf
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t qctx_prepare_buffers(query_ctx_t *qctx, isc_buffer_t *buffer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:5726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - result
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5727
      start: 5712
    functionDepth: 1
    functionLinenumber: 5712
    functionLinenumberEnd: 5727
    functionName: stale_client_answer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: bool
    signature: bool stale_client_answer(isc_result_t result)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5752,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5752,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5754,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:5756,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:5757,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:5758,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:5759,1
    - Dst: qctx_prepare_buffers
      Src: /src/bind9/lib/ns/query.c:5765,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5767,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5768,1
    - Dst: dns_name_istat
      Src: /src/bind9/lib/ns/query.c:5792,1
    - Dst: dns_db_getservestalerefresh
      Src: /src/bind9/lib/ns/query.c:5797,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:5800,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:5805,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:5814,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5816,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:5818,1
    - Dst: dns_cache_updatestats
      Src: /src/bind9/lib/ns/query.c:5823,1
    - Dst: STALE_WINDOW
      Src: /src/bind9/lib/ns/query.c:5839,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5851,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:5852,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:5852,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5859,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:5861,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5863,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5865,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:5866,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:5867,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5878,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5885,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:5890,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5892,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5899,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5900,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5907,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:5913,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5916,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5923,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5924,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:5940,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:5941,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:5942,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:5947,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:5949,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:5950,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:5953,1
    - Dst: stale_client_answer
      Src: /src/bind9/lib/ns/query.c:5954,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5959,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:5966,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5968,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:5975,1
    - Dst: query_gotanswer
      Src: /src/bind9/lib/ns/query.c:5989,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 114
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5993
      start: 5734
    functionDepth: 3
    functionLinenumber: 5734
    functionLinenumberEnd: 5993
    functionName: query_lookup
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - qctx_clean
    - dns_clientinfo_init
    - dns_clientinfo_setecs
    - query_gotanswer
    - dns_rdataset_disassociate
    - isc_log_write
    - dns_db_findext
    - ns_query_done
    - UNREACHABLE
    - dns_clientinfomethods_init
    - dns_rdataset_isassociated
    - stale_client_answer
    - CALL_HOOK
    - STALE
    - dns_name_format
    - dns_name_copy
    - dns_rdatatype_format
    - qctx_freedata
    - dns_db_getservestalerefresh
    - inc_stats
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - dns_view_staleanswerenabled
    - dns_db_attach
    - CCTRACE
    - dns_name_istat
    - STALE_WINDOW
    - dns_ede_add
    - dns_resolver_destroyfetch
    - FETCH_RECTYPE_NORMAL
    - qctx_prepare_buffers
    - query_lookup
    - isc_result_totext
    - dns_rdataset_count
    - HAVEECS
    - dns_cache_updatestats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_lookup(query_ctx_t *qctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:6007,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:6008,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:6013,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6014,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:6014,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:6015,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/ns/query.c:6016,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:6019,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:6020,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/query.c:6021,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/ns/query.c:6022,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/ns/query.c:6024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - msg
    - stale_only
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6028
      start: 5999
    functionDepth: 1
    functionLinenumber: 5999
    functionLinenumberEnd: 6028
    functionName: message_clearrdataset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - dns_name_dynamic
    - dns_name_free
    - isc_mempool_put
    - dns_rdataset_isassociated
    - INSIST
    - dns_rdataset_disassociate
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void message_clearrdataset(dns_message_t *msg, bool stale_only)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6048,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:6048,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6049,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:6049,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6051,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6051,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:6064,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6065,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6065,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6066,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6067,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6071,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6071,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6072,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:6077,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:6085,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6087,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6093,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:6095,1
    - Dst: HANDLE_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6095,1
    - Dst: qctx_init
      Src: /src/bind9/lib/ns/query.c:6105,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:6114,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6119,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:6120,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:6127,1
    - Dst: query_trace
      Src: /src/bind9/lib/ns/query.c:6132,1
    - Dst: query_resume
      Src: /src/bind9/lib/ns/query.c:6134,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6137,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6139,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:6141,1
    - Dst: dns_resolver_logfetch
      Src: /src/bind9/lib/ns/query.c:6142,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:6148,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:6151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6152
      start: 6037
    functionDepth: 5
    functionLinenumber: 6037
    functionLinenumberEnd: 6152
    functionName: fetch_callback
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - REQUIRE
    - query_error
    - LOCK
    - dns_resolver_logfetch
    - CTRACE
    - isc_stdtime_now
    - release_recursionquota
    - NS_CLIENT_VALID
    - query_resume
    - qctx_freedata
    - isc_log_wouldlog
    - ISC_LOG_DEBUG
    - INSIST
    - SAVE
    - HANDLE_RECTYPE_NORMAL
    - qctx_init
    - RECURSING
    - qctx_destroy
    - isc_nmhandle_detach
    - dns_resolver_destroyfetch
    - FETCH_RECTYPE_NORMAL
    - query_trace
    linkageType: ''
    returnType: void
    signature: void fetch_callback(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6161,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:6165,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:6166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - param
    - qtype
    - qname
    - qdomain
    argTypes:
    - ns_query_recparam_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6167
      start: 6158
    functionDepth: 1
    functionLinenumber: 6158
    functionLinenumberEnd: 6167
    functionName: recparam_match
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: "bool recparam_match(const ns_query_recparam_t *param, dns_rdatatype_t
      qtype,\n\t       const dns_name_t *qname, const dns_name_t *qdomain)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6176,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:6183,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:6184,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:6190,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:6191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - param
    - qtype
    - qname
    - qdomain
    argTypes:
    - ns_query_recparam_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6193
      start: 6173
    functionDepth: 1
    functionLinenumber: 6173
    functionLinenumberEnd: 6193
    functionName: recparam_update
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_fixedname_initname
    - REQUIRE
    - dns_name_copy
    linkageType: ''
    returnType: void
    signature: "void recparam_update(ns_query_recparam_t *param, dns_rdatatype_t qtype,\n\t\tconst
      dns_name_t *qname, const dns_name_t *qdomain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:6198,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/ns/query.c:6199,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/ns/query.c:6203,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6204,1
    - Dst: isc_quota_getused
      Src: /src/bind9/lib/ns/query.c:6205,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/lib/ns/query.c:6206,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/lib/ns/query.c:6206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - client
    - last_log_time
    - format
    - quota
    argTypes:
    - ns_client_t*
    - atomic_uint_fast32_t*
    - char*
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6207
      start: 6195
    functionDepth: 2
    functionLinenumber: 6195
    functionLinenumberEnd: 6207
    functionName: recursionquota_log
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - atomic_store_relaxed
    - isc_quota_getmax
    - ns_client_log
    - atomic_load_relaxed
    - isc_stdtime_now
    - isc_quota_getsoft
    - isc_quota_getused
    linkageType: ''
    returnType: void
    signature: "void recursionquota_log(ns_client_t *client, atomic_uint_fast32_t
      *last_log_time,\n\t\t   const char *format, isc_quota_t *quota)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recursionquotatype_attach_soft
      Src: /src/bind9/lib/ns/query.c:6218,1
    - Dst: recursionquota_log
      Src: /src/bind9/lib/ns/query.c:6221,1
    - Dst: ns_client_killoldestquery
      Src: /src/bind9/lib/ns/query.c:6225,1
    - Dst: recursionquota_log
      Src: /src/bind9/lib/ns/query.c:6230,1
    - Dst: ns_client_killoldestquery
      Src: /src/bind9/lib/ns/query.c:6233,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:6236,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/ns/query.c:6239,1
    - Dst: ns_client_recursing
      Src: /src/bind9/lib/ns/query.c:6240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6243
      start: 6214
    functionDepth: 5
    functionLinenumber: 6214
    functionLinenumberEnd: 6243
    functionName: acquire_recursionquota
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - recursionquota_log
    - ns_client_recursing
    - ns_client_killoldestquery
    - recursionquotatype_attach_soft
    - dns_message_clonebuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t acquire_recursionquota(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: recursionquotatype_detach
      Src: /src/bind9/lib/ns/query.c:6250,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:6252,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/ns/query.c:6253,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:6254,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:6257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6258
      start: 6248
    functionDepth: 4
    functionLinenumber: 6248
    functionLinenumberEnd: 6258
    functionName: release_recursionquota
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - LOCK
    - recursionquotatype_detach
    - ISC_LINK_LINKED
    - UNLOCK
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void release_recursionquota(ns_client_t *client)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6268,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6268,1
    - Dst: recparam_match
      Src: /src/bind9/lib/ns/query.c:6274,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6275,1
    - Dst: recparam_update
      Src: /src/bind9/lib/ns/query.c:6280,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:6283,1
    - Dst: acquire_recursionquota
      Src: /src/bind9/lib/ns/query.c:6286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6294,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6295,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6295,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:6297,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:6299,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:6300,1
    - Dst: ns_client_settimeout
      Src: /src/bind9/lib/ns/query.c:6306,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:6309,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:6313,1
    - Dst: HANDLE_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6314,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/ns/query.c:6315,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6320,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6322,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6324,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6326,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:6329,1
    - Dst: HANDLE_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 6
    argNames:
    - client
    - qtype
    - qname
    - qdomain
    - nameservers
    - resuming
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6339
      start: 6260
    functionDepth: 6
    functionLinenumber: 6260
    functionLinenumberEnd: 6339
    functionName: ns_query_recurse
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - recparam_match
    - recparam_update
    - ns_client_log
    - REQUIRE
    - TCP
    - ns_client_newrdataset
    - WANTDNSSEC
    - CTRACE
    - ns_client_settimeout
    - isc_nmhandle_attach
    - release_recursionquota
    - inc_stats
    - ISC_LOG_DEBUG
    - HANDLE_RECTYPE_NORMAL
    - isc_nmhandle_detach
    - FETCH_RECTYPE_NORMAL
    - ns_client_putrdataset
    - acquire_recursionquota
    - dns_resolver_createfetch
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_query_recurse(ns_client_t *client, dns_rdatatype_t
      qtype, dns_name_t *qname,\n\t\t dns_name_t *qdomain, dns_rdataset_t *nameservers,\n\t\t
      bool resuming)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6356,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6356,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:6358,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6366,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6366,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6372,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:6375,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6378,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6382,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:6386,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6389,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6389,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6395,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6396,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6397,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6398,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6399,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:6403,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6405,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6407,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6408,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:6409,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6413,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6413,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6415,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:6417,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:6419,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6422,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6422,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6425,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6426,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6427,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6429,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6430,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:6431,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6438,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6439,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:6441,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:6444,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6447,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6447,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6451,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6452,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6453,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6454,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6456,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:6458,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:6464,1
    - Dst: DNS64
      Src: /src/bind9/lib/ns/query.c:6466,1
    - Dst: DNS64EXCLUDE
      Src: /src/bind9/lib/ns/query.c:6471,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6485,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:6489,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:6490,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:6497,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:6498,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:6504,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:6510,1
    - Dst: free_fresp
      Src: /src/bind9/lib/ns/query.c:6517,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:6518,1
    - Dst: query_gotanswer
      Src: /src/bind9/lib/ns/query.c:6526,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 116
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6530
      start: 6345
    functionDepth: 2
    functionLinenumber: 6345
    functionLinenumberEnd: 6530
    functionName: query_resume
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_gotanswer
    - ns_client_log
    - snprintf
    - DNS64EXCLUDE
    - ns_query_done
    - dns_db_detach
    - DNS64
    - ns_client_newname
    - CALL_HOOK
    - RESTORE
    - dns_name_format
    - ns_client_getnamebuf
    - dns_rdatatype_format
    - dns_name_copy
    - REDIRECT
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - INSIST
    - CCTRACE
    - SAVE
    - free_fresp
    - dns_rdatatype_issig
    - ns_client_putrdataset
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_resume(query_ctx_t *qctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6540,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6542,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:6542,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:6544,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6546,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:6549,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:6553,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:6554,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6556,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:6563,1
    - Dst: HANDLE_RECTYPE_HOOK
      Src: /src/bind9/lib/ns/query.c:6563,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:6573,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:6579,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:6580,1
    - Dst: query_setup
      Src: /src/bind9/lib/ns/query.c:6591,1
    - Dst: ns__query_start
      Src: /src/bind9/lib/ns/query.c:6594,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:6597,1
    - Dst: query_resume
      Src: /src/bind9/lib/ns/query.c:6601,1
    - Dst: query_gotanswer
      Src: /src/bind9/lib/ns/query.c:6604,1
    - Dst: query_respond_any
      Src: /src/bind9/lib/ns/query.c:6607,1
    - Dst: query_addanswer
      Src: /src/bind9/lib/ns/query.c:6610,1
    - Dst: query_notfound
      Src: /src/bind9/lib/ns/query.c:6613,1
    - Dst: query_prepare_delegation_response
      Src: /src/bind9/lib/ns/query.c:6616,1
    - Dst: query_zone_delegation
      Src: /src/bind9/lib/ns/query.c:6619,1
    - Dst: query_delegation
      Src: /src/bind9/lib/ns/query.c:6622,1
    - Dst: query_delegation_recurse
      Src: /src/bind9/lib/ns/query.c:6625,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:6628,1
    - Dst: query_nxdomain
      Src: /src/bind9/lib/ns/query.c:6631,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:6634,1
    - Dst: query_cname
      Src: /src/bind9/lib/ns/query.c:6637,1
    - Dst: query_dname
      Src: /src/bind9/lib/ns/query.c:6640,1
    - Dst: query_respond
      Src: /src/bind9/lib/ns/query.c:6643,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:6646,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:6650,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6658,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:6662,1
    - Dst: ns_hookasync_t*::destroy
      Src: /src/bind9/lib/ns/query.c:6663,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:6664,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:6665,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6666
      start: 6532
    functionDepth: 7
    functionLinenumber: 6532
    functionLinenumberEnd: 6666
    functionName: query_hookresume
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - qctx_clean
    - query_ncache
    - query_gotanswer
    - UNLOCK
    - query_delegation_recurse
    - query_prepresponse
    - REQUIRE
    - query_error
    - query_delegation
    - HANDLE_RECTYPE_HOOK
    - query_zone_delegation
    - ns_query_done
    - query_addanswer
    - LOCK
    - query_setup
    - CTRACE
    - query_nodata
    - isc_stdtime_now
    - release_recursionquota
    - NS_CLIENT_VALID
    - query_dname
    - query_nxdomain
    - query_resume
    - qctx_freedata
    - query_notfound
    - query_cname
    - query_prepare_delegation_response
    - ISC_LOG_DEBUG
    - INSIST
    - SAVE
    - ns_hookasync_t*::destroy
    - qctx_destroy
    - isc_nmhandle_detach
    - query_lookup
    - query_respond
    - ns__query_start
    - isc_mem_put
    - query_respond_any
    linkageType: ''
    returnType: void
    signature: void query_hookresume(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6675,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6675,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6677,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:6677,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6679,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6679,1
    - Dst: acquire_recursionquota
      Src: /src/bind9/lib/ns/query.c:6681,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:6686,1
    - Dst: qctx_save
      Src: /src/bind9/lib/ns/query.c:6687,1
    - Dst: runasync
      Src: /src/bind9/lib/ns/query.c:6688,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:6709,1
    - Dst: HANDLE_RECTYPE_HOOK
      Src: /src/bind9/lib/ns/query.c:6709,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6713,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:6720,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:6729,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:6730,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:6731,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:6732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - qctx
    - runasync
    - arg
    argTypes:
    - query_ctx_t*
    - ns_query_starthookasync_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6737
      start: 6668
    functionDepth: 6
    functionLinenumber: 6668
    functionLinenumberEnd: 6737
    functionName: ns_query_hookasync
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - qctx_freedata
    - FETCH_RECTYPE_NORMAL
    - isc_mem_put
    - qctx_clean
    - ISC_LOG_DEBUG
    - CTRACE
    - isc_mem_get
    - acquire_recursionquota
    - runasync
    - isc_nmhandle_attach
    - REQUIRE
    - qctx_save
    - release_recursionquota
    - NS_CLIENT_VALID
    - query_error
    - qctx_destroy
    - HANDLE_RECTYPE_HOOK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_query_hookasync(query_ctx_t *qctx, ns_query_starthookasync_t
      runasync,\n\t\t   void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6754,1
    - Dst: dns_badcache_find
      Src: /src/bind9/lib/ns/query.c:6765,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:6768,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:6778,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6778,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6782,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:6784,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6786,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6787,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:6796,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:6797,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6801
      start: 6746
    functionDepth: 2
    functionLinenumber: 6746
    functionLinenumberEnd: 6801
    functionName: ns__query_sfcache
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - ns_client_log
    - isc_time_seconds
    - RECURSIONOK
    - dns_name_format
    - dns_rdatatype_format
    - ns_query_done
    - dns_badcache_find
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns__query_sfcache(query_ctx_t *qctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBNS_RRL_DROP_ENABLED
      Src: /src/bind9/lib/ns/query.c:6806,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:6812,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/ns/query.c:6813,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6817,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6818,1
    - Dst: LIBNS_RRL_DROP
      Src: /src/bind9/lib/ns/query.c:6819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - rrl_result ISC_ATTR_UNUSED
    argTypes:
    - query_ctx_t*
    - dns_rrl_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6820
      start: 6803
    functionDepth: 3
    functionLinenumber: 6803
    functionLinenumberEnd: 6820
    functionName: query_trace_rrldrop
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromsockaddr
    - LIBNS_RRL_DROP
    - isc_netaddr_format
    - LIBNS_RRL_DROP_ENABLED
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: "void query_trace_rrldrop(query_ctx_t *qctx,\n\t\t    dns_rrl_result_t
      rrl_result ISC_ATTR_UNUSED)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6843,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6845,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:6849,1
    - Dst: isc_result_toid
      Src: /src/bind9/lib/ns/query.c:6850,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/ns/query.c:6851,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6852,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:6861,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/ns/query.c:6862,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6863,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6865,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:6878,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:6885,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:6890,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:6898,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/ns/query.c:6899,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:6900,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:6903,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:6907,1
    - Dst: dns_rrl
      Src: /src/bind9/lib/ns/query.c:6927,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:6929,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6945,1
    - Dst: query_trace_rrldrop
      Src: /src/bind9/lib/ns/query.c:6955,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:6963,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:6965,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:6971,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:6973,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7000
      start: 6825
    functionDepth: 4
    functionLinenumber: 6825
    functionLinenumberEnd: 7000
    functionName: query_checkrrl
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - HAVECOOKIE
    - ns_client_log
    - dns_rdataset_disassociate
    - isc_result_toid
    - TCP
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - RECURSIONOK
    - dns_db_origin
    - WANTCOOKIE
    - query_trace_rrldrop
    - isc_log_wouldlog
    - inc_stats
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - DNS_RDATASET_FOREACH
    - dns_rrl
    - dns_name_isabsolute
    - dns_ncache_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_checkrrl(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7009,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7009,1
    - Dst: rpz_rewrite
      Src: /src/bind9/lib/ns/query.c:7011,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7025,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:7025,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:7029,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:7030,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:7031,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:7032,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:7033,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:7034,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7039,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7050,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:7059,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:7060,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7062,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:7063,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:7065,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:7069,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:7070,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:7071,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:7072,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:7078,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7081,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7095,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7102,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7103,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:7131,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7132,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:7140,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:7148,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7149,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7150,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7151,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7152,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:7153,1
    - Dst: query_rpzcname
      Src: /src/bind9/lib/ns/query.c:7154,1
    - Dst: query_rpzcname
      Src: /src/bind9/lib/ns/query.c:7167,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:7176,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:7182,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7193,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7196,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 124
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7203
      start: 7005
    functionDepth: 11
    functionLinenumber: 7005
    functionLinenumberEnd: 7203
    functionName: query_checkrpz
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_clean
    - qctx_clean
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_rdata_reset
    - rpz_log_rewrite
    - dns_rdata_tostruct
    - UNREACHABLE
    - TCP
    - ISC_MIN
    - dns_rdataset_isassociated
    - rpz_rewrite
    - RESTORE
    - dns_name_copy
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - RUNTIME_CHECK
    - INSIST
    - CCTRACE
    - SAVE
    - RECURSING
    - dns_ede_add
    - query_rpzcname
    - ns_client_putrdataset
    - query_addsoa
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_checkrpz(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:7218,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:7222,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7222,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:7224,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/ns/query.c:7225,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:7226,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:7227,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7228,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:7229,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:7230,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7231,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:7232,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7232,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7233,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:7241,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:7244,1
    - Dst: query_addcname
      Src: /src/bind9/lib/ns/query.c:7245,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7247,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:7252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - qctx
    - cname
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7262
      start: 7211
    functionDepth: 4
    functionLinenumber: 7211
    functionLinenumberEnd: 7262
    functionName: query_rpzcname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_name_countlabels
    - dns_fixedname_init
    - dns_name_split
    - ns_client_keepname
    - ISC_LOG_DEBUG
    - dns_name_concatenate
    - ns_client_qnamereplace
    - dns_fixedname_name
    - CTRACE
    - query_addcname
    - REQUIRE
    - dns_name_iswildcard
    - dns_name_copy
    - rpz_log_rewrite
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_rpzcname(query_ctx_t *qctx, dns_name_t *cname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/ns/query.c:7278,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/ns/query.c:7283,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7286,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7288,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:7292,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/ns/query.c:7293,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:7298,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7299,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7300,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7301,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7303,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7304,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7305,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7309,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7313,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7319
      start: 7270
    functionDepth: 1
    functionLinenumber: 7270
    functionLinenumberEnd: 7319
    functionName: has_ta
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_keynode_dsset
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_rdataset_init
    - dns_keytable_find
    - dns_rdataset_disassociate
    - dns_keynode_detach
    - dns_view_getsecroots
    - dns_keytable_detach
    linkageType: ''
    returnType: bool
    signature: bool has_ta(query_ctx_t *qctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:7298,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7299,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7300,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7301,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7303,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7304,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7308
      start: 7294
    functionDepth: 1
    functionLinenumber: 7294
    functionLinenumberEnd: 7308
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_keytable_detach
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_keynode_detach
    - dns_rdata_reset
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: has_ta
      Src: /src/bind9/lib/ns/query.c:7354,1
    - Dst: has_ta
      Src: /src/bind9/lib/ns/query.c:7355,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7368
      start: 7324
    functionDepth: 2
    functionLinenumber: 7324
    functionLinenumberEnd: 7368
    functionName: root_key_sentinel_return_servfail
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - has_ta
    linkageType: ''
    returnType: bool
    signature: bool root_key_sentinel_return_servfail(query_ctx_t *qctx, isc_result_t
      result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:7392,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:7393,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:7395,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:7397,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:7410,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:7411,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:7412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7426
      start: 7374
    functionDepth: 6
    functionLinenumber: 7374
    functionLinenumberEnd: 7426
    functionName: query_usestale
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - qctx_freedata
    - dns_resolver_destroyfetch
    - FETCH_RECTYPE_NORMAL
    - qctx_clean
    - query_getdb
    - dns_view_staleanswerenabled
    linkageType: ''
    returnType: bool
    signature: bool query_usestale(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7437,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7437,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7439,1
    - Dst: query_checkrrl
      Src: /src/bind9/lib/ns/query.c:7441,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7442,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:7445,1
    - Dst: query_checkrpz
      Src: /src/bind9/lib/ns/query.c:7446,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:7453,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7464,1
    - Dst: root_key_sentinel_return_servfail
      Src: /src/bind9/lib/ns/query.c:7473,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7478,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7479,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:7484,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7488,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:7490,1
    - Dst: query_notfound
      Src: /src/bind9/lib/ns/query.c:7493,1
    - Dst: query_delegation
      Src: /src/bind9/lib/ns/query.c:7496,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:7500,1
    - Dst: query_nxdomain
      Src: /src/bind9/lib/ns/query.c:7504,1
    - Dst: query_coveringnsec
      Src: /src/bind9/lib/ns/query.c:7507,1
    - Dst: query_redirect
      Src: /src/bind9/lib/ns/query.c:7510,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:7514,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:7517,1
    - Dst: query_cname
      Src: /src/bind9/lib/ns/query.c:7520,1
    - Dst: query_dname
      Src: /src/bind9/lib/ns/query.c:7523,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:7529,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:7531,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7532,1
    - Dst: query_usestale
      Src: /src/bind9/lib/ns/query.c:7533,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:7538,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7547,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7548,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7553
      start: 7433
    functionDepth: 12
    functionLinenumber: 7433
    functionLinenumberEnd: 7553
    functionName: query_gotanswer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - query_ncache
    - query_prepresponse
    - snprintf
    - query_usestale
    - query_delegation
    - query_checkrpz
    - query_coveringnsec
    - ns_query_done
    - query_redirect
    - query_nodata
    - CALL_HOOK
    - query_dname
    - query_nxdomain
    - query_cname
    - query_notfound
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - root_key_sentinel_return_servfail
    - INSIST
    - CCTRACE
    - RECURSING
    - query_lookup
    - dns_name_equal
    - isc_result_totext
    - query_checkrrl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_gotanswer(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:7563,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7563,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:7569,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:7570,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7571,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7572,1
    - Dst: dns_rdataset_getnoqname
      Src: /src/bind9/lib/ns/query.c:7574,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7575,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7577,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:7585,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:7586,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7590,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:7591,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7592,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7596,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:7597,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7598,1
    - Dst: dns_rdataset_getclosest
      Src: /src/bind9/lib/ns/query.c:7601,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7602,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7604,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7609,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7612,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:7615,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7617
      start: 7555
    functionDepth: 3
    functionLinenumber: 7555
    functionLinenumberEnd: 7617
    functionName: query_addnoqnameproof
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_addrrset
    - ns_client_newrdataset
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - dns_rdataset_isassociated
    - CTRACE
    - dns_rdataset_disassociate
    - ns_client_newname
    - ns_client_getnamebuf
    - dns_rdataset_getclosest
    - ns_client_releasename
    - dns_rdataset_getnoqname
    linkageType: ''
    returnType: void
    signature: void query_addnoqnameproof(query_ctx_t *qctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7630,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7630,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7632,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/ns/query.c:7634,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7637,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7639,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7640,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:7654,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:7658,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:7676,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/ns/query.c:7677,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7683,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7685,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7686,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7688,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7690,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7690,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7692,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7693,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7697,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7697,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7699,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:7704,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7704,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:7717,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:7721,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:7725,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7733,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7739,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:7745,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7748,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7755,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7759,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7764,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/ns/query.c:7768,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7776,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:7780,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:7787,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7788,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:7796,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7797,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:7801,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:7804,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:7806,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:7811,1
    - Dst: query_sign_nodata
      Src: /src/bind9/lib/ns/query.c:7812,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7818,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7821,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7825
      start: 7622
    functionDepth: 7
    functionLinenumber: 7622
    functionLinenumberEnd: 7825
    functionName: query_respond_any
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_addauth
    - query_prefetch
    - ns_client_log
    - dns_rdataset_disassociate
    - dns_message_puttempname
    - ns_query_done
    - TCP
    - ns_client_newrdataset
    - ns_client_keepname
    - WANTDNSSEC
    - ISC_MIN
    - RECURSIONOK
    - CALL_HOOK
    - ns_client_newname
    - dns_name_format
    - dns_rdatatype_isdnssec
    - query_addrrset
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - NOQNAME
    - INSIST
    - CCTRACE
    - query_sign_nodata
    - dns_db_allrdatasets
    - dns_rdatatype_issig
    - query_addnoqnameproof
    - dns_rdatasetiter_current
    - ns_client_putrdataset
    - dns_rdatasetiter_destroy
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_respond_any(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:7658,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:7676,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/ns/query.c:7677,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7683,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7685,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7686,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7688,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7690,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7690,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7692,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7693,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7697,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7697,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7699,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:7704,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7704,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:7717,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:7721,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:7725,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7733,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7739,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:7745,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7748,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7755,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7759,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7764,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7766
      start: 7657
    functionDepth: 7
    functionLinenumber: 7657
    functionLinenumberEnd: 7766
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isdnssec
    - TCP
    - query_addrrset
    - ns_client_newrdataset
    - WANTDNSSEC
    - dns_rdatasetiter_current
    - ISC_LOG_DEBUG
    - ISC_MIN
    - ns_client_putrdataset
    - NOQNAME
    - query_prefetch
    - INSIST
    - CCTRACE
    - query_addnoqnameproof
    - dns_rdataset_disassociate
    - RECURSIONOK
    - dns_rdatatype_issig
    - dns_db_issecure
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7835,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7835,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/ns/query.c:7845,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7848,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7849,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/lib/ns/query.c:7853,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:7854,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7863,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:7868,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7869,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7871,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7872,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7873,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:7880,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7882
      start: 7831
    functionDepth: 2
    functionLinenumber: 7831
    functionLinenumberEnd: 7882
    functionName: query_getexpire
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - dns_zone_detach
    - CCTRACE
    - isc_time_seconds
    - dns_rdataset_first
    - dns_zone_getexpiretime
    - dns_zone_gettype
    - dns_zone_getraw
    linkageType: ''
    returnType: void
    signature: void query_getexpire(query_ctx_t *qctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7890,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7890,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7902,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:7908,1
    - Dst: dns_zone_getzoneversion
      Src: /src/bind9/lib/ns/query.c:7909,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/query.c:7911,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7922,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:7924,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:7926,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7933
      start: 7888
    functionDepth: 2
    functionLinenumber: 7888
    functionLinenumberEnd: 7933
    functionName: query_getzoneversion
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISC_LOG_DEBUG
    - INSIST
    - CCTRACE
    - isc_buffer_init
    - isc_mem_get
    - isc_buffer_usedlength
    - dns_zone_getzoneversion
    - dns_zone_gettype
    linkageType: ''
    returnType: void
    signature: void query_getzoneversion(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7943,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7943,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7945,1
    - Dst: QUERY_STALEOK
      Src: /src/bind9/lib/ns/query.c:7953,1
    - Dst: QUERY_STALETIMEOUT
      Src: /src/bind9/lib/ns/query.c:7954,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7956,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7956,1
    - Dst: message_clearrdataset
      Src: /src/bind9/lib/ns/query.c:7961,1
    - Dst: query_dns64
      Src: /src/bind9/lib/ns/query.c:7970,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7972,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/query.c:7973,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7979,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:7984,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7986,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:7990,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:7992,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7996,1
    - Dst: query_filter64
      Src: /src/bind9/lib/ns/query.c:7999,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8000,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8002,1
    - Dst: QUERY_STALETIMEOUT
      Src: /src/bind9/lib/ns/query.c:8003,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:8005,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8008,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8011,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8019
      start: 7938
    functionDepth: 7
    functionLinenumber: 7938
    functionLinenumberEnd: 8019
    functionName: query_addanswer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_ncache
    - query_prefetch
    - dns_rdataset_disassociate
    - ns_query_done
    - query_filter64
    - WANTDNSSEC
    - query_nodata
    - RECURSIONOK
    - CALL_HOOK
    - QUERY_STALETIMEOUT
    - dns_message_puttemprdataset
    - query_addrrset
    - ISC_LOG_DEBUG
    - QUERY_STALEOK
    - CCTRACE
    - message_clearrdataset
    - query_dns64
    - ns_client_putrdataset
    - query_addsoa
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_addanswer(query_ctx_t *qctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8029,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8029,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8035,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:8038,1
    - Dst: dns64_aaaaok
      Src: /src/bind9/lib/ns/query.c:8040,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8046,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8047,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8048,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8049,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8053,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8064,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:8066,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8066,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8080,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:8081,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8090,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8093,1
    - Dst: query_getexpire
      Src: /src/bind9/lib/ns/query.c:8100,1
    - Dst: query_getzoneversion
      Src: /src/bind9/lib/ns/query.c:8105,1
    - Dst: query_addanswer
      Src: /src/bind9/lib/ns/query.c:8107,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:8112,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8124,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:8126,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8128,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8132
      start: 8025
    functionDepth: 8
    functionLinenumber: 8025
    functionLinenumberEnd: 8132
    functionName: query_respond
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_addauth
    - dns64_aaaaok
    - ns_query_done
    - query_getexpire
    - query_addanswer
    - WANTDNSSEC
    - CALL_HOOK
    - dns_db_origin
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_db_attach
    - NOQNAME
    - INSIST
    - CCTRACE
    - SAVE
    - query_addnoqnameproof
    - query_lookup
    - dns_name_equal
    - query_getzoneversion
    - dns_db_detachnode
    - ns_client_releasename
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_respond(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8156,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8156,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:8161,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8169,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8169,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8172,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8180,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:8182,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:8186,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8188,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8200,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8201,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8206,1
    - Dst: dns_dns64_apply
      Src: /src/bind9/lib/ns/query.c:8210,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/ns/query.c:8219,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:8223,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:8226,1
    - Dst: query_addtoname
      Src: /src/bind9/lib/ns/query.c:8229,1
    - Dst: query_setorder
      Src: /src/bind9/lib/ns/query.c:8230,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:8232,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8237,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8239
      start: 8134
    functionDepth: 2
    functionLinenumber: 8134
    functionLinenumberEnd: 8239
    functionName: query_dns64
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_setorder
    - ns_client_keepname
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - WANTDNSSEC
    - dns_rdataset_setownercase
    - ISC_MIN
    - dns_message_addname
    - inc_stats
    - dns_rdataset_isassociated
    - CTRACE
    - dns_dns64_apply
    - RECURSIONOK
    - query_addtoname
    - ns_client_releasename
    - dns_message_findname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_dns64(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8252,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8252,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8254,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8255,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:8256,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:8259,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8267,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8267,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8270,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:8277,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8279,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/ns/query.c:8288,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:8289,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/query.c:8290,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/ns/query.c:8291,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/ns/query.c:8298,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:8306,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8307,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/query.c:8308,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/ns/query.c:8309,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/query.c:8310,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/ns/query.c:8311,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/ns/query.c:8312,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:8314,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/query.c:8317,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/ns/query.c:8318,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8322,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:8324,1
    - Dst: query_addtoname
      Src: /src/bind9/lib/ns/query.c:8329,1
    - Dst: query_setorder
      Src: /src/bind9/lib/ns/query.c:8330,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/ns/query.c:8332,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/query.c:8334,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8338,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8341,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8342
      start: 8241
    functionDepth: 3
    functionLinenumber: 8241
    functionLinenumberEnd: 8342
    functionName: query_filter64
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_rdatalist_tordataset
    - isc_buffer_putmem
    - dns_rdataset_current
    - dns_message_takebuffer
    - isc_buffer_allocate
    - ns_client_keepname
    - dns_rdataset_count
    - CTRACE
    - dns_message_gettemprdataset
    - query_addtoname
    - dns_message_gettemprdata
    - query_setorder
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_rdataset_setownercase
    - dns_message_addname
    - INSIST
    - DNS_RDATASET_FOREACH
    - isc_buffer_free
    - dns_message_findname
    - isc_buffer_remainingregion
    - ISC_LIST_APPEND
    - isc_buffer_forward
    - dns_message_gettemprdatalist
    - ns_client_releasename
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void query_filter64(query_ctx_t *qctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8353,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8353,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8355,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8357,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8360,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:8371,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:8372,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8374,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:8375,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:8387,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8394,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8395,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:8395,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8396,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8400,1
    - Dst: query_usestale
      Src: /src/bind9/lib/ns/query.c:8412,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8418,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:8420,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8422,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8425,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:8427,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8428,1
    - Dst: query_delegation
      Src: /src/bind9/lib/ns/query.c:8432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8436
      start: 8349
    functionDepth: 7
    functionLinenumber: 8349
    functionLinenumberEnd: 8436
    functionName: query_notfound
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - REDIRECT
    - dns_clientinfomethods_init
    - qctx_clean
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - dns_db_detach
    - dns_db_attach
    - query_lookup
    - INSIST
    - CCTRACE
    - ns_query_recurse
    - query_usestale
    - RECURSIONOK
    - CALL_HOOK
    - query_delegation
    - dns_db_findext
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_notfound(query_ctx_t *qctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8448,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:8454,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:8455,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8455,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/ns/query.c:8462,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8463,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8472,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8475,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8478,1
    - Dst: query_addds
      Src: /src/bind9/lib/ns/query.c:8484,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8490
      start: 8442
    functionDepth: 3
    functionLinenumber: 8442
    functionLinenumberEnd: 8490
    functionName: query_prepare_delegation_response
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_addrrset
    - WANTDNSSEC
    - query_addds
    - dns_db_detach
    - dns_db_iscache
    - dns_db_attach
    - dns_fixedname_name
    - CALL_HOOK
    - dns_fixedname_init
    - dns_name_copy
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_prepare_delegation_response(query_ctx_t *qctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8502,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8508,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:8515,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8520,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:8523,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8527,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8529,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8533,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8537,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8540,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:8543,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8546,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8547,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8548,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8551,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:8555,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8556,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:8558,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8569,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8570,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8571,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8572,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8573,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8574,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8575,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8576,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:8585,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8590,1
    - Dst: query_prepare_delegation_response
      Src: /src/bind9/lib/ns/query.c:8600,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8604
      start: 8498
    functionDepth: 5
    functionLinenumber: 8498
    functionLinenumberEnd: 8604
    functionName: query_zone_delegation
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - query_getzonedb
    - ns_client_keepname
    - query_prepare_delegation_response
    - dns_db_detach
    - ns_client_putrdataset
    - query_lookup
    - dns_db_attach
    - dns_zone_detach
    - dns_view_staleanswerenabled
    - USECACHE
    - SAVE
    - RECURSIONOK
    - CALL_HOOK
    - RESTORE
    - dns_db_detachnode
    - ns_client_releasename
    - dns_zone_gettype
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_zone_delegation(query_ctx_t *qctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8618,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8618,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8620,1
    - Dst: query_zone_delegation
      Src: /src/bind9/lib/ns/query.c:8625,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:8629,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8631,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8648,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8657,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8659,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8663,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8664,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8665,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8666,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8667,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8668,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8669,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8670,1
    - Dst: query_delegation_recurse
      Src: /src/bind9/lib/ns/query.c:8673,1
    - Dst: query_prepare_delegation_response
      Src: /src/bind9/lib/ns/query.c:8678,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8682
      start: 8614
    functionDepth: 6
    functionLinenumber: 8614
    functionLinenumberEnd: 8682
    functionName: query_delegation
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - dns_name_issubdomain
    - query_prepare_delegation_response
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - dns_db_detach
    - dns_name_equal
    - CCTRACE
    - query_delegation_recurse
    - CALL_HOOK
    - RESTORE
    - dns_db_detachnode
    - ns_client_releasename
    - query_zone_delegation
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_delegation(query_ctx_t *qctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8693,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8693,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8695,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8699,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8709,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:8709,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/query.c:8711,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8715,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8721,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8727,1
    - Dst: query_usestale
      Src: /src/bind9/lib/ns/query.c:8741,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8746,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:8748,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8755
      start: 8688
    functionDepth: 7
    functionLinenumber: 8688
    functionLinenumberEnd: 8755
    functionName: query_delegation_recurse
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - REDIRECT
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - query_lookup
    - INSIST
    - CCTRACE
    - dns_rdatatype_atparent
    - ns_query_recurse
    - query_usestale
    - RECURSIONOK
    - CALL_HOOK
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_delegation_recurse(query_ctx_t *qctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8771,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8771,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8776,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:8783,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:8784,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:8789,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:8796,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8803,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8804,1
    - Dst: MSG_SECTION_FOREACH
      Src: /src/bind9/lib/ns/query.c:8814,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/ns/query.c:8815,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8821,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:8830,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:8836,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:8837,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:8838,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8839,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:8840,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8842,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:8843,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8845,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:8846,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8848,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8849,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8852,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8858,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8858,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:8859,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8859,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:8860,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:8861,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8862,1
    - Dst: fixfname
      Src: /src/bind9/lib/ns/query.c:8863,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:8864,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:8865,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:8869,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8869,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8872,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8875,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8881,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8884,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8887,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8889
      start: 8760
    functionDepth: 3
    functionLinenumber: 8760
    functionLinenumberEnd: 8889
    functionName: query_addds
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_db_iszone
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - query_findclosestnsec3
    - dns_name_countlabels
    - ns_client_newrdataset
    - dns_message_findtype
    - WANTDNSSEC
    - dns_rdataset_isassociated
    - CTRACE
    - ns_client_newname
    - dns_fixedname_init
    - ns_client_getnamebuf
    - fixrdataset
    - query_addrrset
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - fixfname
    - dns_name_getlabelsequence
    - ns_client_putrdataset
    - dns_name_equal
    - ns_client_releasename
    - MSG_SECTION_FOREACH
    linkageType: ''
    returnType: void
    signature: void query_addds(query_ctx_t *qctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8898,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8898,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8900,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8913,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8916,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8918,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:8919,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:8921,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:8922,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:8925,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:8932,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:8936,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:8956,1
    - Dst: dns64_ttl
      Src: /src/bind9/lib/ns/query.c:8963,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:8966,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8969,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:8970,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8971,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8972,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8975,1
    - Dst: query_sign_nodata
      Src: /src/bind9/lib/ns/query.c:8979,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8985,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8986,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:8988,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:8990,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8997,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 2
    argNames:
    - qctx
    - res
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9001
      start: 8894
    functionDepth: 4
    functionLinenumber: 8894
    functionLinenumberEnd: 9001
    functionName: query_nodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - query_prepresponse
    - dns_rdataset_first
    - ns_query_done
    - UNREACHABLE
    - ns_client_keepname
    - dns_rdataset_isassociated
    - ns_client_newname
    - CALL_HOOK
    - RESTORE
    - ns_client_getnamebuf
    - dns_name_copy
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_message_addname
    - CCTRACE
    - SAVE
    - query_sign_nodata
    - ISC_LIST_APPEND
    - ns_client_putrdataset
    - query_lookup
    - dns64_ttl
    - dns_db_detachnode
    - ns_client_releasename
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_nodata(query_ctx_t *qctx, isc_result_t res)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9010,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9010,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9016,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9018,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9019,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9027,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:9030,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9039,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9040,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9051,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9056,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9057,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:9058,1
    - Dst: fixfname
      Src: /src/bind9/lib/ns/query.c:9065,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:9067,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:9068,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:9074,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9081,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:9082,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9085,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9091,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9098,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:9106,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:9108,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9109,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9116,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9117,1
    - Dst: query_addnxrrsetnsec
      Src: /src/bind9/lib/ns/query.c:9119,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9122,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9123
      start: 9006
    functionDepth: 3
    functionLinenumber: 9006
    functionLinenumberEnd: 9123
    functionName: query_sign_nodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - query_findclosestnsec3
    - ns_query_done
    - dns_name_countlabels
    - ns_client_keepname
    - WANTDNSSEC
    - dns_fixedname_initname
    - query_addnxrrsetnsec
    - dns_rdataset_isassociated
    - fixrdataset
    - query_addwildcardproof
    - query_addrrset
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - CCTRACE
    - fixfname
    - dns_name_getlabelsequence
    - dns_name_equal
    - query_addsoa
    - ns_client_releasename
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_sign_nodata(query_ctx_t *qctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:9135,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9138,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9144,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:9149,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/query.c:9153,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9154,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9155,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9156,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9158,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:9163,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9168,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9169,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:9171,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9173,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:9173,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9177
      start: 9125
    functionDepth: 3
    functionLinenumber: 9125
    functionLinenumberEnd: 9177
    functionName: query_addnxrrsetnsec
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - dns_name_countlabels
    - query_addwildcardproof
    - query_addrrset
    - dns_name_split
    - RUNTIME_CHECK
    - dns_name_concatenate
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - INSIST
    - dns_rdataset_first
    - ns_client_newname
    - ns_client_getnamebuf
    linkageType: ''
    returnType: void
    signature: void query_addnxrrsetnsec(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9188,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9188,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:9190,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:9192,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:9192,1
    - Dst: query_redirect
      Src: /src/bind9/lib/ns/query.c:9195,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9201,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9207,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9214,1
    - Dst: dns_zone_getzeronosoattl
      Src: /src/bind9/lib/ns/query.c:9230,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:9237,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:9239,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9240,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9244,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9248,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9249,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:9253,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9265,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9269
      start: 9182
    functionDepth: 3
    functionLinenumber: 9182
    functionLinenumberEnd: 9269
    functionName: query_nxdomain
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - REDIRECT
    - query_addwildcardproof
    - query_addrrset
    - dns_zone_getzeronosoattl
    - ns_client_keepname
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - WANTDNSSEC
    - query_redirect
    - INSIST
    - dns_rdataset_isassociated
    - CCTRACE
    - query_addsoa
    - CALL_HOOK
    - ns_client_releasename
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_nxdomain(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9286,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9286,1
    - Dst: redirect
      Src: /src/bind9/lib/ns/query.c:9288,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9292,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:9293,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:9297,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:9301,1
    - Dst: redirect2
      Src: /src/bind9/lib/ns/query.c:9306,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9311,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:9312,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9314,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:9316,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:9317,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:9318,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:9320,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:9321,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:9322,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9325,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9329,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:9333,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:9337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 2
    argNames:
    - qctx
    - saved_result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9343
      start: 9282
    functionDepth: 7
    functionLinenumber: 9282
    functionLinenumberEnd: 9343
    functionName: query_redirect
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - redirect2
    - redirect
    - inc_stats
    - query_ncache
    - ISC_LOG_DEBUG
    - INSIST
    - CCTRACE
    - query_prepresponse
    - query_nodata
    - SAVE
    - dns_name_copy
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_redirect(query_ctx_t *qctx, isc_result_t saved_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/ns/query.c:9353,1
    - Dst: ns_client_logv
      Src: /src/bind9/lib/ns/query.c:9354,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/query.c:9356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - val
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9357
      start: 9348
    functionDepth: 1
    functionLinenumber: 9348
    functionLinenumberEnd: 9357
    functionName: log_noexistnodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - va_start
    - ns_client_logv
    - va_end
    linkageType: ''
    returnType: void
    signature: void log_noexistnodata(void *val, int level, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9369,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9370,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9371,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:9373,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9374,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9375,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9376,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9377,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9379,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9380,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9381,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9382,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9384,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 6
    argNames:
    - soardataset
    - sigsoardataset
    - p1rdataset
    - sigp1rdataset
    - p2rdataset
    - sigp2rdataset
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9391
      start: 9359
    functionDepth: 1
    functionLinenumber: 9359
    functionLinenumberEnd: 9391
    functionName: query_synthttl
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - ISC_MIN
    - dns_rdataset_current
    - dns_rdataset_first
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: "dns_ttl_t query_synthttl(dns_rdataset_t *soardataset, dns_rdataset_t
      *sigsoardataset,\n\t       dns_rdataset_t *p1rdataset, dns_rdataset_t *sigp1rdataset,\n\t
      \      dns_rdataset_t *p2rdataset, dns_rdataset_t *sigp2rdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: query_synthttl
      Src: /src/bind9/lib/ns/query.c:9407,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9415,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9416,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9418,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9421,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9422,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9423,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9428,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9431,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9434,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9438,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9442,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - qctx
    - signer
    - soardatasetp
    - sigsoardatasetp
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    - dns_rdataset_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9448
      start: 9396
    functionDepth: 3
    functionLinenumber: 9396
    functionLinenumberEnd: 9448
    functionName: query_synthnodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_addrrset
    - ns_client_keepname
    - WANTDNSSEC
    - inc_stats
    - ns_client_newname
    - query_synthttl
    - ns_client_getnamebuf
    - dns_name_copy
    - ns_client_releasename
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_synthnodata(query_ctx_t *qctx, const dns_name_t
      *signer,\n\t\t  dns_rdataset_t **soardatasetp,\n\t\t  dns_rdataset_t **sigsoardatasetp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9462,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9462,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9468,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9469,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9471,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9474,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9475,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9476,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9478,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9479,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9484,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9485,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9486,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9492,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9495,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9499,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9503,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9506,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9509,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - qctx
    - rdataset
    - sigrdataset
    argTypes:
    - query_ctx_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9515
      start: 9454
    functionDepth: 3
    functionLinenumber: 9454
    functionLinenumberEnd: 9515
    functionName: query_synthwildcard
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_addrrset
    - ns_client_newrdataset
    - ns_client_keepname
    - WANTDNSSEC
    - ISC_LOG_DEBUG
    - inc_stats
    - ns_client_putrdataset
    - CCTRACE
    - ns_client_newname
    - dns_rdataset_clone
    - ns_client_getnamebuf
    - dns_name_copy
    - ns_client_releasename
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_synthwildcard(query_ctx_t *qctx, dns_rdataset_t
      *rdataset,\n\t\t    dns_rdataset_t *sigrdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: query_synthwildcard
      Src: /src/bind9/lib/ns/query.c:9530,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:9541,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:9543,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:9545,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9549,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9550,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9551,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:9552,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9554,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:9555,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:9556,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9560,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:9562,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:9563,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:9565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - qctx
    - rdataset
    - sigrdataset
    argTypes:
    - query_ctx_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9570
      start: 9522
    functionDepth: 4
    functionLinenumber: 9522
    functionLinenumberEnd: 9570
    functionName: query_synthcnamewildcard
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - WANTRECURSION
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    - ns_client_qnamereplace
    - dns_name_equal
    - dns_rdata_freestruct
    - dns_rdataset_first
    - dns_message_gettempname
    - query_synthwildcard
    - dns_name_copy
    - dns_message_puttempname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_synthcnamewildcard(query_ctx_t *qctx, dns_rdataset_t
      *rdataset,\n\t\t\t dns_rdataset_t *sigrdataset)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9590,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9590,1
    - Dst: query_synthttl
      Src: /src/bind9/lib/ns/query.c:9595,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9604,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9605,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9607,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9610,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9611,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9612,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9617,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9620,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9623,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9627,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9630,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9631,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9632,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9634,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9635,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9637,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9638,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9643,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9648,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9651,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9655,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9658,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 8
    argNames:
    - qctx
    - nodata
    - nowild
    - nowildrdataset
    - signowildrdataset
    - signer
    - soardatasetp
    - sigsoardatasetp
    argTypes:
    - query_ctx_t*
    - bool
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9664
      start: 9579
    functionDepth: 3
    functionLinenumber: 9579
    functionLinenumberEnd: 9664
    functionName: query_synthnxdomainnodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_addrrset
    - ns_client_newrdataset
    - ns_client_keepname
    - WANTDNSSEC
    - ISC_LOG_DEBUG
    - dns_rdataset_clone
    - inc_stats
    - ns_client_putrdataset
    - CCTRACE
    - ns_client_newname
    - query_synthttl
    - ns_client_getnamebuf
    - dns_name_copy
    - ns_client_releasename
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_synthnxdomainnodata(query_ctx_t *qctx, bool nodata,
      dns_name_t *nowild,\n\t\t\t  dns_rdataset_t *nowildrdataset,\n\t\t\t  dns_rdataset_t
      *signowildrdataset, dns_name_t *signer,\n\t\t\t  dns_rdataset_t **soardatasetp,\n\t\t\t
      \ dns_rdataset_t **sigsoardatasetp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9676,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9677,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9678,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9680,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9681,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - signer
    - sigrdataset
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9688
      start: 9669
    functionDepth: 1
    functionLinenumber: 9669
    functionLinenumberEnd: 9688
    functionName: checksignames
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_countlabels
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_name_equal
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t checksignames(dns_name_t *signer, dns_rdataset_t *sigrdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9676,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9677,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9678,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9680,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9681,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9685
      start: 9671
    functionDepth: 1
    functionLinenumber: 9671
    functionLinenumberEnd: 9685
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_countlabels
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_name_equal
    - dns_name_copy
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (sigrdataset)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9737,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9737,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:9739,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:9740,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:9741,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:9749,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9750,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/query.c:9751,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:9752,1
    - Dst: dns_view_sfd_find
      Src: /src/bind9/lib/ns/query.c:9754,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:9755,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9762,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9766,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9767,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9768,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9769,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:9771,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:9772,1
    - Dst: checksignames
      Src: /src/bind9/lib/ns/query.c:9777,1
    - Dst: dns_nsec_requiredtypespresent
      Src: /src/bind9/lib/ns/query.c:9787,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/ns/query.c:9794,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:9806,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:9807,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:9811,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:9812,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9817,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9818,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:9823,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:9824,1
    - Dst: query_synthnodata
      Src: /src/bind9/lib/ns/query.c:9832,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:9841,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:9842,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:9865,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:9866,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:9872,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:9873,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:9887,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/ns/query.c:9890,1
    - Dst: query_synthwildcard
      Src: /src/bind9/lib/ns/query.c:9898,1
    - Dst: query_synthcnamewildcard
      Src: /src/bind9/lib/ns/query.c:9902,1
    - Dst: query_redirect
      Src: /src/bind9/lib/ns/query.c:9915,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9924,1
    - Dst: checksignames
      Src: /src/bind9/lib/ns/query.c:9931,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:9938,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9941,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9942,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:9947,1
    - Dst: query_synthnxdomainnodata
      Src: /src/bind9/lib/ns/query.c:9954,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9960,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:9961,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9963,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:9964,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9967,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9970,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:9974,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:9976,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9989,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:9992,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9994,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9996,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:9998,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10001,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 186
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10002
      start: 9711
    functionDepth: 8
    functionLinenumber: 9711
    functionLinenumberEnd: 10002
    functionName: query_coveringnsec
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_clientinfo_init
    - dns_nsec_noexistnodata
    - dns_rdataset_disassociate
    - dns_db_findext
    - dns_rdataset_init
    - query_synthnodata
    - ns_query_done
    - dns_name_countlabels
    - dns_clientinfomethods_init
    - ns_client_newrdataset
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_db_detach
    - query_redirect
    - query_synthnxdomainnodata
    - dns_rdataset_isassociated
    - RECURSIONOK
    - STALE
    - dns_rdatatype_isaddr
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_db_attach
    - CCTRACE
    - query_synthwildcard
    - dns_name_getlabelsequence
    - dns_view_sfd_find
    - ns_client_putrdataset
    - checksignames
    - query_lookup
    - dns_name_clone
    - dns_rdatatype_atparent
    - dns_nsec_requiredtypespresent
    - query_synthcnamewildcard
    - dns_db_detachnode
    - ns_client_releasename
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_coveringnsec(query_ctx_t *qctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10011,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10012,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:10015,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10015,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10017,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10033,1
    - Dst: warn_rfc1918
      Src: /src/bind9/lib/ns/query.c:10035,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:10039,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10043
      start: 10009
    functionDepth: 5
    functionLinenumber: 10009
    functionLinenumberEnd: 10043
    functionName: query_ncache
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - dns_name_countlabels
    - ISC_LOG_DEBUG
    - warn_rfc1918
    - INSIST
    - CCTRACE
    - query_nodata
    - CALL_HOOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_ncache(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:10052,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10052,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:10054,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:10055,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:10060,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10062,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:10062,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:10064,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10068,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:10083,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10086,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10090
      start: 10048
    functionDepth: 7
    functionLinenumber: 10048
    functionLinenumberEnd: 10090
    functionName: query_zerottl_refetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REDIRECT
    - qctx_clean
    - QUERY_ERROR
    - ISC_LOG_DEBUG
    - INSIST
    - CCTRACE
    - ns_query_recurse
    - RECURSIONOK
    - STALE
    - CALL_HOOK
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_zerottl_refetch(query_ctx_t *qctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:10104,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10104,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10106,1
    - Dst: query_zerottl_refetch
      Src: /src/bind9/lib/ns/query.c:10108,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10123,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10127,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:10128,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10129,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10130,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:10134,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10134,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:10140,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:10141,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10144,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:10147,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10159,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:10161,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10163,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10164,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:10168,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:10169,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10170,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:10171,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10173,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:10175,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:10176,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:10178,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:10182,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10188
      start: 10095
    functionDepth: 8
    functionLinenumber: 10095
    functionLinenumberEnd: 10188
    functionName: query_cname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - query_addauth
    - ns_client_qnamereplace
    - dns_rdataset_current
    - query_prefetch
    - dns_message_gettempname
    - dns_rdataset_first
    - dns_message_puttempname
    - dns_rdata_reset
    - ns_query_done
    - dns_rdata_tostruct
    - WANTDNSSEC
    - query_zerottl_refetch
    - dns_rdata_freestruct
    - RECURSIONOK
    - CALL_HOOK
    - dns_fixedname_init
    - dns_name_copy
    - query_addrrset
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - NOQNAME
    - dns_fixedname_name
    - CCTRACE
    - query_addnoqnameproof
    - WANTRECURSION
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_cname(query_ctx_t *qctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:10207,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10207,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10209,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/ns/query.c:10216,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10218,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10230,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10234,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:10235,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10236,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10237,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:10241,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:10242,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10244,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10257,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:10259,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10261,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10262,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:10266,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:10267,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10268,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:10269,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10271,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:10272,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10278,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10279,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10280,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10281,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10282,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:10283,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10284,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10295,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:10299,1
    - Dst: query_addcname
      Src: /src/bind9/lib/ns/query.c:10315,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:10327,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:10330,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:10335,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10337,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10341
      start: 10193
    functionDepth: 7
    functionLinenumber: 10193
    functionLinenumberEnd: 10341
    functionName: query_dname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - query_addauth
    - ns_client_qnamereplace
    - dns_rdataset_current
    - query_prefetch
    - dns_message_gettempname
    - dns_rdataset_first
    - dns_message_puttempname
    - dns_rdata_reset
    - ns_query_done
    - dns_rdata_tostruct
    - ns_client_keepname
    - WANTDNSSEC
    - dns_fixedname_initname
    - dns_rdata_freestruct
    - RECURSIONOK
    - CALL_HOOK
    - ns_client_newname
    - dns_fixedname_init
    - dns_name_copy
    - ns_client_getnamebuf
    - dns_name_concatenate
    - query_addrrset
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - INSIST
    - dns_fixedname_name
    - CCTRACE
    - query_addcname
    - dns_name_split
    - WANTRECURSION
    - dns_name_fullcompare
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_dname(query_ctx_t *qctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10355,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10357,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/ns/query.c:10359,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/ns/query.c:10361,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/query.c:10363,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/ns/query.c:10369,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:10375,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/query.c:10376,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/ns/query.c:10378,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10380,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10382,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:10383,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/query.c:10385,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - qctx
    - trust
    - ttl
    argTypes:
    - query_ctx_t*
    - dns_trust_t
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10390
      start: 10346
    functionDepth: 3
    functionLinenumber: 10346
    functionLinenumberEnd: 10390
    functionName: query_addcname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_rdatalist_tordataset
    - query_addrrset
    - ISC_LIST_APPEND
    - dns_rdataset_setownercase
    - dns_message_gettemprdatalist
    - dns_rdataset_isassociated
    - dns_message_gettemprdataset
    - dns_name_toregion
    - dns_message_gettempname
    - dns_rdataset_disassociate
    - dns_name_copy
    - dns_message_puttempname
    - dns_message_puttemprdataset
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: void query_addcname(query_ctx_t *qctx, dns_trust_t trust, dns_ttl_t
      ttl)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:10401,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10401,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10403,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10405,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:10406,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10407,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10408,1
    - Dst: query_respond_any
      Src: /src/bind9/lib/ns/query.c:10413,1
    - Dst: query_zerottl_refetch
      Src: /src/bind9/lib/ns/query.c:10416,1
    - Dst: query_respond
      Src: /src/bind9/lib/ns/query.c:10421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10425
      start: 10397
    functionDepth: 9
    functionLinenumber: 10397
    functionLinenumberEnd: 10425
    functionName: query_prepresponse
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - WANTDNSSEC
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - query_respond
    - CCTRACE
    - query_zerottl_refetch
    - CALL_HOOK
    - dns_fixedname_init
    - dns_name_copy
    - query_respond_any
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_prepresponse(query_ctx_t *qctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10444,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10444,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10446,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10447,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10453,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10453,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10461,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:10467,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:10467,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10469,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10470,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:10470,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10471,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/query.c:10477,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:10479,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10486,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10488,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10498,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:10506,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10507,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:10508,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:10509,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10510,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10540,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10544,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10546,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10549,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10552,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - qctx
    - override_ttl
    - section
    argTypes:
    - query_ctx_t*
    - unsigned int
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10556
      start: 10432
    functionDepth: 3
    functionLinenumber: 10432
    functionLinenumberEnd: 10556
    functionName: query_addsoa
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - dns_clientinfo_init
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_message_gettempname
    - dns_rdataset_first
    - dns_db_findext
    - dns_rdata_tostruct
    - dns_clientinfomethods_init
    - ns_client_newrdataset
    - WANTDNSSEC
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - CTRACE
    - dns_db_origin
    - dns_db_getoriginnode
    - query_addrrset
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - dns_name_clone
    - dns_db_detachnode
    - ns_client_releasename
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t query_addsoa(query_ctx_t *qctx, unsigned int override_ttl,\n\t
      \    dns_section_t section)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10573,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10573,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10579,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10581,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10582,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10587,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:10588,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:10588,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10589,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10591,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:10591,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10592,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/query.c:10598,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:10600,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10604,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10604,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10605,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10608,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10608,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10611,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10623,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10627,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10627,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10628,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10630,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10633,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10636,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10639,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10641
      start: 10561
    functionDepth: 3
    functionLinenumber: 10561
    functionLinenumberEnd: 10641
    functionName: query_addns
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_clientinfomethods_init
    - query_addrrset
    - ns_client_newrdataset
    - WANTDNSSEC
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - dns_clientinfo_init
    - dns_db_findrdataset
    - ns_client_putrdataset
    - CTRACE
    - dns_name_clone
    - dns_message_gettempname
    - dns_db_origin
    - ns_client_releasename
    - dns_db_findext
    - dns_db_getoriginnode
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_addns(query_ctx_t *qctx)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10664,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10664,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10666,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10667,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:10669,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:10670,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:10676,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:10687,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10689,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10690,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:10691,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10694,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:10698,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:10701,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10711,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10712,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10713,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10719,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10720,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10727,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:10734,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:10735,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10736,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:10737,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:10738,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:10739,1
    - Dst: SAVE
      Src: /src/bind9/lib/ns/query.c:10740,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:10742,1
    - Dst: dns_db_findzonecut
      Src: /src/bind9/lib/ns/query.c:10747,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:10753,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10773,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10781,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10783,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10787,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10789,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:10791,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:10792,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:10793,1
    - Dst: RESTORE
      Src: /src/bind9/lib/ns/query.c:10794,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:10800,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:10801,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:10802,1
    - Dst: PENDINGOK
      Src: /src/bind9/lib/ns/query.c:10803,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:10808,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:10809,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:10810,1
    - Dst: SECURE
      Src: /src/bind9/lib/ns/query.c:10811,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10811,1
    - Dst: SECURE
      Src: /src/bind9/lib/ns/query.c:10820,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10820,1
    - Dst: WANTAD
      Src: /src/bind9/lib/ns/query.c:10820,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10831,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10832,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10835,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10840,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10843,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10846,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10849,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10852,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:10855,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10858,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10860,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10863,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10865,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 132
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10867
      start: 10646
    functionDepth: 6
    functionLinenumber: 10646
    functionLinenumberEnd: 10867
    functionName: query_addbestns
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - validate
    - dns_clientinfo_init
    - query_getdb
    - dns_zone_detach
    - dns_db_findext
    - dns_name_countlabels
    - dns_clientinfomethods_init
    - ns_client_newrdataset
    - ns_client_keepname
    - WANTDNSSEC
    - dns_name_issubdomain
    - WANTAD
    - dns_db_detach
    - CTRACE
    - SECURE
    - ns_client_newname
    - dns_zone_gettype
    - ns_client_getnamebuf
    - RESTORE
    - dns_db_findzonecut
    - query_addrrset
    - ISC_LOG_DEBUG
    - dns_db_attach
    - DNS_TRUST_GLUE
    - USECACHE
    - SAVE
    - dns_name_split
    - PENDINGOK
    - ns_client_putrdataset
    - DNS_TRUST_PENDING
    - dns_name_clone
    - dns_db_detachnode
    - ns_client_releasename
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void query_addbestns(query_ctx_t *qctx)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10891,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10891,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10893,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10894,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10903,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10951,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10957,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10958,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10959,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10960,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10962,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10966,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10969,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10973,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10980,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10981,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10984,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10987,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10991,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:11005,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11008,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:11012,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:11020,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:11021,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:11025,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11026,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:11027,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:11031,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11032,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:11033,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:11039,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11042,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11043,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:11047,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:11049,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:11051,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:11054,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11057,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:11060,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:11071,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:11072,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:11076,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11077,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:11078,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:11082,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11083,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:11084,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:11090,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:11095,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11098,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:11101,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:11107,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:11110,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:11111,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:11112,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/ns/query.c:11113,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/ns/query.c:11115,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:11121,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:11126,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:11128,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:11130,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:11135,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:11137,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11141,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11144,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:11147,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:11151,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11158,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11161,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:11164,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 168
    argCount: 3
    argNames:
    - qctx
    - ispositive
    - nodata
    argTypes:
    - query_ctx_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11166
      start: 10869
    functionDepth: 3
    functionLinenumber: 10869
    functionLinenumberEnd: 11166
    functionName: query_addwildcardproof
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - dns_clientinfo_init
    - dns_rdataset_current
    - ns_client_log
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - query_findclosestnsec3
    - dns_db_findext
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_clientinfomethods_init
    - ns_client_newrdataset
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - CTRACE
    - dns_rdata_freestruct
    - ns_client_newname
    - ns_client_getnamebuf
    - dns_name_copy
    - dns_name_format
    - dns_name_concatenate
    - query_addrrset
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - dns_name_split
    - ns_client_putrdataset
    - dns_name_equal
    - dns_name_fullcompare
    - dns_db_detachnode
    - ns_client_releasename
    linkageType: ''
    returnType: void
    signature: void query_addwildcardproof(query_ctx_t *qctx, bool ispositive, bool
      nodata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:11174,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:11174,1
    - Dst: NOAUTHORITY
      Src: /src/bind9/lib/ns/query.c:11179,1
    - Dst: query_addns
      Src: /src/bind9/lib/ns/query.c:11182,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:11188,1
    - Dst: query_addbestns
      Src: /src/bind9/lib/ns/query.c:11191,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:11199,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:11200,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11202
      start: 11172
    functionDepth: 7
    functionLinenumber: 11172
    functionLinenumberEnd: 11202
    functionName: query_addauth
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - query_addwildcardproof
    - ISC_LOG_DEBUG
    - CCTRACE
    - NOAUTHORITY
    - query_addbestns
    - query_addns
    - ns_client_releasename
    - dns_db_issecure
    linkageType: ''
    returnType: void
    signature: void query_addauth(query_ctx_t *qctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:11214,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:11216,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:11223,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:11224,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11226,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11228,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11230,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11241
      start: 11208
    functionDepth: 1
    functionLinenumber: 11208
    functionLinenumberEnd: 11241
    functionName: query_glueanswer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - dns_rdatatype_isaddr
    - ISC_LIST_EMPTY
    - dns_name_equal
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void query_glueanswer(query_ctx_t *qctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:11223,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:11224,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11226,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11228,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11230,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11240
      start: 11222
    functionDepth: 1
    functionLinenumber: 11222
    functionLinenumberEnd: 11240
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_PREPEND
    - ISC_LIST_UNLINK
    - dns_name_equal
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:11249,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:11249,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:11251,1
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:11260,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:11264,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:11265,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:11284,1
    - Dst: qctx_save
      Src: /src/bind9/lib/ns/query.c:11286,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:11287,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/query.c:11289,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:11307,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11309,1
    - Dst: PARTIALANSWER
      Src: /src/bind9/lib/ns/query.c:11316,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:11317,1
    - Dst: query_next
      Src: /src/bind9/lib/ns/query.c:11329,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11336,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11337,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:11348,1
    - Dst: QUERY_STALETIMEOUT
      Src: /src/bind9/lib/ns/query.c:11349,1
    - Dst: query_glueanswer
      Src: /src/bind9/lib/ns/query.c:11361,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:11375,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:11381,1
    - Dst: query_send
      Src: /src/bind9/lib/ns/query.c:11383,1
    - Dst: message_clearrdataset
      Src: /src/bind9/lib/ns/query.c:11395,1
    - Dst: query_stale_refresh
      Src: /src/bind9/lib/ns/query.c:11396,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:11409,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:11410,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11413,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11416
      start: 11243
    functionDepth: 7
    functionLinenumber: 11243
    functionLinenumberEnd: 11416
    functionName: ns_query_done
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 22
    functionsReached:
    - qctx_clean
    - isc_async_run
    - ns_client_log
    - query_error
    - PARTIALANSWER
    - isc_nmhandle_attach
    - qctx_save
    - CALL_HOOK
    - query_glueanswer
    - QUERY_STALETIMEOUT
    - query_stale_refresh
    - qctx_freedata
    - rpz_match_clear
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - INSIST
    - CCTRACE
    - isc_mem_get
    - RECURSING
    - message_clearrdataset
    - dns_ede_add
    - query_next
    - WANTRECURSION
    - query_send
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_query_done(query_ctx_t *qctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:11427,1
    - Dst: dns_name_istat
      Src: /src/bind9/lib/ns/query.c:11432,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:11439,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11440,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/ns/query.c:11441,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:11442,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:11448,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11451,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:11458,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:11470,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:11474,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11476
      start: 11418
    functionDepth: 3
    functionLinenumber: 11418
    functionLinenumberEnd: 11476
    functionName: log_tat
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromsockaddr
    - dns_rdataclass_format
    - INSIST
    - isc_netaddr_format
    - dns_name_istat
    - isc_mem_get
    - isc_log_write
    - snprintf
    - dns_name_format
    - isc_mem_put
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void log_tat(ns_client_t *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:11489,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11493,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11494,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11495,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:11496,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:11497,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/query.c:11498,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:11500,1
    - Dst: ns_client_log_ecs
      Src: /src/bind9/lib/ns/query.c:11501,1
    - Dst: ns_client_log_flags
      Src: /src/bind9/lib/ns/query.c:11503,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - client
    - flags
    - extflags
    argTypes:
    - ns_client_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11509
      start: 11478
    functionDepth: 3
    functionLinenumber: 11478
    functionLinenumberEnd: 11509
    functionName: log_query
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - isc_sockaddr_format
    - dns_rdataclass_format
    - INSIST
    - ns_client_log_ecs
    - ns_client_log
    - ns_client_log_flags
    - dns_name_format
    - dns_rdatatype_format
    - HAVEECS
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void log_query(ns_client_t *client, unsigned int flags, unsigned int
      extflags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:11519,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11531,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11536,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:11538,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:11541,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11548,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:11550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - client
    - result
    - line
    - level
    argTypes:
    - ns_client_t*
    - isc_result_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11552
      start: 11511
    functionDepth: 2
    functionLinenumber: 11511
    functionLinenumberEnd: 11552
    functionName: log_queryerror
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - dns_rdataclass_format
    - isc_result_totext
    - ns_client_log
    - dns_name_format
    - dns_rdatatype_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void log_queryerror(ns_client_t *client, isc_result_t result, int line,
      int level)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:11563,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:11563,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:11568,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:11574,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:11574,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11633,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:11640,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11641,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11646,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/query.c:11649,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11654,1
    - Dst: log_query
      Src: /src/bind9/lib/ns/query.c:11659,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11665,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11666,1
    - Dst: dns_rdatatypestats_increment
      Src: /src/bind9/lib/ns/query.c:11668,1
    - Dst: log_tat
      Src: /src/bind9/lib/ns/query.c:11671,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/query.c:11673,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/lib/ns/query.c:11679,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11695,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/query.c:11698,1
    - Dst: isc_nm_xfr_checkperm
      Src: /src/bind9/lib/ns/query.c:11707,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11711,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11715,1
    - Dst: ns_xfr_start
      Src: /src/bind9/lib/ns/query.c:11720,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11724,1
    - Dst: dns_tkey_processquery
      Src: /src/bind9/lib/ns/query.c:11727,1
    - Dst: query_send
      Src: /src/bind9/lib/ns/query.c:11731,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11733,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11737,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/ns/query.c:11745,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:11760,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:11770,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/query.c:11820,1
    - Dst: query_next
      Src: /src/bind9/lib/ns/query.c:11822,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:11841,1
    - Dst: WANTAD
      Src: /src/bind9/lib/ns/query.c:11841,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/ns/query.c:11848,1
    - Dst: query_setup
      Src: /src/bind9/lib/ns/query.c:11851,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 144
    argCount: 2
    argNames:
    - client
    - handle
    argTypes:
    - ns_client_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11852
      start: 11554
    functionDepth: 5
    functionLinenumber: 11554
    functionLinenumberEnd: 11852
    functionName: ns_query_start
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_rdatatype_iskeymaterial
    - REQUIRE
    - query_error
    - isc_counter_create
    - dns_message_reply
    - ISC_LIST_HEAD
    - TCP
    - WANTDNSSEC
    - ns_xfr_start
    - WANTAD
    - query_setup
    - CTRACE
    - dns_rdatatypestats_increment
    - isc_nmhandle_attach
    - dns_tkey_processquery
    - NS_CLIENT_VALID
    - log_query
    - ISC_LIST_NEXT
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - INSIST
    - dns_rdatatype_ismeta
    - isc_nm_socket_type
    - isc_nm_is_http_handle
    - query_next
    - log_tat
    - isc_nm_xfr_checkperm
    - query_send
    linkageType: ''
    returnType: void
    signature: void ns_query_start(ns_client_t *client, isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: SCTX_VALID
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCTX_VALID(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: CHECKFATAL
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKFATAL(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:43,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/server.c:45,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/server.c:56,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/server.c:63,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/server.c:65,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/server.c:66,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/server.c:67,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/server.c:68,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/server.c:69,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/server.c:70,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/server.c:71,1
    - Dst: ns_stats_create
      Src: /src/bind9/lib/ns/server.c:73,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/lib/ns/server.c:75,1
    - Dst: dns_opcodestats_create
      Src: /src/bind9/lib/ns/server.c:77,1
    - Dst: dns_rcodestats_create
      Src: /src/bind9/lib/ns/server.c:79,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:81,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:84,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:87,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:90,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:93,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:96,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:99,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/lib/ns/server.c:102,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/server.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - mctx
    - matchingview
    - sctxp
    argTypes:
    - isc_mem_t*
    - ns_matchview_t
    - ns_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 109
    functionName: ns_server_create
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - dns_rdatatypestats_create
    - isc_mutex_init
    - dns_rcodestats_create
    - dns_opcodestats_create
    - ns_stats_create
    - isc_quota_init
    - isc_mem_get
    - isc_refcount_init
    - isc_histomulti_create
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: "void ns_server_create(isc_mem_t *mctx, ns_matchview_t matchingview,\n\t\t
      ns_server_t **sctxp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:113,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:114,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/ns/server.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - ns_server_t*
    - ns_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: ns_server_attach
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - SCTX_VALID
    linkageType: ''
    returnType: void
    signature: void ns_server_attach(ns_server_t *src, ns_server_t **dest)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:125,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:125,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/ns/server.c:129,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/server.c:130,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/server.c:131,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/server.c:132,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/server.c:136,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/server.c:139,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/server.c:140,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/server.c:141,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/server.c:142,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/server.c:143,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/server.c:145,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/ns/server.c:146,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/server.c:147,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/server.c:148,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/server.c:151,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/server.c:154,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/server.c:158,1
    - Dst: dns_tkeyctx_destroy
      Src: /src/bind9/lib/ns/server.c:161,1
    - Dst: ns_stats_detach
      Src: /src/bind9/lib/ns/server.c:165,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/ns/server.c:169,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/ns/server.c:172,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/ns/server.c:175,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:179,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:182,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:185,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:188,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:192,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:195,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:198,1
    - Dst: isc_histomulti_destroy
      Src: /src/bind9/lib/ns/server.c:201,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/server.c:206,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 1
    argNames:
    - sctxp
    argTypes:
    - ns_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 208
    functionName: ns_server_detach
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 4
    functionsReached:
    - dns_acl_detach
    - ISC_LIST_DEQUEUE
    - SCTX_VALID
    - isc_mem_free
    - ns_stats_detach
    - isc_mem_putanddetach
    - isc_refcount_decrement
    - isc_quota_destroy
    - dns_stats_detach
    - isc_histomulti_destroy
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - isc_mutex_destroy
    - dns_tkeyctx_destroy
    linkageType: ''
    returnType: void
    signature: void ns_server_detach(ns_server_t **sctxp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:212,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:212,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/server.c:215,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/ns/server.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sctx
    - serverid
    argTypes:
    - ns_server_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: ns_server_setserverid
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 1
    functionsReached:
    - isc_mem_strdup
    - isc_mem_free
    - REQUIRE
    - SCTX_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_server_setserverid(ns_server_t *sctx, const char *serverid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:227,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sctx
    - option
    - value
    argTypes:
    - ns_server_t*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: ns_server_setoption
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - SCTX_VALID
    linkageType: ''
    returnType: void
    signature: void ns_server_setoption(ns_server_t *sctx, unsigned int option, bool
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:237,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sctx
    - option
    argTypes:
    - ns_server_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: ns_server_getoption
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - SCTX_VALID
    linkageType: ''
    returnType: bool
    signature: bool ns_server_getoption(ns_server_t *sctx, unsigned int option)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:244,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:245,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/server.c:247,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/server.c:248,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/server.c:249,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/server.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sctx
    - http_quota
    argTypes:
    - ns_server_t*
    - isc_quota_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: ns_server_append_http_quota
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_APPEND
    - SCTX_VALID
    - ISC_LINK_INIT
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_server_append_http_quota(ns_server_t *sctx, isc_quota_t *http_quota)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: CTRACE
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: MTRACE
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: CTRACE
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: MTRACE
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: TCP_CLIENT
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TCP_CLIENT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: USEKEEPALIVE
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USEKEEPALIVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: WANTEXPIRE
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTEXPIRE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: WANTNSID
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTNSID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: WANTPAD
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTPAD(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: WANTRC
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTRC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: WANTZONEVERSION
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTZONEVERSION(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: VALID_MANAGER
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_MANAGER(m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/client.c:126,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/ns/client.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: can_log_sigchecks_quota
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    - atomic_exchange_relaxed
    linkageType: ''
    returnType: bool
    signature: bool can_log_sigchecks_quota(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:152,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:156,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/client.c:158,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/client.c:175,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 188
    functionName: ns_client_transport_type
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - INSIST
    - isc_nm_socket_type
    - isc_nm_has_encryption
    - TCP_CLIENT
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t ns_client_transport_type(const ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:192,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:193,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:195,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/client.c:197,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: ns_client_recursing
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - LOCK
    - ISC_LIST_APPEND
    - UNLOCK
    - REQUIRE
    - NS_CLIENT_VALID
    linkageType: ''
    returnType: void
    signature: void ns_client_recursing(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:204,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:204,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:206,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:207,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/client.c:209,1
    - Dst: ns_query_cancel
      Src: /src/bind9/lib/ns/client.c:211,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:212,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 216
    functionName: ns_client_killoldestquery
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - LOCK
    - UNLOCK
    - ns_query_cancel
    - REQUIRE
    - ISC_LIST_UNLINK
    - NS_CLIENT_VALID
    - ns_stats_increment
    linkageType: ''
    returnType: void
    signature: void ns_client_killoldestquery(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/client.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/client.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - client
    - seconds
    argTypes:
    - ns_client_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: ns_client_settimeout
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void ns_client_settimeout(ns_client_t *client, unsigned int seconds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: client_zoneversion_reset
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void client_zoneversion_reset(ns_client_t *client)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:237,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:240,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:243,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/ns/client.c:244,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/client.c:245,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:248,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/ns/client.c:260,1
    - Dst: dns_adb_flush
      Src: /src/bind9/lib/ns/client.c:262,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/ns/client.c:263,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/ns/client.c:267,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:270,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/client.c:270,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/client.c:271,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/client.c:272,1
    - Dst: client_zoneversion_reset
      Src: /src/bind9/lib/ns/client.c:276,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/client.c:282,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/ns/client.c:283,1
    - Dst: dns_ecs_init
      Src: /src/bind9/lib/ns/client.c:285,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/ns/client.c:286,1
    - Dst: ns_client_t*::manager::sctx::fuzznotify
      Src: /src/bind9/lib/ns/client.c:298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 301
    functionName: ns_client_endrequest
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - dns_name_free
    - dns_adb_detach
    - UNLOCK
    - dns_rdataset_disassociate
    - client_zoneversion_reset
    - dns_ecs_init
    - LOCK
    - ISC_LINK_LINKED
    - dns_rdataset_isassociated
    - CTRACE
    - dns_view_getadb
    - dns_message_reset
    - dns_message_puttemprdataset
    - ns_client_t*::manager::sctx::fuzznotify
    - INSIST
    - ISC_LIST_UNLINK
    - dns_adb_flush
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void ns_client_endrequest(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:305,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:306,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:309,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:311,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:312,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: ns_client_drop
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 3
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_result_totext
    - CTRACE
    - ns_client_log
    - REQUIRE
    - NS_CLIENT_VALID
    linkageType: ''
    returnType: void
    signature: void ns_client_drop(ns_client_t *client, isc_result_t result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:321,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:323,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:335,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:336,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:337,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:341,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:343,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:344,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:346,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:347,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/client.c:351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 317
    functionDepth: 7
    functionLinenumber: 317
    functionLinenumberEnd: 352
    functionName: client_senddone
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_nm_bad_request
    - isc_nmhandle_detach
    - ISC_LOG_DEBUG
    - isc_result_totext
    - CTRACE
    - ns_client_log
    - REQUIRE
    - ns_client_error
    - TCP_CLIENT
    linkageType: ''
    returnType: void
    signature: void client_senddone(isc_nmhandle_t *handle, isc_result_t result, void
      *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: client_setup_tcp_buffer
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void client_setup_tcp_buffer(ns_client_t *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: client_put_tcp_buffer
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void client_put_tcp_buffer(ns_client_t *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:383,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:385,1
    - Dst: client_setup_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:386,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:388,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - client
    - buffer
    - datap
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 410
    functionName: client_allocsendbuf
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - client_setup_tcp_buffer
    - REQUIRE
    - TCP_CLIENT
    linkageType: ''
    returnType: void
    signature: "void client_allocsendbuf(ns_client_t *client, isc_buffer_t *buffer,\n\t\t
      \   unsigned char **datap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:418,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/client.c:420,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:421,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:422,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:435,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:436,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:442,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:456,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:461,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/client.c:467,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/client.c:469,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/lib/ns/client.c:471,1
    - Dst: dns_message_response_minttl
      Src: /src/bind9/lib/ns/client.c:472,1
    - Dst: isc_nm_set_maxage
      Src: /src/bind9/lib/ns/client.c:474,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/ns/client.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - client
    - buffer
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 412
    functionDepth: 6
    functionLinenumber: 412
    functionLinenumberEnd: 478
    functionName: client_sendpkg
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_message_response_minttl
    - isc_nm_set_maxage
    - isc_nm_send
    - INSIST
    - client_put_tcp_buffer
    - isc_mem_get
    - isc_nm_is_http_handle
    - isc_nmhandle_attach
    - isc_buffer_usedlength
    - REQUIRE
    - isc_buffer_usedregion
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void client_sendpkg(ns_client_t *client, isc_buffer_t *buffer)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:492,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:492,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:494,1
    - Dst: dns_message_getrawmessage
      Src: /src/bind9/lib/ns/client.c:496,1
    - Dst: client_allocsendbuf
      Src: /src/bind9/lib/ns/client.c:502,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/ns/client.c:504,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:512,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/ns/client.c:513,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:522,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:531,1
    - Dst: client_sendpkg
      Src: /src/bind9/lib/ns/client.c:538,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:543,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - client
    - message
    argTypes:
    - ns_client_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 480
    functionDepth: 7
    functionLinenumber: 480
    functionLinenumberEnd: 547
    functionName: ns_client_sendraw
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - dns_dt_send
    - isc_buffer_length
    - ns_client_drop
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - CTRACE
    - client_sendpkg
    - client_put_tcp_buffer
    - client_allocsendbuf
    - REQUIRE
    - NS_CLIENT_VALID
    - ns_client_transport_type
    - dns_message_getrawmessage
    linkageType: ''
    returnType: void
    signature: void ns_client_sendraw(ns_client_t *client, dns_message_t *message)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:570,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:570,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:583,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:608,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/client.c:619,1
    - Dst: client_allocsendbuf
      Src: /src/bind9/lib/ns/client.c:626,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:632,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/lib/ns/client.c:638,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/ns/client.c:648,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/ns/client.c:651,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/ns/client.c:657,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:664,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:679,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:689,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:699,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/ns/client.c:706,1
    - Dst: memset
      Src: /src/bind9/lib/ns/client.c:712,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/client.c:718,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:720,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/ns/client.c:721,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/ns/client.c:722,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/client.c:724,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:736,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/client.c:740,1
    - Dst: ns_client_t*::inner::sendcb
      Src: /src/bind9/lib/ns/client.c:744,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:745,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/client.c:746,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:749,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:757,1
    - Dst: client_sendpkg
      Src: /src/bind9/lib/ns/client.c:759,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:761,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:763,1
    - Dst: DNS_SIZEHISTO_BUCKETOUT
      Src: /src/bind9/lib/ns/client.c:764,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:767,1
    - Dst: DNS_SIZEHISTO_BUCKETOUT
      Src: /src/bind9/lib/ns/client.c:768,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:771,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:780,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:788,1
    - Dst: client_sendpkg
      Src: /src/bind9/lib/ns/client.c:790,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:792,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:794,1
    - Dst: DNS_SIZEHISTO_BUCKETOUT
      Src: /src/bind9/lib/ns/client.c:795,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:798,1
    - Dst: DNS_SIZEHISTO_BUCKETOUT
      Src: /src/bind9/lib/ns/client.c:799,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:802,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:807,1
    - Dst: dns_rcodestats_increment
      Src: /src/bind9/lib/ns/client.c:810,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:813,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:817,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:821,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:825,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:835,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/client.c:839,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 196
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 549
    functionDepth: 7
    functionLinenumber: 549
    functionLinenumberEnd: 841
    functionName: ns_client_send
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - dns_compress_invalidate
    - memset
    - dns_message_renderbegin
    - REQUIRE
    - dns_zone_getorigin
    - isc_buffer_usedregion
    - ns_stats_increment
    - UNREACHABLE
    - ns_client_t*::inner::sendcb
    - CTRACE
    - client_sendpkg
    - DNS_SIZEHISTO_BUCKETOUT
    - NS_CLIENT_VALID
    - dns_message_rendersection
    - TCP_CLIENT
    - isc_netaddr_fromsockaddr
    - client_put_tcp_buffer
    - dns_rcodestats_increment
    - client_allocsendbuf
    - dns_name_towire
    - isc_histomulti_inc
    - ns_client_transport_type
    - ns_client_addopt
    - isc_sockaddr_pf
    - dns_compress_setpermitted
    - dns_message_setopt
    - dns_dt_send
    - dns_acl_allowed
    - isc_buffer_init
    - isc_buffer_usedlength
    - dns_compress_init
    - dns_message_renderend
    linkageType: ''
    returnType: void
    signature: void ns_client_send(ns_client_t *client)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - port
    argTypes:
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 868
    functionName: ns_client_dropport
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ns_client_dropport(in_port_t port)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:877,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:877,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:879,1
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/client.c:884,1
    - Dst: ns_client_dropport
      Src: /src/bind9/lib/ns/client.c:898,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/ns/client.c:898,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:904,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/ns/client.c:905,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/client.c:906,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:908,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:909,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:911,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:912,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:931,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:933,1
    - Dst: dns_rrl
      Src: /src/bind9/lib/ns/client.c:934,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:936,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:947,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:957,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:960,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:963,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/client.c:979,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/client.c:986,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:988,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/client.c:1008,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1011,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1015,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1016,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:1019,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1024,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/ns/client.c:1042,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/ns/client.c:1043,1
    - Dst: dns_badcache_add
      Src: /src/bind9/lib/ns/client.c:1045,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1048,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/client.c:1052,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 871
    functionDepth: 8
    functionLinenumber: 871
    functionLinenumberEnd: 1053
    functionName: ns_client_error
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - dns_badcache_add
    - isc_buffer_putstr
    - ns_client_log
    - isc_time_seconds
    - REQUIRE
    - ns_stats_increment
    - dns_message_reply
    - ns_client_dropport
    - CTRACE
    - NS_CLIENT_VALID
    - isc_time_nowplusinterval
    - TCP_CLIENT
    - isc_log_wouldlog
    - isc_sockaddr_getport
    - isc_interval_set
    - ISC_LOG_DEBUG
    - ns_client_drop
    - dns_result_torcode
    - dns_rrl
    - isc_sockaddr_equal
    - isc_buffer_init
    - isc_buffer_usedlength
    - dns_rcode_totext
    - ns_client_send
    linkageType: ''
    returnType: void
    signature: void ns_client_error(ns_client_t *client, isc_result_t result)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1071,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:1071,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1072,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1073,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/ns/client.c:1078,1
    - Dst: WANTNSID
      Src: /src/bind9/lib/ns/client.c:1086,1
    - Dst: gethostname
      Src: /src/bind9/lib/ns/client.c:1090,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1098,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/client.c:1100,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/client.c:1107,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1109,1
    - Dst: compute_cookie
      Src: /src/bind9/lib/ns/client.c:1111,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1114,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1123,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1125,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/ns/client.c:1126,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1151,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1155,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1157,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1160,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1162,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1165,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1168,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/ns/client.c:1170,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1172,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1174,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/client.c:1182,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1190,1
    - Dst: USEKEEPALIVE
      Src: /src/bind9/lib/ns/client.c:1190,1
    - Dst: isc_nm_getadvertisedtimeout
      Src: /src/bind9/lib/ns/client.c:1192,1
    - Dst: isc_nmhandle_netmgr
      Src: /src/bind9/lib/ns/client.c:1193,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1195,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1198,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/ns/client.c:1199,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1213,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1220,1
    - Dst: WANTRC
      Src: /src/bind9/lib/ns/client.c:1227,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/client.c:1229,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/client.c:1232,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1233,1
    - Dst: WANTPAD
      Src: /src/bind9/lib/ns/client.c:1242,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1243,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:1249,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/client.c:1250,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1253,1
    - Dst: dns_message_setpadding
      Src: /src/bind9/lib/ns/client.c:1260,1
    - Dst: dns_message_buildopt
      Src: /src/bind9/lib/ns/client.c:1264,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 141
    argCount: 3
    argNames:
    - client
    - message
    - opt
    argTypes:
    - ns_client_t*
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1267
    functionName: ns_client_addopt
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - WANTPAD
    - dns_view_getudpsize
    - memmove
    - isc_buffer_putmem
    - dns_name_dynamic
    - REQUIRE
    - dns_message_setpadding
    - WANTNSID
    - UNREACHABLE
    - isc_nm_getadvertisedtimeout
    - isc_stdtime_now
    - NS_CLIENT_VALID
    - dns_acl_match
    - dns_message_buildopt
    - TCP_CLIENT
    - isc_nmhandle_netmgr
    - isc_netaddr_fromsockaddr
    - INSIST
    - strlen
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - gethostname
    - WANTRC
    - compute_cookie
    - dns_name_equal
    - isc_buffer_init
    - USEKEEPALIVE
    - isc_buffer_putuint32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_client_addopt(ns_client_t *client, dns_message_t *message,\n\t\t
      dns_rdataset_t **opt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/ns/client.c:1273,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/client.c:1283,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1284,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1285,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/ns/client.c:1286,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/ns/client.c:1287,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1289,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/ns/client.c:1289,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:1291,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1295,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1300,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1304,1
    - Dst: isc_siphash24
      Src: /src/bind9/lib/ns/client.c:1307,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/client.c:1308,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - client
    - when
    - secret
    - buf
    argTypes:
    - ns_client_t*
    - uint32_t
    - unsigned char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1269
    functionDepth: 3
    functionLinenumber: 1269
    functionLinenumberEnd: 1314
    functionName: compute_cookie
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 3
    functionsReached:
    - UNREACHABLE
    - memmove
    - isc_buffer_putmem
    - isc_netaddr_fromsockaddr
    - isc_siphash24
    - STATIC_ASSERT
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - isc_buffer_putuint32
    - isc_buffer_used
    linkageType: ''
    returnType: void
    signature: "void compute_cookie(ns_client_t *client, uint32_t when, const unsigned
      char *secret,\n\t       isc_buffer_t *buf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1331,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1337,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1344,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1345,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1345,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1346,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1349,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1352,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1362,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1363,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1364,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1365,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/ns/client.c:1366,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1367,1
    - Dst: ns_server_getoption
      Src: /src/bind9/lib/ns/client.c:1374,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/client.c:1381,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/ns/client.c:1385,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/ns/client.c:1386,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1389,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1394,1
    - Dst: compute_cookie
      Src: /src/bind9/lib/ns/client.c:1395,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/ns/client.c:1397,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1398,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:1404,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1405,1
    - Dst: compute_cookie
      Src: /src/bind9/lib/ns/client.c:1406,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/ns/client.c:1407,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1408,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 3
    argNames:
    - client
    - buf
    - optlen
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1316
    functionDepth: 3
    functionLinenumber: 1316
    functionLinenumberEnd: 1418
    functionName: process_cookie
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ns_server_getoption
    - memmove
    - compute_cookie
    - isc_serial_lt
    - isc_buffer_forward
    - INSIST
    - isc_buffer_init
    - isc_safe_memequal
    - isc_buffer_getuint32
    - isc_buffer_current
    - isc_stdtime_now
    - isc_serial_gt
    - ISC_LIST_FOREACH
    - ns_stats_increment
    linkageType: ''
    returnType: void
    signature: void process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t
      optlen)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1430,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1441,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1442,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/ns/client.c:1447,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/ns/client.c:1448,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/ns/client.c:1449,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1453,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1454,1
    - Dst: memset
      Src: /src/bind9/lib/ns/client.c:1459,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1469,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1470,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1480,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1481,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1491,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1492,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1501,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1502,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/ns/client.c:1508,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1509,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1510,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1517,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1517,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1518,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1530,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1535,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 3
    argNames:
    - client
    - buf
    - optlen
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1420
    functionDepth: 3
    functionLinenumber: 1420
    functionLinenumberEnd: 1537
    functionName: process_ecs
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - ISC_LOG_DEBUG
    - isc_buffer_forward
    - isc_buffer_remaininglength
    - ns_client_log
    - isc_buffer_current
    - isc_buffer_getuint8
    - isc_buffer_getuint16
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t process_ecs(ns_client_t *client, isc_buffer_t *buf, size_t
      optlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1542,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1548,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:1552,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1555,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1555,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - client
    - buf
    - optlen
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1539
    functionDepth: 2
    functionLinenumber: 1539
    functionLinenumberEnd: 1559
    functionName: process_keytag
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_buffer_forward
    - memmove
    - isc_buffer_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t process_keytag(ns_client_t *client, isc_buffer_t *buf,
      size_t optlen)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/client.c:1595,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/client.c:1597,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/client.c:1598,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1599,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:1600,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/ns/client.c:1601,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/ns/client.c:1602,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/ns/client.c:1603,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1605,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/ns/client.c:1605,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1615,1
    - Dst: WANTNSID
      Src: /src/bind9/lib/ns/client.c:1620,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1621,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1627,1
    - Dst: process_cookie
      Src: /src/bind9/lib/ns/client.c:1630,1
    - Dst: WANTEXPIRE
      Src: /src/bind9/lib/ns/client.c:1633,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1634,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1640,1
    - Dst: process_ecs
      Src: /src/bind9/lib/ns/client.c:1643,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1647,1
    - Dst: USEKEEPALIVE
      Src: /src/bind9/lib/ns/client.c:1652,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1653,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/ns/client.c:1659,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1661,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1666,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1669,1
    - Dst: process_keytag
      Src: /src/bind9/lib/ns/client.c:1672,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1677,1
    - Dst: WANTZONEVERSION
      Src: /src/bind9/lib/ns/client.c:1682,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1686,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1691,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1694,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1697,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1704,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/client.c:1706,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:1711,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1715,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/client.c:1723,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:1729,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 107
    argCount: 2
    argNames:
    - client
    - opt
    argTypes:
    - ns_client_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1561
    functionDepth: 9
    functionLinenumber: 1561
    functionLinenumberEnd: 1731
    functionName: process_opt
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_rdataset_current
    - dns_rdataset_first
    - process_ecs
    - ns_stats_increment
    - WANTNSID
    - process_cookie
    - WANTZONEVERSION
    - ns_client_error
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_getuint16
    - ns_client_addopt
    - process_keytag
    - WANTEXPIRE
    - isc_buffer_forward
    - isc_nmhandle_keepalive
    - isc_buffer_init
    - USEKEEPALIVE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t process_opt(ns_client_t *client, dns_rdataset_t *opt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_unref
      Src: /src/bind9/lib/ns/client.c:1738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1733
    functionDepth: 1
    functionLinenumber: 1733
    functionLinenumberEnd: 1741
    functionName: ns_client_async_reset
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_unref
    linkageType: ''
    returnType: void
    signature: void ns_client_async_reset(ns_client_t *client)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1747,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1748,1
    - Dst: ns_client_endrequest
      Src: /src/bind9/lib/ns/client.c:1758,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:1760,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:1764,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:1769,1
    - Dst: isc_log_setforcelog
      Src: /src/bind9/lib/ns/client.c:1774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - client0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1743
    functionDepth: 3
    functionLinenumber: 1743
    functionLinenumberEnd: 1776
    functionName: ns__client_reset_cb
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ns_client_async_reset
    - ISC_LOG_DEBUG
    - ns_client_log
    - client_put_tcp_buffer
    - isc_mem_put
    - isc_log_setforcelog
    - ns_client_endrequest
    linkageType: ''
    returnType: void
    signature: void ns__client_reset_cb(void *client0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1783,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:1783,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1787,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1788,1
    - Dst: ns_query_free
      Src: /src/bind9/lib/ns/client.c:1793,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/ns/client.c:1794,1
    - Dst: client_zoneversion_reset
      Src: /src/bind9/lib/ns/client.c:1795,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1800,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/client.c:1800,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/client.c:1801,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/client.c:1802,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:1806,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/ns/client.c:1808,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/client.c:1814,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:1816,1
    - Dst: ns_clientmgr_detach
      Src: /src/bind9/lib/ns/client.c:1818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - client0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1778
    functionDepth: 5
    functionLinenumber: 1778
    functionLinenumberEnd: 1819
    functionName: ns__client_put_cb
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - client_zoneversion_reset
    - ns_clientmgr_detach
    - isc_mem_put
    - ns_query_free
    - ISC_LOG_DEBUG
    - INSIST
    - dns_rdataset_isassociated
    - ns_client_log
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_ede_invalidate
    - NS_CLIENT_VALID
    - ns_client_async_reset
    - dns_message_detach
    - isc_mutex_destroy
    - dns_message_puttemprdataset
    linkageType: ''
    returnType: void
    signature: void ns__client_put_cb(void *client0)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/lib/ns/client.c:1828,1
    - Dst: ns_client_t*::manager::sctx::matchingview
      Src: /src/bind9/lib/ns/client.c:1831,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1840,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1849,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:1852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - client
    - netaddr
    argTypes:
    - ns_client_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1821
    functionDepth: 2
    functionLinenumber: 1821
    functionLinenumberEnd: 1855
    functionName: ns_client_setup_view
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - INSIST
    - ns_client_async_reset
    - ns_client_t*::manager::sctx::matchingview
    - isc_nmhandle_ref
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_client_setup_view(ns_client_t *client, isc_netaddr_t
      *netaddr)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_getdata
      Src: /src/bind9/lib/ns/client.c:1879,1
    - Dst: ns_interfacemgr_getclientmgr
      Src: /src/bind9/lib/ns/client.c:1883,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1885,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:1885,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1886,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/client.c:1886,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:1888,1
    - Dst: ns__client_setup
      Src: /src/bind9/lib/ns/client.c:1890,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1892,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1893,1
    - Dst: ns__client_setup
      Src: /src/bind9/lib/ns/client.c:1896,1
    - Dst: isc_nmhandle_setdata
      Src: /src/bind9/lib/ns/client.c:1902,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/ns/client.c:1907,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1911,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/ns/client.c:1913,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1915,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:1916,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/ns/client.c:1919,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:1922,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/client.c:1926,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1928,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:1930,1
    - Dst: ns_client_dropport
      Src: /src/bind9/lib/ns/client.c:1933,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/ns/client.c:1933,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1936,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1937,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1939,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/client.c:1946,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1950,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1951,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1953,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1957,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1958,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1959,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/lib/ns/client.c:1961,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1967,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1968,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1970,1
    - Dst: isc_log_setforcelog
      Src: /src/bind9/lib/ns/client.c:1976,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1986,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1987,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1989,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:1996,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1997,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2000,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:2003,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2004,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:2006,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:2008,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:2009,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:2012,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:2013,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:2016,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:2019,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:2021,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:2022,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:2025,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:2026,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:2029,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/ns/client.c:2036,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/client.c:2043,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2047,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2048,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:2050,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2054,1
    - Dst: dns_opcodestats_increment
      Src: /src/bind9/lib/ns/client.c:2058,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/ns/client.c:2080,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2094,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2104,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2114,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:2123,1
    - Dst: process_opt
      Src: /src/bind9/lib/ns/client.c:2127,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/client.c:2139,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2141,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/client.c:2149,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2153,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2154,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2156,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2158,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/ns/client.c:2162,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2163,1
    - Dst: ns_client_setup_view
      Src: /src/bind9/lib/ns/client.c:2174,1
    - Dst: ns_client_request_continue
      Src: /src/bind9/lib/ns/client.c:2179,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 170
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 1861
    functionDepth: 9
    functionLinenumber: 1861
    functionLinenumberEnd: 2180
    functionName: ns_client_request
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - dns_message_parse
    - DNS_SIZEHISTO_BUCKETIN
    - ns_client_log
    - isc_time_seconds
    - VALID_MANAGER
    - ns_stats_increment
    - process_opt
    - ns_client_dumpmessage
    - UNREACHABLE
    - dns_message_reply
    - isc_nmhandle_localaddr
    - ns_client_dropport
    - isc_nmhandle_peeraddr
    - isc_time_now
    - dns_acl_match
    - ns_client_error
    - TCP_CLIENT
    - isc_nm_bad_request
    - isc_sockaddr_getport
    - isc_tid
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - isc_nmhandle_setdata
    - dns_message_peekheader
    - ns_client_drop
    - ns_client_setup_view
    - INSIST
    - atomic_fetch_add_relaxed
    - dns_message_getopt
    - isc_mem_get
    - dns_opcodestats_increment
    - isc_nmhandle_getdata
    - isc_histomulti_inc
    - isc_log_setforcelog
    - ns_client_addopt
    - ns_client_request_continue
    - isc_sockaddr_pf
    - ns__client_setup
    - isc_result_totext
    - ns_interfacemgr_getclientmgr
    - isc_buffer_init
    - isc_nmhandle_is_stream
    - isc_buffer_usedlength
    - isc_buffer_add
    - ns_client_send
    linkageType: ''
    returnType: void
    signature: "void ns_client_request(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \ isc_region_t *region, void *arg)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2211,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/client.c:2218,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:2219,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/lib/ns/client.c:2231,1
    - Dst: dns_message_getrawmessage
      Src: /src/bind9/lib/ns/client.c:2232,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2233,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:2234,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/ns/client.c:2235,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2238,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2239,1
    - Dst: can_log_sigchecks_quota
      Src: /src/bind9/lib/ns/client.c:2242,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2243,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2246,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2252,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2255,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2256,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2259,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/client.c:2263,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2264,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/lib/ns/client.c:2269,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2273,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/lib/ns/client.c:2275,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2276,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/lib/ns/client.c:2277,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2278,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2281,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:2285,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2286,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2288,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:2297,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2302,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:2306,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2307,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2309,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:2318,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2323,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2324,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/client.c:2334,1
    - Dst: dns_message_signer
      Src: /src/bind9/lib/ns/client.c:2335,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/ns/client.c:2338,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2339,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2342,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2348,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2350,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2351,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2355,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2356,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2359,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2360,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2369,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/ns/client.c:2372,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2376,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/lib/ns/client.c:2377,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2378,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:2379,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2381,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2385,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2388,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:2392,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2396,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/lib/ns/client.c:2397,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2398,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:2399,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2400,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:2403,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2414,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2433,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2438,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2443,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2448,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2458,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2459,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2472,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/ns/client.c:2473,1
    - Dst: dns_peer_getmaxudp
      Src: /src/bind9/lib/ns/client.c:2476,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:2484,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2492,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:2500,1
    - Dst: ns_query_start
      Src: /src/bind9/lib/ns/client.c:2506,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2509,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:2511,1
    - Dst: ns_client_settimeout
      Src: /src/bind9/lib/ns/client.c:2517,1
    - Dst: ns_update_start
      Src: /src/bind9/lib/ns/client.c:2518,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2522,1
    - Dst: ns_client_settimeout
      Src: /src/bind9/lib/ns/client.c:2523,1
    - Dst: ns_notify_start
      Src: /src/bind9/lib/ns/client.c:2524,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2527,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2528,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2531,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2532,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:2536,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 170
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2182
    functionDepth: 9
    functionLinenumber: 2182
    functionLinenumberEnd: 2537
    functionName: ns_client_request_continue
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_format
    - can_log_sigchecks_quota
    - dns_message_gettsig
    - ns_client_log
    - isc_nmhandle_real_peeraddr
    - isc_time_seconds
    - dns_peerlist_peerbyaddr
    - ns_stats_increment
    - ns_client_async_reset
    - ns_client_dumpmessage
    - ns_notify_start
    - dns_rdataclass_format
    - isc_nm_is_proxy_handle
    - CTRACE
    - ns_client_settimeout
    - isc_time_now
    - dns_name_format
    - dns_message_resetsig
    - ns_client_error
    - isc_log_wouldlog
    - isc_nm_bad_request
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - ns_client_checkaclsilent
    - INSIST
    - dns_tsig_verify
    - dns_tsigrcode_totext
    - isc_nmhandle_real_localaddr
    - dns_ede_add
    - ns_client_transport_type
    - dns_message_getrawmessage
    - dns_peer_getmaxudp
    - dns_dt_send
    - dns_message_signer
    - isc_result_totext
    - isc_buffer_init
    - ns_update_start
    - isc_buffer_usedlength
    - isc_buffer_add
    - ns_query_start
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ns_client_request_continue(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/lib/ns/client.c:2542,1
    - Dst: ns_interfacemgr_getserver
      Src: /src/bind9/lib/ns/client.c:2543,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/ns/client.c:2554,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2555,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/client.c:2558,1
    - Dst: isc_quota_getused
      Src: /src/bind9/lib/ns/client.c:2566,1
    - Dst: ns_stats_update_if_greater
      Src: /src/bind9/lib/ns/client.c:2567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2539
    functionDepth: 3
    functionLinenumber: 2539
    functionLinenumberEnd: 2571
    functionName: ns__client_tcpconn
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ns_stats_update_if_greater
    - isc_netaddr_fromsockaddr
    - ns_interfacemgr_getserver
    - isc_nmhandle_peeraddr
    - ns_interfacemgr_getaclenv
    - dns_acl_match
    - isc_quota_getused
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns__client_tcpconn(isc_nmhandle_t *handle, isc_result_t
      result, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2581,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:2581,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2582,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2583,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/client.c:2583,1
    - Dst: ns_clientmgr_attach
      Src: /src/bind9/lib/ns/client.c:2587,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/ns/client.c:2589,1
    - Dst: ns_query_init
      Src: /src/bind9/lib/ns/client.c:2599,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/ns/client.c:2601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2603,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:2603,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2604,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/client.c:2604,1
    - Dst: dns_ede_reset
      Src: /src/bind9/lib/ns/client.c:2611,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/client.c:2618,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/client.c:2619,1
    - Dst: dns_ecs_init
      Src: /src/bind9/lib/ns/client.c:2620,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/ns/client.c:2621,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/client.c:2624,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - client
    - mgr
    - new
    argTypes:
    - ns_client_t*
    - ns_clientmgr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2630
      start: 2573
    functionDepth: 5
    functionLinenumber: 2573
    functionLinenumberEnd: 2630
    functionName: ns__client_setup
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - NS_CLIENT_VALID
    - dns_ecs_init
    - dns_ede_reset
    - isc_tid
    - ISC_LINK_INIT
    - ns_clientmgr_attach
    - CTRACE
    - isc_sockaddr_any
    - ns_query_init
    - REQUIRE
    - VALID_MANAGER
    - dns_ede_init
    - dns_message_create
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool
      new)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MTRACE
      Src: /src/bind9/lib/ns/client.c:2639,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/ns/client.c:2643,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/lib/ns/client.c:2645,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/client.c:2647,1
    - Dst: ns_server_detach
      Src: /src/bind9/lib/ns/client.c:2649,1
    - Dst: dns_message_destroypools
      Src: /src/bind9/lib/ns/client.c:2651,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/client.c:2653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2636
    functionDepth: 4
    functionLinenumber: 2636
    functionLinenumberEnd: 2654
    functionName: clientmgr_destroy_cb
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - MTRACE
    - ns_server_detach
    - dns_aclenv_detach
    - isc_loop_detach
    - isc_mutex_destroy
    - dns_message_destroypools
    linkageType: ''
    returnType: void
    signature: void clientmgr_destroy_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/client.c:2658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_clientmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2656
    functionDepth: 2
    functionLinenumber: 2656
    functionLinenumberEnd: 2659
    functionName: clientmgr_destroy
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void clientmgr_destroy(ns_clientmgr_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/lib/ns/client.c:2670,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:2672,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/ns/client.c:2679,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/ns/client.c:2679,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/client.c:2680,1
    - Dst: dns_aclenv_attach
      Src: /src/bind9/lib/ns/client.c:2681,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/client.c:2682,1
    - Dst: ns_server_attach
      Src: /src/bind9/lib/ns/client.c:2683,1
    - Dst: dns_message_createpools
      Src: /src/bind9/lib/ns/client.c:2685,1
    - Dst: MTRACE
      Src: /src/bind9/lib/ns/client.c:2689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - sctx
    - loopmgr
    - aclenv
    - tid
    - managerp
    argTypes:
    - ns_server_t*
    - isc_loopmgr_t*
    - dns_aclenv_t*
    - isc_tid_t
    - ns_clientmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2694
      start: 2663
    functionDepth: 2
    functionLinenumber: 2663
    functionLinenumberEnd: 2694
    functionName: ns_clientmgr_create
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ns_server_attach
    - isc_mutex_init
    - dns_message_createpools
    - MTRACE
    - isc_mem_get
    - isc_refcount_init
    - isc_loop_get
    - isc_loop_attach
    - isc_mem_create
    - dns_aclenv_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_clientmgr_create(ns_server_t *sctx, isc_loopmgr_t
      *loopmgr,\n\t\t    dns_aclenv_t *aclenv, isc_tid_t tid,\n\t\t    ns_clientmgr_t
      **managerp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2698,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:2698,1
    - Dst: MTRACE
      Src: /src/bind9/lib/ns/client.c:2700,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2702,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:2703,1
    - Dst: ns_query_cancel
      Src: /src/bind9/lib/ns/client.c:2704,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - manager
    argTypes:
    - ns_clientmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2696
    functionDepth: 2
    functionLinenumber: 2696
    functionLinenumberEnd: 2707
    functionName: ns_clientmgr_shutdown
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - LOCK
    - MTRACE
    - UNLOCK
    - ns_query_cancel
    - REQUIRE
    - ISC_LIST_FOREACH
    - VALID_MANAGER
    linkageType: ''
    returnType: void
    signature: void ns_clientmgr_shutdown(ns_clientmgr_t *manager)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2712
    functionName: ns_client_getsockaddr
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      ns_client_getsockaddr(ns_client_t *client)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2717
    functionName: ns_client_getdestaddr
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      ns_client_getdestaddr(ns_client_t *client)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2737,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/ns/client.c:2741,1
    - Dst: dns_acl_match_port_transport
      Src: /src/bind9/lib/ns/client.c:2742,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/ns/client.c:2743,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/client.c:2744,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/client.c:2745,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - client
    - netaddr
    - acl
    - default_allow
    argTypes:
    - ns_client_t*
    - isc_netaddr_t*
    - dns_acl_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2719
    functionDepth: 3
    functionLinenumber: 2719
    functionLinenumberEnd: 2762
    functionName: ns_client_checkaclsilent
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 8
    functionsReached:
    - isc_sockaddr_getport
    - dns_acl_match_port_transport
    - isc_nmhandle_localaddr
    - isc_netaddr_fromsockaddr
    - isc_nm_socket_type
    - isc_nm_has_encryption
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_client_checkaclsilent(ns_client_t *client, isc_netaddr_t
      *netaddr,\n\t\t\t dns_acl_t *acl, bool default_allow)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2772,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2775,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2779,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2780,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/client.c:2783,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - client
    - sockaddr
    - opname
    - acl
    - default_allow
    - log_level
    argTypes:
    - ns_client_t*
    - isc_sockaddr_t*
    - char*
    - dns_acl_t*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2764
    functionDepth: 4
    functionLinenumber: 2764
    functionLinenumberEnd: 2789
    functionName: ns_client_checkacl
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromsockaddr
    - ns_client_checkaclsilent
    - ISC_LOG_DEBUG
    - ns_client_log
    - dns_ede_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_client_checkacl(ns_client_t *client, isc_sockaddr_t
      *sockaddr,\n\t\t   const char *opname, dns_acl_t *acl, bool default_allow,\n\t\t
      \  int log_level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2794,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/client.c:2797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - client
    - peerbuf
    - len
    argTypes:
    - ns_client_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2791
    functionDepth: 3
    functionLinenumber: 2791
    functionLinenumberEnd: 2799
    functionName: ns_client_name
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - snprintf
    linkageType: ''
    returnType: void
    signature: void ns_client_name(ns_client_t *client, char *peerbuf, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2812,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/ns/client.c:2814,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2817,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2826,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2833,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2834,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2841,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/client.c:2844,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/client.c:2847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - client
    - category
    - module
    - level
    - fmt
    - ap
    argTypes:
    - ns_client_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2801
    functionDepth: 3
    functionLinenumber: 2801
    functionLinenumberEnd: 2850
    functionName: ns_client_logv
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - strcmp
    - isc_sockaddr_format
    - isc_log_write
    - snprintf
    - REQUIRE
    - dns_name_format
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void ns_client_logv(ns_client_t *client, isc_logcategory_t category,\n\t
      \      isc_logmodule_t module, int level, const char *fmt, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:2857,1
    - Dst: va_start
      Src: /src/bind9/lib/ns/client.c:2861,1
    - Dst: ns_client_logv
      Src: /src/bind9/lib/ns/client.c:2862,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/client.c:2863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - client
    - category
    - module
    - level
    - fmt
    argTypes:
    - ns_client_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2852
    functionDepth: 4
    functionLinenumber: 2852
    functionLinenumberEnd: 2864
    functionName: ns_client_log
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 34
    functionsReached:
    - va_start
    - ns_client_logv
    - va_end
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void ns_client_log(ns_client_t *client, isc_logcategory_t category,\n\t
      \     isc_logmodule_t module, int level, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2873,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/client.c:2874,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2875,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/client.c:2876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - msg
    - name
    - type
    - rdclass
    - buf
    - len
    argTypes:
    - char*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataclass_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2866
    functionDepth: 1
    functionLinenumber: 2866
    functionLinenumberEnd: 2878
    functionName: ns_client_aclmsg
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - snprintf
    - dns_rdataclass_format
    linkageType: ''
    returnType: void
    signature: "void ns_client_aclmsg(const char *msg, const dns_name_t *name, dns_rdatatype_t
      type,\n\t\t dns_rdataclass_t rdclass, char *buf, size_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:2887,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2887,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:2897,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2898,1
    - Dst: dns_message_totext
      Src: /src/bind9/lib/ns/client.c:2899,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:2902,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2905,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2906,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:2908,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:2913,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - client
    - reason
    argTypes:
    - ns_client_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2880
    functionDepth: 5
    functionLinenumber: 2880
    functionLinenumberEnd: 2915
    functionName: ns_client_dumpmessage
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_buffer_init
    - isc_mem_get
    - dns_message_totext
    - ns_client_log
    - isc_buffer_usedlength
    - isc_mem_put
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void ns_client_dumpmessage(ns_client_t *client, const char *reason)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2929,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:2929,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2931,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:2932,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2933,1
    - Dst: ns_client_name
      Src: /src/bind9/lib/ns/client.c:2935,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2937,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2938,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2947,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2948,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2949,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2954,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:2960,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:2962,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/client.c:2965,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2967,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/client.c:2970,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/client.c:2971,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2973,1
    - Dst: fprintf
      Src: /src/bind9/lib/ns/client.c:2974,1
    - Dst: dns_transport_totext
      Src: /src/bind9/lib/ns/client.c:2978,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:2978,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:2981,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2983,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - f
    - manager
    argTypes:
    - FILE*
    - ns_clientmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2984
      start: 2917
    functionDepth: 4
    functionLinenumber: 2917
    functionLinenumberEnd: 2984
    functionName: ns_client_dumprecursing
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - LOCK
    - strcmp
    - ns_client_name
    - strlcpy
    - dns_rdataclass_format
    - INSIST
    - UNLOCK
    - isc_time_seconds
    - REQUIRE
    - fprintf
    - ISC_LIST_FOREACH
    - VALID_MANAGER
    - ns_client_transport_type
    - dns_rdatatype_format
    - dns_transport_totext
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2988,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/client.c:2993,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - client
    - name
    argTypes:
    - ns_client_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2986
    functionDepth: 1
    functionLinenumber: 2986
    functionLinenumberEnd: 2998
    functionName: ns_client_qnamereplace
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 4
    functionsReached:
    - LOCK
    - dns_message_puttempname
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void ns_client_qnamereplace(ns_client_t *client, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3004,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:3004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ci
    - addrp
    argTypes:
    - dns_clientinfo_t*
    - isc_sockaddr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3009
    functionName: ns_client_sourceip
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - NS_CLIENT_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_client_sourceip(dns_clientinfo_t *ci, isc_sockaddr_t
      **addrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3015,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:3015,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/client.c:3018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3011
    functionDepth: 1
    functionLinenumber: 3011
    functionLinenumberEnd: 3021
    functionName: ns_client_newrdataset
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 19
    functionsReached:
    - NS_CLIENT_VALID
    - dns_message_gettemprdataset
    - REQUIRE
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      ns_client_newrdataset(ns_client_t *client)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3027,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:3027,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3028,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/client.c:3033,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/client.c:3034,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/client.c:3036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - client
    - rdatasetp
    argTypes:
    - ns_client_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3023
    functionDepth: 1
    functionLinenumber: 3023
    functionLinenumberEnd: 3038
    functionName: ns_client_putrdataset
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 30
    functionsReached:
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - REQUIRE
    - NS_CLIENT_VALID
    - dns_message_puttemprdataset
    linkageType: ''
    returnType: void
    signature: void ns_client_putrdataset(ns_client_t *client, dns_rdataset_t **rdatasetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3044,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/ns/client.c:3046,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/client.c:3047,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 3040
    functionDepth: 3
    functionLinenumber: 3040
    functionLinenumberEnd: 3051
    functionName: ns_client_newnamebuf
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_APPEND
    - isc_buffer_allocate
    - CTRACE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_client_newnamebuf(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3058,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3060,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/client.c:3062,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:3063,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:3064,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/ns/client.c:3065,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/ns/client.c:3066,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - client
    - dbuf
    - nbuf
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3053
    functionDepth: 2
    functionLinenumber: 3053
    functionLinenumberEnd: 3071
    functionName: ns_client_newname
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 15
    functionsReached:
    - isc_buffer_availableregion
    - CTRACE
    - isc_buffer_init
    - dns_name_setbuffer
    - dns_message_gettempname
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      ns_client_newname(ns_client_t *client, isc_buffer_t *dbuf, isc_buffer_t *nbuf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3078,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/client.c:3084,1
    - Dst: ns_client_newnamebuf
      Src: /src/bind9/lib/ns/client.c:3085,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/ns/client.c:3088,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:3089,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:3090,1
    - Dst: ns_client_newnamebuf
      Src: /src/bind9/lib/ns/client.c:3092,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/ns/client.c:3093,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:3094,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:3095,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3073
    functionDepth: 4
    functionLinenumber: 3073
    functionLinenumberEnd: 3099
    functionName: ns_client_getnamebuf
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 14
    functionsReached:
    - ISC_LIST_EMPTY
    - ns_client_newnamebuf
    - isc_buffer_availableregion
    - INSIST
    - CTRACE
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: isc_buffer_t
    signature: 'isc_buffer_t *

      ns_client_getnamebuf(ns_client_t *client)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3111,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/ns/client.c:3113,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:3114,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/ns/client.c:3115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - client
    - name
    - dbuf
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3101
    functionDepth: 2
    functionLinenumber: 3101
    functionLinenumberEnd: 3117
    functionName: ns_client_keepname
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 15
    functionsReached:
    - CTRACE
    - dns_name_toregion
    - dns_name_setbuffer
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void ns_client_keepname(ns_client_t *client, dns_name_t *name, isc_buffer_t
      *dbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3127,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/client.c:3129,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - client
    - namep
    argTypes:
    - ns_client_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3119
    functionDepth: 1
    functionLinenumber: 3119
    functionLinenumberEnd: 3131
    functionName: ns_client_releasename
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 22
    functionsReached:
    - dns_message_puttempname
    - CTRACE
    linkageType: ''
    returnType: void
    signature: void ns_client_releasename(ns_client_t *client, dns_name_t **namep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:3139,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/ns/client.c:3142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - client
    - n
    argTypes:
    - ns_client_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3133
    functionDepth: 1
    functionLinenumber: 3133
    functionLinenumberEnd: 3147
    functionName: ns_client_newdbversion
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - ISC_LIST_INITANDAPPEND
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_client_newdbversion(ns_client_t *client, unsigned int
      n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/client.c:3153,1
    - Dst: ns_client_newdbversion
      Src: /src/bind9/lib/ns/client.c:3154,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:3156,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:3157,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/client.c:3158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3161
      start: 3149
    functionDepth: 2
    functionLinenumber: 3149
    functionLinenumberEnd: 3161
    functionName: client_getdbversion
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ns_client_newdbversion
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: ns_dbversion_t
    signature: 'ns_dbversion_t *

      client_getdbversion(ns_client_t *client)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:3165,1
    - Dst: client_getdbversion
      Src: /src/bind9/lib/ns/client.c:3175,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/client.c:3176,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/client.c:3177,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/client.c:3180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - client
    - db
    argTypes:
    - ns_client_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3182
      start: 3163
    functionDepth: 3
    functionLinenumber: 3163
    functionLinenumberEnd: 3182
    functionName: ns_client_findversion
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 6
    functionsReached:
    - dns_db_currentversion
    - ISC_LIST_APPEND
    - dns_db_attach
    - ISC_LIST_FOREACH
    - client_getdbversion
    linkageType: ''
    returnType: ns_dbversion_t
    signature: 'ns_dbversion_t *

      ns_client_findversion(ns_client_t *client, dns_db_t *db)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: XFROUT_DEBUG_LOGARGS
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XFROUT_DEBUG_LOGARGS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: FAILC
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILC(code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - msg
    - ','
    - question
    - ','
    - rdclass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: FAILQ
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILQ(code, msg, question, rdclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 339
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/xfrout.c:113,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/xfrout.c:115,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/xfrout.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - client
    - zone
    - counter
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 16
    functionsReached:
    - ns_stats_increment
    - dns_zone_getrequeststats
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stats(ns_client_t *client, dns_zone_t *zone, isc_statscounter_t
      counter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/ns/xfrout.c:135,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/xfrout.c:139,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/ns/xfrout.c:140,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/xfrout.c:144,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/xfrout.c:145,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/ns/xfrout.c:146,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:147,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/xfrout.c:148,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/xfrout.c:150,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/lib/ns/xfrout.c:151,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:161,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/xfrout.c:165,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/xfrout.c:166,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/xfrout.c:167,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/xfrout.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - name
    - rdata
    - ttl
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 171
    functionName: log_rr
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_rdata_covers
    - INSIST
    - isc_buffer_init
    - isc_log_write
    - isc_buffer_usedlength
    - isc_buffer_base
    - dns_rdata_clone
    - dns_rdatatype_issig
    - dns_rdataset_totext
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void log_rr(dns_name_t *name, dns_rdata_t *rdata, uint32_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/xfrout.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: rrstream_noop_pause
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void rrstream_noop_pause(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:235,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:237,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:239,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:243,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/ns/xfrout.c:243,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:245,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/ns/xfrout.c:245,1
    - Dst: ixfr_rrstream_destroy
      Src: /src/bind9/lib/ns/xfrout.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 6
    argNames:
    - mctx
    - journal_filename
    - begin_serial
    - end_serial
    - sizep
    - sp
    argTypes:
    - isc_mem_t*
    - char*
    - uint32_t
    - uint32_t
    - size_t*
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 254
    functionName: ixfr_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - INSIST
    - isc_mem_get
    - CHECK
    - ixfr_rrstream_destroy
    - dns_journal_open
    - dns_journal_iter_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ixfr_rrstream_create(isc_mem_t *mctx, const char *journal_filename,\n\t\t
      \    uint32_t begin_serial, uint32_t end_serial, size_t *sizep,\n\t\t     rrstream_t
      **sp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/ns/xfrout.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: ixfr_rrstream_first
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_journal_first_rr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_rrstream_first(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/ns/xfrout.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: ixfr_rrstream_next
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_journal_next_rr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_rrstream_next(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/ns/xfrout.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rs
    - name
    - ttl
    - rdata
    argTypes:
    - rrstream_t*
    - dns_name_t**
    - uint32_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: ixfr_rrstream_current
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_journal_current_rr
    linkageType: ''
    returnType: void
    signature: "void ixfr_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t
      *ttl,\n\t\t      dns_rdata_t **rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/ns/xfrout.c:279,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: ixfr_rrstream_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_journal_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void ixfr_rrstream_destroy(rrstream_t **rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:318,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:320,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:322,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:326,1
    - Dst: dns_rriterator_init
      Src: /src/bind9/lib/ns/xfrout.c:326,1
    - Dst: axfr_rrstream_destroy
      Src: /src/bind9/lib/ns/xfrout.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - mctx
    - db
    - ver
    - sp
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 335
    functionName: axfr_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - INSIST
    - isc_mem_get
    - CHECK
    - axfr_rrstream_destroy
    - dns_rriterator_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t axfr_rrstream_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t     rrstream_t **sp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rriterator_first
      Src: /src/bind9/lib/ns/xfrout.c:341,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/ns/xfrout.c:350,1
    - Dst: dns_rriterator_next
      Src: /src/bind9/lib/ns/xfrout.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 361
    functionName: axfr_rrstream_first
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_next
    - dns_rriterator_current
    - dns_rriterator_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t axfr_rrstream_first(rrstream_t *rs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rriterator_next
      Src: /src/bind9/lib/ns/xfrout.c:373,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/ns/xfrout.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: axfr_rrstream_next
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_next
    - dns_rriterator_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t axfr_rrstream_next(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/ns/xfrout.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rs
    - name
    - ttl
    - rdata
    argTypes:
    - rrstream_t*
    - dns_name_t**
    - uint32_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: axfr_rrstream_current
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_current
    linkageType: ''
    returnType: void
    signature: "void axfr_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t
      *ttl,\n\t\t      dns_rdata_t **rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/ns/xfrout.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: axfr_rrstream_pause
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_pause
    linkageType: ''
    returnType: void
    signature: void axfr_rrstream_pause(rrstream_t *rs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/lib/ns/xfrout.c:403,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 406
    functionName: axfr_rrstream_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - isc_mem_putanddetach
    - dns_rriterator_destroy
    linkageType: ''
    returnType: void
    signature: void axfr_rrstream_destroy(rrstream_t **rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:438,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:440,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:442,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:446,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/ns/xfrout.c:446,1
    - Dst: soa_rrstream_destroy
      Src: /src/bind9/lib/ns/xfrout.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - mctx
    - db
    - ver
    - sp
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 455
    functionName: soa_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - soa_rrstream_destroy
    - isc_mem_attach
    - INSIST
    - isc_mem_get
    - CHECK
    - dns_db_createsoatuple
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t soa_rrstream_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t    rrstream_t **sp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/xfrout.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: soa_rrstream_first
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t soa_rrstream_first(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/xfrout.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: soa_rrstream_next
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t soa_rrstream_next(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rs
    - name
    - ttl
    - rdata
    argTypes:
    - rrstream_t*
    - dns_name_t**
    - uint32_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionName: soa_rrstream_current
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void soa_rrstream_current(rrstream_t *rs, dns_name_t **name, uint32_t
      *ttl,\n\t\t     dns_rdata_t **rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/xfrout.c:482,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 485
    functionName: soa_rrstream_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_difftuple_free
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void soa_rrstream_destroy(rrstream_t **rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:539,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:541,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - mctx
    - soa_stream
    - data_stream
    - sp
    argTypes:
    - isc_mem_t*
    - rrstream_t**
    - rrstream_t**
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 555
    functionName: compound_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - INSIST
    - isc_mem_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t compound_rrstream_create(isc_mem_t *mctx, rrstream_t
      **soa_stream,\n\t\t\t rrstream_t **data_stream, rrstream_t **sp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rrstream_t*::methods::first
      Src: /src/bind9/lib/ns/xfrout.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: compound_rrstream_first
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - rrstream_t*::methods::first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t compound_rrstream_first(rrstream_t *rs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rrstream_t*::methods::next
      Src: /src/bind9/lib/ns/xfrout.c:572,1
    - Dst: rrstream_t*::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:578,1
    - Dst: rrstream_t*::methods::first
      Src: /src/bind9/lib/ns/xfrout.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 587
    functionName: compound_rrstream_next
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - rrstream_t*::methods::next
    - rrstream_t*::methods::first
    - rrstream_t*::methods::pause
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t compound_rrstream_next(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:594,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:595,1
    - Dst: rrstream_t*::methods::current
      Src: /src/bind9/lib/ns/xfrout.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rs
    - name
    - ttl
    - rdata
    argTypes:
    - rrstream_t*
    - dns_name_t**
    - uint32_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: compound_rrstream_current
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - rrstream_t*::methods::current
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void compound_rrstream_current(rrstream_t *rs, dns_name_t **name,
      uint32_t *ttl,\n\t\t\t  dns_rdata_t **rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:604,1
    - Dst: rrstream_t*::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: compound_rrstream_pause
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - rrstream_t*::methods::pause
    - INSIST
    linkageType: ''
    returnType: void
    signature: void compound_rrstream_pause(rrstream_t *rs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:612,1
    - Dst: methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:613,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 616
    functionName: compound_rrstream_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - methods::destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void compound_rrstream_destroy(rrstream_t **rsp)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: NS_CLIENT_ACLMSGSIZE
      Src: /src/bind9/lib/ns/xfrout.c:746,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/xfrout.c:762,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:765,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:766,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/xfrout.c:770,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/xfrout.c:772,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/xfrout.c:774,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:781,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/xfrout.c:781,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/xfrout.c:787,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/xfrout.c:788,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:790,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/xfrout.c:791,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:792,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/xfrout.c:795,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:796,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/xfrout.c:799,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:801,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/xfrout.c:807,1
    - Dst: dns_dlzallowzonexfr
      Src: /src/bind9/lib/ns/xfrout.c:808,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/xfrout.c:820,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/xfrout.c:822,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:824,1
    - Dst: FAILQ
      Src: /src/bind9/lib/ns/xfrout.c:832,1
    - Dst: FAILQ
      Src: /src/bind9/lib/ns/xfrout.c:841,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:846,1
    - Dst: FAILQ
      Src: /src/bind9/lib/ns/xfrout.c:856,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:859,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/xfrout.c:859,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/xfrout.c:860,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:863,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:863,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/xfrout.c:874,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/xfrout.c:878,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:889,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/xfrout.c:889,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/xfrout.c:890,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/xfrout.c:891,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:893,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:902,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:905,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:905,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/xfrout.c:915,1
    - Dst: dns_zone_getxfracl
      Src: /src/bind9/lib/ns/xfrout.c:920,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:922,1
    - Dst: ns_client_checkacl
      Src: /src/bind9/lib/ns/xfrout.c:922,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:932,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/xfrout.c:938,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/ns/xfrout.c:939,1
    - Dst: dns_peer_gettransferformat
      Src: /src/bind9/lib/ns/xfrout.c:945,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/xfrout.c:952,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:955,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/ns/xfrout.c:955,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/xfrout.c:958,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:964,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/xfrout.c:967,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/ns/xfrout.c:980,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:983,1
    - Dst: soa_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:983,1
    - Dst: dns_peer_getprovideixfr
      Src: /src/bind9/lib/ns/xfrout.c:997,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1001,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1002,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/ns/xfrout.c:1010,1
    - Dst: ixfr_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1012,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1019,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1026,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/ns/xfrout.c:1028,1
    - Dst: dns_zone_getixfrratio
      Src: /src/bind9/lib/ns/xfrout.c:1030,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1032,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1034,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1045,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1046,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1056,1
    - Dst: axfr_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1056,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1062,1
    - Dst: soa_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1062,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1063,1
    - Dst: compound_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1063,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1069,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/ns/xfrout.c:1069,1
    - Dst: xfrout_ctx_create
      Src: /src/bind9/lib/ns/xfrout.c:1076,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/ns/xfrout.c:1078,1
    - Dst: xfrout_ctx_create
      Src: /src/bind9/lib/ns/xfrout.c:1083,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/ns/xfrout.c:1086,1
    - Dst: dns_zone_getmaxxfrout
      Src: /src/bind9/lib/ns/xfrout.c:1087,1
    - Dst: dns_zone_getidleout
      Src: /src/bind9/lib/ns/xfrout.c:1088,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1096,1
    - Dst: xfrout_ctx_t*::stream::methods::first
      Src: /src/bind9/lib/ns/xfrout.c:1096,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/xfrout.c:1099,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1106,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1107,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1110,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1115,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/ns/xfrout.c:1122,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:1126,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:1127,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/lib/ns/xfrout.c:1131,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/xfrout.c:1132,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/xfrout.c:1142,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1148,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1148,1
    - Dst: isc_nm_timer_start
      Src: /src/bind9/lib/ns/xfrout.c:1151,1
    - Dst: sendstream
      Src: /src/bind9/lib/ns/xfrout.c:1159,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/xfrout.c:1166,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/xfrout.c:1169,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1172,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1175,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1178,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/xfrout.c:1181,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/xfrout.c:1184,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/xfrout.c:1187,1
    - Dst: xfrout_fail
      Src: /src/bind9/lib/ns/xfrout.c:1191,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/xfrout.c:1193,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:1195,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1196,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/xfrout.c:1198,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1199,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 260
    argCount: 2
    argNames:
    - client
    - reqtype
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 722
    functionDepth: 9
    functionLinenumber: 722
    functionLinenumberEnd: 1201
    functionName: ns_xfr_start
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_next
    - dns_rdataset_current
    - dns_zone_detach
    - ns_client_log
    - isc_log_write
    - xfrout_log1
    - dns_rdataset_first
    - ns_client_checkacl
    - ixfr_rrstream_create
    - dns_zone_getixfrratio
    - dns_zone_getexpiretime
    - dns_zone_getraw
    - isc_time_seconds
    - isc_nm_timer_start
    - dns_difftuple_free
    - dns_message_gettsigkey
    - UNREACHABLE
    - ISC_LIST_HEAD
    - NS_CLIENT_ACLMSGSIZE
    - FAILC
    - dns_zone_getmaxxfrout
    - dns_db_detach
    - dns_rdataclass_format
    - isc_quota_acquire
    - dns_peer_getprovideixfr
    - rrstream_t*::methods::destroy
    - dns_peer_gettransferformat
    - dns_zone_gettype
    - dns_name_format
    - ns_client_error
    - xfrout_ctx_t*::stream::methods::first
    - dns_zone_getidleout
    - dns_view_findzone
    - ISC_LIST_NEXT
    - dns_db_currentversion
    - ISC_LIST_EMPTY
    - DNS_SERIAL_GE
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - inc_stats
    - isc_quota_release
    - INSIST
    - dns_soa_getserial
    - dns_zone_getjournal
    - dns_db_getsize
    - xfrout_log
    - ISC_LIST_FOREACH
    - compound_rrstream_create
    - dns_zone_getxfracl
    - dns_db_createsoatuple
    - sendstream
    - isc_nmhandle_detach
    - dns_dlzallowzonexfr
    - dns_message_getquerytsig
    - axfr_rrstream_create
    - dns_name_equal
    - isc_result_totext
    - dns_zone_getdb
    - ns_client_aclmsg
    - soa_rrstream_create
    - CHECK
    - xfrout_fail
    - dns_peerlist_peerbyaddr
    - FAILQ
    - xfrout_ctx_create
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ns_xfr_start(ns_client_t *client, dns_rdatatype_t reqtype)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/xfrout.c:874,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/xfrout.c:878,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:889,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/xfrout.c:889,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/xfrout.c:890,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/xfrout.c:891,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:893,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 899
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_next
    - FAILC
    - dns_rdataset_current
    - dns_name_equal
    - CHECK
    - dns_rdataset_first
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (request, DNS_SECTION_AUTHORITY, soa_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/xfrout.c:1216,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:1218,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:1233,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/ns/xfrout.c:1236,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/xfrout.c:1238,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/lib/ns/xfrout.c:1239,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/xfrout.c:1241,1
    - Dst: isc_nm_timer_create
      Src: /src/bind9/lib/ns/xfrout.c:1243,1
    - Dst: isc_nm_timer_create
      Src: /src/bind9/lib/ns/xfrout.c:1246,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:1261,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/xfrout.c:1262,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:1268,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/xfrout.c:1269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 17
    argNames:
    - mctx
    - client
    - id
    - qname
    - qtype
    - qclass
    - zone
    - db
    - ver
    - stream
    - tsigkey
    - lasttsig
    - verified_tsig
    - maxtime
    - idletime
    - many_answers
    - xfrp
    argTypes:
    - isc_mem_t*
    - ns_client_t*
    - unsigned int
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataclass_t
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - rrstream_t*
    - dns_tsigkey_t*
    - isc_buffer_t*
    - bool
    - unsigned int
    - unsigned int
    - bool
    - xfrout_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1203
    functionDepth: 3
    functionLinenumber: 1203
    functionLinenumberEnd: 1280
    functionName: xfrout_ctx_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - dns_zone_attach
    - isc_nm_timer_create
    - dns_db_attachversion
    - dns_db_attach
    - isc_buffer_init
    - isc_mem_get
    - isc_time_now
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void xfrout_ctx_create(isc_mem_t *mctx, ns_client_t *client, unsigned
      int id,\n\t\t  dns_name_t *qname, dns_rdatatype_t qtype,\n\t\t  dns_rdataclass_t
      qclass, dns_zone_t *zone, dns_db_t *db,\n\t\t  dns_dbversion_t *ver, rrstream_t
      *stream,\n\t\t  dns_tsigkey_t *tsigkey, isc_buffer_t *lasttsig,\n\t\t  bool
      verified_tsig, unsigned int maxtime,\n\t\t  unsigned int idletime, bool many_answers,\n\t\t
      \ xfrout_ctx_t **xfrp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/xfrout.c:1290,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/xfrout.c:1292,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/ns/xfrout.c:1295,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/ns/xfrout.c:1298,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/xfrout.c:1303,1
    - Dst: xfrout_ctx_t*::stream::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:1304,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1305,1
    - Dst: xfrout_ctx_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1282
    functionDepth: 8
    functionLinenumber: 1282
    functionLinenumberEnd: 1308
    functionName: xfrout_send
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - xfrout_ctx_destroy
    - isc_nm_send
    - xfrout_ctx_t*::stream::methods::pause
    - isc_nmhandle_attach
    - isc_buffer_usedregion
    - isc_nmhandle_setwritetimeout
    - ns_client_send
    linkageType: ''
    returnType: void
    signature: void xfrout_send(xfrout_ctx_t *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/xfrout.c:1313,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/ns/xfrout.c:1315,1
    - Dst: xfrout_send
      Src: /src/bind9/lib/ns/xfrout.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1310
    functionDepth: 9
    functionLinenumber: 1310
    functionLinenumberEnd: 1317
    functionName: xfrout_delayed_timeout
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_nm_timer_stop
    - UNUSED
    - xfrout_send
    linkageType: ''
    returnType: void
    signature: void xfrout_delayed_timeout(void *arg, isc_result_t result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ns_server_getoption
      Src: /src/bind9/lib/ns/xfrout.c:1329,1
    - Dst: ns_server_getoption
      Src: /src/bind9/lib/ns/xfrout.c:1334,1
    - Dst: xfrout_send
      Src: /src/bind9/lib/ns/xfrout.c:1342,1
    - Dst: isc_nm_timer_start
      Src: /src/bind9/lib/ns/xfrout.c:1347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1319
    functionDepth: 9
    functionLinenumber: 1319
    functionLinenumberEnd: 1348
    functionName: xfrout_enqueue_send
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - ns_server_getoption
    - isc_nm_timer_start
    - xfrout_send
    linkageType: ''
    returnType: void
    signature: void xfrout_enqueue_send(xfrout_ctx_t *xfr)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/ns/xfrout.c:1373,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/ns/xfrout.c:1374,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1383,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/xfrout.c:1383,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/ns/xfrout.c:1393,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1403,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/ns/xfrout.c:1403,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/ns/xfrout.c:1404,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/xfrout.c:1406,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1418,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/xfrout.c:1418,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1419,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/ns/xfrout.c:1419,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1433,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1435,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1450,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/xfrout.c:1453,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/ns/xfrout.c:1454,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/xfrout.c:1458,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1459,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1460,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/xfrout.c:1462,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/ns/xfrout.c:1464,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/xfrout.c:1465,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:1466,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/xfrout.c:1468,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1474,1
    - Dst: xfrout_ctx_t*::stream::methods::current
      Src: /src/bind9/lib/ns/xfrout.c:1496,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1498,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1513,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/xfrout.c:1524,1
    - Dst: log_rr
      Src: /src/bind9/lib/ns/xfrout.c:1525,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/xfrout.c:1528,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1529,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1530,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/xfrout.c:1532,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/ns/xfrout.c:1533,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1536,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/ns/xfrout.c:1538,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1539,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/xfrout.c:1541,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/ns/xfrout.c:1542,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/ns/xfrout.c:1544,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/xfrout.c:1548,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/ns/xfrout.c:1549,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:1553,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/xfrout.c:1555,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/xfrout.c:1556,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:1558,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/xfrout.c:1560,1
    - Dst: xfrout_ctx_t*::stream::methods::next
      Src: /src/bind9/lib/ns/xfrout.c:1565,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1570,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/xfrout.c:1580,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/ns/xfrout.c:1589,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1592,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/ns/xfrout.c:1592,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1593,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/xfrout.c:1593,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1594,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/xfrout.c:1594,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1595,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/ns/xfrout.c:1595,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/xfrout.c:1596,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1599,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1599,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/xfrout.c:1601,1
    - Dst: xfrout_enqueue_send
      Src: /src/bind9/lib/ns/xfrout.c:1603,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1605,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1605,1
    - Dst: xfrout_enqueue_send
      Src: /src/bind9/lib/ns/xfrout.c:1607,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1612,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/ns/xfrout.c:1612,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/ns/xfrout.c:1616,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/xfrout.c:1620,1
    - Dst: xfrout_ctx_t*::stream::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:1626,1
    - Dst: xfrout_fail
      Src: /src/bind9/lib/ns/xfrout.c:1632,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 143
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1358
    functionDepth: 10
    functionLinenumber: 1358
    functionLinenumberEnd: 1633
    functionName: sendstream
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_compress_invalidate
    - isc_buffer_putmem
    - log_rr
    - isc_buffer_availableregion
    - dns_message_renderbegin
    - dns_message_gettempname
    - dns_message_reply
    - xfrout_ctx_t*::stream::methods::pause
    - dns_message_gettemprdataset
    - ISC_LIST_INIT
    - dns_message_create
    - dns_message_rendersection
    - isc_log_wouldlog
    - dns_name_fromregion
    - isc_buffer_clear
    - dns_message_gettemprdata
    - ISC_LOG_DEBUG
    - dns_message_addname
    - INSIST
    - isc_buffer_free
    - xfrout_log
    - dns_message_setquerytsig
    - dns_rdatatype_issig
    - xfrout_ctx_t*::stream::methods::next
    - dns_message_detach
    - ns_client_addopt
    - xfrout_enqueue_send
    - dns_message_setopt
    - ISC_LIST_APPEND
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - dns_message_gettemprdatalist
    - dns_rdata_covers
    - xfrout_ctx_t*::stream::methods::current
    - dns_rdataset_makequestion
    - xfrout_fail
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_add
    - dns_compress_init
    - dns_message_renderend
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void sendstream(xfrout_ctx_t *xfr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1640,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/ns/xfrout.c:1642,1
    - Dst: isc_nm_timer_detach
      Src: /src/bind9/lib/ns/xfrout.c:1643,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/ns/xfrout.c:1645,1
    - Dst: isc_nm_timer_detach
      Src: /src/bind9/lib/ns/xfrout.c:1646,1
    - Dst: xfrout_ctx_t*::stream::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1649,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/xfrout.c:1652,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/xfrout.c:1655,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/xfrout.c:1658,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/xfrout.c:1661,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/xfrout.c:1664,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/xfrout.c:1667,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/xfrout.c:1670,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:1673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - xfrp
    argTypes:
    - xfrout_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1635
    functionDepth: 3
    functionLinenumber: 1635
    functionLinenumberEnd: 1674
    functionName: xfrout_ctx_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - isc_quota_release
    - isc_mem_putanddetach
    - dns_db_detach
    - INSIST
    - dns_zone_detach
    - isc_nm_timer_stop
    - isc_buffer_free
    - isc_nm_timer_detach
    - isc_mem_put
    - xfrout_ctx_t*::stream::methods::destroy
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void xfrout_ctx_destroy(xfrout_ctx_t **xfrp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/xfrout.c:1680,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1682,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1685,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1687,1
    - Dst: xfrout_maybe_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1699,1
    - Dst: xfrout_fail
      Src: /src/bind9/lib/ns/xfrout.c:1701,1
    - Dst: sendstream
      Src: /src/bind9/lib/ns/xfrout.c:1703,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/xfrout.c:1708,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/xfrout.c:1709,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/ns/xfrout.c:1710,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1716,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1716,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1730,1
    - Dst: xfrout_ctx_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1676
    functionDepth: 11
    functionLinenumber: 1676
    functionLinenumberEnd: 1733
    functionName: xfrout_senddone
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - sendstream
    - inc_stats
    - ISC_LOG_DEBUG
    - xfrout_maybe_destroy
    - INSIST
    - xfrout_fail
    - xfrout_log
    - isc_time_now
    - REQUIRE
    - xfrout_ctx_destroy
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void xfrout_senddone(isc_nmhandle_t *handle, isc_result_t result, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1738,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/xfrout.c:1739,1
    - Dst: xfrout_maybe_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - xfr
    - result
    - msg
    argTypes:
    - xfrout_ctx_t*
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1741
    functionName: xfrout_fail
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 3
    functionsReached:
    - xfrout_log
    - xfrout_maybe_destroy
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void xfrout_fail(xfrout_ctx_t *xfr, isc_result_t result, const char
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/xfrout.c:1745,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/xfrout.c:1747,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1748,1
    - Dst: xfrout_ctx_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1743
    functionDepth: 4
    functionLinenumber: 1743
    functionLinenumberEnd: 1750
    functionName: xfrout_maybe_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 2
    functionsReached:
    - xfrout_ctx_destroy
    - isc_nmhandle_detach
    - ns_client_drop
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void xfrout_maybe_destroy(xfrout_ctx_t *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1757,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/xfrout.c:1758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1752
    functionDepth: 1
    functionLinenumber: 1752
    functionLinenumberEnd: 1759
    functionName: xfrout_client_timeout
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - xfrout_log
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void xfrout_client_timeout(void *arg, isc_result_t result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/xfrout.c:1777,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/xfrout.c:1778,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/ns/xfrout.c:1779,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - client
    - zonename
    - rdclass
    - level
    - fmt
    - ap
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataclass_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1770
    functionDepth: 5
    functionLinenumber: 1770
    functionLinenumberEnd: 1783
    functionName: xfrout_logv
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - ns_client_log
    - dns_rdataclass_format
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void xfrout_logv(ns_client_t *client, dns_name_t *zonename, dns_rdataclass_t
      rdclass,\n\t    int level, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/ns/xfrout.c:1792,1
    - Dst: xfrout_logv
      Src: /src/bind9/lib/ns/xfrout.c:1793,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/xfrout.c:1794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - client
    - zonename
    - rdclass
    - level
    - fmt
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataclass_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1788
    functionDepth: 6
    functionLinenumber: 1788
    functionLinenumberEnd: 1795
    functionName: xfrout_log1
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - xfrout_logv
    linkageType: ''
    returnType: void
    signature: "void xfrout_log1(ns_client_t *client, dns_name_t *zonename, dns_rdataclass_t
      rdclass,\n\t    int level, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/ns/xfrout.c:1803,1
    - Dst: xfrout_logv
      Src: /src/bind9/lib/ns/xfrout.c:1804,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/xfrout.c:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - xfr
    - level
    - fmt
    argTypes:
    - xfrout_ctx_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1800
    functionDepth: 6
    functionLinenumber: 1800
    functionLinenumberEnd: 1806
    functionName: xfrout_log
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 5
    functionsReached:
    - va_start
    - va_end
    - xfrout_logv
    linkageType: ''
    returnType: void
    signature: void xfrout_log(xfrout_ctx_t *xfr, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ifp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: LISTENING
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LISTENING(ifp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: NS_INTERFACEMGR_VALID
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_INTERFACEMGR_VALID(t)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:98,1
    - Dst: NLMSG_OK
      Src: /src/bind9/lib/ns/interfacemgr.c:104,1
    - Dst: NLMSG_NEXT
      Src: /src/bind9/lib/ns/interfacemgr.c:105,1
    - Dst: NLMSG_DATA
      Src: /src/bind9/lib/ns/interfacemgr.c:107,1
    - Dst: IFA_RTA
      Src: /src/bind9/lib/ns/interfacemgr.c:108,1
    - Dst: IFA_PAYLOAD
      Src: /src/bind9/lib/ns/interfacemgr.c:109,1
    - Dst: RTA_OK
      Src: /src/bind9/lib/ns/interfacemgr.c:111,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/ns/interfacemgr.c:123,1
    - Dst: RTA_DATA
      Src: /src/bind9/lib/ns/interfacemgr.c:123,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:124,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/ns/interfacemgr.c:124,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:134,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:135,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/interfacemgr.c:137,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/ns/interfacemgr.c:150,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:151,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:152,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:157,1
    - Dst: RTA_NEXT
      Src: /src/bind9/lib/ns/interfacemgr.c:184,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 3
    argNames:
    - mgr
    - rtm
    - len
    argTypes:
    - ns_interfacemgr_t*
    - struct MSGHDR*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 190
    functionName: need_rescan
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - NLMSG_NEXT
    - isc_netaddr_getzone
    - UNLOCK
    - LISTENING
    - NLMSG_OK
    - LOCK
    - RTA_OK
    - isc_netaddr_fromsockaddr
    - UNUSED
    - INSIST
    - IFA_RTA
    - isc_netaddr_equal
    - IFA_PAYLOAD
    - isc_netaddr_setzone
    - RTA_DATA
    - ISC_LIST_FOREACH
    - RTA_NEXT
    - isc_netaddr_fromin6
    - NLMSG_DATA
    linkageType: ''
    returnType: bool
    signature: bool need_rescan(ns_interfacemgr_t *mgr, struct MSGHDR *rtm, size_t
      len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:199,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:200,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:201,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:211,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:214,1
    - Dst: ns_interfacemgr_routedisconnect
      Src: /src/bind9/lib/ns/interfacemgr.c:219,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:228,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:234,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:235,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:240,1
    - Dst: need_rescan
      Src: /src/bind9/lib/ns/interfacemgr.c:242,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/lib/ns/interfacemgr.c:243,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/ns/interfacemgr.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 192
    functionDepth: 8
    functionLinenumber: 192
    functionLinenumberEnd: 248
    functionName: route_recv
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - ns_interfacemgr_detach
    - ns_interfacemgr_scan
    - isc_nm_read
    - ISC_LOG_DEBUG
    - need_rescan
    - isc_result_totext
    - isc_log_write
    - REQUIRE
    - ns_interfacemgr_routedisconnect
    linkageType: ''
    returnType: void
    signature: "void route_recv(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\t   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:254,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:255,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:256,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:259,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:263,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:265,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/ns/interfacemgr.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 250
    functionDepth: 8
    functionLinenumber: 250
    functionLinenumberEnd: 267
    functionName: route_connected
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_detach
    - isc_nm_read
    - ISC_LOG_DEBUG
    - INSIST
    - isc_result_totext
    - isc_log_write
    - isc_nmhandle_attach
    linkageType: ''
    returnType: void
    signature: void route_connected(isc_nmhandle_t *handle, isc_result_t eresult,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:277,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:279,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:281,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/ns/interfacemgr.c:287,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:290,1
    - Dst: ns_server_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:291,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/interfacemgr.c:293,1
    - Dst: atomic_init
      Src: /src/bind9/lib/ns/interfacemgr.c:295,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:297,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:298,1
    - Dst: ns_listenlist_create
      Src: /src/bind9/lib/ns/interfacemgr.c:303,1
    - Dst: ns_listenlist_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:307,1
    - Dst: dns_aclenv_create
      Src: /src/bind9/lib/ns/interfacemgr.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:313,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/interfacemgr.c:316,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/ns/interfacemgr.c:320,1
    - Dst: ns_clientmgr_create
      Src: /src/bind9/lib/ns/interfacemgr.c:323,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/interfacemgr.c:326,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:332,1
    - Dst: ns_server_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:333,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/interfacemgr.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 7
    argNames:
    - mctx
    - sctx
    - loopmgr
    - nm
    - dispatchmgr
    - geoip
    - mgrp
    argTypes:
    - isc_mem_t*
    - ns_server_t*
    - isc_loopmgr_t*
    - isc_nm_t*
    - dns_dispatchmgr_t*
    - dns_geoip_databases_t*
    - ns_interfacemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 336
    functionName: ns_interfacemgr_create
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 3
    functionsReached:
    - isc_mem_putanddetach
    - REQUIRE
    - ns_listenlist_create
    - isc_loopmgr_nloops
    - isc_mem_attach
    - dns_aclenv_create
    - isc_mutex_init
    - isc_refcount_init
    - ISC_LIST_INIT
    - isc_mutex_destroy
    - ns_server_attach
    - RUNTIME_CHECK
    - UNUSED
    - ns_listenlist_attach
    - ns_server_detach
    - isc_mem_get
    - ns_clientmgr_create
    - isc_mem_cget
    - atomic_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_interfacemgr_create(isc_mem_t *mctx, ns_server_t *sctx,\n\t\t
      \      isc_loopmgr_t *loopmgr, isc_nm_t *nm,\n\t\t       dns_dispatchmgr_t *dispatchmgr,\n\t\t
      \      dns_geoip_databases_t *geoip, ns_interfacemgr_t **mgrp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:340,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:341,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:341,1
    - Dst: ns_interfacemgr_ref
      Src: /src/bind9/lib/ns/interfacemgr.c:347,1
    - Dst: isc_nm_routeconnect
      Src: /src/bind9/lib/ns/interfacemgr.c:349,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:352,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:354,1
    - Dst: ns_interfacemgr_unref
      Src: /src/bind9/lib/ns/interfacemgr.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 357
    functionName: ns_interfacemgr_routeconnect
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - isc_tid
    - NS_INTERFACEMGR_VALID
    - isc_result_totext
    - isc_nm_routeconnect
    - ns_interfacemgr_ref
    - isc_log_write
    - REQUIRE
    - ns_interfacemgr_unref
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_routeconnect(ns_interfacemgr_t *mgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:361,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:362,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:362,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/ns/interfacemgr.c:368,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:369,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: ns_interfacemgr_routedisconnect
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 2
    functionsReached:
    - isc_nmhandle_detach
    - ns_interfacemgr_detach
    - isc_tid
    - NS_INTERFACEMGR_VALID
    - isc_nmhandle_close
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_routedisconnect(ns_interfacemgr_t *mgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:375,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:375,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:377,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:379,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:380,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:381,1
    - Dst: clearlistenon
      Src: /src/bind9/lib/ns/interfacemgr.c:382,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:383,1
    - Dst: ns_clientmgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:385,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/interfacemgr.c:387,1
    - Dst: ns_server_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:391,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/interfacemgr.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 373
    functionDepth: 4
    functionLinenumber: 373
    functionLinenumberEnd: 395
    functionName: ns_interfacemgr__destroy
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - ns_clientmgr_detach
    - NS_INTERFACEMGR_VALID
    - isc_mem_putanddetach
    - ns_server_detach
    - dns_aclenv_detach
    - ns_listenlist_detach
    - isc_mem_cput
    - REQUIRE
    - isc_refcount_destroy
    - isc_mutex_destroy
    - clearlistenon
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr__destroy(ns_interfacemgr_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:399,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:399,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:400,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mgr
    - backlog
    argTypes:
    - ns_interfacemgr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: ns_interfacemgr_setbacklog
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - LOCK
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_setbacklog(ns_interfacemgr_t *mgr, int backlog)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:409,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:409,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:411,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: ns_interfacemgr_getaclenv
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 6
    functionsReached:
    - LOCK
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    linkageType: ''
    returnType: dns_aclenv_t
    signature: 'dns_aclenv_t *

      ns_interfacemgr_getaclenv(ns_interfacemgr_t *mgr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:422,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:422,1
    - Dst: atomic_store
      Src: /src/bind9/lib/ns/interfacemgr.c:430,1
    - Dst: purge_old_interfaces
      Src: /src/bind9/lib/ns/interfacemgr.c:432,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/lib/ns/interfacemgr.c:435,1
    - Dst: ns_clientmgr_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 441
    functionName: ns_interfacemgr_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 3
    functionsReached:
    - NS_INTERFACEMGR_VALID
    - isc_nm_cancelread
    - ns_clientmgr_shutdown
    - purge_old_interfaces
    - REQUIRE
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_shutdown(ns_interfacemgr_t *mgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:449,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:449,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:451,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/interfacemgr.c:459,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/interfacemgr.c:461,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/interfacemgr.c:463,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/interfacemgr.c:464,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:466,1
    - Dst: ns_interfacemgr_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:468,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:471,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/interfacemgr.c:472,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - mgr
    - addr
    - name
    - ifpret
    argTypes:
    - ns_interfacemgr_t*
    - isc_sockaddr_t*
    - char*
    - ns_interface_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 476
    functionName: ns_interface_create
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - ns_interfacemgr_attach
    - LOCK
    - isc_mutex_init
    - NS_INTERFACEMGR_VALID
    - strlcpy
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - UNLOCK
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void ns_interface_create(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr,\n\t\t
      \   const char *name, ns_interface_t **ifpret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenudp
      Src: /src/bind9/lib/ns/interfacemgr.c:484,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:488,1
    - Dst: isc_nm_listenproxyudp
      Src: /src/bind9/lib/ns/interfacemgr.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ifp
    - proxy
    argTypes:
    - ns_interface_t*
    - isc_nm_proxy_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 478
    functionDepth: 5
    functionLinenumber: 478
    functionLinenumberEnd: 494
    functionName: ns_interface_listenudp
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenproxyudp
    - INSIST
    - isc_nm_listenudp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_interface_listenudp(ns_interface_t *ifp, isc_nm_proxy_type_t
      proxy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/lib/ns/interfacemgr.c:500,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:505,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:507,1
    - Dst: ns__client_tcpconn
      Src: /src/bind9/lib/ns/interfacemgr.c:515,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:517,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ifp
    - proxy
    argTypes:
    - ns_interface_t*
    - isc_nm_proxy_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 496
    functionDepth: 8
    functionLinenumber: 496
    functionLinenumberEnd: 523
    functionName: ns_interface_listentcp
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenstreamdns
    - ns__client_tcpconn
    - isc_log_write
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_interface_listentcp(ns_interface_t *ifp, isc_nm_proxy_type_t
      proxy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/lib/ns/interfacemgr.c:534,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:541,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:543,1
    - Dst: ns__client_tcpconn
      Src: /src/bind9/lib/ns/interfacemgr.c:552,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:554,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ifp
    - proxy
    - sslctx
    argTypes:
    - ns_interface_t*
    - isc_nm_proxy_type_t
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 529
    functionDepth: 8
    functionLinenumber: 529
    functionLinenumberEnd: 560
    functionName: ns_interface_listentls
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenstreamdns
    - ns__client_tcpconn
    - isc_log_write
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_interface_listentls(ns_interface_t *ifp, isc_nm_proxy_type_t
      proxy,\n\t\t       isc_tlsctx_t *sslctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/lib/ns/interfacemgr.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - epset
    - ifp
    - eps
    - neps
    argTypes:
    - isc_nm_http_endpoints_t*
    - ns_interface_t*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 577
    functionName: load_http_endpoints
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nm_http_endpoints_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_http_endpoints(isc_nm_http_endpoints_t *epset, ns_interface_t
      *ifp,\n\t\t    char **eps, size_t neps)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/lib/ns/interfacemgr.c:590,1
    - Dst: load_http_endpoints
      Src: /src/bind9/lib/ns/interfacemgr.c:592,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:595,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/interfacemgr.c:596,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/lib/ns/interfacemgr.c:597,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:603,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:607,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:608,1
    - Dst: ns_server_append_http_quota
      Src: /src/bind9/lib/ns/interfacemgr.c:611,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:616,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:619,1
    - Dst: ns__client_tcpconn
      Src: /src/bind9/lib/ns/interfacemgr.c:634,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:636,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:638,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:643,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:644,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:645,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:646,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:647,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:648,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 7
    argNames:
    - ifp
    - proxy
    - sslctx
    - eps
    - neps
    - max_clients
    - max_concurrent_streams
    argTypes:
    - ns_interface_t*
    - isc_nm_proxy_type_t
    - isc_tlsctx_t*
    - char**
    - size_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 580
    functionDepth: 4
    functionLinenumber: 580
    functionLinenumberEnd: 652
    functionName: ns_interface_listenhttp
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - ns__client_tcpconn
    - isc_nm_listenhttp
    - isc_nm_http_endpoints_detach
    - UNUSED
    - isc_quota_destroy
    - isc_quota_init
    - isc_result_totext
    - isc_mem_get
    - isc_log_write
    - load_http_endpoints
    - isc_mem_put
    - isc_nm_http_endpoints_new
    - ns_server_append_http_quota
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_interface_listenhttp(ns_interface_t *ifp, isc_nm_proxy_type_t
      proxy,\n\t\t\tisc_tlsctx_t *sslctx, char **eps, size_t neps,\n\t\t\tuint32_t
      max_clients, uint32_t max_concurrent_streams)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:661,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:662,1
    - Dst: ns_interface_create
      Src: /src/bind9/lib/ns/interfacemgr.c:667,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:669,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:669,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:670,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:672,1
    - Dst: ns_interface_listenhttp
      Src: /src/bind9/lib/ns/interfacemgr.c:679,1
    - Dst: ns_interface_listentls
      Src: /src/bind9/lib/ns/interfacemgr.c:691,1
    - Dst: ns_interface_listenudp
      Src: /src/bind9/lib/ns/interfacemgr.c:699,1
    - Dst: ns_interface_listentcp
      Src: /src/bind9/lib/ns/interfacemgr.c:708,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:729,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 6
    argNames:
    - mgr
    - addr
    - name
    - ifpret
    - elt
    - addr_in_use
    argTypes:
    - ns_interfacemgr_t*
    - isc_sockaddr_t*
    - char*
    - ns_interface_t**
    - ns_listenelt_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 654
    functionDepth: 9
    functionLinenumber: 654
    functionLinenumberEnd: 731
    functionName: interface_setup
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ns_interface_create
    - ns_interface_listentcp
    - UNLOCK
    - ns_interface_listenhttp
    - LISTENING
    - REQUIRE
    - ns_interface_shutdown
    - ns_interface_listenudp
    - ns_interface_listentls
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t interface_setup(ns_interfacemgr_t *mgr, isc_sockaddr_t
      *addr, const char *name,\n\t\tns_interface_t **ifpret, ns_listenelt_t *elt,\n\t\tbool
      *addr_in_use)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/ns/interfacemgr.c:738,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:739,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/ns/interfacemgr.c:742,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:743,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/ns/interfacemgr.c:746,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:747,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/ns/interfacemgr.c:750,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:751,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/ns/interfacemgr.c:754,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ifp
    argTypes:
    - ns_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 733
    functionDepth: 6
    functionLinenumber: 733
    functionLinenumberEnd: 758
    functionName: ns_interface_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - isc_nm_stoplistening
    - isc_nmsocket_close
    linkageType: ''
    returnType: void
    signature: void ns_interface_shutdown(ns_interface_t *ifp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:765,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:770,1
    - Dst: NS_INTERFACE_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:770,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:774,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:777,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:778,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:779,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:780,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - interfacep
    argTypes:
    - ns_interface_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 760
    functionDepth: 7
    functionLinenumber: 760
    functionLinenumberEnd: 783
    functionName: interface_destroy
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - NS_INTERFACE_VALID
    - ns_interfacemgr_detach
    - REQUIRE
    - ns_interface_shutdown
    - isc_mem_put
    - isc_refcount_destroy
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void interface_destroy(ns_interface_t **interfacep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:791,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:792,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:793,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:794,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - mgr
    - addr
    argTypes:
    - ns_interfacemgr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 801
    functionName: find_matching_interface
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - LOCK
    - isc_sockaddr_equal
    - UNLOCK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: ns_interface_t
    signature: 'ns_interface_t *

      find_matching_interface(ns_interfacemgr_t *mgr, isc_sockaddr_t *addr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/interfacemgr.c:806,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ifp
    argTypes:
    - ns_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 803
    functionDepth: 3
    functionLinenumber: 803
    functionLinenumberEnd: 809
    functionName: log_interface_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void log_interface_shutdown(const ns_interface_t *ifp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/ns/interfacemgr.c:816,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:818,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:820,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:821,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:822,1
    - Dst: NS_INTERFACE_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:822,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:824,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/interfacemgr.c:825,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:828,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:831,1
    - Dst: log_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:832,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:833,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:835,1
    - Dst: interface_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 814
    functionDepth: 8
    functionLinenumber: 814
    functionLinenumberEnd: 838
    functionName: purge_old_interfaces
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - log_interface_shutdown
    - NS_INTERFACE_VALID
    - ISC_LIST
    - LOCK
    - ISC_LIST_APPEND
    - interface_destroy
    - INSIST
    - UNLOCK
    - ISC_LIST_UNLINK
    - LISTENING
    - ns_interface_shutdown
    - ISC_LIST_FOREACH
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void purge_old_interfaces(ns_interfacemgr_t *mgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:831,1
    - Dst: log_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:832,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:833,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:835,1
    - Dst: interface_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 830
    functionDepth: 8
    functionLinenumber: 830
    functionLinenumberEnd: 837
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 129
    functionsReached:
    - log_interface_shutdown
    - interface_destroy
    - LISTENING
    - ns_interface_shutdown
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (interfaces, ifp, link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/ns/interfacemgr.c:851,1
    - Dst: isc_netaddr_masktoprefixlen
      Src: /src/bind9/lib/ns/interfacemgr.c:858,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:866,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:870,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:875,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/ns/interfacemgr.c:884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - interface
    - localhost
    - localnets
    argTypes:
    - isc_interface_t*
    - dns_acl_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 891
    functionName: setup_locals
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - dns_iptable_addprefix
    - isc_log_write
    - isc_netaddr_masktoprefixlen
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setup_locals(isc_interface_t *interface, dns_acl_t *localhost,\n\t
      \    dns_acl_t *localnets)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:898,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/ns/interfacemgr.c:899,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:901,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:902,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:903,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:905,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/interfacemgr.c:910,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - mgr
    - interface
    - port
    argTypes:
    - ns_interfacemgr_t*
    - isc_interface_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 913
    functionName: setup_listenon
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - LOCK
    - ISC_LIST_APPEND
    - UNLOCK
    - isc_mem_get
    - ISC_LIST_FOREACH
    - isc_mem_put
    - isc_sockaddr_equal
    linkageType: ''
    returnType: void
    signature: "void setup_listenon(ns_interfacemgr_t *mgr, isc_interface_t *interface,\n\t
      \      in_port_t port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/ns/interfacemgr.c:917,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:919,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/ns/interfacemgr.c:920,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:921,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:924,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 927
    functionName: clearlistenon
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - ISC_LIST
    - LOCK
    - UNLOCK
    - ISC_LIST_UNLINK
    - ISC_LIST_MOVE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void clearlistenon(ns_interfacemgr_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:924,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 130
    functionsReached:
    - isc_mem_put
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (listenon, old, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/interfacemgr.c:933,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:934,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/ns/interfacemgr.c:937,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/ns/interfacemgr.c:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ifp
    - newctx
    argTypes:
    - ns_interface_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 941
    functionName: replace_listener_tlsctx
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_nmsocket_set_tlsctx
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void replace_listener_tlsctx(ns_interface_t *ifp, isc_tlsctx_t *newctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:950,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:952,1
    - Dst: isc_quota_max
      Src: /src/bind9/lib/ns/interfacemgr.c:953,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:958,1
    - Dst: isc_nmsocket_set_max_streams
      Src: /src/bind9/lib/ns/interfacemgr.c:962,1
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/lib/ns/interfacemgr.c:964,1
    - Dst: load_http_endpoints
      Src: /src/bind9/lib/ns/interfacemgr.c:966,1
    - Dst: isc_nm_http_set_endpoints
      Src: /src/bind9/lib/ns/interfacemgr.c:970,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ifp
    - le
    argTypes:
    - ns_interface_t*
    - ns_listenelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 974
    functionName: update_http_settings
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_set_max_streams
    - isc_nm_http_endpoints_detach
    - isc_nm_http_set_endpoints
    - INSIST
    - REQUIRE
    - isc_quota_max
    - load_http_endpoints
    - isc_nm_http_endpoints_new
    linkageType: ''
    returnType: void
    signature: void update_http_settings(ns_interface_t *ifp, ns_listenelt_t *le)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:980,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:980,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:981,1
    - Dst: NS_INTERFACE_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:981,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:982,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:984,1
    - Dst: replace_listener_tlsctx
      Src: /src/bind9/lib/ns/interfacemgr.c:992,1
    - Dst: update_http_settings
      Src: /src/bind9/lib/ns/interfacemgr.c:1001,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - mgr
    - ifp
    - le
    argTypes:
    - ns_interfacemgr_t*
    - ns_interface_t*
    - ns_listenelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 977
    functionDepth: 5
    functionLinenumber: 977
    functionLinenumberEnd: 1006
    functionName: update_listener_configuration
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - replace_listener_tlsctx
    - NS_INTERFACE_VALID
    - LOCK
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - REQUIRE
    - update_http_settings
    linkageType: ''
    returnType: void
    signature: "void update_listener_configuration(ns_interfacemgr_t *mgr, ns_interface_t
      *ifp,\n\t\t\t      ns_listenelt_t *le)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - ifp
    - new_le
    argTypes:
    - ns_interface_t*
    - ns_listenelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1034
    functionName: same_listener_type
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool same_listener_type(ns_interface_t *ifp, ns_listenelt_t *new_le)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:1039,1
    - Dst: same_listener_type
      Src: /src/bind9/lib/ns/interfacemgr.c:1039,1
    - Dst: log_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:1044,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:1045,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1047,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1049,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:1050,1
    - Dst: update_listener_configuration
      Src: /src/bind9/lib/ns/interfacemgr.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - mgr
    - ifp
    - le
    - config
    argTypes:
    - ns_interfacemgr_t*
    - ns_interface_t*
    - ns_listenelt_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1036
    functionDepth: 7
    functionLinenumber: 1036
    functionLinenumberEnd: 1058
    functionName: interface_update_or_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - log_interface_shutdown
    - LOCK
    - same_listener_type
    - UNLOCK
    - update_listener_configuration
    - LISTENING
    - ns_interface_shutdown
    linkageType: ''
    returnType: bool
    signature: "bool interface_update_or_shutdown(ns_interfacemgr_t *mgr, ns_interface_t
      *ifp,\n\t\t\t     ns_listenelt_t *le, const bool config)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/ns/interfacemgr.c:1075,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1078,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:1079,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/ns/interfacemgr.c:1083,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1086,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:1087,1
    - Dst: isc_netaddr_any
      Src: /src/bind9/lib/ns/interfacemgr.c:1091,1
    - Dst: isc_netaddr_any6
      Src: /src/bind9/lib/ns/interfacemgr.c:1092,1
    - Dst: isc_interfaceiter_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1094,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1099,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1100,1
    - Dst: clearlistenon
      Src: /src/bind9/lib/ns/interfacemgr.c:1102,1
    - Dst: isc_interfaceiter_first
      Src: /src/bind9/lib/ns/interfacemgr.c:1106,1
    - Dst: isc_interfaceiter_next
      Src: /src/bind9/lib/ns/interfacemgr.c:1107,1
    - Dst: isc_interfaceiter_current
      Src: /src/bind9/lib/ns/interfacemgr.c:1113,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:1137,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:1142,1
    - Dst: isc_netaddr_isloopback
      Src: /src/bind9/lib/ns/interfacemgr.c:1152,1
    - Dst: setup_locals
      Src: /src/bind9/lib/ns/interfacemgr.c:1157,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:1165,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/ns/interfacemgr.c:1170,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/interfacemgr.c:1179,1
    - Dst: ns_interface_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1183,1
    - Dst: setup_listenon
      Src: /src/bind9/lib/ns/interfacemgr.c:1189,1
    - Dst: find_matching_interface
      Src: /src/bind9/lib/ns/interfacemgr.c:1193,1
    - Dst: interface_update_or_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:1195,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/interfacemgr.c:1202,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1204,1
    - Dst: interface_setup
      Src: /src/bind9/lib/ns/interfacemgr.c:1211,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1221,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1235,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:1238,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/ns/interfacemgr.c:1242,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:1243,1
    - Dst: dns_aclenv_set
      Src: /src/bind9/lib/ns/interfacemgr.c:1250,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1252,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1253,1
    - Dst: isc_interfaceiter_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:1255,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 102
    argCount: 3
    argNames:
    - mgr
    - verbose
    - config
    argTypes:
    - ns_interfacemgr_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1060
    functionDepth: 10
    functionLinenumber: 1060
    functionLinenumberEnd: 1257
    functionName: do_scan
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - isc_sockaddr_format
    - isc_interfaceiter_current
    - isc_log_write
    - interface_setup
    - isc_interfaceiter_create
    - ns_interface_create
    - isc_netaddr_any6
    - dns_acl_create
    - dns_acl_match
    - isc_sockaddr_fromnetaddr
    - UNEXPECTED_ERROR
    - ISC_LOG_DEBUG
    - find_matching_interface
    - isc_netaddr_equal
    - isc_netaddr_isloopback
    - ISC_LIST_FOREACH
    - isc_netaddr_any
    - isc_interfaceiter_first
    - dns_aclenv_set
    - setup_listenon
    - isc_interfaceiter_destroy
    - isc_net_probeipv4
    - isc_interfaceiter_next
    - isc_result_totext
    - setup_locals
    - isc_net_probeipv6
    - interface_update_or_shutdown
    - clearlistenon
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t do_scan(ns_interfacemgr_t *mgr, bool verbose, bool config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1264,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1264,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1265,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:1265,1
    - Dst: do_scan
      Src: /src/bind9/lib/ns/interfacemgr.c:1269,1
    - Dst: purge_old_interfaces
      Src: /src/bind9/lib/ns/interfacemgr.c:1281,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/interfacemgr.c:1287,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - mgr
    - verbose
    - config
    argTypes:
    - ns_interfacemgr_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1259
    functionDepth: 11
    functionLinenumber: 1259
    functionLinenumberEnd: 1294
    functionName: ns_interfacemgr_scan
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 5
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_tid
    - NS_INTERFACEMGR_VALID
    - purge_old_interfaces
    - isc_log_write
    - REQUIRE
    - do_scan
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_interfacemgr_scan(ns_interfacemgr_t *mgr, bool verbose,
      bool config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1298,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1298,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1300,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1301,1
    - Dst: ns_listenlist_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:1302,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mgr
    - value
    argTypes:
    - ns_interfacemgr_t*
    - ns_listenlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1304
    functionName: ns_interfacemgr_setlistenon4
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - LOCK
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - ns_listenlist_attach
    - ns_listenlist_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_setlistenon4(ns_interfacemgr_t *mgr, ns_listenlist_t
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1308,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1308,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1310,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1311,1
    - Dst: ns_listenlist_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:1312,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mgr
    - value
    argTypes:
    - ns_interfacemgr_t*
    - ns_listenlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1314
    functionName: ns_interfacemgr_setlistenon6
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - LOCK
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - ns_listenlist_attach
    - ns_listenlist_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_setlistenon6(ns_interfacemgr_t *mgr, ns_listenlist_t
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1318,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1318,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1320,1
    - Dst: ns_client_dumprecursing
      Src: /src/bind9/lib/ns/interfacemgr.c:1322,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - mgr
    argTypes:
    - FILE*
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1316
    functionDepth: 5
    functionLinenumber: 1316
    functionLinenumberEnd: 1325
    functionName: ns_interfacemgr_dumprecursing
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - LOCK
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - ns_client_dumprecursing
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void ns_interfacemgr_dumprecursing(FILE *f, ns_interfacemgr_t *mgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1332,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1332,1
    - Dst: atomic_load
      Src: /src/bind9/lib/ns/interfacemgr.c:1337,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1340,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:1341,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:1342,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - mgr
    - addr
    argTypes:
    - ns_interfacemgr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1350
    functionName: ns_interfacemgr_listeningon
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - LOCK
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - REQUIRE
    - ISC_LIST_FOREACH
    - atomic_load
    - isc_sockaddr_equal
    linkageType: ''
    returnType: bool
    signature: "bool ns_interfacemgr_listeningon(ns_interfacemgr_t *mgr,\n\t\t\t    const
      isc_sockaddr_t *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1354,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1357
    functionName: ns_interfacemgr_getserver
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    linkageType: ''
    returnType: ns_server_t
    signature: 'ns_server_t *

      ns_interfacemgr_getserver(ns_interfacemgr_t *mgr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:1361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1363,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1367
    functionName: ns_interfacemgr_getclientmgr
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 2
    functionsReached:
    - NS_INTERFACEMGR_VALID
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: ns_clientmgr_t
    signature: 'ns_clientmgr_t *

      ns_interfacemgr_getclientmgr(ns_interfacemgr_t *mgr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1381
    functionName: ns_interfacemgr_dynamic_updates_are_reliable
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ns_interfacemgr_dynamic_updates_are_reliable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/ns/notify.c:37,1
    - Dst: ns_client_logv
      Src: /src/bind9/lib/ns/notify.c:38,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/notify.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - client
    - level
    - fmt
    argTypes:
    - ns_client_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: notify_log
    functionSourceFile: /src/bind9/lib/ns/notify.c
    functionUses: 0
    functionsReached:
    - va_start
    - ns_client_logv
    - va_end
    linkageType: ''
    returnType: void
    signature: void notify_log(ns_client_t *client, int level, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/notify.c:50,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/notify.c:52,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/notify.c:54,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/notify.c:57,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/notify.c:58,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/notify.c:68,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/notify.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 43
    functionDepth: 8
    functionLinenumber: 43
    functionLinenumberEnd: 70
    functionName: respond
    functionSourceFile: /src/bind9/lib/ns/notify.c
    functionUses: 6
    functionsReached:
    - isc_nmhandle_detach
    - dns_message_reply
    - ns_client_drop
    - dns_result_torcode
    - ns_client_send
    linkageType: ''
    returnType: void
    signature: void respond(ns_client_t *client, isc_result_t result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/notify.c:86,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/notify.c:91,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:92,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/notify.c:101,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/notify.c:102,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/notify.c:103,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:104,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/notify.c:111,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:112,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:120,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/ns/notify.c:126,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/notify.c:128,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/notify.c:132,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/notify.c:134,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/notify.c:137,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/notify.c:144,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/notify.c:145,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/notify.c:148,1
    - Dst: ns_client_getsockaddr
      Src: /src/bind9/lib/ns/notify.c:155,1
    - Dst: ns_client_getdestaddr
      Src: /src/bind9/lib/ns/notify.c:156,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:157,1
    - Dst: dns_zone_notifyreceive
      Src: /src/bind9/lib/ns/notify.c:160,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:167,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/notify.c:169,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/notify.c:173,1
    - Dst: respond
      Src: /src/bind9/lib/ns/notify.c:175,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - client
    - handle
    argTypes:
    - ns_client_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 176
    functionName: ns_notify_start
    functionSourceFile: /src/bind9/lib/ns/notify.c
    functionUses: 2
    functionsReached:
    - respond
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - dns_message_gettsigkey
    - dns_view_findzone
    - isc_result_totext
    - ns_client_getdestaddr
    - dns_zone_detach
    - isc_nmhandle_attach
    - snprintf
    - notify_log
    - dns_name_format
    - dns_zone_gettype
    - ns_client_getsockaddr
    - dns_zone_notifyreceive
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void ns_notify_start(ns_client_t *client, isc_nmhandle_t *handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: HANDLE_RECTYPE_NORMAL
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RECTYPE_NORMAL(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: HANDLE_RECTYPE_PREFETCH
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RECTYPE_PREFETCH(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: HANDLE_RECTYPE_RPZ
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RECTYPE_RPZ(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: HANDLE_RECTYPE_STALE_REFRESH
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RECTYPE_STALE_REFRESH(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: HANDLE_RECTYPE_HOOK
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_RECTYPE_HOOK(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: FETCH_RECTYPE_NORMAL
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_RECTYPE_NORMAL(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: FETCH_RECTYPE_PREFETCH
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_RECTYPE_PREFETCH(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: FETCH_RECTYPE_RPZ
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_RECTYPE_RPZ(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: FETCH_RECTYPE_STALE_REFRESH
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_RECTYPE_STALE_REFRESH(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - client
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: FETCH_RECTYPE_HOOK
    functionSourceFile: /src/bind9/lib/ns/include/ns/query.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FETCH_RECTYPE_HOOK(client)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: NS_INTERFACE_VALID
    functionSourceFile: /src/bind9/lib/ns/include/ns/interfacemgr.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_INTERFACE_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: NS_CLIENT_VALID
    functionSourceFile: /src/bind9/lib/ns/include/ns/client.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_CLIENT_VALID(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: NS_CLIENT_ACLMSGSIZE
    functionSourceFile: /src/bind9/lib/ns/include/ns/client.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NS_CLIENT_ACLMSGSIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: TOKEN_STRING
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKEN_STRING(pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 346
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: CLEANUP_OBJ
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_OBJ(obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:316,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:316,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:318,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:318,1
    - Dst: cfg_parse_enum
      Src: /src/bind9/lib/isccfg/namedconf.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: parse_matchtype
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum
    - CHECK
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_matchtype(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:335,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:335,1
    - Dst: cfg_parse_astring
      Src: /src/bind9/lib/isccfg/namedconf.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: parse_matchname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - CHECK
    - cfg_parse_astring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_matchname(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:347,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:348,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: doc_matchname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: void doc_matchname(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:405,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:405,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:409,1
    - Dst: cfg_parse_bracketed_list
      Src: /src/bind9/lib/isccfg/namedconf.c:410,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:414,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:414,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:417,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:417,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/namedconf.c:418,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/namedconf.c:420,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/namedconf.c:421,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 432
    functionName: parse_updatepolicy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_ungettoken
    - memmove
    - strlen
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - isc_mem_get
    - cfg_parse_bracketed_list
    - cfg_create_obj
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_updatepolicy(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/namedconf.c:436,1
    - Dst: cfg_print_ustring
      Src: /src/bind9/lib/isccfg/namedconf.c:437,1
    - Dst: cfg_print_bracketed_list
      Src: /src/bind9/lib/isccfg/namedconf.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: print_updatepolicy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_isstring
    - cfg_print_ustring
    - cfg_print_bracketed_list
    linkageType: ''
    returnType: void
    signature: void print_updatepolicy(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:445,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:446,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: doc_updatepolicy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: void doc_updatepolicy(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: parse_maxduration
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_maxduration(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 521
    functionName: doc_maxduration
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_maxduration(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: parse_optional_enum
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_enum(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:544,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:545,1
    - Dst: cfg_doc_enum
      Src: /src/bind9/lib/isccfg/namedconf.c:546,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: doc_optional_enum
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_enum
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_optional_enum(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:593,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:595,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:595,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:597,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:597,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:599,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:599,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:601,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:601,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:603,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:603,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:605,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 611
    functionName: parse_keystore
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - UNUSED
    - cfg_parse_obj
    - CHECK
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_keystore(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:615,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: doc_keystore
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_keystore(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:623,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:624,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:626,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/namedconf.c:626,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:627,1
    - Dst: cfg_print_ustring
      Src: /src/bind9/lib/isccfg/namedconf.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: print_keystore
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_ustring
    - cfg_obj_asstring
    - REQUIRE
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void print_keystore(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:655,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:656,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:657,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/namedconf.c:659,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:660,1
    - Dst: cfg_print_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 663
    functionName: print_tagrange
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_istuple
    - cfg_print_cstr
    - REQUIRE
    - cfg_print_tuple
    linkageType: ''
    returnType: void
    signature: void print_tagrange(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:678,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: doc_optionaltagrange
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_optionaltagrange(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:689,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:691,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:691,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:693,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:693,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:695,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:695,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:696,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:696,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:698,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 704
    functionName: parse_optionaltagrange
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - UNUSED
    - cfg_parse_obj
    - CHECK
    - TOKEN_STRING
    - cfg_gettoken
    - strcasecmp
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optionaltagrange(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t       cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 869
    functionName: parse_zonestat
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_zonestat(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 873
    functionName: doc_zonestat
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_zonestat(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:956,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: print_none
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void print_none(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:971,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:971,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:973,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:973,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:975,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:977,1
    - Dst: cfg_parse_qstring
      Src: /src/bind9/lib/isccfg/namedconf.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 981
    functionName: parse_qstringornone
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_ungettoken
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - cfg_create_obj
    - cfg_parse_qstring
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_qstringornone(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:985,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 987
    functionName: doc_qstringornone
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_qstringornone(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1002,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1004
    functionName: print_auto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void print_auto(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1013,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1013,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1015,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1015,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1017,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1019,1
    - Dst: cfg_parse_boolean
      Src: /src/bind9/lib/isccfg/namedconf.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1023
    functionName: parse_boolorauto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_ungettoken
    - cfg_parse_boolean
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - cfg_create_obj
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_boolorauto(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1028,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1030,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1034
    functionName: print_boolorauto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void print_boolorauto(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1038,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: doc_boolorauto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_boolorauto(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1052,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1054
    functionName: print_hostname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void print_hostname(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1067,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1067,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1069,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1069,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1071,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1074,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1074,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1076,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1082,1
    - Dst: cfg_parse_qstring
      Src: /src/bind9/lib/isccfg/namedconf.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1086
    functionName: parse_serverid
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_ungettoken
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - cfg_create_obj
    - cfg_parse_qstring
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_serverid(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1090,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1092
    functionName: doc_serverid
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_serverid(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1521,1
    - Dst: cfg_create_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:1521,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1524,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1524,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1525,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1525,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1529,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1529,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1531,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1531,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1532,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1532,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1535,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1535,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1537,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1537,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1541,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1541,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1543,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1543,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1547,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1547,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:1550,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1562,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1562,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1565,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1565,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1568,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1568,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:1575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1577
    functionName: parse_dtout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - cfg_create_tuple
    - CLEANUP_OBJ
    - cfg_parse_obj
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_dtout(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1581,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1582,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1584,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1585,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1588,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1589,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1592,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1595
    functionName: print_dtout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    linkageType: ''
    returnType: void
    signature: void print_dtout(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1599,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1600,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1601,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1602,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1603,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1604,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1605,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1597
    functionDepth: 1
    functionLinenumber: 1597
    functionLinenumberEnd: 1607
    functionName: doc_dtout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_dtout(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1647,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1649,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1654
    functionName: doc_rpz_policy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void doc_rpz_policy(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:1658,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1660
    functionName: doc_rpz_cname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_terminal
    linkageType: ''
    returnType: void
    signature: void doc_rpz_cname(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1673,1
    - Dst: cfg_create_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:1673,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1676,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1676,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1680,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/namedconf.c:1680,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1681,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1681,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1683,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1683,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:1691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1693
    functionName: cfg_parse_rpz_policy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - cfg_create_tuple
    - CLEANUP_OBJ
    - cfg_obj_asstring
    - cfg_parse_obj
    - CHECK
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_rpz_policy(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1707,1
    - Dst: cfg_create_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:1707,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1713,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1713,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1716,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1716,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:1723,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1724,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1729,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1729,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1735,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1735,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1736,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1736,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1741,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1741,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:1750,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1752
    functionName: cfg_parse_kv_tuple
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - cfg_create_tuple
    - CLEANUP_OBJ
    - cfg_parse_obj
    - CHECK
    - TOKEN_STRING
    - cfg_gettoken
    - strcasecmp
    - cfg_peektoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_kv_tuple(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1767,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1768,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1769,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1773
    functionName: cfg_print_kv_tuple
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    linkageType: ''
    returnType: void
    signature: void cfg_print_kv_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1785,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1786,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1788,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1791,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1793,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1796
    functionName: cfg_doc_kv_tuple
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: void cfg_doc_kv_tuple(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1937,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1939,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1939,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1941,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1941,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1943,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1947
    functionName: parse_optional_uint32
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_obj
    - CHECK
    - UNUSED
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_uint32(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t      cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:1951,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1953
    functionName: doc_optional_uint32
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_optional_uint32(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1992
    functionDepth: 1
    functionLinenumber: 1992
    functionLinenumberEnd: 1996
    functionName: parse_staleanswerclienttimeout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_staleanswerclienttimeout(cfg_parser_t *pctx, const
      cfg_type_t *type,\n\t\t\t       cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2001
    functionName: doc_staleanswerclienttimeout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_staleanswerclienttimeout(cfg_printer_t *pctx, const cfg_type_t
      *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2197
    functionName: parse_checkds_type
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_checkds_type(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2201
    functionName: doc_checkds_type
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_checkds_type(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2681
    functionName: parse_printtime
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_printtime(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2682
    functionDepth: 1
    functionLinenumber: 2682
    functionLinenumberEnd: 2685
    functionName: doc_printtime
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_printtime(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/bind9/lib/isccfg/namedconf.c:2762,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/namedconf.c:2768,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - str
    - valuep
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2794
    functionName: parse_unitstring
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strlen
    - strtoull
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_unitstring(char *str, uint64_t *valuep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:2802,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2804,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:2804,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2809,1
    - Dst: parse_unitstring
      Src: /src/bind9/lib/isccfg/namedconf.c:2809,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:2809,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2811,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2811,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:2817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2796
    functionDepth: 1
    functionLinenumber: 2796
    functionLinenumberEnd: 2820
    functionName: parse_sizeval
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - parse_unitstring
    - cfg_create_obj
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_sizeval(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:2831,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2833,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:2833,1
    - Dst: strtoull
      Src: /src/bind9/lib/isccfg/namedconf.c:2839,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:2839,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2842,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2842,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2847,1
    - Dst: parse_unitstring
      Src: /src/bind9/lib/isccfg/namedconf.c:2847,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:2847,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2848,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2848,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:2855,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2822
    functionDepth: 1
    functionLinenumber: 2822
    functionLinenumberEnd: 2858
    functionName: parse_sizeval_percent
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - strtoull
    - parse_unitstring
    - cfg_create_obj
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_sizeval_percent(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t      cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:2862,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2864,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:2865,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2866,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:2867,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2869
    functionName: doc_sizeval_percent
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_terminal
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_sizeval_percent(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2885
    functionName: parse_size
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_size(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2887
    functionDepth: 1
    functionLinenumber: 2887
    functionLinenumberEnd: 2890
    functionName: doc_size
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_size(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2924
      start: 2919
    functionDepth: 1
    functionLinenumber: 2919
    functionLinenumberEnd: 2924
    functionName: parse_size_or_percent
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_size_or_percent(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t      cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:2928,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2929,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:2930,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2931,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:2932,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2926
    functionDepth: 1
    functionLinenumber: 2926
    functionLinenumberEnd: 2934
    functionName: doc_parse_size_or_percent
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_terminal
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_parse_size_or_percent(cfg_printer_t *pctx, const cfg_type_t
      *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 2949
    functionName: parse_ixfrratio
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_ixfrratio(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:2953,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2954,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:2955,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 2957
    functionName: doc_ixfrratio
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_terminal
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_ixfrratio(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2974,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:2974,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:2976,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:2976,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2978,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:2978,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2979,1
    - Dst: keyword_type_t*::type::parse
      Src: /src/bind9/lib/isccfg/namedconf.c:2979,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2983,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:2983,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:2985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - pctx
    - type
    - optional
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - bool
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2967
    functionDepth: 1
    functionLinenumber: 2967
    functionLinenumberEnd: 2995
    functionName: parse_maybe_optional_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - keyword_type_t*::type::parse
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_maybe_optional_keyvalue(cfg_parser_t *pctx, const
      cfg_type_t *type,\n\t\t\t      bool optional, cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_maybe_optional_keyvalue
      Src: /src/bind9/lib/isccfg/namedconf.c:2999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2997
    functionDepth: 2
    functionLinenumber: 2997
    functionLinenumberEnd: 3000
    functionName: parse_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - parse_maybe_optional_keyvalue
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_keyvalue(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_maybe_optional_keyvalue
      Src: /src/bind9/lib/isccfg/namedconf.c:3005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 3002
    functionDepth: 2
    functionLinenumber: 3002
    functionLinenumberEnd: 3006
    functionName: parse_optional_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - parse_maybe_optional_keyvalue
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_keyvalue(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t\tcfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3011,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3012,1
    - Dst: keyword_type_t*::type::print
      Src: /src/bind9/lib/isccfg/namedconf.c:3013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3008
    functionDepth: 1
    functionLinenumber: 3008
    functionLinenumberEnd: 3014
    functionName: print_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - keyword_type_t*::type::print
    linkageType: ''
    returnType: void
    signature: void print_keyvalue(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3019,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3020,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3016
    functionDepth: 1
    functionLinenumber: 3016
    functionLinenumberEnd: 3022
    functionName: doc_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: void doc_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3027,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3028,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3029,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3030,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3024
    functionDepth: 1
    functionLinenumber: 3024
    functionLinenumberEnd: 3032
    functionName: doc_optional_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: void doc_optional_keyvalue(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3036
    functionDepth: 1
    functionLinenumber: 3036
    functionLinenumberEnd: 3039
    functionName: parse_notify_type
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_notify_type(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3043
      start: 3040
    functionDepth: 1
    functionLinenumber: 3040
    functionLinenumberEnd: 3043
    functionName: doc_notify_type
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_notify_type(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3050
    functionDepth: 1
    functionLinenumber: 3050
    functionLinenumberEnd: 3053
    functionName: parse_minimal
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_minimal(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3054
    functionDepth: 1
    functionLinenumber: 3054
    functionLinenumberEnd: 3057
    functionName: doc_minimal
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_minimal(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 3065
    functionDepth: 1
    functionLinenumber: 3065
    functionLinenumberEnd: 3069
    functionName: parse_ixfrdiff_type
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_ixfrdiff_type(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3073
    functionName: doc_ixfrdiff_type
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_ixfrdiff_type(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3189,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3190,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3191,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3192,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3186
    functionDepth: 1
    functionLinenumber: 3186
    functionLinenumberEnd: 3194
    functionName: doc_optional_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: void doc_optional_bracketed_list(cfg_printer_t *pctx, const cfg_type_t
      *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3233,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3234,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3234,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3236,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3236,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3238,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3242
      start: 3229
    functionDepth: 1
    functionLinenumber: 3229
    functionLinenumberEnd: 3242
    functionName: parse_optional_class
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_obj
    - CHECK
    - UNUSED
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_class(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3246,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3244
    functionDepth: 1
    functionLinenumber: 3244
    functionLinenumberEnd: 3248
    functionName: doc_optional_class
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_optional_class(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:3261,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3262,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3262,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3265,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3265,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3267,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3267,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3268,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3268,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3272,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3272,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3274,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3274,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3275,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3275,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3277,1
    - Dst: cfg_parse_sockaddr_generic
      Src: /src/bind9/lib/isccfg/namedconf.c:3277,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3257
    functionDepth: 1
    functionLinenumber: 3257
    functionLinenumberEnd: 3287
    functionName: parse_querysource
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_sockaddr_generic
    - CHECK
    - TOKEN_STRING
    - cfg_gettoken
    - REQUIRE
    - cfg_create_obj
    - strcasecmp
    - cfg_peektoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_querysource(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3292,1
    - Dst: cfg_print_rawaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3289
    functionDepth: 2
    functionLinenumber: 3289
    functionLinenumberEnd: 3294
    functionName: print_querysource
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_rawaddr
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: void
    signature: void print_querysource(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3300,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3303,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3305,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/namedconf.c:3307,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3310,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3312,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pctx
    - type
    - has_none
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3296
    functionDepth: 1
    functionLinenumber: 3296
    functionLinenumberEnd: 3315
    functionName: doc__querysource
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void doc__querysource(cfg_printer_t *pctx, const cfg_type_t *type,
      bool has_none)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doc__querysource
      Src: /src/bind9/lib/isccfg/namedconf.c:3319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3317
    functionDepth: 2
    functionLinenumber: 3317
    functionLinenumberEnd: 3320
    functionName: doc_querysource
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - doc__querysource
    linkageType: ''
    returnType: void
    signature: void doc_querysource(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doc__querysource
      Src: /src/bind9/lib/isccfg/namedconf.c:3324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3322
    functionDepth: 2
    functionLinenumber: 3322
    functionLinenumberEnd: 3325
    functionName: doc_serverquerysource
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - doc__querysource
    linkageType: ''
    returnType: void
    signature: void doc_serverquerysource(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3380,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3383,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3383,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3387,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3387,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3391,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3391,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3395,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3395,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3399,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3399,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3402,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/namedconf.c:3402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3406
      start: 3375
    functionDepth: 1
    functionLinenumber: 3375
    functionLinenumberEnd: 3406
    functionName: parse_server_key_kludge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_parse_obj
    - cfg_gettoken
    - CHECK
    - cfg_parse_special
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_server_key_kludge(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t\tcfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3420,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3422,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3422,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3426,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3426,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3428,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3416
    functionDepth: 1
    functionLinenumber: 3416
    functionLinenumberEnd: 3432
    functionName: parse_optional_facility
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_obj
    - CHECK
    - UNUSED
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_facility(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t\tcfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3436,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3434
    functionDepth: 1
    functionLinenumber: 3434
    functionLinenumberEnd: 3438
    functionName: doc_optional_facility
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_optional_facility(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3460,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3462,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3462,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3464,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3464,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3466,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3466,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3467,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3467,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3469,1
    - Dst: cfg_parse_uint32
      Src: /src/bind9/lib/isccfg/namedconf.c:3469,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3476,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3476,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3481,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3457
    functionDepth: 1
    functionLinenumber: 3457
    functionLinenumberEnd: 3485
    functionName: parse_logseverity
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_uint32
    - UNUSED
    - cfg_parse_obj
    - CHECK
    - TOKEN_STRING
    - cfg_gettoken
    - cfg_create_obj
    - strcasecmp
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_logseverity(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3497
    functionDepth: 1
    functionLinenumber: 3497
    functionLinenumberEnd: 3500
    functionName: parse_logversions
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_enum_or_other
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_logversions(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:3504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3502
    functionDepth: 1
    functionLinenumber: 3502
    functionLinenumberEnd: 3505
    functionName: doc_logversions
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum_or_other
    linkageType: ''
    returnType: void
    signature: void doc_logversions(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3531,1
    - Dst: cfg_create_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:3531,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3534,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3534,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3538,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3538,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3540,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3540,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3541,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3541,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3544,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3544,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3546,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3546,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3550,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3550,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3552,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3552,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3556,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3556,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3568,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3568,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3571,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3571,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3574,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3574,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:3581,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3525
    functionDepth: 1
    functionLinenumber: 3525
    functionLinenumberEnd: 3583
    functionName: parse_logfile
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - cfg_create_tuple
    - CLEANUP_OBJ
    - cfg_parse_obj
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_logfile(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3587,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3589,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3590,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3593,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3594,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3597,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3585
    functionDepth: 1
    functionLinenumber: 3585
    functionLinenumberEnd: 3600
    functionName: print_logfile
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    linkageType: ''
    returnType: void
    signature: void print_logfile(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3604,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3605,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3606,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3607,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3608,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3609,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3610,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3612
      start: 3602
    functionDepth: 1
    functionLinenumber: 3602
    functionLinenumberEnd: 3612
    functionName: doc_logfile
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_logfile(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3726,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3727,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3728,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3729,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3730,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3731,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3732,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3733,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3734,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3735,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3736,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3737,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3738,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3724
    functionDepth: 1
    functionLinenumber: 3724
    functionLinenumberEnd: 3740
    functionName: doc_sockaddrnameport
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_sockaddrnameport(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3746,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3748,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3748,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3752,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3754,1
    - Dst: cfg_parse_sockaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3754,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3757,1
    - Dst: cfg_parse_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:3757,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3766
      start: 3742
    functionDepth: 1
    functionLinenumber: 3742
    functionLinenumberEnd: 3766
    functionName: parse_sockaddrnameport
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_parse_tuple
    - CHECK
    - cfg_parse_sockaddr
    - cfg_peektoken
    - cfg_lookingat_netaddr
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_sockaddrnameport(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t       cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3806,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3807,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3808,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3809,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3810,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3811,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3812,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3813,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3814,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3815,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3816,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3804
    functionDepth: 1
    functionLinenumber: 3804
    functionLinenumberEnd: 3818
    functionName: doc_remoteselement
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_remoteselement(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/namedconf.c:3825,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3827,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3827,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3831,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3833,1
    - Dst: cfg_parse_sockaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3833,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3836,1
    - Dst: cfg_parse_astring
      Src: /src/bind9/lib/isccfg/namedconf.c:3836,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3839,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:3845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3847
    functionName: parse_remoteselement
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - CLEANUP_OBJ
    - cfg_parse_astring
    - CHECK
    - cfg_parse_sockaddr
    - cfg_peektoken
    - cfg_lookingat_netaddr
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_remoteselement(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3861
      start: 3856
    functionDepth: 0
    functionLinenumber: 3856
    functionLinenumberEnd: 3861
    functionName: cmp_clause
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_clause(const void *ap, const void *bp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3870,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3878,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3886,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - name
    - ztype
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3894
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3894
    functionName: cfg_clause_validforzone
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool cfg_clause_validforzone(const char *name, unsigned int ztype)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/namedconf.c:3913,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/namedconf.c:3914,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/namedconf.c:3915,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/namedconf.c:3916,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/namedconf.c:3917,1
    - Dst: qsort
      Src: /src/bind9/lib/isccfg/namedconf.c:3919,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3921,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3926,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3927,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3930,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3931,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3934,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3935,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3938,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3939,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3942,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3943,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3946,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3947,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3950,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3951,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3954,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3955,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/namedconf.c:3961,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3978,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:3982,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3983,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3984,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3985,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3986,1
    - Dst: cfg_print_clauseflags
      Src: /src/bind9/lib/isccfg/namedconf.c:3987,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3988,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3992,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 3
    argNames:
    - zonetype
    - flags
    - closure
    argTypes:
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3993
      start: 3896
    functionDepth: 1
    functionLinenumber: 3896
    functionLinenumberEnd: 3993
    functionName: cfg_print_zonegrammar
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 1
    functionsReached:
    - cfg_print_cstr
    - cfg_print_clauseflags
    - UNREACHABLE
    - memmove
    - ARRAY_SIZE
    - cfg_doc_obj
    - cfg_print_indent
    - qsort
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: "void cfg_print_zonegrammar(const unsigned int zonetype, unsigned int
      flags,\n\t\t      void (*f)(void *closure, const char *text, int textlen),\n\t\t
      \     void *closure)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/duration.c:56,1
    - Dst: toupper
      Src: /src/bind9/lib/isccfg/duration.c:67,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:73,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:76,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:80,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:93,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:101,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:114,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:117,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:136,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:139,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:152,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:160,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:173,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:176,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/duration.c:189,1
    - Dst: strtoll
      Src: /src/bind9/lib/isccfg/duration.c:196,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 127
    argCount: 2
    argNames:
    - source
    - duration
    argTypes:
    - isc_textregion_t*
    - isccfg_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 215
    functionName: isccfg_duration_fromtext
    functionSourceFile: /src/bind9/lib/isccfg/duration.c
    functionUses: 0
    functionsReached:
    - strtoll
    - toupper
    - snprintf
    - strpbrk
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccfg_duration_fromtext(isc_textregion_t *source,\n\t\t\t
      isccfg_duration_t *duration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/duration.c:221,1
    - Dst: isccfg_duration_fromtext
      Src: /src/bind9/lib/isccfg/duration.c:224,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/isccfg/duration.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - source
    - duration
    argTypes:
    - isc_textregion_t*
    - isccfg_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: isccfg_parse_duration
    functionSourceFile: /src/bind9/lib/isccfg/duration.c
    functionUses: 0
    functionsReached:
    - dns_ttl_fromtext
    - REQUIRE
    - isccfg_duration_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccfg_parse_duration(isc_textregion_t *source, isccfg_duration_t
      *duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/duration.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - duration
    argTypes:
    - isccfg_duration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 261
    functionName: isccfg_duration_toseconds
    functionSourceFile: /src/bind9/lib/isccfg/duration.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isccfg_duration_toseconds(const isccfg_duration_t *duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: TOKEN_STRING
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKEN_STRING(pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: TOKEN_REGION
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOKEN_REGION(pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 369
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: CLEANUP_OBJ
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_OBJ(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:194,1
    - Dst: cfg_obj_t*::type::print
      Src: /src/bind9/lib/isccfg/parser.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: cfg_print_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - cfg_obj_t*::type::print
    linkageType: ''
    returnType: void
    signature: void cfg_print_obj(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:202,1
    - Dst: cfg_printer_t*::f
      Src: /src/bind9/lib/isccfg/parser.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pctx
    - text
    - len
    argTypes:
    - cfg_printer_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: cfg_print_chars
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_printer_t*::f
    linkageType: ''
    returnType: void
    signature: void cfg_print_chars(cfg_printer_t *pctx, const char *text, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:210,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_printer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: print_open
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void print_open(cfg_printer_t *pctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:221,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_printer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: cfg_print_indent
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void cfg_print_indent(cfg_printer_t *pctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/parser.c:234,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_printer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 237
    functionName: print_close
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_indent
    linkageType: ''
    returnType: void
    signature: void print_close(cfg_printer_t *pctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:245,1
    - Dst: cfg_type_t*::parse
      Src: /src/bind9/lib/isccfg/parser.c:247,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isccfg/parser.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: cfg_parse_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 11
    functionsReached:
    - ENSURE
    - REQUIRE
    - cfg_type_t*::parse
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_obj(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:259,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:260,1
    - Dst: cfg_printx
      Src: /src/bind9/lib/isccfg/parser.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - closure
    argTypes:
    - cfg_obj_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: cfg_print
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_printx
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void cfg_print(const cfg_obj_t *obj,\n\t  void (*f)(void *closure,
      const char *text, int textlen),\n\t  void *closure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:272,1
    - Dst: cfg_obj_t*::type::print
      Src: /src/bind9/lib/isccfg/parser.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - obj
    - flags
    - closure
    argTypes:
    - cfg_obj_t*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: cfg_printx
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - cfg_obj_t*::type::print
    linkageType: ''
    returnType: void
    signature: "void cfg_printx(const cfg_obj_t *obj, unsigned int flags,\n\t   void
      (*f)(void *closure, const char *text, int textlen),\n\t   void *closure)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:293,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:294,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:302,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:302,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:303,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 316
    functionName: cfg_create_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - isc_mem_cget
    - CHECK
    - REQUIRE
    - isc_mem_put
    - cfg_create_obj
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_create_tuple(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:327,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:328,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:332,1
    - Dst: cfg_create_tuple
      Src: /src/bind9/lib/isccfg/parser.c:332,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:334,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:334,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 343
    functionName: cfg_parse_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_create_tuple
    - CLEANUP_OBJ
    - cfg_parse_obj
    - CHECK
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_tuple(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:353,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:360,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 366
    functionName: cfg_print_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_print_cstr
    - REQUIRE
    - cfg_print_obj
    linkageType: ''
    returnType: void
    signature: void cfg_print_tuple(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:375,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:381,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 386
    functionName: cfg_doc_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_tuple(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:400,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isccfg/parser.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: free_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - CLEANUP_OBJ
    linkageType: ''
    returnType: void
    signature: void free_tuple(cfg_parser_t *pctx, cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: cfg_obj_istuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_istuple(const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:419,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:420,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:424,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - tupleobj
    - name
    argTypes:
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: cfg_tuple_get
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 82
    functionsReached:
    - strcmp
    - UNREACHABLE
    - REQUIRE
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      cfg_tuple_get(const cfg_obj_t *tupleobj, const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:435,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:437,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:437,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - special
    argTypes:
    - cfg_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 448
    functionName: cfg_parse_special
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_gettoken
    - CHECK
    - REQUIRE
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_special(cfg_parser_t *pctx, int special)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:461,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:461,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:468,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 472
    functionName: parse_semicolon
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_gettoken
    - CHECK
    - cfg_ungettoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_semicolon(cfg_parser_t *pctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:481,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:481,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: parse_eof
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_gettoken
    - CHECK
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_eof(cfg_parser_t *pctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:506,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:508,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isccfg/parser.c:511,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isccfg/parser.c:513,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/parser.c:529,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/isccfg/parser.c:537,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/isccfg/parser.c:539,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/isccfg/parser.c:540,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:544,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:544,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:545,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:545,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/isccfg/parser.c:552,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:554,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:555,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isccfg/parser.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 2
    argNames:
    - mctx
    - ret
    argTypes:
    - isc_mem_t*
    - cfg_parser_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 558
    functionName: cfg_parser_create
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 21
    functionsReached:
    - isc_mem_attach
    - memset
    - isc_mem_putanddetach
    - isc_lex_setcomments
    - CLEANUP_OBJ
    - isc_lex_setspecials
    - isc_mem_get
    - isc_refcount_init
    - CHECK
    - cfg_create_list
    - REQUIRE
    - isc_lex_create
    - isc_lex_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parser_create(isc_mem_t *mctx, cfg_parser_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pctx
    - flags
    - turn_on
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 569
    functionName: cfg_parser_setflags
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_parser_setflags(cfg_parser_t *pctx, unsigned int flags, bool
      turn_on)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/isccfg/parser.c:577,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:579,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:580,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:584,1
    - Dst: create_string
      Src: /src/bind9/lib/isccfg/parser.c:584,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:585,1
    - Dst: create_listelt
      Src: /src/bind9/lib/isccfg/parser.c:585,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:587,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pctx
    - filename
    argTypes:
    - cfg_parser_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 593
    functionName: parser_openfile
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - create_string
    - CLEANUP_OBJ
    - isc_result_totext
    - CHECK
    - isc_lex_openfile
    - create_listelt
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parser_openfile(cfg_parser_t *pctx, const char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pctx
    - callback
    - arg
    argTypes:
    - cfg_parser_t*
    - cfg_parsecallback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 602
    functionName: cfg_parser_setcallback
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void cfg_parser_setcallback(cfg_parser_t *pctx, cfg_parsecallback_t
      callback,\n\t\t       void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:606,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/isccfg/parser.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 617
    functionName: cfg_parser_reset
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 9
    functionsReached:
    - isc_lex_close
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_parser_reset(cfg_parser_t *pctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:628,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:640,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:641,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:645,1
    - Dst: parse_eof
      Src: /src/bind9/lib/isccfg/parser.c:645,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:651,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 653
    functionName: parse2
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - parse_eof
    - CLEANUP_OBJ
    - isc_result_totext
    - cfg_parse_obj
    - CHECK
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse2(cfg_parser_t *pctx, const cfg_type_t *type, cfg_obj_t
      **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:661,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:662,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:663,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:664,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:666,1
    - Dst: parser_openfile
      Src: /src/bind9/lib/isccfg/parser.c:666,1
    - Dst: parse2
      Src: /src/bind9/lib/isccfg/parser.c:668,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:671,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:672,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/parser.c:673,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - pctx
    - filename
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - char*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 655
    functionDepth: 4
    functionLinenumber: 655
    functionLinenumberEnd: 678
    functionName: cfg_parse_file
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 13
    functionsReached:
    - ISC_LIST_APPEND
    - INSIST
    - CHECK
    - REQUIRE
    - ISC_LIST_UNLINK
    - ISC_LIST_TAIL
    - parser_openfile
    - parse2
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_file(cfg_parser_t *pctx, const char *filename,
      const cfg_type_t *type,\n\t       cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:686,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:687,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:688,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:689,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:690,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:693,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/isccfg/parser.c:693,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:699,1
    - Dst: isc_lex_setsourceline
      Src: /src/bind9/lib/isccfg/parser.c:699,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:702,1
    - Dst: parse2
      Src: /src/bind9/lib/isccfg/parser.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 7
    argNames:
    - pctx
    - buffer
    - file
    - line
    - type
    - flags
    - ret
    argTypes:
    - cfg_parser_t*
    - isc_buffer_t*
    - char*
    - unsigned int
    - cfg_type_t*
    - unsigned int
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 680
    functionDepth: 3
    functionLinenumber: 680
    functionLinenumberEnd: 707
    functionName: cfg_parse_buffer
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 14
    functionsReached:
    - isc_lex_setsourceline
    - CHECK
    - REQUIRE
    - isc_lex_openbuffer
    - parse2
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_buffer(cfg_parser_t *pctx, isc_buffer_t *buffer,
      const char *file,\n\t\t unsigned int line, const cfg_type_t *type, unsigned
      int flags,\n\t\t cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:712,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isccfg/parser.c:714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - cfg_parser_t*
    - cfg_parser_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: cfg_parser_attach
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_parser_attach(cfg_parser_t *src, cfg_parser_t **dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:722,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isccfg/parser.c:726,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/isccfg/parser.c:727,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:733,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:734,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isccfg/parser.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pctxp
    argTypes:
    - cfg_parser_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 737
    functionName: cfg_parser_destroy
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 23
    functionsReached:
    - isc_mem_putanddetach
    - CLEANUP_OBJ
    - isc_refcount_decrement
    - REQUIRE
    - isc_lex_destroy
    linkageType: ''
    returnType: void
    signature: void cfg_parser_destroy(cfg_parser_t **pctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:745,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:747,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 750
    functionName: cfg_parse_void
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 8
    functionsReached:
    - cfg_create_obj
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_void(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:754,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:755,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:757,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 759
    functionName: cfg_print_void
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_print_void(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:763,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:764,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:766,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: cfg_doc_void
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_void(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: cfg_obj_isvoid
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 14
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isvoid(const cfg_obj_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:790,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:791,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:793,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:795,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:795,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:797,1
    - Dst: strtoull
      Src: /src/bind9/lib/isccfg/parser.c:801,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:801,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:803,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:807,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 813
    functionName: cfg_parse_percentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - CHECK
    - strtoull
    - REQUIRE
    - TOKEN_STRING
    - cfg_create_obj
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_percentage(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:820,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:821,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:823,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:824,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:825,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 826
    functionName: cfg_print_percentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - INSIST
    - strlen
    - snprintf
    - REQUIRE
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void cfg_print_percentage(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 832
    functionName: cfg_obj_aspercentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cfg_obj_aspercentage(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 842
    functionName: cfg_obj_ispercentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_ispercentage(const cfg_obj_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:855,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:856,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:858,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:860,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:860,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:862,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:867,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:868,1
    - Dst: strspn
      Src: /src/bind9/lib/isccfg/parser.c:869,1
    - Dst: strspn
      Src: /src/bind9/lib/isccfg/parser.c:870,1
    - Dst: strspn
      Src: /src/bind9/lib/isccfg/parser.c:871,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:875,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:880,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:880,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/parser.c:882,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/parser.c:885,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/parser.c:888,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 895
    functionName: cfg_parse_fixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - strspn
    - strtoul
    - UNUSED
    - strlen
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - REQUIRE
    - cfg_create_obj
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:902,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:903,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:905,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:907,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:908,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 909
    functionName: cfg_print_fixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - INSIST
    - strlen
    - snprintf
    - REQUIRE
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void cfg_print_fixedpoint(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 915
    functionName: cfg_obj_asfixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cfg_obj_asfixedpoint(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 925
    functionName: cfg_obj_isfixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isfixedpoint(const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:935,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:936,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:938,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:940,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:940,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:942,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:946,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 952
    functionName: cfg_parse_uint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - CHECK
    - REQUIRE
    - cfg_create_obj
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_uint32(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:956,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - s
    argTypes:
    - cfg_printer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 957
    functionName: cfg_print_cstr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 41
    functionsReached:
    - strlen
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void cfg_print_cstr(cfg_printer_t *pctx, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:963,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - u
    argTypes:
    - cfg_printer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: cfg_print_rawuint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - snprintf
    linkageType: ''
    returnType: void
    signature: void cfg_print_rawuint(cfg_printer_t *pctx, unsigned int u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 4
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: cfg_print_uint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_rawuint
    linkageType: ''
    returnType: void
    signature: void cfg_print_uint32(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: cfg_obj_isuint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isuint32(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 982
    functionName: cfg_obj_asuint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cfg_obj_asuint32(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: cfg_obj_isuint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isuint64(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    functionName: cfg_obj_asuint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cfg_obj_asuint64(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1007,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    functionName: cfg_print_uint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - snprintf
    linkageType: ''
    returnType: void
    signature: void cfg_print_uint64(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - num
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1031
    functionName: numlen
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t numlen(uint32_t num)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1051,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:1057,1
    - Dst: numlen
      Src: /src/bind9/lib/isccfg/parser.c:1068,1
    - Dst: numlen
      Src: /src/bind9/lib/isccfg/parser.c:1086,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:1094,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1103,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1108,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1116,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1119,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1119,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1036
    functionDepth: 4
    functionLinenumber: 1036
    functionLinenumberEnd: 1120
    functionName: cfg_print_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - numlen
    - INSIST
    - strlen
    - snprintf
    - REQUIRE
    - cfg_print_chars
    - cfg_print_rawuint
    linkageType: ''
    returnType: void
    signature: void cfg_print_duration(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1127,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1132,1
    - Dst: cfg_print_duration
      Src: /src/bind9/lib/isccfg/parser.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1122
    functionDepth: 5
    functionLinenumber: 1122
    functionLinenumberEnd: 1136
    functionName: cfg_print_duration_or_unlimited
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - cfg_print_cstr
    - cfg_print_duration
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_print_duration_or_unlimited(cfg_printer_t *pctx, const cfg_obj_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    functionName: cfg_obj_isduration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isduration(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1146,1
    - Dst: isccfg_duration_toseconds
      Src: /src/bind9/lib/isccfg/parser.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1148
    functionName: cfg_obj_asduration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 10
    functionsReached:
    - isccfg_duration_toseconds
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t cfg_obj_asduration(const cfg_obj_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccfg_parse_duration
      Src: /src/bind9/lib/isccfg/parser.c:1156,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1160,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1167,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:1167,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pctx
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1177
    functionName: parse_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - CHECK
    - cfg_create_obj
    - isccfg_parse_duration
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_duration(cfg_parser_t *pctx, cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1184,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1186,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1186,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/parser.c:1192,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1198
    functionName: cfg_parse_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - CHECK
    - parse_duration
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_duration(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1207,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1209,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1209,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:1215,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1215,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1222,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:1222,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/parser.c:1228,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1234
    functionName: cfg_parse_duration_or_unlimited
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - strcmp
    - cfg_create_obj
    - parse_duration
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_duration_or_unlimited(cfg_parser_t *pctx, const
      cfg_type_t *type,\n\t\t\t\tcfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1274,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:1274,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1275,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:1277,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1279,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pctx
    - contents
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - char*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1288
    functionName: create_string
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_mem_get
    - strlen
    - CHECK
    - isc_mem_put
    - cfg_create_obj
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_string(cfg_parser_t *pctx, const char *contents,
      const cfg_type_t *type,\n\t      cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1294,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1297,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1299,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1299,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1301,1
    - Dst: create_string
      Src: /src/bind9/lib/isccfg/parser.c:1304,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1307
    functionName: cfg_parse_qstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - create_string
    - UNUSED
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - REQUIRE
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1313,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1315,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1315,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1317,1
    - Dst: create_string
      Src: /src/bind9/lib/isccfg/parser.c:1321,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1309
    functionDepth: 2
    functionLinenumber: 1309
    functionLinenumberEnd: 1324
    functionName: parse_ustring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - create_string
    - UNUSED
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_ustring(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1331,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1333,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1335,1
    - Dst: cfg_getstringtoken
      Src: /src/bind9/lib/isccfg/parser.c:1335,1
    - Dst: create_string
      Src: /src/bind9/lib/isccfg/parser.c:1336,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1339
    functionName: cfg_parse_astring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - cfg_getstringtoken
    - create_string
    - UNUSED
    - CHECK
    - TOKEN_STRING
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1345,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1346,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1348,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1350,1
    - Dst: cfg_getstringtoken
      Src: /src/bind9/lib/isccfg/parser.c:1350,1
    - Dst: create_string
      Src: /src/bind9/lib/isccfg/parser.c:1351,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1341
    functionDepth: 2
    functionLinenumber: 1341
    functionLinenumberEnd: 1354
    functionName: cfg_parse_sstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_getstringtoken
    - create_string
    - UNUSED
    - CHECK
    - TOKEN_STRING
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1360,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1362,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1362,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1364,1
    - Dst: create_string
      Src: /src/bind9/lib/isccfg/parser.c:1367,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1371
    functionName: parse_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - create_string
    - UNUSED
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_btext(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1383,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1384,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:1385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1386
    functionName: print_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_chars
    - print_close
    linkageType: ''
    returnType: void
    signature: void print_btext(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1390,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 3
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: doc_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_btext(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1399,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1400,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - enums
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1408
    functionName: cfg_is_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_is_enum(const char *s, const char *const *enums)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_is_enum
      Src: /src/bind9/lib/isccfg/parser.c:1414,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pctx
    - obj
    - enums
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1410
    functionDepth: 2
    functionLinenumber: 1410
    functionLinenumberEnd: 1419
    functionName: check_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_is_enum
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_enum(cfg_parser_t *pctx, cfg_obj_t *obj, const char
      *const *enums)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1427,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1428,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1430,1
    - Dst: parse_ustring
      Src: /src/bind9/lib/isccfg/parser.c:1430,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1431,1
    - Dst: check_enum
      Src: /src/bind9/lib/isccfg/parser.c:1431,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1421
    functionDepth: 3
    functionLinenumber: 1421
    functionLinenumberEnd: 1437
    functionName: cfg_parse_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - CLEANUP_OBJ
    - CHECK
    - REQUIRE
    - check_enum
    - parse_ustring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_enum(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1443,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1444,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1446,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1448,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1450,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1439
    functionDepth: 3
    functionLinenumber: 1439
    functionLinenumberEnd: 1454
    functionName: cfg_doc_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_print_cstr
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_enum(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1460,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1460,1
    - Dst: cfg_is_enum
      Src: /src/bind9/lib/isccfg/parser.c:1462,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1462,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1464,1
    - Dst: cfg_parse_enum
      Src: /src/bind9/lib/isccfg/parser.c:1464,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1466,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pctx
    - enumtype
    - othertype
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1456
    functionDepth: 4
    functionLinenumber: 1456
    functionLinenumberEnd: 1470
    functionName: cfg_parse_enum_or_other
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 15
    functionsReached:
    - cfg_is_enum
    - cfg_parse_enum
    - cfg_parse_obj
    - CHECK
    - TOKEN_STRING
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_enum_or_other(cfg_parser_t *pctx, const cfg_type_t
      *enumtype,\n\t\t\tconst cfg_type_t *othertype, cfg_obj_t **ret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1484,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1486,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1489,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1492,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1496,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/parser.c:1498,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1500,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - pctx
    - enumtype
    - othertype
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1472
    functionDepth: 3
    functionLinenumber: 1472
    functionLinenumberEnd: 1504
    functionName: cfg_doc_enum_or_other
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_terminal
    linkageType: ''
    returnType: void
    signature: "void cfg_doc_enum_or_other(cfg_printer_t *pctx, const cfg_type_t *enumtype,\n\t\t
      \     const cfg_type_t *othertype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1508,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1509,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1512
    functionName: cfg_print_ustring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - cfg_print_chars
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_print_ustring(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1516,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1519,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1521,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - string
    argTypes:
    - cfg_printer_t*
    - isc_textregion_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1514
    functionDepth: 3
    functionLinenumber: 1514
    functionLinenumberEnd: 1524
    functionName: print_rawqstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void print_rawqstring(cfg_printer_t *pctx, const isc_textregion_t string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_rawqstring
      Src: /src/bind9/lib/isccfg/parser.c:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1526
    functionDepth: 4
    functionLinenumber: 1526
    functionLinenumberEnd: 1529
    functionName: print_qstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - print_rawqstring
    linkageType: ''
    returnType: void
    signature: void print_qstring(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1533,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1537,1
    - Dst: cfg_print_ustring
      Src: /src/bind9/lib/isccfg/parser.c:1540,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1543
    functionName: print_sstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_ustring
    linkageType: ''
    returnType: void
    signature: void print_sstring(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1549
    functionName: free_string
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_string(cfg_parser_t *pctx, cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:1554,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1551
    functionDepth: 1
    functionLinenumber: 1551
    functionLinenumberEnd: 1558
    functionName: free_sockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - INSIST
    linkageType: ''
    returnType: void
    signature: void free_sockaddrtls(cfg_parser_t *pctx, cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1564
    functionName: cfg_obj_isstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isstring(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: cfg_obj_asstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 106
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      cfg_obj_asstring(const cfg_obj_t *obj)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1637,1
    - Dst: cfg_create_tuple
      Src: /src/bind9/lib/isccfg/parser.c:1637,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1638,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/parser.c:1638,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1641,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1641,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1643,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1643,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1644,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1644,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1647,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1647,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1650,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/parser.c:1650,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:1651,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1655,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1655,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1656,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1656,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:1662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1631
    functionDepth: 2
    functionLinenumber: 1631
    functionLinenumberEnd: 1664
    functionName: parse_geoip
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - cfg_ungettoken
    - cfg_create_tuple
    - CLEANUP_OBJ
    - cfg_parse_obj
    - CHECK
    - cfg_gettoken
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_geoip(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1669,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:1670,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:1672,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1666
    functionDepth: 3
    functionLinenumber: 1666
    functionLinenumberEnd: 1674
    functionName: print_geoip
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    linkageType: ''
    returnType: void
    signature: void print_geoip(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1678,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1679,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:1680,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1681,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1682,1
    - Dst: cfg_doc_enum
      Src: /src/bind9/lib/isccfg/parser.c:1683,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1684,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:1685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1676
    functionDepth: 4
    functionLinenumber: 1676
    functionLinenumberEnd: 1686
    functionName: doc_geoip
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_enum
    - cfg_doc_obj
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_geoip(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1696,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1698,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1698,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1704,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1704,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1706,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1706,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1708,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1708,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1711,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1711,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1712,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1712,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1714,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/parser.c:1720,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1724,1
    - Dst: cfg_parse_netprefix
      Src: /src/bind9/lib/isccfg/parser.c:1724,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1726,1
    - Dst: cfg_parse_astring
      Src: /src/bind9/lib/isccfg/parser.c:1726,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1732,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1732,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1735,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1735,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1736,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1736,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1692
    functionDepth: 3
    functionLinenumber: 1692
    functionLinenumberEnd: 1748
    functionName: parse_addrmatchelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_parse_netprefix
    - cfg_parse_astring
    - cfg_parse_obj
    - CHECK
    - TOKEN_STRING
    - cfg_gettoken
    - strcasecmp
    - cfg_peektoken
    - cfg_lookingat_netaddr
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1761,1
    - Dst: cfg_print_tuple
      Src: /src/bind9/lib/isccfg/parser.c:1762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1759
    functionDepth: 3
    functionLinenumber: 1759
    functionLinenumberEnd: 1763
    functionName: print_negated
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_tuple
    linkageType: ''
    returnType: void
    signature: void print_negated(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1796,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1798,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1798,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1800,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1800,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1802,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1806
    functionName: parse_optional_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_obj
    - CHECK
    - UNUSED
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_btext(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1815,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1816,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:1817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1818
    functionName: print_optional_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_chars
    - print_close
    linkageType: ''
    returnType: void
    signature: void print_optional_btext(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1822,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1820
    functionDepth: 3
    functionLinenumber: 1820
    functionLinenumberEnd: 1825
    functionName: doc_optional_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void doc_optional_btext(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1838
    functionDepth: 1
    functionLinenumber: 1838
    functionLinenumberEnd: 1842
    functionName: cfg_obj_isboolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isboolean(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1844
    functionDepth: 1
    functionLinenumber: 1844
    functionLinenumberEnd: 1848
    functionName: cfg_obj_asboolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_asboolean(const cfg_obj_t *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1856,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1857,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:1859,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1861,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1870,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1870,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1871,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1871,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:1872,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1872,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1875,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1875,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1876,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1876,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:1877,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1877,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1884,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:1884,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1890,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1895
    functionName: cfg_parse_boolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - cfg_gettoken
    - TOKEN_STRING
    - CHECK
    - REQUIRE
    - strcmp
    - cfg_create_obj
    - strcasecmp
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_boolean(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1899,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1900,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1903,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1897
    functionDepth: 3
    functionLinenumber: 1897
    functionLinenumberEnd: 1907
    functionName: cfg_print_boolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_print_boolean(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1921,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1922,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1923,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1925,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:1925,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/parser.c:1926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - type
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1917
    functionDepth: 1
    functionLinenumber: 1917
    functionLinenumberEnd: 1929
    functionName: cfg_create_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_create_obj
    - CHECK
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_create_list(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:1935,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isccfg/parser.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - eltp
    argTypes:
    - cfg_parser_t*
    - cfg_listelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1940
    functionName: create_listelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - ISC_LINK_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_listelt(cfg_parser_t *pctx, cfg_listelt_t **eltp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_destroy
      Src: /src/bind9/lib/isccfg/parser.c:1945,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - elt
    argTypes:
    - cfg_parser_t*
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1948
    functionName: free_listelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - cfg_obj_destroy
    linkageType: ''
    returnType: void
    signature: void free_listelt(cfg_parser_t *pctx, cfg_listelt_t *elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:1952,1
    - Dst: free_listelt
      Src: /src/bind9/lib/isccfg/parser.c:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1950
    functionDepth: 2
    functionLinenumber: 1950
    functionLinenumberEnd: 1955
    functionName: free_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - free_listelt
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void free_list(cfg_parser_t *pctx, cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1964,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1965,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1966,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1968,1
    - Dst: create_listelt
      Src: /src/bind9/lib/isccfg/parser.c:1968,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1970,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pctx
    - elttype
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_listelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1957
    functionDepth: 2
    functionLinenumber: 1957
    functionLinenumberEnd: 1983
    functionName: cfg_parse_listelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_obj
    - CHECK
    - REQUIRE
    - isc_mem_put
    - create_listelt
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_listelt(cfg_parser_t *pctx, const cfg_type_t
      *elttype,\n\t\t  cfg_listelt_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1996,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:1996,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1999,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1999,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2005,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2005,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2006,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2006,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2007,1
    - Dst: free_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2015,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pctx
    - listtype
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 1989
    functionDepth: 3
    functionLinenumber: 1989
    functionLinenumberEnd: 2019
    functionName: parse_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - CLEANUP_OBJ
    - CHECK
    - cfg_parse_listelt
    - cfg_create_list
    - free_listelt
    - cfg_peektoken
    - parse_semicolon
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_list(cfg_parser_t *pctx, const cfg_type_t *listtype,
      cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/parser.c:2023,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2025,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2027,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2028,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/parser.c:2030,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2031,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2035
    functionName: print_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    - UNCONST
    - cfg_print_indent
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void print_list(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2042,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2043,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2044,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2046,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2046,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2047,1
    - Dst: parse_list
      Src: /src/bind9/lib/isccfg/parser.c:2047,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2048,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2037
    functionDepth: 4
    functionLinenumber: 2037
    functionLinenumberEnd: 2051
    functionName: cfg_parse_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_parse_special
    - parse_list
    - CHECK
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_bracketed_list(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t\t cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2055,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2056,1
    - Dst: print_open
      Src: /src/bind9/lib/isccfg/parser.c:2058,1
    - Dst: print_list
      Src: /src/bind9/lib/isccfg/parser.c:2059,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2053
    functionDepth: 4
    functionLinenumber: 2053
    functionLinenumberEnd: 2061
    functionName: cfg_print_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - print_list
    - print_close
    - print_open
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_print_bracketed_list(cfg_printer_t *pctx, const cfg_obj_t
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2065,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2066,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2068,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2069,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2063
    functionDepth: 3
    functionLinenumber: 2063
    functionLinenumberEnd: 2071
    functionName: cfg_doc_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_bracketed_list(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2085,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2086,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2087,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2091,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:2091,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2096,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:2096,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2102,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2102,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2103,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pctx
    - listtype
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2078
    functionDepth: 3
    functionLinenumber: 2078
    functionLinenumberEnd: 2111
    functionName: cfg_parse_spacelist
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - CLEANUP_OBJ
    - CHECK
    - cfg_parse_listelt
    - cfg_create_list
    - REQUIRE
    - cfg_peektoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_spacelist(cfg_parser_t *pctx, const cfg_type_t
      *listtype,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2118,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/parser.c:2120,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2122,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2123,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isccfg/parser.c:2124,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 2113
    functionDepth: 3
    functionLinenumber: 2113
    functionLinenumberEnd: 2128
    functionName: cfg_print_spacelist
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    - UNCONST
    - REQUIRE
    - ISC_LIST_FOREACH
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void cfg_print_spacelist(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2130
    functionDepth: 1
    functionLinenumber: 2130
    functionLinenumberEnd: 2134
    functionName: cfg_obj_islist
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_islist(const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2138,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isccfg/parser.c:2142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2143
    functionName: cfg_list_first
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 11
    functionsReached:
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: cfg_listelt_t
    signature: 'cfg_listelt_t *

      cfg_list_first(const cfg_obj_t *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2147,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isccfg/parser.c:2148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elt
    argTypes:
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2145
    functionDepth: 1
    functionLinenumber: 2145
    functionLinenumberEnd: 2149
    functionName: cfg_list_next
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: cfg_listelt_t
    signature: 'cfg_listelt_t *

      cfg_list_next(const cfg_listelt_t *elt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:2160,1
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/parser.c:2163,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/parser.c:2163,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:2164,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/parser.c:2165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - recurse
    argTypes:
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2155
    functionDepth: 2
    functionLinenumber: 2155
    functionLinenumberEnd: 2171
    functionName: cfg_list_length
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - cfg_list_next
    - cfg_list_first
    - cfg_obj_islist
    - cfg_list_length
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cfg_list_length(const cfg_obj_t *obj, bool recurse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elt
    argTypes:
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2173
    functionDepth: 1
    functionLinenumber: 2173
    functionLinenumberEnd: 2177
    functionName: cfg_listelt_value
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 116
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      cfg_listelt_value(const cfg_listelt_t *elt)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2207,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2211,1
    - Dst: create_map
      Src: /src/bind9/lib/isccfg/parser.c:2211,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2222,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:2222,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:2225,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:2233,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:2233,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2242,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2242,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2244,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2244,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2247,1
    - Dst: glob
      Src: /src/bind9/lib/isccfg/parser.c:2254,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:2254,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2261,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2264,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2268,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2270,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isccfg/parser.c:2270,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2274,1
    - Dst: parser_openfile
      Src: /src/bind9/lib/isccfg/parser.c:2274,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/lib/isccfg/parser.c:2277,1
    - Dst: globfree
      Src: /src/bind9/lib/isccfg/parser.c:2278,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:2288,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:2288,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2297,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2303,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2303,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/lib/isccfg/parser.c:2305,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2306,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2306,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2314,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2317,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2322,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2326,1
    - Dst: cfg_parser_warning
      Src: /src/bind9/lib/isccfg/parser.c:2333,1
    - Dst: cfg_parser_warning
      Src: /src/bind9/lib/isccfg/parser.c:2339,1
    - Dst: cfg_parser_warning
      Src: /src/bind9/lib/isccfg/parser.c:2347,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2358,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:2358,1
    - Dst: isc_symtab_define_and_return
      Src: /src/bind9/lib/isccfg/parser.c:2361,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2367,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2372,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2372,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2373,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2373,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2375,1
    - Dst: parse_symtab_elt
      Src: /src/bind9/lib/isccfg/parser.c:2381,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2385,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2388,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2390,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2392,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2394,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2394,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2402,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2403,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2404,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2405,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 114
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2193
    functionDepth: 6
    functionLinenumber: 2193
    functionLinenumberEnd: 2407
    functionName: cfg_parse_mapbody
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - CLEANUP_OBJ
    - cfg_create_list
    - REQUIRE
    - create_map
    - cfg_obj_destroy
    - cfg_gettoken
    - TOKEN_STRING
    - cfg_parse_listelt
    - parser_openfile
    - glob
    - strcasecmp
    - cfg_parser_error
    - parse_symtab_elt
    - cfg_ungettoken
    - isc_symtab_define_and_return
    - parse_semicolon
    - ISC_LIST_APPEND
    - cfg_obj_asstring
    - globfree
    - cfg_parse_obj
    - CHECK
    - cfg_parser_warning
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_mapbody(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2416,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2416,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2419,1
    - Dst: cfg_parser_t*::callback
      Src: /src/bind9/lib/isccfg/parser.c:2419,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2423,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/parser.c:2423,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - pctx
    - name
    - elttype
    - symtab
    - callback
    argTypes:
    - cfg_parser_t*
    - char*
    - cfg_type_t*
    - isc_symtab_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2409
    functionDepth: 2
    functionLinenumber: 2409
    functionLinenumberEnd: 2430
    functionName: parse_symtab_elt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_parser_t*::callback
    - CLEANUP_OBJ
    - cfg_parse_obj
    - CHECK
    - isc_symtab_define
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_symtab_elt(cfg_parser_t *pctx, const char *name,
      cfg_type_t *elttype,\n\t\t isc_symtab_t *symtab, bool callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2440,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2441,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2443,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2443,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2444,1
    - Dst: cfg_parse_mapbody
      Src: /src/bind9/lib/isccfg/parser.c:2444,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2445,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2435
    functionDepth: 7
    functionLinenumber: 2435
    functionLinenumberEnd: 2448
    functionName: cfg_parse_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_special
    - CHECK
    - REQUIRE
    - cfg_parse_mapbody
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_map(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2461,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2462,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2463,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2465,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2465,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2466,1
    - Dst: cfg_parse_map
      Src: /src/bind9/lib/isccfg/parser.c:2466,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2471,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pctx
    - nametype
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2453
    functionDepth: 8
    functionLinenumber: 2453
    functionLinenumberEnd: 2474
    functionName: parse_any_named_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_map
    - CLEANUP_OBJ
    - cfg_parse_obj
    - CHECK
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_any_named_map(cfg_parser_t *pctx, cfg_type_t *nametype,\n\t\t
      \   const cfg_type_t *type, cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_any_named_map
      Src: /src/bind9/lib/isccfg/parser.c:2483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2480
    functionDepth: 9
    functionLinenumber: 2480
    functionLinenumberEnd: 2484
    functionName: cfg_parse_named_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - parse_any_named_map
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_named_map(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_any_named_map
      Src: /src/bind9/lib/isccfg/parser.c:2493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2490
    functionDepth: 9
    functionLinenumber: 2490
    functionLinenumberEnd: 2494
    functionName: cfg_parse_addressed_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - parse_any_named_map
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_addressed_map(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t\tcfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_any_named_map
      Src: /src/bind9/lib/isccfg/parser.c:2503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2500
    functionDepth: 9
    functionLinenumber: 2500
    functionLinenumberEnd: 2504
    functionName: cfg_parse_netprefix_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - parse_any_named_map
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_netprefix_map(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t\tcfg_obj_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/parser.c:2509,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2512,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2513,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2514,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2517,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pctx
    - name
    - obj
    argTypes:
    - cfg_printer_t*
    - char*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2506
    functionDepth: 3
    functionLinenumber: 2506
    functionLinenumberEnd: 2521
    functionName: print_symval
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_indent
    - cfg_print_obj
    linkageType: ''
    returnType: void
    signature: void print_symval(cfg_printer_t *pctx, const char *name, cfg_obj_t
      *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2528,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/parser.c:2538,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2546,1
    - Dst: print_symval
      Src: /src/bind9/lib/isccfg/parser.c:2547,1
    - Dst: print_symval
      Src: /src/bind9/lib/isccfg/parser.c:2552,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:2558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2523
    functionDepth: 4
    functionLinenumber: 2523
    functionLinenumberEnd: 2562
    functionName: cfg_print_mapbody
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_symtab_lookup
    - print_symval
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void cfg_print_mapbody(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2586,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2588,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pctx
    - flags
    argTypes:
    - cfg_printer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2579
    functionDepth: 3
    functionLinenumber: 2579
    functionLinenumberEnd: 2594
    functionName: cfg_print_clauseflags
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void cfg_print_clauseflags(cfg_printer_t *pctx, unsigned int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2602,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2617,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2618,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2619,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2620,1
    - Dst: cfg_print_clauseflags
      Src: /src/bind9/lib/isccfg/parser.c:2621,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2596
    functionDepth: 4
    functionLinenumber: 2596
    functionLinenumberEnd: 2625
    functionName: cfg_doc_mapbody
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    - REQUIRE
    - cfg_print_clauseflags
    linkageType: ''
    returnType: void
    signature: void cfg_doc_mapbody(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2630,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2633,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2634,1
    - Dst: print_open
      Src: /src/bind9/lib/isccfg/parser.c:2636,1
    - Dst: cfg_print_mapbody
      Src: /src/bind9/lib/isccfg/parser.c:2637,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:2638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2627
    functionDepth: 5
    functionLinenumber: 2627
    functionLinenumberEnd: 2639
    functionName: cfg_print_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_mapbody
    - cfg_print_obj
    - print_close
    - print_open
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_print_map(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2647,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2650,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2651,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2653,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2654,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2656,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2657,1
    - Dst: print_open
      Src: /src/bind9/lib/isccfg/parser.c:2660,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/parser.c:2675,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2676,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2678,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2680,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2681,1
    - Dst: cfg_print_clauseflags
      Src: /src/bind9/lib/isccfg/parser.c:2682,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2683,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:2686,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2641
    functionDepth: 4
    functionLinenumber: 2641
    functionLinenumberEnd: 2687
    functionName: cfg_doc_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_clauseflags
    - print_close
    - cfg_doc_obj
    - print_open
    - REQUIRE
    - cfg_print_indent
    linkageType: ''
    returnType: void
    signature: void cfg_doc_map(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2689
    functionDepth: 1
    functionLinenumber: 2689
    functionLinenumberEnd: 2693
    functionName: cfg_obj_ismap
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_ismap(const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2701,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2702,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2703,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/parser.c:2707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - mapobj
    - name
    - obj
    argTypes:
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2695
    functionDepth: 4
    functionLinenumber: 2695
    functionLinenumberEnd: 2713
    functionName: cfg_map_get
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 69
    functionsReached:
    - REQUIRE
    - isc_symtab_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_map_get(const cfg_obj_t *mapobj, const char *name,
      const cfg_obj_t **obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mapobj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2715
    functionDepth: 1
    functionLinenumber: 2715
    functionLinenumberEnd: 2719
    functionName: cfg_map_getname
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 21
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      cfg_map_getname(const cfg_obj_t *mapobj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2725,1
    - Dst: isc_symtab_count
      Src: /src/bind9/lib/isccfg/parser.c:2728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mapobj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2729
      start: 2721
    functionDepth: 3
    functionLinenumber: 2721
    functionLinenumberEnd: 2729
    functionName: cfg_map_count
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_symtab_count
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cfg_map_count(const cfg_obj_t *mapobj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2736,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2737,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - map
    - clauses
    - idx
    argTypes:
    - cfg_type_t*
    - void**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2731
    functionDepth: 1
    functionLinenumber: 2731
    functionLinenumberEnd: 2753
    functionName: cfg_map_firstclause
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: "char *\ncfg_map_firstclause(const cfg_type_t *map, const void **clauses,\n\t\t
      \   unsigned int *idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2760,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2761,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2762,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:2768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - map
    - clauses
    - idx
    argTypes:
    - cfg_type_t*
    - void**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2778
    functionName: cfg_map_nextclause
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: char
    signature: "char *\ncfg_map_nextclause(const cfg_type_t *map, const void **clauses,\n\t\t
      \  unsigned int *idx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:2787,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2789,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:2789,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2790,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:2790,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:2792,1
    - Dst: isc_lex_getlasttokentext
      Src: /src/bind9/lib/isccfg/parser.c:2797,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:2799,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:2801,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:2808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2781
    functionDepth: 2
    functionLinenumber: 2781
    functionLinenumberEnd: 2811
    functionName: parse_token
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - isc_lex_getlasttokentext
    - cfg_ungettoken
    - memmove
    - UNUSED
    - isc_mem_get
    - cfg_gettoken
    - CHECK
    - isc_mem_put
    - cfg_create_obj
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_token(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2828,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:2828,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2833,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:2833,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2846,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2852,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2852,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2853,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:2855,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2860,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2822
    functionDepth: 3
    functionLinenumber: 2822
    functionLinenumberEnd: 2862
    functionName: parse_unsupported
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - CLEANUP_OBJ
    - INSIST
    - CHECK
    - cfg_parse_listelt
    - cfg_create_list
    - cfg_peektoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_unsupported(cfg_parser_t *pctx, const cfg_type_t
      *type, cfg_obj_t **ret)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:2887,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:2888,1
    - Dst: isc_netaddr_any
      Src: /src/bind9/lib/isccfg/parser.c:2890,1
    - Dst: isc_netaddr_any6
      Src: /src/bind9/lib/isccfg/parser.c:2893,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:2896,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isccfg/parser.c:2900,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/isccfg/parser.c:2901,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:2905,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/parser.c:2909,1
    - Dst: strlcat
      Src: /src/bind9/lib/isccfg/parser.c:2911,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isccfg/parser.c:2912,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/isccfg/parser.c:2913,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:2918,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/parser.c:2923,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/parser.c:2924,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isccfg/parser.c:2929,1
    - Dst: isc_netscope_pton
      Src: /src/bind9/lib/isccfg/parser.c:2933,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/isccfg/parser.c:2940,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isccfg/parser.c:2941,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - pctx
    - flags
    - na
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2947
      start: 2877
    functionDepth: 2
    functionLinenumber: 2877
    functionLinenumberEnd: 2947
    functionName: token_addr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_netaddr_fromin
    - strlcpy
    - isc_netscope_pton
    - strchr
    - strlcat
    - isc_netaddr_any6
    - strlen
    - TOKEN_STRING
    - inet_pton
    - isc_netaddr_setzone
    - strcmp
    - isc_netaddr_fromin6
    - isc_netaddr_any
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t token_addr(cfg_parser_t *pctx, unsigned int flags, isc_netaddr_t
      *na)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2955,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2956,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2958,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:2958,1
    - Dst: token_addr
      Src: /src/bind9/lib/isccfg/parser.c:2959,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2968,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2972,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2976,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - pctx
    - flags
    - na
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2949
    functionDepth: 3
    functionLinenumber: 2949
    functionLinenumberEnd: 2983
    functionName: cfg_parse_rawaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - token_addr
    - cfg_gettoken
    - CHECK
    - REQUIRE
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_rawaddr(cfg_parser_t *pctx, unsigned int flags,
      isc_netaddr_t *na)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2990,1
    - Dst: token_addr
      Src: /src/bind9/lib/isccfg/parser.c:2992,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - flags
    argTypes:
    - cfg_parser_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2985
    functionDepth: 3
    functionLinenumber: 2985
    functionLinenumberEnd: 2994
    functionName: cfg_lookingat_netaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - token_addr
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_lookingat_netaddr(cfg_parser_t *pctx, unsigned int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3000,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3001,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3003,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3003,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:3007,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3007,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3013,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3018,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pctx
    - flags
    - port
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 2996
    functionDepth: 1
    functionLinenumber: 2996
    functionLinenumberEnd: 3026
    functionName: cfg_parse_rawport
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_gettoken
    - CHECK
    - TOKEN_STRING
    - REQUIRE
    - strcmp
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_parse_rawport(cfg_parser_t *pctx, unsigned int flags,
      in_port_t *port)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3034,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3035,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/parser.c:3037,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/isccfg/parser.c:3038,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3039,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:3040,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isccfg/parser.c:3040,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/parser.c:3041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - na
    argTypes:
    - cfg_printer_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3028
    functionDepth: 2
    functionLinenumber: 3028
    functionLinenumberEnd: 3042
    functionName: cfg_print_rawaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isc_buffer_base
    - RUNTIME_CHECK
    - isc_buffer_init
    - isc_netaddr_totext
    - isc_buffer_usedlength
    - REQUIRE
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void cfg_print_rawaddr(cfg_printer_t *pctx, const isc_netaddr_t *na)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3059,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:3059,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3060,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3060,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isccfg/parser.c:3061,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3052
    functionDepth: 4
    functionLinenumber: 3052
    functionLinenumberEnd: 3067
    functionName: parse_netaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - CLEANUP_OBJ
    - CHECK
    - cfg_parse_rawaddr
    - cfg_create_obj
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_netaddr(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3074,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3077,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3082,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3084,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3089,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3091,1
    - Dst: POST
      Src: /src/bind9/lib/isccfg/parser.c:3093,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3096,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3069
    functionDepth: 3
    functionLinenumber: 3069
    functionLinenumberEnd: 3098
    functionName: cfg_doc_netaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - POST
    linkageType: ''
    returnType: void
    signature: void cfg_doc_netaddr(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:3134,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3136,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3140,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:3150,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3153,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3153,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3157,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3157,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3158,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3158,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3160,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3166,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/parser.c:3170,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/parser.c:3173,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3174,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3182,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3188,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:3188,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3194,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3196
      start: 3122
    functionDepth: 4
    functionLinenumber: 3122
    functionLinenumberEnd: 3196
    functionName: cfg_parse_netprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - isc_netaddr_prefixok
    - UNUSED
    - isc_netaddr_format
    - CHECK
    - cfg_parse_rawaddr
    - cfg_gettoken
    - REQUIRE
    - cfg_create_obj
    - cfg_peektoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3202,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3203,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:3204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3198
    functionDepth: 4
    functionLinenumber: 3198
    functionLinenumberEnd: 3205
    functionName: print_netprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_rawaddr
    - cfg_print_rawuint
    linkageType: ''
    returnType: void
    signature: void print_netprefix(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3207
    functionDepth: 1
    functionLinenumber: 3207
    functionLinenumberEnd: 3211
    functionName: cfg_obj_isnetprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_isnetprefix(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - obj
    - netaddr
    - prefixlen
    argTypes:
    - cfg_obj_t*
    - isc_netaddr_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 3213
    functionDepth: 1
    functionLinenumber: 3213
    functionLinenumberEnd: 3222
    functionName: cfg_obj_asnetprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void cfg_obj_asnetprefix(const cfg_obj_t *obj, isc_netaddr_t *netaddr,\n\t\t
      \   unsigned int *prefixlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/isccfg/parser.c:3231,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:3234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mctx
    - dest
    - src
    argTypes:
    - isc_mem_t*
    - isc_textregion_t*
    - isc_textregion_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3236
      start: 3228
    functionDepth: 1
    functionLinenumber: 3228
    functionLinenumberEnd: 3236
    functionName: copy_textregion
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_creget
    - memmove
    linkageType: ''
    returnType: void
    signature: void copy_textregion(isc_mem_t *mctx, isc_textregion_t *dest, isc_textregion_t
      src)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3254,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3254,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/parser.c:3255,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3256,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3256,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3261,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3261,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3264,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3264,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3267,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3267,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3268,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3268,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3270,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3270,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3272,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3272,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3273,1
    - Dst: cfg_parse_rawport
      Src: /src/bind9/lib/isccfg/parser.c:3273,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3276,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3276,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3278,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3278,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3279,1
    - Dst: cfg_getstringtoken
      Src: /src/bind9/lib/isccfg/parser.c:3279,1
    - Dst: TOKEN_REGION
      Src: /src/bind9/lib/isccfg/parser.c:3281,1
    - Dst: copy_textregion
      Src: /src/bind9/lib/isccfg/parser.c:3282,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3294,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3300,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3305,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3311,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3316,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:3316,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isccfg/parser.c:3320,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:3326,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3328,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 4
    argNames:
    - pctx
    - type
    - flags
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - int
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3330
      start: 3238
    functionDepth: 4
    functionLinenumber: 3238
    functionLinenumberEnd: 3330
    functionName: parse_sockaddrsub
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - cfg_getstringtoken
    - CLEANUP_OBJ
    - cfg_parse_rawport
    - CHECK
    - cfg_parse_rawaddr
    - TOKEN_STRING
    - cfg_gettoken
    - copy_textregion
    - TOKEN_REGION
    - isc_mem_put
    - cfg_create_obj
    - strcasecmp
    - cfg_peektoken
    - cfg_lookingat_netaddr
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_sockaddrsub(cfg_parser_t *pctx, const cfg_type_t
      *type, int flags,\n\t\t  cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3337,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3339,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3340,1
    - Dst: parse_sockaddrsub
      Src: /src/bind9/lib/isccfg/parser.c:3344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pctx
    - klass
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3332
    functionDepth: 5
    functionLinenumber: 3332
    functionLinenumberEnd: 3345
    functionName: cfg_parse_sockaddr_generic
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - parse_sockaddrsub
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_sockaddr_generic(cfg_parser_t *pctx, cfg_type_t
      *klass,\n\t\t\t   const cfg_type_t *type, cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_sockaddr_generic
      Src: /src/bind9/lib/isccfg/parser.c:3362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3359
    functionDepth: 6
    functionLinenumber: 3359
    functionLinenumberEnd: 3363
    functionName: cfg_parse_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - cfg_parse_sockaddr_generic
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_sockaddr(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_sockaddr_generic
      Src: /src/bind9/lib/isccfg/parser.c:3368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3365
    functionDepth: 6
    functionLinenumber: 3365
    functionLinenumberEnd: 3370
    functionName: cfg_parse_sockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_sockaddr_generic
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_sockaddrtls(cfg_parser_t *pctx, const cfg_type_t
      *type,\n\t\t      cfg_obj_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3379,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/parser.c:3381,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/parser.c:3382,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3383,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/parser.c:3384,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3386,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:3387,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3390,1
    - Dst: print_rawqstring
      Src: /src/bind9/lib/isccfg/parser.c:3391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3393
      start: 3372
    functionDepth: 4
    functionLinenumber: 3372
    functionLinenumberEnd: 3393
    functionName: cfg_print_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - isc_sockaddr_getport
    - print_rawqstring
    - isc_netaddr_fromsockaddr
    - isc_netaddr_format
    - REQUIRE
    - cfg_print_rawuint
    linkageType: ''
    returnType: void
    signature: void cfg_print_sockaddr(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3401,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3405,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3407,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3412,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3414,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3419,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3421,1
    - Dst: POST
      Src: /src/bind9/lib/isccfg/parser.c:3423,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3425,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3428,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3430,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3395
    functionDepth: 3
    functionLinenumber: 3395
    functionLinenumberEnd: 3436
    functionName: cfg_doc_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - POST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_sockaddr(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3438
    functionDepth: 1
    functionLinenumber: 3438
    functionLinenumberEnd: 3442
    functionName: cfg_obj_issockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_issockaddr(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3444
    functionDepth: 1
    functionLinenumber: 3444
    functionLinenumberEnd: 3448
    functionName: cfg_obj_issockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_issockaddrtls(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3456
      start: 3450
    functionDepth: 1
    functionLinenumber: 3450
    functionLinenumberEnd: 3456
    functionName: cfg_obj_assockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      cfg_obj_assockaddr(const cfg_obj_t *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3458
    functionDepth: 1
    functionLinenumber: 3458
    functionLinenumberEnd: 3462
    functionName: cfg_obj_getsockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      cfg_obj_getsockaddrtls(const cfg_obj_t *obj)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3468,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3478,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/isccfg/parser.c:3480,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/isccfg/parser.c:3485,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3486,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/isccfg/parser.c:3489,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:3494,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3496,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/parser.c:3497,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:3499,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3509,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3513,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:3513,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3517,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:3518,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - pctx
    - options
    argTypes:
    - cfg_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3522
      start: 3464
    functionDepth: 3
    functionLinenumber: 3464
    functionLinenumberEnd: 3522
    functionName: cfg_gettoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 34
    functionsReached:
    - ISC_LIST_APPEND
    - isc_lex_close
    - isc_lex_getsourcename
    - INSIST
    - isc_result_totext
    - REQUIRE
    - ISC_LIST_UNLINK
    - ISC_LIST_TAIL
    - isc_lex_gettoken
    - isc_lex_getsourceline
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_gettoken(cfg_parser_t *pctx, int options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3526,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:3531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3524
    functionDepth: 2
    functionLinenumber: 3524
    functionLinenumberEnd: 3533
    functionName: cfg_ungettoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 8
    functionsReached:
    - isc_lex_ungettoken
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_ungettoken(cfg_parser_t *pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3539,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3541,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3541,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:3542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - options
    argTypes:
    - cfg_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3535
    functionDepth: 4
    functionLinenumber: 3535
    functionLinenumberEnd: 3545
    functionName: cfg_peektoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 24
    functionsReached:
    - cfg_gettoken
    - CHECK
    - cfg_ungettoken
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_peektoken(cfg_parser_t *pctx, int options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3555,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3567
      start: 3551
    functionDepth: 4
    functionLinenumber: 3551
    functionLinenumberEnd: 3567
    functionName: cfg_getstringtoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - cfg_gettoken
    - cfg_parser_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_getstringtoken(cfg_parser_t *pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3573,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3574,1
    - Dst: va_start
      Src: /src/bind9/lib/isccfg/parser.c:3576,1
    - Dst: parser_complain
      Src: /src/bind9/lib/isccfg/parser.c:3577,1
    - Dst: va_end
      Src: /src/bind9/lib/isccfg/parser.c:3578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pctx
    - flags
    - fmt
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 3569
    functionDepth: 1
    functionLinenumber: 3569
    functionLinenumberEnd: 3580
    functionName: cfg_parser_error
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 33
    functionsReached:
    - va_start
    - va_end
    - parser_complain
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_parser_error(cfg_parser_t *pctx, unsigned int flags, const
      char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3587,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3588,1
    - Dst: va_start
      Src: /src/bind9/lib/isccfg/parser.c:3590,1
    - Dst: parser_complain
      Src: /src/bind9/lib/isccfg/parser.c:3591,1
    - Dst: va_end
      Src: /src/bind9/lib/isccfg/parser.c:3592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pctx
    - flags
    - fmt
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3594
      start: 3582
    functionDepth: 1
    functionLinenumber: 3582
    functionLinenumberEnd: 3594
    functionName: cfg_parser_warning
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_end
    - parser_complain
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const
      char *fmt,\n\t\t   ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:3605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3598
    functionDepth: 1
    functionLinenumber: 3598
    functionLinenumberEnd: 3611
    functionName: have_current_file
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: bool
    signature: bool have_current_file(cfg_parser_t *pctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: have_current_file
      Src: /src/bind9/lib/isccfg/parser.c:3619,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:3623,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3631
      start: 3613
    functionDepth: 2
    functionLinenumber: 3613
    functionLinenumberEnd: 3631
    functionName: current_file
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_TAIL
    - have_current_file
    - INSIST
    linkageType: ''
    returnType: char
    signature: 'char *

      current_file(cfg_parser_t *pctx)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: have_current_file
      Src: /src/bind9/lib/isccfg/parser.c:3648,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3649,1
    - Dst: current_file
      Src: /src/bind9/lib/isccfg/parser.c:3649,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3652,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isccfg/parser.c:3655,1
    - Dst: strlcat
      Src: /src/bind9/lib/isccfg/parser.c:3659,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3666,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3670,1
    - Dst: isc_lex_getlasttokentext
      Src: /src/bind9/lib/isccfg/parser.c:3675,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3677,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3680,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isccfg/parser.c:3696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 5
    argNames:
    - pctx
    - is_warning
    - flags
    - format
    - args
    argTypes:
    - cfg_parser_t*
    - bool
    - unsigned int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3633
    functionDepth: 4
    functionLinenumber: 3633
    functionLinenumberEnd: 3698
    functionName: parser_complain
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - have_current_file
    - isc_lex_getlasttokentext
    - strlcat
    - current_file
    - cfg_gettoken
    - isc_log_write
    - snprintf
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void parser_complain(cfg_parser_t *pctx, bool is_warning, unsigned
      int flags,\n\t\tconst char *format, va_list args)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3705,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3706,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isccfg/parser.c:3708,1
    - Dst: va_start
      Src: /src/bind9/lib/isccfg/parser.c:3712,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isccfg/parser.c:3713,1
    - Dst: va_end
      Src: /src/bind9/lib/isccfg/parser.c:3714,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isccfg/parser.c:3717,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isccfg/parser.c:3720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - level
    - fmt
    argTypes:
    - cfg_obj_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3700
    functionDepth: 2
    functionLinenumber: 3700
    functionLinenumberEnd: 3722
    functionName: cfg_obj_log
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 59
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    - REQUIRE
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void cfg_obj_log(const cfg_obj_t *obj, int level, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3729
      start: 3724
    functionDepth: 1
    functionLinenumber: 3724
    functionLinenumberEnd: 3729
    functionName: cfg_obj_file
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      cfg_obj_file(const cfg_obj_t *obj)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3736
      start: 3731
    functionDepth: 1
    functionLinenumber: 3731
    functionLinenumberEnd: 3736
    functionName: cfg_obj_line
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cfg_obj_line(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3742,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3743,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3744,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:3746,1
    - Dst: current_file
      Src: /src/bind9/lib/isccfg/parser.c:3748,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isccfg/parser.c:3751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3738
    functionDepth: 3
    functionLinenumber: 3738
    functionLinenumberEnd: 3756
    functionName: cfg_create_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 22
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - current_file
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_create_obj(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:3764,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:3765,1
    - Dst: cfg_obj_destroy
      Src: /src/bind9/lib/isccfg/parser.c:3767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - type
    - symval
    - userarg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3758
    functionDepth: 1
    functionLinenumber: 3758
    functionLinenumberEnd: 3768
    functionName: map_symtabitem_destroy
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_obj_destroy
    linkageType: ''
    returnType: void
    signature: "void map_symtabitem_destroy(char *key, unsigned int type, isc_symvalue_t
      symval,\n\t\t       void *userarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3776,1
    - Dst: cfg_create_obj
      Src: /src/bind9/lib/isccfg/parser.c:3776,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/parser.c:3777,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:3787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3790
      start: 3770
    functionDepth: 4
    functionLinenumber: 3770
    functionLinenumberEnd: 3790
    functionName: create_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isc_symtab_create
    - CHECK
    - isc_mem_put
    - cfg_create_obj
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_map(cfg_parser_t *pctx, const cfg_type_t *type,
      cfg_obj_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3794,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/parser.c:3795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3796
      start: 3792
    functionDepth: 4
    functionLinenumber: 3792
    functionLinenumberEnd: 3796
    functionName: free_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - CLEANUP_OBJ
    - isc_symtab_destroy
    linkageType: ''
    returnType: void
    signature: void free_map(cfg_parser_t *pctx, cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3800,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - type
    argTypes:
    - cfg_obj_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3798
    functionDepth: 1
    functionLinenumber: 3798
    functionLinenumberEnd: 3804
    functionName: cfg_obj_istype
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_istype(const cfg_obj_t *obj, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3811,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3812,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isccfg/parser.c:3817,1
    - Dst: cfg_obj_t*::type::rep::free
      Src: /src/bind9/lib/isccfg/parser.c:3818,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isccfg/parser.c:3819,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:3820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - objp
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3822
      start: 3809
    functionDepth: 1
    functionLinenumber: 3809
    functionLinenumberEnd: 3822
    functionName: cfg_obj_destroy
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 35
    functionsReached:
    - isc_refcount_decrement
    - REQUIRE
    - isc_mem_put
    - isc_refcount_destroy
    - cfg_obj_t*::type::rep::free
    linkageType: ''
    returnType: void
    signature: void cfg_obj_destroy(cfg_parser_t *pctx, cfg_obj_t **objp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3826,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3827,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isccfg/parser.c:3829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3824
    functionDepth: 1
    functionLinenumber: 3824
    functionLinenumberEnd: 3831
    functionName: cfg_obj_attach
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_obj_attach(cfg_obj_t *src, cfg_obj_t **dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:3835,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/parser.c:3836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3837
      start: 3833
    functionDepth: 0
    functionLinenumber: 3833
    functionLinenumberEnd: 3837
    functionName: free_noop
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void free_noop(cfg_parser_t *pctx, cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3841,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3842,1
    - Dst: cfg_type_t*::doc
      Src: /src/bind9/lib/isccfg/parser.c:3844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3839
    functionDepth: 1
    functionLinenumber: 3839
    functionLinenumberEnd: 3845
    functionName: cfg_doc_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - cfg_type_t*::doc
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_obj(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3849,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3850,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3852,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3853,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3847
    functionDepth: 3
    functionLinenumber: 3847
    functionLinenumberEnd: 3855
    functionName: cfg_doc_terminal
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 5
    functionsReached:
    - cfg_print_cstr
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_doc_terminal(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:3867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - type
    - flags
    - closure
    argTypes:
    - cfg_type_t*
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3857
    functionDepth: 2
    functionLinenumber: 3857
    functionLinenumberEnd: 3868
    functionName: cfg_print_grammar
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_doc_obj
    linkageType: ''
    returnType: void
    signature: "void cfg_print_grammar(const cfg_type_t *type, unsigned int flags,\n\t\t
      \ void (*f)(void *closure, const char *text, int textlen),\n\t\t  void *closure)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3881,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3882,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3884,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3891,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/parser.c:3902,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3906,1
    - Dst: cfg_create_list
      Src: /src/bind9/lib/isccfg/parser.c:3906,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3908,1
    - Dst: create_listelt
      Src: /src/bind9/lib/isccfg/parser.c:3908,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/lib/isccfg/parser.c:3909,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:3910,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/parser.c:3916,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3919,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3923,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3926,1
    - Dst: create_listelt
      Src: /src/bind9/lib/isccfg/parser.c:3926,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/lib/isccfg/parser.c:3927,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:3928,1
    - Dst: free_listelt
      Src: /src/bind9/lib/isccfg/parser.c:3939,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3941,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 4
    argNames:
    - pctx
    - mapobj
    - obj
    - clausename
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3870
    functionDepth: 4
    functionLinenumber: 3870
    functionLinenumberEnd: 3944
    functionName: cfg_parser_mapadd
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_APPEND
    - CLEANUP_OBJ
    - INSIST
    - CHECK
    - isc_symtab_define
    - cfg_create_list
    - REQUIRE
    - isc_symtab_lookup
    - free_listelt
    - strcasecmp
    - cfg_obj_attach
    - create_listelt
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parser_mapadd(cfg_parser_t *pctx, cfg_obj_t *mapobj,
      cfg_obj_t *obj,\n\t\t  const char *clausename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3951,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3952,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/parser.c:3955,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:3961,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3962,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3965,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:3966,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3971,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:3971,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:3973,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/parser.c:3974,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3975,1
    - Dst: callback
      Src: /src/bind9/lib/isccfg/parser.c:3978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - config
    - list
    - callback
    - callback_data
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - pluginlist_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3946
    functionDepth: 3
    functionLinenumber: 3946
    functionLinenumberEnd: 3986
    functionName: cfg_pluginlist_foreach
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_obj_isstring
    - REQUIRE
    - callback
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_pluginlist_foreach(const cfg_obj_t *config, const
      cfg_obj_t *list,\n\t\t       pluginlist_cb_t *callback, void *callback_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/parser.c:3955,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:3961,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3962,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3965,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:3966,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3971,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:3971,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:3973,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/parser.c:3974,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3975,1
    - Dst: callback
      Src: /src/bind9/lib/isccfg/parser.c:3978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3954
    functionDepth: 3
    functionLinenumber: 3954
    functionLinenumberEnd: 3983
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_obj_isstring
    - strcasecmp
    - callback
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (list, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - maps
    - name
    - obj
    argTypes:
    - cfg_obj_t**
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: confget
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t confget(cfg_obj_t const *const *maps, const char *name,
      const cfg_obj_t **obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/kaspconf.c:69,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:70,1
    - Dst: isccfg_parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:71,1
    - Dst: isccfg_duration_toseconds
      Src: /src/bind9/lib/isccfg/kaspconf.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: parse_duration
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 4
    functionsReached:
    - strlen
    - isccfg_duration_toseconds
    - UNCONST
    - isccfg_parse_duration
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t parse_duration(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:87,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:89,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:91,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/kaspconf.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - maps
    - option
    - dfl
    argTypes:
    - cfg_obj_t**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: get_duration
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - confget
    - cfg_obj_asduration
    - INSIST
    - parse_duration
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t get_duration(const cfg_obj_t **maps, const char *option, const
      char *dfl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:104,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:108,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - maps
    - option
    argTypes:
    - cfg_obj_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: get_string
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - confget
    - INSIST
    - cfg_obj_asstring
    linkageType: ''
    returnType: char
    signature: 'char *

      get_string(const cfg_obj_t **maps, const char *option)'
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:125,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:129,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:134,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:147,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:147,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:148,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:150,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:152,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:154,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:165,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:166,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:167,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:172,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:175,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:181,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:186,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:189,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/lib/isccfg/kaspconf.c:190,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/kaspconf.c:191,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:195,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:210,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:219,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:220,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:221,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/lib/isccfg/kaspconf.c:222,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:225,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isccfg/kaspconf.c:231,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:235,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/isccfg/kaspconf.c:244,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:246,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:253,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:254,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:256,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isccfg/kaspconf.c:265,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:271,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:284,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:296,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/kaspconf.c:297,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:299,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:300,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:302,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:308,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:309,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:311,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:318,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:329,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/isccfg/kaspconf.c:334,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 162
    argCount: 7
    argNames:
    - config
    - kasp
    - check_algorithms
    - offline_ksk
    - keystorelist
    - ksk_min_lifetime
    - zsk_min_lifetime
    argTypes:
    - cfg_obj_t*
    - dns_kasp_t*
    - bool
    - bool
    - dns_keystorelist_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 336
    functionName: cfg_kaspkey_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - dns_keystorelist_find
    - dns_kasp_addkey
    - cfg_obj_isduration
    - cfg_obj_asduration
    - cfg_obj_asuint32
    - dns_kasp_key_destroy
    - INSIST
    - cfg_obj_isstring
    - strlen
    - cfg_obj_isuint32
    - dst_algorithm_fromtext
    - cfg_obj_istuple
    - cfg_obj_log
    - dns_kasp_key_create
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_crypto_fips_mode
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_kaspkey_fromconfig(const cfg_obj_t *config, dns_kasp_t
      *kasp,\n\t\t       bool check_algorithms, bool offline_ksk,\n\t\t       dns_keystorelist_t
      *keystorelist,\n\t\t       uint32_t ksk_min_lifetime, uint32_t zsk_min_lifetime)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:348,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:349,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:350,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/kaspconf.c:352,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:354,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:355,1
    - Dst: dns_kasp_thaw
      Src: /src/bind9/lib/isccfg/kaspconf.c:368,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/isccfg/kaspconf.c:372,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:373,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:381,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:389,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:390,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:391,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:395,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:396,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:397,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:400,1
    - Dst: dns_kasp_setnsec3param
      Src: /src/bind9/lib/isccfg/kaspconf.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - config
    - kasp
    argTypes:
    - cfg_obj_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 408
    functionName: cfg_nsec3param_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - dns_kasp_setnsec3param
    - dns_kasp_thaw
    - dns_secalg_format
    - dns_kasp_key_algorithm
    - cfg_tuple_get
    - dns_kasp_freeze
    - cfg_obj_isboolean
    - cfg_obj_asboolean
    - dns_kasp_key_size
    - cfg_obj_log
    - cfg_obj_isuint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_nsec3param_fromconfig(const cfg_obj_t *config, dns_kasp_t
      *kasp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:354,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 367
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 136
    functionsReached:
    - dns_kasp_key_size
    - dns_kasp_key_algorithm
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:415,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/kaspconf.c:417,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:418,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/lib/isccfg/kaspconf.c:419,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:421,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/isccfg/kaspconf.c:424,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:425,1
    - Dst: dns_kasp_adddigest
      Src: /src/bind9/lib/isccfg/kaspconf.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - kasp
    - digest
    argTypes:
    - dns_kasp_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 434
    functionName: add_digest
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - strlen
    - dst_ds_digest_supported
    - UNCONST
    - dns_kasp_adddigest
    - dns_dsdigest_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_digest(dns_kasp_t *kasp, const cfg_obj_t *digest)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/kaspconf.c:460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/kaspconf.c:461,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:463,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:463,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:464,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:466,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isccfg/kaspconf.c:466,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:469,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:472,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:476,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:486,1
    - Dst: dns_kasp_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:487,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:488,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:491,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/isccfg/kaspconf.c:491,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:494,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:500,1
    - Dst: dns_kasp_setsigjitter
      Src: /src/bind9/lib/isccfg/kaspconf.c:502,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:504,1
    - Dst: dns_kasp_setsigrefresh
      Src: /src/bind9/lib/isccfg/kaspconf.c:506,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:508,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:511,1
    - Dst: dns_kasp_setsigvalidity_dnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:518,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:521,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:529,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:532,1
    - Dst: dns_kasp_setsigvalidity
      Src: /src/bind9/lib/isccfg/kaspconf.c:539,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:542,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:555,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:556,1
    - Dst: dns_kasp_setinlinesigning
      Src: /src/bind9/lib/isccfg/kaspconf.c:557,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:558,1
    - Dst: dns_kasp_setinlinesigning
      Src: /src/bind9/lib/isccfg/kaspconf.c:560,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:563,1
    - Dst: dns_kasp_setzonemaxttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:564,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:566,1
    - Dst: dns_kasp_setzonepropagationdelay
      Src: /src/bind9/lib/isccfg/kaspconf.c:568,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:571,1
    - Dst: dns_kasp_setdsttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:572,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:574,1
    - Dst: dns_kasp_setparentpropagationdelay
      Src: /src/bind9/lib/isccfg/kaspconf.c:576,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:580,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:582,1
    - Dst: dns_kasp_setofflineksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:584,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:587,1
    - Dst: dns_kasp_setcdnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:589,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:589,1
    - Dst: dns_kasp_setcdnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:591,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:594,1
    - Dst: add_digest
      Src: /src/bind9/lib/isccfg/kaspconf.c:597,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:597,1
    - Dst: dns_kasp_adddigest
      Src: /src/bind9/lib/isccfg/kaspconf.c:603,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:606,1
    - Dst: dns_kasp_setdnskeyttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:607,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:609,1
    - Dst: dns_kasp_setpublishsafety
      Src: /src/bind9/lib/isccfg/kaspconf.c:611,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:613,1
    - Dst: dns_kasp_setretiresafety
      Src: /src/bind9/lib/isccfg/kaspconf.c:615,1
    - Dst: dns_kasp_setpurgekeys
      Src: /src/bind9/lib/isccfg/kaspconf.c:617,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:618,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/isccfg/kaspconf.c:622,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/isccfg/kaspconf.c:626,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:628,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:634,1
    - Dst: cfg_kaspkey_fromconfig
      Src: /src/bind9/lib/isccfg/kaspconf.c:635,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:640,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:643,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/kaspconf.c:647,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:649,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:650,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/kaspconf.c:650,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:652,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:660,1
    - Dst: dns_kasp_thaw
      Src: /src/bind9/lib/isccfg/kaspconf.c:668,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/kaspconf.c:669,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:676,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:683,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:689,1
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:708,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:709,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:712,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/isccfg/kaspconf.c:715,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:716,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:717,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:718,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:722,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:725,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:728,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:732,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:734,1
    - Dst: dns_kasp_keylist_empty
      Src: /src/bind9/lib/isccfg/kaspconf.c:734,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:737,1
    - Dst: dns_kasp_keylist_empty
      Src: /src/bind9/lib/isccfg/kaspconf.c:737,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:741,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:743,1
    - Dst: dns_kasp_setnsec3param
      Src: /src/bind9/lib/isccfg/kaspconf.c:744,1
    - Dst: dns_kasp_nsec3iter
      Src: /src/bind9/lib/isccfg/kaspconf.c:745,1
    - Dst: dns_kasp_nsec3flags
      Src: /src/bind9/lib/isccfg/kaspconf.c:746,1
    - Dst: dns_kasp_nsec3saltlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:747,1
    - Dst: dns_kasp_setnsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:749,1
    - Dst: dns_kasp_setnsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:752,1
    - Dst: cfg_nsec3param_fromconfig
      Src: /src/bind9/lib/isccfg/kaspconf.c:753,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/kaspconf.c:760,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:761,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isccfg/kaspconf.c:761,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/isccfg/kaspconf.c:764,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:772,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 197
    argCount: 7
    argNames:
    - config
    - default_kasp
    - check_algorithms
    - mctx
    - keystorelist
    - kasplist
    - kaspp
    argTypes:
    - cfg_obj_t*
    - dns_kasp_t*
    - bool
    - isc_mem_t*
    - dns_keystorelist_t*
    - dns_kasplist_t*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 436
    functionDepth: 7
    functionLinenumber: 436
    functionLinenumberEnd: 774
    functionName: cfg_kasp_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 5
    functionsReached:
    - cfg_nsec3param_fromconfig
    - dns_kasplist_find
    - dns_kasp_setretiresafety
    - dns_kasp_setsigjitter
    - dns_kasp_detach
    - dns_keystorelist_find
    - dns_kasp_addkey
    - dns_kasp_key_zsk
    - dns_kasp_nsec3
    - dns_kasp_setcdnskey
    - REQUIRE
    - dns_kasp_setzonepropagationdelay
    - dns_kasp_setdsttl
    - cfg_obj_isboolean
    - dns_kasp_setofflineksk
    - dns_kasp_setnsec3param
    - dns_kasp_setparentpropagationdelay
    - dns_kasp_create
    - dns_kasp_setpublishsafety
    - dns_kasp_setsigvalidity
    - dns_kasp_key_algorithm
    - dns_kasp_freeze
    - dns_kasp_setsigvalidity_dnskey
    - cfg_kaspkey_fromconfig
    - dns_kasp_thaw
    - dns_kasp_key_size
    - dns_kasp_setzonemaxttl
    - dns_kasp_keylist_empty
    - dns_kasp_nsec3iter
    - ARRAY_SIZE
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_kasp_nsec3flags
    - INSIST
    - get_duration
    - dns_kasp_setnsec3
    - dns_kasp_attach
    - dns_kasp_setinlinesigning
    - confget
    - dns_kasp_setdnskeyttl
    - dns_kasp_adddigest
    - add_digest
    - cfg_obj_log
    - dns_kasp_key_lifetime
    - dns_kasp_setsigrefresh
    - ISC_LIST_APPEND
    - DNS_KASP_VALID
    - dns_kasp_key_create
    - dns_kasp_setpurgekeys
    - dns_kasp_nsec3saltlen
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_kasp_key_ksk
    - strcmp
    - cfg_obj_asboolean
    - ISC_MAX
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_kasp_fromconfig(const cfg_obj_t *config, dns_kasp_t
      *default_kasp,\n\t\t    bool check_algorithms, isc_mem_t *mctx,\n\t\t    dns_keystorelist_t
      *keystorelist, dns_kasplist_t *kasplist,\n\t\t    dns_kasp_t **kaspp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_digest
      Src: /src/bind9/lib/isccfg/kaspconf.c:597,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - add_digest
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (cds, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:634,1
    - Dst: cfg_kaspkey_fromconfig
      Src: /src/bind9/lib/isccfg/kaspconf.c:635,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:640,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 1
    functionsReached:
    - cfg_kaspkey_fromconfig
    - cfg_listelt_value
    - isc_result_totext
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keys, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:649,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:650,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/kaspconf.c:650,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:652,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 667
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 136
    functionsReached:
    - ARRAY_SIZE
    - dns_kasp_key_ksk
    - INSIST
    - dns_kasp_key_algorithm
    - dns_kasp_key_zsk
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:708,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:709,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:712,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/isccfg/kaspconf.c:715,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:716,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:717,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:718,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:722,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:725,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 704
    functionDepth: 3
    functionLinenumber: 704
    functionLinenumberEnd: 729
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 136
    functionsReached:
    - dns_kasp_key_lifetime
    - dns_kasp_key_create
    - dns_keystorelist_find
    - dns_kasp_addkey
    - dns_kasp_key_algorithm
    - dns_kasp_key_ksk
    - dns_kasp_key_zsk
    - isc_result_totext
    - dns_kasp_key_size
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(default_kasp), key, link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:789,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:789,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:793,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:795,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:798,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:800,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:804,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:806,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:813,1
    - Dst: dns_keystore_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:814,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:815,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:818,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/isccfg/kaspconf.c:818,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:821,1
    - Dst: dns_keystore_setdirectory
      Src: /src/bind9/lib/isccfg/kaspconf.c:824,1
    - Dst: get_string
      Src: /src/bind9/lib/isccfg/kaspconf.c:825,1
    - Dst: dns_keystore_setpkcs11uri
      Src: /src/bind9/lib/isccfg/kaspconf.c:826,1
    - Dst: get_string
      Src: /src/bind9/lib/isccfg/kaspconf.c:827,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/kaspconf.c:831,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:832,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isccfg/kaspconf.c:832,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:836,1
    - Dst: dns_keystore_attach
      Src: /src/bind9/lib/isccfg/kaspconf.c:837,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - config
    - mctx
    - keystorelist
    - kspp
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_keystorelist_t*
    - dns_keystore_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 776
    functionDepth: 7
    functionLinenumber: 776
    functionLinenumberEnd: 842
    functionName: cfg_keystore_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - DNS_KEYSTORE_VALID
    - dns_keystore_attach
    - dns_keystorelist_find
    - get_string
    - dns_keystore_setpkcs11uri
    - INSIST
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_result_totext
    - dns_keystore_create
    - dns_keystore_setdirectory
    - dns_keystore_detach
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_keystore_fromconfig(const cfg_obj_t *config, isc_mem_t
      *mctx,\n\t\t\tdns_keystorelist_t *keystorelist,\n\t\t\tdns_keystore_t **kspp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:42,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:43,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/aclconf.c:45,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isccfg/aclconf.c:47,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:50,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/aclconf.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - ret
    argTypes:
    - isc_mem_t*
    - cfg_aclconfctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: cfg_aclconfctx_create
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t
      **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:64,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isccfg/aclconf.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_aclconfctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: cfg_aclconfctx_attach
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void cfg_aclconfctx_attach(cfg_aclconfctx_t *src, cfg_aclconfctx_t
      **dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:72,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isccfg/aclconf.c:77,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isccfg/aclconf.c:78,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/aclconf.c:79,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/aclconf.c:80,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:82,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isccfg/aclconf.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - actxp
    argTypes:
    - cfg_aclconfctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: cfg_aclconfctx_detach
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 4
    functionsReached:
    - dns_acl_detach
    - isc_mem_putanddetach
    - isc_refcount_decrement
    - REQUIRE
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void cfg_aclconfctx_detach(cfg_aclconfctx_t **actxp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/aclconf.c:96,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:101,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:103,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:103,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:104,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cctx
    - name
    - ret
    argTypes:
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 112
    functionName: get_acl_def
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_acl_def(const cfg_obj_t *cctx, const char *name, const
      cfg_obj_t **ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:101,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:103,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:103,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:104,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (acls, elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:121,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/aclconf.c:124,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:125,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/isccfg/aclconf.c:126,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:127,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:131,1
    - Dst: get_acl_def
      Src: /src/bind9/lib/isccfg/aclconf.c:136,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:138,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/aclconf.c:145,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isccfg/aclconf.c:146,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/aclconf.c:147,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/aclconf.c:149,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/aclconf.c:150,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/aclconf.c:151,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/aclconf.c:157,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/aclconf.c:158,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - nameobj
    - cctx
    - ctx
    - mctx
    - nest_level
    - target
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - unsigned int
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 161
    functionName: convert_named_acl
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - memset
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - cfg_obj_asstring
    - ISC_LIST_UNLINK
    - get_acl_def
    - UNCONST
    - cfg_acl_fromconfig
    - isc_mem_strdup
    - ISC_LIST_FOREACH
    - ISC_MAGIC_VALID
    - dns_acl_attach
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t convert_named_acl(const cfg_obj_t *nameobj, const cfg_obj_t
      *cctx,\n\t\t  cfg_aclconfctx_t *ctx, isc_mem_t *mctx,\n\t\t  unsigned int nest_level,
      dns_acl_t **target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:169,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/aclconf.c:171,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/aclconf.c:172,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/aclconf.c:173,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/isccfg/aclconf.c:174,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/aclconf.c:175,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/aclconf.c:175,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:178,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/isccfg/aclconf.c:183,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/aclconf.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - keyobj
    - mctx
    - dnsname
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 163
    functionDepth: 3
    functionLinenumber: 163
    functionLinenumberEnd: 185
    functionName: convert_keyname
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_name
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_fixedname_init
    - dns_name_dup
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t convert_keyname(const cfg_obj_t *keyobj, isc_mem_t *mctx,
      dns_name_t *dnsname)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:201,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/aclconf.c:203,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:206,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:209,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:210,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:211,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:219,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:221,1
    - Dst: count_acl_elements
      Src: /src/bind9/lib/isccfg/aclconf.c:224,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:234,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:235,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:235,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:239,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:240,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:241,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:242,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:243,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:246,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:252,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:260,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - caml
    - cctx
    - ctx
    - mctx
    - count
    - has_negative
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - uint32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 194
    functionDepth: 7
    functionLinenumber: 194
    functionLinenumberEnd: 270
    functionName: count_acl_elements
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - dns_acl_detach
    - SET_IF_NOT_NULL
    - cfg_obj_islist
    - convert_named_acl
    - cfg_obj_istype
    - cfg_tuple_get
    - cfg_obj_isvoid
    - count_acl_elements
    - cfg_obj_isstring
    - cfg_obj_asstring
    - REQUIRE
    - strcasecmp
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t count_acl_elements(const cfg_obj_t *caml, const cfg_obj_t
      *cctx,\n\t\t   cfg_aclconfctx_t *ctx, isc_mem_t *mctx, uint32_t *count,\n\t\t
      \  bool *has_negative)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:206,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:209,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:210,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:211,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:219,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:221,1
    - Dst: count_acl_elements
      Src: /src/bind9/lib/isccfg/aclconf.c:224,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:234,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:235,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:235,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:239,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:240,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:241,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:242,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:243,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:246,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:252,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:260,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 205
    functionDepth: 8
    functionLinenumber: 205
    functionLinenumberEnd: 266
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - dns_acl_detach
    - cfg_obj_islist
    - convert_named_acl
    - cfg_obj_istype
    - cfg_obj_isvoid
    - cfg_tuple_get
    - count_acl_elements
    - cfg_obj_isstring
    - cfg_obj_asstring
    - strcasecmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (caml, elt)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:282,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:284,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:287,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:292,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:294,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:297,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:302,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:304,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:307,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:312,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:314,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:317,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:322,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:325,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:330,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:333,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:347,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:348,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:354,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:355,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:361,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:362,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:368,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:369,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:375,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:376,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:382,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:383,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/aclconf.c:389,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 90
    argCount: 3
    argNames:
    - obj
    - subtype
    - dbname
    argTypes:
    - cfg_obj_t*
    - dns_geoip_subtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 391
    functionName: get_subtype
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: dns_geoip_subtype_t
    signature: "dns_geoip_subtype_t get_subtype(const cfg_obj_t *obj, dns_geoip_subtype_t
      subtype,\n\t    const char *dbname)"
  - BBCount: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - elt
    - ctx
    argTypes:
    - dns_aclelement_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 455
    functionName: geoip_can_answer
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool geoip_can_answer(dns_aclelement_t *elt, cfg_aclconfctx_t *ctx)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:467,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:471,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:472,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:475,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:478,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:483,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:490,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:490,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:491,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:491,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/aclconf.c:492,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:495,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:500,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:503,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:505,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:507,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:511,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:514,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:516,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:519,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:521,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:523,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:525,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:526,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:531,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:533,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:534,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:538,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:540,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:543,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:545,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:546,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:550,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:553,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:557,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:558,1
    - Dst: atoi
      Src: /src/bind9/lib/isccfg/aclconf.c:561,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:562,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:563,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:566,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:568,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:570,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:572,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:574,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:576,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:578,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:580,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:582,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:585,1
    - Dst: get_subtype
      Src: /src/bind9/lib/isccfg/aclconf.c:592,1
    - Dst: geoip_can_answer
      Src: /src/bind9/lib/isccfg/aclconf.c:594,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:595,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 3
    argNames:
    - obj
    - ctx
    - dep
    argTypes:
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - dns_aclelement_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 457
    functionDepth: 4
    functionLinenumber: 457
    functionLinenumberEnd: 605
    functionName: parse_geoip_element
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - atoi
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - cfg_tuple_get
    - strlen
    - get_subtype
    - REQUIRE
    - geoip_can_answer
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_geoip_element(const cfg_obj_t *obj, cfg_aclconfctx_t
      *ctx,\n\t\t    dns_aclelement_t *dep)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:628,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:629,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/isccfg/aclconf.c:629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:631,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:632,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:635,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:635,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:636,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:637,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:638,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:639,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:640,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:641,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:652,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:653,1
    - Dst: count_acl_elements
      Src: /src/bind9/lib/isccfg/aclconf.c:664,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/aclconf.c:670,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/isccfg/aclconf.c:673,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/aclconf.c:681,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/aclconf.c:682,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:685,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:686,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:686,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:692,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:692,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:697,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:697,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:705,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:705,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:710,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:710,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:715,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:715,1
    - Dst: dns_acl_add_port_transports
      Src: /src/bind9/lib/isccfg/aclconf.c:727,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:734,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:737,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:739,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:741,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:742,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/isccfg/aclconf.c:757,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/aclconf.c:757,1
    - Dst: cfg_obj_isnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:762,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:767,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/aclconf.c:768,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/aclconf.c:771,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:772,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:784,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:791,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:797,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:805,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/aclconf.c:807,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:814,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:818,1
    - Dst: dns_acl_merge_ports_transports
      Src: /src/bind9/lib/isccfg/aclconf.c:824,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:826,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:827,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:830,1
    - Dst: dns_acl_merge
      Src: /src/bind9/lib/isccfg/aclconf.c:832,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:834,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:835,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:838,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:840,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/isccfg/aclconf.c:843,1
    - Dst: convert_keyname
      Src: /src/bind9/lib/isccfg/aclconf.c:844,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:849,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:850,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:850,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:852,1
    - Dst: parse_geoip_element
      Src: /src/bind9/lib/isccfg/aclconf.c:853,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:860,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:862,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:863,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:866,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:873,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:879,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:888,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:899,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:905,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:906,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:909,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:910,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:915,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:921,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:931,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:946,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:949,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:950,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:954,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:957,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:962,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:964,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 239
    argCount: 6
    argNames:
    - acl_data
    - cctx
    - ctx
    - mctx
    - nest_level
    - target
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - unsigned int
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 608
    functionDepth: 8
    functionLinenumber: 608
    functionLinenumberEnd: 966
    functionName: cfg_acl_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 17
    functionsReached:
    - dns_acl_detach
    - isc_netaddr_prefixok
    - isc_netaddr_format
    - dns_acl_node_count
    - REQUIRE
    - dns_acl_merge_ports_transports
    - convert_keyname
    - dns_acl_merge
    - DNS_ACL_VALID
    - count_acl_elements
    - dns_acl_create
    - cfg_obj_isnetprefix
    - dns_acl_attach
    - strcasecmp
    - cfg_acl_fromconfig
    - parse_geoip_element
    - cfg_obj_asuint32
    - cfg_list_length
    - cfg_obj_islist
    - dns_iptable_addprefix
    - INSIST
    - cfg_obj_isvoid
    - cfg_obj_isstring
    - dns_acl_add_port_transports
    - cfg_obj_asnetprefix
    - cfg_obj_isuint32
    - cfg_obj_istuple
    - cfg_obj_log
    - convert_named_acl
    - cfg_obj_istype
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_acl_fromconfig(const cfg_obj_t *acl_data, const cfg_obj_t
      *cctx,\n\t\t   cfg_aclconfctx_t *ctx, isc_mem_t *mctx,\n\t\t   unsigned int
      nest_level, dns_acl_t **target)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:734,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:737,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:739,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:741,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:742,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/isccfg/aclconf.c:757,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/aclconf.c:757,1
    - Dst: cfg_obj_isnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:762,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:767,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/aclconf.c:768,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/aclconf.c:771,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:772,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:784,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:791,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:797,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:805,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/aclconf.c:807,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:814,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:818,1
    - Dst: dns_acl_merge_ports_transports
      Src: /src/bind9/lib/isccfg/aclconf.c:824,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:826,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:827,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:830,1
    - Dst: dns_acl_merge
      Src: /src/bind9/lib/isccfg/aclconf.c:832,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:834,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:835,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:838,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:840,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/isccfg/aclconf.c:843,1
    - Dst: convert_keyname
      Src: /src/bind9/lib/isccfg/aclconf.c:844,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:849,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:850,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:850,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:852,1
    - Dst: parse_geoip_element
      Src: /src/bind9/lib/isccfg/aclconf.c:853,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:860,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:862,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:863,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:866,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:873,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:879,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:888,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:899,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:905,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:906,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:909,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:910,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:915,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:921,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:931,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:946,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:949,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:950,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:954,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 157
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 733
    functionDepth: 9
    functionLinenumber: 733
    functionLinenumberEnd: 955
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - isc_netaddr_prefixok
    - isc_netaddr_format
    - dns_acl_node_count
    - dns_acl_merge_ports_transports
    - convert_keyname
    - dns_acl_merge
    - dns_acl_create
    - cfg_obj_isnetprefix
    - dns_acl_attach
    - strcasecmp
    - cfg_acl_fromconfig
    - parse_geoip_element
    - cfg_list_length
    - cfg_obj_islist
    - dns_iptable_addprefix
    - INSIST
    - cfg_obj_isvoid
    - cfg_obj_isstring
    - cfg_obj_asnetprefix
    - cfg_obj_log
    - cfg_obj_istuple
    - convert_named_acl
    - cfg_obj_istype
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (caml, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:88,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:89,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - key
    - type
    - value
    - userarg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: freekey
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freekey(char *key, unsigned int type, isc_symvalue_t value, void
      *userarg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/isccfg/check.c:105,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:106,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:107,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:108,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:108,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:109,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:110,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:112,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:120,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:121,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:122,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:122,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:123,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:124,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:126,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:134,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:135,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:136,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:137,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:137,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:138,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:138,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:139,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:139,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:142,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:150,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:151,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:152,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:152,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:154,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:161,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:162,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:163,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:168,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:168,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:169,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:169,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:170,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:170,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:172,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:174,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - ent
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 180
    functionName: check_orderent
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_buffer_constinit
    - dns_name_fromtext
    - dns_fixedname_name
    - cfg_obj_asstring
    - cfg_obj_isstring
    - cfg_tuple_get
    - strlen
    - UNCONST
    - isc_buffer_add
    - dns_fixedname_init
    - dns_rdataclass_fromtext
    - strcasecmp
    - dns_rdatatype_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_orderent(const cfg_obj_t *ent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:188,1
    - Dst: check_orderent
      Src: /src/bind9/lib/isccfg/check.c:193,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 199
    functionName: check_order
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_orderent
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_order(const cfg_obj_t *options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_orderent
      Src: /src/bind9/lib/isccfg/check.c:193,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_orderent
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:213,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:219,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:220,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:221,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:223,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:230,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:232,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:233,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:236,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:237,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:238,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:238,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:239,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:239,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:240,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:241,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:243,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:248,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:249,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:250,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 261
    functionName: check_dual_stack
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - isc_buffer_constinit
    - cfg_obj_issockaddr
    - dns_name_fromtext
    - dns_fixedname_initname
    - cfg_tuple_get
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_obj_isuint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_dual_stack(const cfg_obj_t *options)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:232,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:233,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:236,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:237,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:238,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:238,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:239,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:239,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:240,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:241,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:243,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:248,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:249,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:250,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 259
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asuint32
    - cfg_obj_isuint32
    - cfg_obj_issockaddr
    - dns_name_fromtext
    - dns_fixedname_initname
    - cfg_obj_asstring
    - cfg_tuple_get
    - strlen
    - isc_buffer_add
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:266,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:267,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:271,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:276,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:277,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - config
    - obj
    - str
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: validate_tls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - dns_fixedname_initname
    - find_maplist
    - dns_name_fromstring
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_tls(const cfg_obj_t *config, const cfg_obj_t
      *obj, const char *str)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:296,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:297,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:300,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:301,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:302,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:309,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:315,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:317,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:318,1
    - Dst: validate_tls
      Src: /src/bind9/lib/isccfg/check.c:320,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:327,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:329,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/lib/isccfg/check.c:330,1
    - Dst: validate_tls
      Src: /src/bind9/lib/isccfg/check.c:332,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - config
    - options
    - global
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 341
    functionName: check_forward
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_getsockaddrtls
    - validate_tls
    - cfg_tuple_get
    - cfg_obj_file
    - cfg_obj_isstring
    - cfg_obj_line
    - cfg_obj_asstring
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_forward(const cfg_obj_t *config, const cfg_obj_t
      *options,\n\t      const cfg_obj_t *global)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:329,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/lib/isccfg/check.c:330,1
    - Dst: validate_tls
      Src: /src/bind9/lib/isccfg/check.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_getsockaddrtls
    - cfg_listelt_value
    - validate_tls
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (faddresses, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:353,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:354,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:355,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:356,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:356,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:357,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:357,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:358,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:360,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:364,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:370,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:370,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:370,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:371,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/lib/isccfg/check.c:373,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:375,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - disabled
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 381
    functionName: disabled_algorithms
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_fromtext
    - dns_name_fromtext
    - dns_fixedname_initname
    - cfg_obj_asstring
    - cfg_tuple_get
    - strlen
    - UNCONST
    - isc_buffer_add
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t disabled_algorithms(const cfg_obj_t *disabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:370,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:370,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:370,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:371,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/lib/isccfg/check.c:373,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:375,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 379
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - dst_algorithm_fromtext
    - cfg_obj_asstring
    - strlen
    - UNCONST
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:393,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:394,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:395,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:396,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:396,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:397,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:397,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:398,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:400,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:404,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:410,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:410,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:410,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:411,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/lib/isccfg/check.c:414,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:416,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - disabled
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: disabled_ds_digests
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - cfg_obj_asstring
    - cfg_tuple_get
    - strlen
    - UNCONST
    - isc_buffer_add
    - dns_dsdigest_fromtext
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t disabled_ds_digests(const cfg_obj_t *disabled)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:410,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:410,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:410,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:411,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/lib/isccfg/check.c:414,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:416,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 406
    functionDepth: 3
    functionLinenumber: 406
    functionLinenumberEnd: 420
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - strlen
    - UNCONST
    - dns_dsdigest_fromtext
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:433,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:435,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:438,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:438,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:440,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:441,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:446,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - obj
    - name
    - value
    - symtab
    - fmt
    - mctx
    argTypes:
    - cfg_obj_t*
    - char*
    - int
    - isc_symtab_t*
    - char*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 451
    functionName: exists
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 19
    functionsReached:
    - isc_mem_free
    - RUNTIME_CHECK
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_define
    - isc_mem_strdup
    - isc_symtab_lookup
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t exists(const cfg_obj_t *obj, const char *name, int value,
      isc_symtab_t *symtab,\n       const char *fmt, isc_mem_t *mctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:462,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:463,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:466,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:470,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:472,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:478,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:480,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:483,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:484,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:486,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:487,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:488,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:489,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:491,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:492,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:494,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:497,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:503,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:505,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:507,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:508,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:514,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 6
    argNames:
    - aclname
    - actx
    - zconfig
    - voptions
    - config
    - mctx
    argTypes:
    - char*
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 453
    functionDepth: 9
    functionLinenumber: 453
    functionLinenumberEnd: 526
    functionName: checkacl
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - dns_acl_detach
    - cfg_obj_isuint32
    - cfg_obj_asuint32
    - ARRAY_SIZE
    - cfg_tuple_get
    - cfg_obj_isstring
    - cfg_obj_asstring
    - cfg_map_get
    - strcasecmp
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t checkacl(const char *aclname, cfg_aclconfctx_t *actx,
      const cfg_obj_t *zconfig,\n\t const cfg_obj_t *voptions, const cfg_obj_t *config,
      isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkacl
      Src: /src/bind9/lib/isccfg/check.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - actx
    - voptions
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 528
    functionDepth: 10
    functionLinenumber: 528
    functionLinenumberEnd: 550
    functionName: check_viewacls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - checkacl
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_viewacls(cfg_aclconfctx_t *actx, const cfg_obj_t
      *voptions,\n\t       const cfg_obj_t *config, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:556,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - obj
    - netaddr
    - prefixlen
    - message
    argTypes:
    - cfg_obj_t*
    - isc_netaddr_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: dns64_error
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_format
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: "void dns64_error(const cfg_obj_t *obj, isc_netaddr_t *netaddr,\n\t
      \   unsigned int prefixlen, const char *message)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:576,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:580,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:582,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:590,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:591,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:593,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:595,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:601,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:610,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:618,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:623,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:626,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:635,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:638,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:638,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:640,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:649,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:651,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:653,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 4
    argNames:
    - actx
    - voptions
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 561
    functionDepth: 9
    functionLinenumber: 561
    functionLinenumberEnd: 663
    functionName: check_dns64
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - cfg_map_getname
    - isc_netaddr_fromsockaddr
    - isc_netaddr_format
    - memcmp
    - dns64_error
    - cfg_obj_assockaddr
    - cfg_obj_asnetprefix
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_dns64(cfg_aclconfctx_t *actx, const cfg_obj_t *voptions,\n\t
      \   const cfg_obj_t *config, isc_mem_t *mctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:590,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:591,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:593,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:595,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:601,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:610,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:618,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:623,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:626,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:635,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:638,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:638,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:640,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:649,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:651,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:653,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 589
    functionDepth: 9
    functionLinenumber: 589
    functionLinenumberEnd: 660
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - cfg_map_getname
    - isc_netaddr_fromsockaddr
    - isc_netaddr_format
    - memcmp
    - dns64_error
    - cfg_obj_assockaddr
    - cfg_obj_asnetprefix
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (dns64, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cond
    - ','
    - pat
    - ','
    - val1
    - ','
    - val2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: CHECK_RRL
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RRL(cond, pat, val1, val2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rate
    - ','
    - def
    - ','
    - max_rate
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 684
    functionName: CHECK_RRL_RATE
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_RRL_RATE(rate, def, max_rate, name)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:703,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:707,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:709,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:718,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:720,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:727,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:729,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:730,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:735,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:738,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:740,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:742,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:744,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:747,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:749,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:752,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:754,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:755,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:760,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:762,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:763,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:767,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:769,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:770,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:775,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:777,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:778,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:784,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:789,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:791,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 4
    argNames:
    - actx
    - voptions
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 685
    functionDepth: 9
    functionLinenumber: 685
    functionLinenumberEnd: 799
    functionName: check_ratelimit
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - CHECK_RRL_RATE
    - dns_acl_detach
    - CHECK_RRL
    - cfg_map_get
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_ratelimit(cfg_aclconfctx_t *actx, const cfg_obj_t
      *voptions,\n\t\tconst cfg_obj_t *config, isc_mem_t *mctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:809,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:813,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:815,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:822,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/lib/isccfg/check.c:823,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:825,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:832,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/lib/isccfg/check.c:833,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:835,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:842,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/lib/isccfg/check.c:843,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:845,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - voptions
    - config
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 801
    functionDepth: 5
    functionLinenumber: 801
    functionLinenumberEnd: 853
    functionName: check_fetchlimit
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asfixedpoint
    - cfg_map_get
    - cfg_obj_log
    - cfg_tuple_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_fetchlimit(const cfg_obj_t *voptions, const cfg_obj_t
      *config)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:874,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:878,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:880,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:886,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:899,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:903,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:905,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:912,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/isccfg/check.c:923,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:924,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:931,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 5
    argNames:
    - actx
    - voptions
    - viewname
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - char*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 859
    functionDepth: 9
    functionLinenumber: 859
    functionLinenumberEnd: 936
    functionName: check_recursionacls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - dns_acl_isnone
    - cfg_acl_fromconfig
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_recursionacls(cfg_aclconfctx_t *actx, const cfg_obj_t
      *voptions,\n\t\t    const char *viewname, const cfg_obj_t *config,\n\t\t    isc_mem_t
      *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/isccfg/check.c:963,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:964,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 966
    functionName: check_name
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_init
    - dns_name_fromstring
    - dns_fixedname_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_name(const char *str)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:970,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:971,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:971,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:973,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:976,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - element
    argTypes:
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 983
    functionName: kasp_name_allowed
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - strcmp
    - cfg_listelt_value
    - cfg_obj_asstring
    linkageType: ''
    returnType: bool
    signature: bool kasp_name_allowed(const cfg_listelt_t *element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:990,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:991,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:993,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:999,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1000,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1000,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:1000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - config
    - listname
    - name
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 985
    functionDepth: 5
    functionLinenumber: 985
    functionLinenumberEnd: 1008
    functionName: find_maplist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 3
    functionsReached:
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    - REQUIRE
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      find_maplist(const cfg_obj_t *config, const char *listname, const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:999,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1000,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1000,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:1000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1005
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (maplist, elt)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1022,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:1023,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1025,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1026,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1027,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1029,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1031,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:1038,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1040,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1042,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1048,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1049,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1050,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1053,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:1060,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1061,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1063,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1065,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1070,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:1071,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1072,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1074,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1077,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1083,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1084,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1085,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1087,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1088,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1090,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1100,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1102,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1113,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1113,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:1120,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 4
    argNames:
    - listener
    - config
    - actx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1010
    functionDepth: 9
    functionLinenumber: 1010
    functionLinenumberEnd: 1124
    functionName: check_listener
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - cfg_obj_isuint32
    - dns_acl_detach
    - RUNTIME_CHECK
    - cfg_obj_asstring
    - cfg_obj_isstring
    - cfg_tuple_get
    - find_maplist
    - cfg_acl_fromconfig
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_listener(const cfg_obj_t *listener, const cfg_obj_t
      *config,\n\t       cfg_aclconfctx_t *actx, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1132,1
    - Dst: check_listener
      Src: /src/bind9/lib/isccfg/check.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - list
    - config
    - actx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1126
    functionDepth: 10
    functionLinenumber: 1126
    functionLinenumberEnd: 1140
    functionName: check_listeners
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_listener
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_listeners(const cfg_obj_t *list, const cfg_obj_t
      *config,\n\t\tcfg_aclconfctx_t *actx, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1132,1
    - Dst: check_listener
      Src: /src/bind9/lib/isccfg/check.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1131
    functionDepth: 10
    functionLinenumber: 1131
    functionLinenumberEnd: 1137
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_listener
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (list, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1147,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1152,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1153,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1154,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/check.c:1158,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - options
    - type
    - portp
    argTypes:
    - cfg_obj_t*
    - char*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1142
    functionDepth: 5
    functionLinenumber: 1142
    functionLinenumberEnd: 1160
    functionName: check_port
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - SET_IF_NOT_NULL
    - cfg_map_get
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_port(const cfg_obj_t *options, const char *type,
      in_port_t *portp)
  - BBCount: 139
    BranchProfiles: []
    Callsites:
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1225,1
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1229,1
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1233,1
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1237,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:1250,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1252,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1253,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1257,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1275,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/lib/isccfg/check.c:1279,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1280,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1282,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1285,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1290,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:1300,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1303,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1306,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/check.c:1311,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1315,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1321,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1322,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:1323,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1325,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1334,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1335,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1338,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/lib/isccfg/check.c:1339,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1344,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1351,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1359,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:1364,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1371,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1385,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1396,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1401,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:1407,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/check.c:1409,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1413,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1415,1
    - Dst: kasp_name_allowed
      Src: /src/bind9/lib/isccfg/check.c:1419,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1424,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1434,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:1440,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1441,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1446,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1454,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:1468,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:1469,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1476,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1480,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1482,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1491,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1493,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1494,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1494,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1495,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1497,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1507,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1510,1
    - Dst: disabled_algorithms
      Src: /src/bind9/lib/isccfg/check.c:1511,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1522,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1525,1
    - Dst: disabled_ds_digests
      Src: /src/bind9/lib/isccfg/check.c:1526,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1539,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1541,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1542,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1544,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1558,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1560,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1561,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1562,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1576,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1578,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1579,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1580,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1581,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1595,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1596,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:1597,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1597,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1599,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1607,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1609,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1611,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1617,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1626,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1628,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1630,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1638,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1647,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1649,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1650,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1651,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1661,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1668,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1669,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/check.c:1671,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:1672,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/isccfg/check.c:1673,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1675,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1678,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:1689,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1690,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1693,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1708,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/lib/isccfg/check.c:1713,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1714,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1716,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1722,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1727,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:1736,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1743,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1746,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1756,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1761,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1763,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1769,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1769,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1775,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1776,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1779,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1787,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1788,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1791,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1799,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1800,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1803,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1815,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/lib/isccfg/check.c:1817,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1820,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1829,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1841,1
    - Dst: cfg_obj_ispercentage
      Src: /src/bind9/lib/isccfg/check.c:1842,1
    - Dst: cfg_obj_aspercentage
      Src: /src/bind9/lib/isccfg/check.c:1843,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1845,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1852,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1859,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/check.c:1860,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1867,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1868,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1869,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1870,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1872,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1880,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1882,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1890,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1892,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1900,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1902,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1914,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1923,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1933,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1935,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1937,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/lib/isccfg/check.c:1943,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1946,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1950,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:1952,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1960,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:1962,1
    - Dst: check_listeners
      Src: /src/bind9/lib/isccfg/check.c:1963,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1970,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:1972,1
    - Dst: check_listeners
      Src: /src/bind9/lib/isccfg/check.c:1973,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1980,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1982,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1984,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/lib/isccfg/check.c:1994,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 519
    argCount: 5
    argNames:
    - options
    - config
    - check_algorithms
    - mctx
    - optlevel
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    - isc_mem_t*
    - optlevel_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1162
    functionDepth: 11
    functionLinenumber: 1162
    functionLinenumberEnd: 1998
    functionName: check_options
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - disabled_algorithms
    - dns_acl_detach
    - cfg_kasp_fromconfig
    - memset
    - cfg_obj_aspercentage
    - cfg_aclconfctx_create
    - dns_kasp_detach
    - check_port
    - isc_hex_decodestring
    - cfg_keystore_fromconfig
    - cfg_obj_isduration
    - ISC_LIST_INIT
    - isc_file_isdirectory
    - strcasecmp
    - dns_keystore_detach
    - cfg_acl_fromconfig
    - cfg_obj_asduration
    - cfg_obj_asuint32
    - cfg_obj_ispercentage
    - ARRAY_SIZE
    - cfg_obj_islist
    - check_name
    - INSIST
    - cfg_obj_isvoid
    - cfg_obj_isstring
    - strlen
    - ISC_LIST_UNLINK
    - cfg_aclconfctx_detach
    - check_listeners
    - cfg_obj_log
    - cfg_obj_istuple
    - cfg_obj_asuint64
    - disabled_ds_digests
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_tuple_get
    - kasp_name_allowed
    - isc_buffer_init
    - isc_buffer_usedlength
    - strcmp
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_options(const cfg_obj_t *options, const cfg_obj_t
      *config,\n\t      bool check_algorithms, isc_mem_t *mctx, optlevel_t optlevel)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1315,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1321,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1322,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:1323,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1325,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1334,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1335,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1338,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/lib/isccfg/check.c:1339,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1344,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1351,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1359,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:1364,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1371,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1312
    functionDepth: 8
    functionLinenumber: 1312
    functionLinenumberEnd: 1378
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - cfg_keystore_fromconfig
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - strcmp
    - cfg_map_get
    - cfg_listelt_value
    - isc_file_isdirectory
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1413,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1415,1
    - Dst: kasp_name_allowed
      Src: /src/bind9/lib/isccfg/check.c:1419,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1424,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1434,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1410
    functionDepth: 8
    functionLinenumber: 1410
    functionLinenumberEnd: 1436
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - cfg_kasp_fromconfig
    - dns_kasp_detach
    - kasp_name_allowed
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:1440,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1442
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_kasp_detach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (list, k, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:1468,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1470
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_keystore_detach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (kslist, ks, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1510,1
    - Dst: disabled_algorithms
      Src: /src/bind9/lib/isccfg/check.c:1511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1509
    functionDepth: 4
    functionLinenumber: 1509
    functionLinenumberEnd: 1515
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - disabled_algorithms
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1525,1
    - Dst: disabled_ds_digests
      Src: /src/bind9/lib/isccfg/check.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1524
    functionDepth: 4
    functionLinenumber: 1524
    functionLinenumberEnd: 1530
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - disabled_ds_digests
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1578,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1579,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1580,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1577
    functionDepth: 3
    functionLinenumber: 1577
    functionLinenumberEnd: 1588
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - check_name
    - cfg_obj_log
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1668,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1669,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/check.c:1671,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:1672,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/isccfg/check.c:1673,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1675,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1678,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:1689,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1690,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1665
    functionDepth: 3
    functionLinenumber: 1665
    functionLinenumberEnd: 1700
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - memset
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_hex_decodestring
    - isc_buffer_usedlength
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1867,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1868,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1869,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1870,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1872,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1880,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1882,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1890,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1892,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1900,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1902,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1866
    functionDepth: 3
    functionLinenumber: 1866
    functionLinenumberEnd: 1911
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, el)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2010,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2019,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2020,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2020,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:2022,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2024,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2030,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2031,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2033,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2034,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2039,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:2043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - cctx
    - list
    - symtab
    - mctx
    argTypes:
    - cfg_obj_t*
    - char*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2003
    functionDepth: 5
    functionLinenumber: 2003
    functionLinenumberEnd: 2049
    functionName: check_remoteserverlist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - RUNTIME_CHECK
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_define
    - isc_mem_strdup
    - isc_symtab_lookup
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_remoteserverlist(const cfg_obj_t *cctx, const char
      *list,\n\t\t       isc_symtab_t *symtab, isc_mem_t *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2019,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2020,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2020,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:2022,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2024,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2030,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2031,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2033,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2034,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2039,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:2043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2015
    functionDepth: 4
    functionLinenumber: 2015
    functionLinenumberEnd: 2047
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_mem_free
    - RUNTIME_CHECK
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_define
    - isc_mem_strdup
    - isc_symtab_lookup
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:2059,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2061,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2066,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2070,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2074,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - cctx
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2054
    functionDepth: 6
    functionLinenumber: 2054
    functionLinenumberEnd: 2080
    functionName: check_remoteserverlists
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_remoteserverlist
    - isc_symtab_create
    - isc_symtab_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_remoteserverlists(const cfg_obj_t *cctx, isc_mem_t
      *mctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2086,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2086,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2090,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2091,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2099,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2105,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2106,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2108,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2109,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2114,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2122,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2125,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2126,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isccfg/check.c:2127,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - http
    - symtab
    argTypes:
    - cfg_obj_t*
    - isc_symtab_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2083
    functionDepth: 5
    functionLinenumber: 2083
    functionLinenumberEnd: 2140
    functionName: check_httpserver
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - cfg_map_getname
    - RUNTIME_CHECK
    - isc_nm_http_path_isvalid
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_define
    - isc_symtab_lookup
    - cfg_map_get
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_httpserver(const cfg_obj_t *http, isc_symtab_t *symtab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2125,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2126,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isccfg/check.c:2127,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2136
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_nm_http_path_isvalid
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (eps, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:2148,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2150,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2157,1
    - Dst: check_httpserver
      Src: /src/bind9/lib/isccfg/check.c:2158,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2142
    functionDepth: 6
    functionLinenumber: 2142
    functionLinenumberEnd: 2167
    functionName: check_httpservers
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - isc_symtab_destroy
    - cfg_map_get
    - cfg_listelt_value
    - check_httpserver
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_httpservers(const cfg_obj_t *config, isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2157,1
    - Dst: check_httpserver
      Src: /src/bind9/lib/isccfg/check.c:2158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2156
    functionDepth: 6
    functionLinenumber: 2156
    functionLinenumberEnd: 2162
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - check_httpserver
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, elt)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2180,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2180,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2182,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2189,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2195,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2196,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2198,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2199,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2204,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2211,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2212,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2216,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2224,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:2226,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2229,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2230,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/lib/isccfg/check.c:2232,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2235,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/lib/isccfg/check.c:2241,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2242,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2252,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2263,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2272,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2274,1
    - Dst: isc_tls_cipherlist_valid
      Src: /src/bind9/lib/isccfg/check.c:2275,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2276,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2286,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2288,1
    - Dst: isc_tls_cipher_suites_valid
      Src: /src/bind9/lib/isccfg/check.c:2289,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2290,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - tlsobj
    - name
    - symtab
    argTypes:
    - cfg_obj_t*
    - char*
    - isc_symtab_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2170
    functionDepth: 5
    functionLinenumber: 2170
    functionLinenumberEnd: 2300
    functionName: check_tls_defintion
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_tls_protocol_supported
    - cfg_listelt_value
    - RUNTIME_CHECK
    - isc_tls_cipherlist_valid
    - isc_tls_cipher_suites_valid
    - INSIST
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_define
    - isc_symtab_lookup
    - isc_tls_protocol_name_to_version
    - cfg_map_get
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_tls_defintion(const cfg_obj_t *tlsobj, const char
      *name,\n\t\t    isc_symtab_t *symtab)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2229,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2230,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/lib/isccfg/check.c:2232,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2235,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/lib/isccfg/check.c:2241,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2242,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2227
    functionDepth: 3
    functionLinenumber: 2227
    functionLinenumberEnd: 2260
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_tls_protocol_supported
    - cfg_obj_asstring
    - isc_tls_protocol_name_to_version
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (tls_proto_list, proto)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2308,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:2314,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2319,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2319,1
    - Dst: check_tls_defintion
      Src: /src/bind9/lib/isccfg/check.c:2320,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2302
    functionDepth: 6
    functionLinenumber: 2302
    functionLinenumberEnd: 2329
    functionName: check_tls_definitions
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - cfg_map_getname
    - check_tls_defintion
    - isc_symtab_destroy
    - cfg_obj_asstring
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_tls_definitions(const cfg_obj_t *config, isc_mem_t
      *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2318,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2319,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2319,1
    - Dst: check_tls_defintion
      Src: /src/bind9/lib/isccfg/check.c:2320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2316
    functionDepth: 6
    functionLinenumber: 2316
    functionLinenumberEnd: 2324
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_tls_defintion
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2337,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2345,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2346,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2346,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - cctx
    - list
    - name
    - ret
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2331
    functionDepth: 5
    functionLinenumber: 2331
    functionLinenumberEnd: 2355
    functionName: get_remotes
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_map_get
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_remotes(const cfg_obj_t *cctx, const char *list,
      const char *name,\n\t    const cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2345,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2346,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2346,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2342
    functionDepth: 2
    functionLinenumber: 2342
    functionLinenumberEnd: 2352
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, elt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2362,1
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2366,1
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2370,1
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - name
    - cctx
    - ret
    argTypes:
    - char*
    - cfg_obj_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2357
    functionDepth: 6
    functionLinenumber: 2357
    functionLinenumberEnd: 2375
    functionName: get_remoteservers_def
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - get_remotes
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_remoteservers_def(const char *name, const cfg_obj_t
      *cctx,\n\t\t      const cfg_obj_t **ret)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:2390,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:2391,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2394,1
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/check.c:2395,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:2397,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2403,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2403,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2405,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2405,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2406,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2406,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:2408,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:2410,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2411,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2413,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2414,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2417,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:2425,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2426,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2428,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2429,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2432,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2440,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:2443,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2446,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2450,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2457,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2458,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2459,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2464,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2465,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2466,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2471,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2473,1
    - Dst: get_remoteservers_def
      Src: /src/bind9/lib/isccfg/check.c:2478,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2483,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/isccfg/check.c:2490,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2495,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:2495,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isccfg/check.c:2503,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2505,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 4
    argNames:
    - obj
    - config
    - countp
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - uint32_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2377
    functionDepth: 7
    functionLinenumber: 2377
    functionLinenumberEnd: 2508
    functionName: validate_remotes
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_mem_creget
    - cfg_list_first
    - dns_name_fromstring
    - REQUIRE
    - cfg_list_next
    - isc_symtab_create
    - dns_fixedname_initname
    - isc_symtab_destroy
    - strcasecmp
    - get_remoteservers_def
    - cfg_obj_isvoid
    - cfg_obj_isstring
    - isc_symtab_define
    - UNCONST
    - cfg_obj_log
    - cfg_obj_issockaddr
    - cfg_tuple_get
    - cfg_obj_asstring
    - find_maplist
    - isc_mem_cput
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t validate_remotes(const cfg_obj_t *obj, const cfg_obj_t
      *config,\n\t\t uint32_t *countp, isc_mem_t *mctx)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:2521,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:2522,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2522,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2529,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2530,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2531,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2532,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2533,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2536,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2537,1
    - Dst: dns_ssu_mtypefromstring
      Src: /src/bind9/lib/isccfg/check.c:2539,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2539,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2542,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2546,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2547,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2549,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2558,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2562,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2565,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2568,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/isccfg/check.c:2576,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2578,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2592,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2593,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2595,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2608,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2610,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2626,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2627,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2628,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2631,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:2640,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2647,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2648,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2648,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/check.c:2650,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/check.c:2656,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2660,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2666,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2669,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2671,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 1
    argNames:
    - policy
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2510
    functionDepth: 3
    functionLinenumber: 2510
    functionLinenumberEnd: 2679
    functionName: check_update_policy
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - strtoul
    - dns_ssu_mtypefromstring
    - dns_fixedname_initname
    - strchr
    - dns_name_equal
    - dns_name_iswildcard
    - cfg_tuple_get
    - cfg_obj_isstring
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - strlen
    - dns_name_fromstring
    - UNCONST
    - strcmp
    - cfg_listelt_value
    - dns_rdatatype_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_update_policy(const cfg_obj_t *policy)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2529,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2530,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2531,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2532,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2533,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2536,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2537,1
    - Dst: dns_ssu_mtypefromstring
      Src: /src/bind9/lib/isccfg/check.c:2539,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2539,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2542,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2546,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2547,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2549,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2558,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2562,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2565,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2568,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/isccfg/check.c:2576,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2578,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2592,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2593,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2595,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2608,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2610,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2626,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2627,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2628,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2631,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:2640,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2647,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2648,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2648,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/check.c:2650,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/check.c:2656,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2660,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2666,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2669,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2671,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2528
    functionDepth: 3
    functionLinenumber: 2528
    functionLinenumberEnd: 2677
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - strtoul
    - dns_ssu_mtypefromstring
    - dns_fixedname_initname
    - strchr
    - dns_name_equal
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_obj_isvoid
    - strlen
    - dns_name_fromstring
    - UNCONST
    - dns_name_iswildcard
    - cfg_listelt_value
    - dns_rdatatype_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (policy, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2647,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2648,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2648,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/check.c:2650,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/check.c:2656,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2660,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2666,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2669,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2643
    functionDepth: 3
    functionLinenumber: 2643
    functionLinenumberEnd: 2676
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - strtoul
    - strchr
    - cfg_obj_asstring
    - strlen
    - UNCONST
    - cfg_listelt_value
    - dns_rdatatype_fromtext
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (typelist, element2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2700,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:2701,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2686
    functionDepth: 5
    functionLinenumber: 2686
    functionLinenumberEnd: 2709
    functionName: check_nonzero
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - cfg_map_get
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_nonzero(const cfg_obj_t *options)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2720,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/check.c:2728,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:2729,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2736,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2737,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - zoptions
    - znamestr
    argTypes:
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2715
    functionDepth: 5
    functionLinenumber: 2715
    functionLinenumberEnd: 2754
    functionName: check_mirror_zone_notify
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isboolean
    - cfg_obj_asboolean
    - cfg_map_get
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: bool
    signature: bool check_mirror_zone_notify(const cfg_obj_t *zoptions, const char
      *znamestr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2778,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2781,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:2783,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2795,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2798,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2801,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/isccfg/check.c:2805,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:2810,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - config
    - voptions
    - goptions
    - actx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2763
    functionDepth: 9
    functionLinenumber: 2763
    functionLinenumberEnd: 2814
    functionName: check_recursion
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - dns_acl_isnone
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: bool
    signature: "bool check_recursion(const cfg_obj_t *config, const cfg_obj_t *voptions,\n\t\tconst
      cfg_obj_t *goptions, cfg_aclconfctx_t *actx,\n\t\tisc_mem_t *mctx)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2832,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2833,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:2838,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:2839,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2846,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2847,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2849,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2856,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:2859,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2863,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:2864,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2864,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2868,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/check.c:2881,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/isccfg/check.c:2883,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/isccfg/check.c:2884,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:2885,1
    - Dst: dns_keystore_name
      Src: /src/bind9/lib/isccfg/check.c:2886,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:2888,1
    - Dst: dns_kasp_thaw
      Src: /src/bind9/lib/isccfg/check.c:2896,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:2901,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:2910,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:2913,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:2914,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:2917,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:2918,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 7
    argNames:
    - config
    - zconfig
    - zname
    - name
    - keydir
    - keydirs
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_name_t*
    - char*
    - char*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2816
    functionDepth: 8
    functionLinenumber: 2816
    functionLinenumberEnd: 2923
    functionName: check_keydir
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_istuple
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - cfg_kasp_fromconfig
    - strcmp
    - cfg_keystore_fromconfig
    - keydirexist
    - dns_kasp_thaw
    - dns_kasp_detach
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_kasp_freeze
    - dns_keystore_detach
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - cfg_map_get
    - cfg_listelt_value
    - dns_keystore_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_keydir(const cfg_obj_t *config, const cfg_obj_t
      *zconfig,\n\t     dns_name_t *zname, const char *name, const char *keydir,\n\t
      \    isc_symtab_t *keydirs, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2846,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2845
    functionDepth: 8
    functionLinenumber: 2845
    functionLinenumberEnd: 2848
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - cfg_keystore_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keystores, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2856,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:2859,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2863,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:2864,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2864,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2875
      start: 2855
    functionDepth: 8
    functionLinenumber: 2855
    functionLinenumberEnd: 2875
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - cfg_kasp_fromconfig
    - cfg_obj_asstring
    - cfg_tuple_get
    - strcmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (kasps, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/isccfg/check.c:2883,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/isccfg/check.c:2884,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:2885,1
    - Dst: dns_keystore_name
      Src: /src/bind9/lib/isccfg/check.c:2886,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:2888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2882
    functionDepth: 1
    functionLinenumber: 2882
    functionLinenumberEnd: 2895
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - keydirexist
    - strcmp
    - dns_keystore_name
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:2913,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:2914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2912
    functionDepth: 1
    functionLinenumber: 2912
    functionLinenumberEnd: 2915
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_kasp_detach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (kasplist, k, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:2917,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:2918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2916
    functionDepth: 1
    functionLinenumber: 2916
    functionLinenumberEnd: 2919
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_keystore_detach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (kslist, ks, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:2937,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2940,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2943,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2946,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - opts1
    - opts2
    - opts3
    - opts4
    - name
    - objp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2931
    functionDepth: 5
    functionLinenumber: 2931
    functionLinenumberEnd: 2953
    functionName: get_zoneopt
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_zoneopt(const cfg_obj_t *opts1, const cfg_obj_t *opts2,\n\t
      \   const cfg_obj_t *opts3, const cfg_obj_t *opts4, const char *name,\n\t    const
      cfg_obj_t **objp)"
  - BBCount: 144
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2996,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2996,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2998,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3001,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3005,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3006,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3008,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3011,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3011,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3013,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3013,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3014,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3014,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3021,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3028,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3030,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3034,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3036,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3041,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3042,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3043,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3046,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3047,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3050,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3052,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3054,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3056,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3058,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3060,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3063,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3069,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3070,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3076,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:3077,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:3080,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3080,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3081,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3082,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3084,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3090,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/isccfg/check.c:3105,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:3106,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3106,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:3107,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3107,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3108,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:3108,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3111,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:3122,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:3123,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/isccfg/check.c:3124,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:3126,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:3137,1
    - Dst: dns_name_isrfc1918
      Src: /src/bind9/lib/isccfg/check.c:3139,1
    - Dst: dns_name_isula
      Src: /src/bind9/lib/isccfg/check.c:3141,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3147,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3147,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3147,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/check.c:3148,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/check.c:3149,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:3150,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:3153,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3155,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:3176,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:3179,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:3181,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:3185,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/check.c:3187,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3194,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3199,1
    - Dst: cfg_map_count
      Src: /src/bind9/lib/isccfg/check.c:3203,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3204,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:3218,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3226,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3229,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3230,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3233,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3236,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3241,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3243,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3244,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3245,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3245,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3249,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3250,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3252,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3257,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3270,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3290,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3293,1
    - Dst: cfg_map_firstclause
      Src: /src/bind9/lib/isccfg/check.c:3307,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3311,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3313,1
    - Dst: cfg_clause_validforzone
      Src: /src/bind9/lib/isccfg/check.c:3316,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3317,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/lib/isccfg/check.c:3325,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:3331,1
    - Dst: checkacl
      Src: /src/bind9/lib/isccfg/check.c:3332,1
    - Dst: check_mirror_zone_notify
      Src: /src/bind9/lib/isccfg/check.c:3344,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3359,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/check.c:3362,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3363,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3365,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3367,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3368,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3376,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3379,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3385,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:3390,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:3406,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3409,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3413,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3419,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3422,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3429,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:3435,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3441,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3456,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:3460,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3466,1
    - Dst: check_recursion
      Src: /src/bind9/lib/isccfg/check.c:3480,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3482,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3496,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3498,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3502,1
    - Dst: check_update_policy
      Src: /src/bind9/lib/isccfg/check.c:3508,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3520,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:3528,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3531,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:3533,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/isccfg/check.c:3536,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:3539,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3544,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3547,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3554,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3571,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:3574,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3576,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3585,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3588,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3601,1
    - Dst: check_forward
      Src: /src/bind9/lib/isccfg/check.c:3604,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3614,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3621,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3624,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3624,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3626,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3640,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3646,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:3647,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:3649,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/isccfg/check.c:3650,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3652,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3664,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3672,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3673,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:3675,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3675,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:3676,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3676,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:3677,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3678,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3681,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/isccfg/check.c:3686,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3687,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3697,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3700,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:3702,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:3704,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3706,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/isccfg/check.c:3711,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3712,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3726,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3729,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/lib/isccfg/check.c:3731,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3736,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3740,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3745,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:3747,1
    - Dst: check_keydir
      Src: /src/bind9/lib/isccfg/check.c:3760,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:3763,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3776,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3778,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:3779,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3781,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:3793,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3805,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3811,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3813,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3821,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3821,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3824,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3830,1
    - Dst: fileexist
      Src: /src/bind9/lib/isccfg/check.c:3841,1
    - Dst: fileexist
      Src: /src/bind9/lib/isccfg/check.c:3850,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3863,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3866,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3866,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3869,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3872,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3884,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/lib/isccfg/check.c:3886,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/lib/isccfg/check.c:3887,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3889,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3900,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:3904,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3904,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:3906,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3906,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3908,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3919,1
    CyclomaticComplexity: 204
    EdgeCount: 204
    ICount: 547
    argCount: 11
    argNames:
    - zconfig
    - voptions
    - config
    - symtab
    - files
    - keydirs
    - inview
    - viewname
    - defclass
    - actx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_symtab_t*
    - isc_symtab_t*
    - isc_symtab_t*
    - isc_symtab_t*
    - char*
    - dns_rdataclass_t
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 2955
    functionDepth: 10
    functionLinenumber: 2955
    functionLinenumberEnd: 3930
    functionName: isccfg_check_zoneconf
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - isc_netaddr_getzone
    - fileexist
    - dns_name_isrfc1918
    - validate_remotes
    - snprintf
    - get_zoneopt
    - cfg_map_firstclause
    - dns_name_fromstring
    - cfg_obj_isboolean
    - UNREACHABLE
    - dns_name_issubdomain
    - cfg_map_nextclause
    - check_nonzero
    - dns_fixedname_initname
    - cfg_clause_validforzone
    - dns_rdataclass_format
    - checkacl
    - check_keydir
    - dns_fixedname_init
    - dns_name_format
    - dns_rdataclass_fromtext
    - check_mirror_zone_notify
    - strcasecmp
    - check_recursion
    - isc_file_isdirectory
    - isc_buffer_constinit
    - cfg_acl_fromconfig
    - cfg_obj_asuint32
    - dns_name_fromtext
    - ARRAY_SIZE
    - RUNTIME_CHECK
    - isc_netaddr_fromsockaddr
    - dns_acl_isnone
    - dns_fixedname_name
    - cfg_obj_isstring
    - strlen
    - isc_mem_get
    - isc_symtab_define
    - UNCONST
    - isc_mem_strdup
    - isc_symtab_lookup
    - cfg_obj_assockaddr
    - cfg_map_count
    - cfg_obj_log
    - exists
    - check_forward
    - cfg_obj_isuint64
    - keydirexist
    - cfg_obj_asuint64
    - dns_name_equal
    - isc_result_totext
    - cfg_tuple_get
    - cfg_obj_asstring
    - dns_name_isula
    - check_options
    - check_update_policy
    - isc_buffer_add
    - strcmp
    - isc_mem_put
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccfg_check_zoneconf(const cfg_obj_t *zconfig, const
      cfg_obj_t *voptions,\n\t\t      const cfg_obj_t *config, isc_symtab_t *symtab,\n\t\t
      \     isc_symtab_t *files, isc_symtab_t *keydirs,\n\t\t      isc_symtab_t *inview,
      const char *viewname,\n\t\t      dns_rdataclass_t defclass, cfg_aclconfctx_t
      *actx,\n\t\t      isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3011,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3011,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3013,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3013,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3014,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3010
    functionDepth: 2
    functionLinenumber: 3010
    functionLinenumberEnd: 3018
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_tuple_get
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (templates, e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3243,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3244,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3245,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3245,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3249,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3250,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3252,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3242
    functionDepth: 5
    functionLinenumber: 3242
    functionLinenumberEnd: 3267
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - cfg_tuple_get
    - strcmp
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (kasps, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3646,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:3647,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:3649,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/isccfg/check.c:3650,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3643
    functionDepth: 3
    functionLinenumber: 3643
    functionLinenumberEnd: 3657
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - isc_netaddr_getzone
    - isc_netaddr_fromsockaddr
    - cfg_obj_assockaddr
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3672,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3673,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:3675,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3675,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:3676,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3676,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:3677,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3678,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3681,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/isccfg/check.c:3686,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3693
      start: 3666
    functionDepth: 3
    functionLinenumber: 3666
    functionLinenumberEnd: 3693
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - dns_name_fromtext
    - dns_name_issubdomain
    - dns_fixedname_initname
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3941,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:3941,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3960,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3961,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3963,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:3970,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isccfg/check.c:3971,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3971,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3973,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:3974,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3978,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3980,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isccfg/check.c:3981,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3989,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/lib/isccfg/check.c:3995,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4000,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4008,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4020,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4026,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - key
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 3937
    functionDepth: 5
    functionLinenumber: 3937
    functionLinenumberEnd: 4033
    functionName: isccfg_check_key
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_map_getname
    - isc_parse_uint16
    - isc_result_totext
    - cfg_obj_asstring
    - isc_buffer_init
    - strlen
    - isc_base64_decodestring
    - cfg_map_get
    - strncasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccfg_check_key(const cfg_obj_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4051,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4051,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4053,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4053,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4068,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4069,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4070,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4073,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4085,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - symtab
    - writeable
    argTypes:
    - cfg_obj_t*
    - isc_symtab_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4089
      start: 4040
    functionDepth: 4
    functionLinenumber: 4040
    functionLinenumberEnd: 4089
    functionName: fileexist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_define
    - isc_symtab_lookup
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fileexist(const cfg_obj_t *obj, isc_symtab_t *symtab,
      bool writeable)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4103,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4107,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4108,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4109,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/check.c:4110,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4112,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4119,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4123,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4124,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4130,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4130,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4133,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4133,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4134,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4134,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4139,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4143,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4143,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4144,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4151,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4153,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:4155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - zcfg
    - optname
    - zname
    - dirname
    - kaspnamestr
    - symtab
    - mctx
    argTypes:
    - cfg_obj_t*
    - char*
    - dns_name_t*
    - char*
    - char*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4091
    functionDepth: 5
    functionLinenumber: 4091
    functionLinenumberEnd: 4157
    functionName: keydirexist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - cfg_tuple_get
    - cfg_obj_file
    - strlen
    - cfg_obj_line
    - cfg_obj_asstring
    - snprintf
    - isc_mem_strdup
    - isc_symtab_define
    - isc_symtab_lookup
    - strcmp
    - cfg_map_get
    - dns_name_format
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keydirexist(const cfg_obj_t *zcfg, const char *optname,
      dns_name_t *zname,\n\t    const char *dirname, const char *kaspnamestr, isc_symtab_t
      *symtab,\n\t    isc_mem_t *mctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4173,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4175,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4176,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4176,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4181,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4181,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4182,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4182,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4183,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4185,1
    - Dst: isccfg_check_key
      Src: /src/bind9/lib/isccfg/check.c:4190,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4195,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4196,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4198,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:4204,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4204,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4207,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4208,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4213,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4217,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - keys
    - symtab
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4225
      start: 4165
    functionDepth: 6
    functionLinenumber: 4165
    functionLinenumberEnd: 4225
    functionName: check_keylist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - dns_name_fromtext
    - cfg_map_getname
    - RUNTIME_CHECK
    - isc_mem_free
    - dns_fixedname_initname
    - cfg_obj_asstring
    - cfg_obj_file
    - strlen
    - cfg_obj_line
    - isc_symtab_define
    - isccfg_check_key
    - isc_mem_strdup
    - isc_buffer_add
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_keylist(const cfg_obj_t *keys, isc_symtab_t *symtab,
      isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4175,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4176,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4176,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4181,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4181,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4182,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4182,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4183,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4185,1
    - Dst: isccfg_check_key
      Src: /src/bind9/lib/isccfg/check.c:4190,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4195,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4196,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4198,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:4204,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4204,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4207,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4208,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4213,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4217,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4223
      start: 4174
    functionDepth: 6
    functionLinenumber: 4174
    functionLinenumberEnd: 4223
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_symtab_lookup
    - dns_name_fromtext
    - cfg_map_getname
    - RUNTIME_CHECK
    - isc_mem_free
    - cfg_obj_asstring
    - cfg_obj_file
    - strlen
    - cfg_obj_line
    - isc_symtab_define
    - isccfg_check_key
    - isc_mem_strdup
    - isc_buffer_add
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keys, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4239,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4240,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4240,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keylist
    - keyname
    argTypes:
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4246
      start: 4232
    functionDepth: 2
    functionLinenumber: 4232
    functionLinenumberEnd: 4246
    functionName: rndckey_exists
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: bool
    signature: bool rndckey_exists(const cfg_obj_t *keylist, const char *keyname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4239,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4240,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4240,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4244
      start: 4238
    functionDepth: 2
    functionLinenumber: 4238
    functionLinenumberEnd: 4244
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - cfg_listelt_value
    - cfg_map_getname
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, element)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4298,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4301,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4308,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4313,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4313,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/check.c:4318,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:4320,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4321,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4322,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4340,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4342,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4343,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4360,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:4362,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:4364,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:4366,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4368,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4377,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:4388,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4391,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4392,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4392,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isccfg/check.c:4394,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4395,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4396,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4402,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4403,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4412,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4417,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4418,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4418,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4419,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4419,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4420,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4421,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4424,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4429,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4430,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4432,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/lib/isccfg/check.c:4437,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4438,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4440,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:4443,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4445,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4449,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4454,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4456,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4459,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4461,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4465,1
    - Dst: dns_peer_detach
      Src: /src/bind9/lib/isccfg/check.c:4470,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 107
    argCount: 4
    argNames:
    - config
    - voptions
    - symtab
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4473
      start: 4280
    functionDepth: 5
    functionLinenumber: 4280
    functionLinenumberEnd: 4473
    functionName: check_servers
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_prefixok
    - isc_netaddr_format
    - cfg_list_next
    - dns_peer_detach
    - cfg_map_getname
    - dns_fixedname_initname
    - dns_name_format
    - isc_buffer_constinit
    - cfg_obj_asuint32
    - isc_sockaddr_getport
    - dns_name_fromtext
    - cfg_listelt_value
    - ARRAY_SIZE
    - dns_peer_newprefix
    - INSIST
    - strlen
    - isc_netaddr_equal
    - isc_symtab_lookup
    - cfg_obj_asnetprefix
    - cfg_obj_log
    - cfg_obj_issockaddr
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_buffer_add
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_servers(const cfg_obj_t *config, const cfg_obj_t
      *voptions,\n\t      isc_symtab_t *symtab, isc_mem_t *mctx)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4308,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4313,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4313,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/check.c:4318,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:4320,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4321,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4322,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4340,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4342,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4343,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4360,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:4362,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:4364,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:4366,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4368,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4377,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:4388,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4391,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4392,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4392,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isccfg/check.c:4394,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4395,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4396,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4402,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4403,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4412,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4417,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4418,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4418,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4419,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4419,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4420,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4421,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4424,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4429,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4430,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4432,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/lib/isccfg/check.c:4437,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4438,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4440,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:4443,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4445,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4449,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4454,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4456,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4459,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4461,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4465,1
    - Dst: dns_peer_detach
      Src: /src/bind9/lib/isccfg/check.c:4470,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4471
      start: 4307
    functionDepth: 5
    functionLinenumber: 4307
    functionLinenumberEnd: 4471
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_prefixok
    - isc_netaddr_format
    - cfg_list_next
    - dns_peer_detach
    - cfg_map_getname
    - dns_fixedname_initname
    - dns_name_format
    - isc_buffer_constinit
    - cfg_obj_asuint32
    - isc_sockaddr_getport
    - dns_name_fromtext
    - cfg_listelt_value
    - ARRAY_SIZE
    - dns_peer_newprefix
    - INSIST
    - strlen
    - isc_netaddr_equal
    - isc_symtab_lookup
    - cfg_obj_asnetprefix
    - cfg_obj_log
    - cfg_obj_issockaddr
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - isc_buffer_add
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_obj_assockaddr
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (servers, e1)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4574,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4574,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4577,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4577,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4580,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4580,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4582,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4582,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4584,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4585,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4585,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4586,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4586,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4587,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4589,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4590,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4594,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4594,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4595,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4598,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4601,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4603,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4606,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4622,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4627,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4631,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4636,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:4641,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4643,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4643,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isccfg/check.c:4644,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4647,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4648,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isccfg/check.c:4651,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4656,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:4663,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:4672,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:4674,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:4681,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:4683,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4694,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4699,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4704,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:4709,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4711,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4711,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/isccfg/check.c:4712,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4715,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4716,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:4720,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:4729,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:4731,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:4738,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:4740,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 108
    argCount: 2
    argNames:
    - key
    - flagsp
    argTypes:
    - cfg_obj_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4481
    functionDepth: 3
    functionLinenumber: 4481
    functionLinenumberEnd: 4751
    functionName: check_trust_anchor
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - dns_name_fromtext
    - dns_fixedname_initname
    - dns_name_equal
    - isc_result_totext
    - cfg_obj_asstring
    - cfg_tuple_get
    - strlen
    - isc_buffer_init
    - memcmp
    - isc_base64_decodestring
    - isc_buffer_usedlength
    - isc_hex_decodestring
    - isc_buffer_add
    - isc_buffer_usedregion
    - strcasecmp
    - cfg_obj_log
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_trust_anchor(const cfg_obj_t *key, unsigned int
      *flagsp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4761,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4766,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4767,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4767,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4770,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4775,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:4776,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4777,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4778,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4782,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4788,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4790,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4791,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4794,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4796,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:4801,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4802,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - symtab
    - mctx
    - keylist
    - autovalidation
    argTypes:
    - isc_symtab_t*
    - isc_mem_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4812
      start: 4753
    functionDepth: 3
    functionLinenumber: 4753
    functionLinenumberEnd: 4812
    functionName: record_static_keys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - dns_fixedname_initname
    - dns_name_equal
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - isc_symtab_define
    - dns_name_fromstring
    - isc_mem_strdup
    - dns_name_format
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t record_static_keys(isc_symtab_t *symtab, isc_mem_t *mctx,\n\t\t
      \  const cfg_obj_t *keylist, bool autovalidation)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4766,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4767,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4767,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4770,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4775,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:4776,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4777,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4778,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4782,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4788,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4790,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4791,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4794,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4796,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:4801,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4802,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4809
      start: 4763
    functionDepth: 3
    functionLinenumber: 4763
    functionLinenumberEnd: 4809
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_mem_free
    - dns_name_equal
    - cfg_tuple_get
    - cfg_obj_isvoid
    - cfg_obj_asstring
    - isc_symtab_define
    - dns_name_fromstring
    - isc_mem_strdup
    - dns_name_format
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4821,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4824,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4829,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:4830,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4831,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4831,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4832,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4832,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4838,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4838,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4839,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4844,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4845,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4847,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4848,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - symtab
    - keylist
    argTypes:
    - isc_symtab_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4865
      start: 4814
    functionDepth: 4
    functionLinenumber: 4814
    functionLinenumberEnd: 4865
    functionName: check_initializing_keys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - dns_fixedname_initname
    - cfg_obj_isvoid
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - dns_name_fromstring
    - isc_symtab_lookup
    - dns_name_format
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_initializing_keys(isc_symtab_t *symtab, const cfg_obj_t
      *keylist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4824,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4829,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:4830,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4831,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4831,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4832,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4832,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4838,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4838,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4839,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4844,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4845,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4847,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4848,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4862
      start: 4823
    functionDepth: 4
    functionLinenumber: 4823
    functionLinenumberEnd: 4862
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - cfg_tuple_get
    - cfg_obj_file
    - cfg_obj_line
    - dns_name_fromstring
    - isc_symtab_lookup
    - dns_name_format
    - strcasecmp
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4875,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4880,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4881,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4881,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4884,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4889,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:4890,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4891,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4892,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4893,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4900,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4902,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4903,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - symtab
    - mctx
    - keylist
    argTypes:
    - isc_symtab_t*
    - isc_mem_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4911
      start: 4867
    functionDepth: 2
    functionLinenumber: 4867
    functionLinenumberEnd: 4911
    functionName: record_ds_keys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - dns_fixedname_initname
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - isc_symtab_define
    - dns_name_fromstring
    - isc_mem_strdup
    - dns_name_format
    - strcasecmp
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t record_ds_keys(isc_symtab_t *symtab, isc_mem_t *mctx,\n\t
      \      const cfg_obj_t *keylist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4880,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4881,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4881,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4884,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4889,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:4890,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4891,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4892,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4893,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4900,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4902,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4903,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4877
    functionDepth: 2
    functionLinenumber: 4877
    functionLinenumberEnd: 4908
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_mem_free
    - cfg_tuple_get
    - cfg_obj_isvoid
    - cfg_obj_asstring
    - isc_symtab_define
    - dns_name_fromstring
    - isc_mem_strdup
    - dns_name_format
    - strcasecmp
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, elt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:4923,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:4924,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4931,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:4932,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:4938,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4945,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:4946,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:4952,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4963,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:4964,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4971,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:4972,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:4979,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:4982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - global_ta
    - view_ta
    - autovalidation
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4985
      start: 4916
    functionDepth: 5
    functionLinenumber: 4916
    functionLinenumberEnd: 4985
    functionName: check_ta_conflicts
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - check_initializing_keys
    - isc_symtab_destroy
    - record_ds_keys
    - record_static_keys
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_ta_conflicts(const cfg_obj_t *global_ta, const
      cfg_obj_t *view_ta,\n\t\t   bool autovalidation, isc_mem_t *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4931,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:4932,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:4938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4942
      start: 4930
    functionDepth: 4
    functionLinenumber: 4930
    functionLinenumberEnd: 4942
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - record_ds_keys
    - record_static_keys
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (global_ta, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4945,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:4946,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:4952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4956
      start: 4944
    functionDepth: 4
    functionLinenumber: 4944
    functionLinenumberEnd: 4956
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - record_ds_keys
    - record_static_keys
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (view_ta, elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4963,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:4964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4968
      start: 4962
    functionDepth: 5
    functionLinenumber: 4962
    functionLinenumberEnd: 4968
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_initializing_keys
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (global_ta, elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4971,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:4972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4976
      start: 4970
    functionDepth: 5
    functionLinenumber: 4970
    functionLinenumberEnd: 4976
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_initializing_keys
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (view_ta, elt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:5009,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5010,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5013,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5014,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5015,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5020,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5028,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5031,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5038,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5039,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5043,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5044,1
    - Dst: cfg_obj_ismap
      Src: /src/bind9/lib/isccfg/check.c:5046,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5047,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5050,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5053,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5054,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5055,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5056,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5058,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 5
    argNames:
    - rpz_catz
    - rpz_obj
    - viewname
    - symtab
    - specialzonetype
    argTypes:
    - char*
    - cfg_obj_t*
    - char*
    - isc_symtab_t*
    - special_zonetype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5068
      start: 4989
    functionDepth: 5
    functionLinenumber: 4989
    functionLinenumberEnd: 5068
    functionName: check_rpz_catz
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_istuple
    - dns_fixedname_initname
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_fromstring
    - isc_symtab_lookup
    - dns_name_format
    - strcasecmp
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_ismap
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_rpz_catz(const char *rpz_catz, const cfg_obj_t
      *rpz_obj,\n\t       const char *viewname, isc_symtab_t *symtab,\n\t       special_zonetype_t
      specialzonetype)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5013,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5014,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5015,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5020,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5028,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5031,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5038,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5039,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5043,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5044,1
    - Dst: cfg_obj_ismap
      Src: /src/bind9/lib/isccfg/check.c:5046,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5047,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5050,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5053,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5054,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5055,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5056,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5058,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5066
      start: 5012
    functionDepth: 5
    functionLinenumber: 5012
    functionLinenumberEnd: 5066
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_fromstring
    - isc_symtab_lookup
    - dns_name_format
    - strcasecmp
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_ismap
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:5076,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5078,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5081,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5082,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5083,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5085,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5088,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5096,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:5097,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5098,1
    - Dst: dns_rpz_str2ede
      Src: /src/bind9/lib/isccfg/check.c:5100,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - rpz_obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5070
    functionDepth: 3
    functionLinenumber: 5070
    functionLinenumberEnd: 5109
    functionName: check_rpz
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_rpz_str2ede
    - dns_fixedname_initname
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_obj_isstring
    - dns_name_fromstring
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_rpz(const cfg_obj_t *rpz_obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5081,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5082,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5083,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5085,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5088,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5096,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:5097,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5098,1
    - Dst: dns_rpz_str2ede
      Src: /src/bind9/lib/isccfg/check.c:5100,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5106
      start: 5080
    functionDepth: 3
    functionLinenumber: 5080
    functionLinenumberEnd: 5106
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - dns_rpz_str2ede
    - cfg_obj_asstring
    - cfg_tuple_get
    - cfg_obj_isstring
    - dns_name_fromstring
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:5119,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5126,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5128,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5133,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5134,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5135,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5137,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5140,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5148,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5149,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5157,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5158,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5159,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5161,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5163,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - catz_obj
    - viewname
    - mctx
    argTypes:
    - cfg_obj_t*
    - char*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5180
      start: 5111
    functionDepth: 4
    functionLinenumber: 5111
    functionLinenumberEnd: 5180
    functionName: check_catz
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_istuple
    - isc_symtab_create
    - dns_fixedname_initname
    - isc_symtab_destroy
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_fromstring
    - dns_name_format
    - exists
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_catz(const cfg_obj_t *catz_obj, const char *viewname,
      isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5133,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5134,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5135,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5137,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5140,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5148,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5149,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5157,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5158,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5159,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5161,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5173
      start: 5130
    functionDepth: 3
    functionLinenumber: 5130
    functionLinenumberEnd: 5173
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_obj_istuple
    - cfg_obj_asstring
    - cfg_tuple_get
    - dns_name_fromstring
    - dns_name_format
    - exists
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (obj, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_plugin_expandpath
      Src: /src/bind9/lib/isccfg/check.c:5206,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5209,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:5212,1
    - Dst: ns_plugin_check
      Src: /src/bind9/lib/isccfg/check.c:5216,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:5217,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5217,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5220,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:5221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - config
    - obj
    - plugin_path
    - parameters
    - callback_data
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5226
      start: 5198
    functionDepth: 4
    functionLinenumber: 5198
    functionLinenumberEnd: 5226
    functionName: check_one_plugin
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - cfg_obj_file
    - cfg_obj_line
    - ns_plugin_expandpath
    - ns_plugin_check
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_one_plugin(const cfg_obj_t *config, const cfg_obj_t
      *obj,\n\t\t const char *plugin_path, const char *parameters,\n\t\t void *callback_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5235,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5238,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5242,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5245,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5248,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:5256,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:5257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - voptions
    - config
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5261
      start: 5228
    functionDepth: 5
    functionLinenumber: 5228
    functionLinenumberEnd: 5261
    functionName: check_dnstap
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - UNUSED
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_dnstap(const cfg_obj_t *voptions, const cfg_obj_t
      *config)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5289,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5304,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/lib/isccfg/check.c:5306,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5309,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5311,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5315,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/lib/isccfg/check.c:5317,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5331,1
    - Dst: check_rpz_catz
      Src: /src/bind9/lib/isccfg/check.c:5333,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5341,1
    - Dst: check_rpz_catz
      Src: /src/bind9/lib/isccfg/check.c:5343,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5356,1
    - Dst: check_rpz
      Src: /src/bind9/lib/isccfg/check.c:5358,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5369,1
    - Dst: check_catz
      Src: /src/bind9/lib/isccfg/check.c:5371,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5377,1
    - Dst: check_forward
      Src: /src/bind9/lib/isccfg/check.c:5382,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:5390,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:5393,1
    - Dst: check_dual_stack
      Src: /src/bind9/lib/isccfg/check.c:5400,1
    - Dst: check_order
      Src: /src/bind9/lib/isccfg/check.c:5407,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5415,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5417,1
    - Dst: check_keylist
      Src: /src/bind9/lib/isccfg/check.c:5418,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5428,1
    - Dst: check_keylist
      Src: /src/bind9/lib/isccfg/check.c:5429,1
    - Dst: check_servers
      Src: /src/bind9/lib/isccfg/check.c:5441,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5445,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5451,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5453,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5463,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5465,1
    - Dst: check_trust_anchor
      Src: /src/bind9/lib/isccfg/check.c:5466,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5475,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5486,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5498,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5505,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5508,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/check.c:5511,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:5513,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5515,1
    - Dst: check_ta_conflicts
      Src: /src/bind9/lib/isccfg/check.c:5525,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:5534,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:5537,1
    - Dst: check_dnstap
      Src: /src/bind9/lib/isccfg/check.c:5544,1
    - Dst: check_viewacls
      Src: /src/bind9/lib/isccfg/check.c:5549,1
    - Dst: check_recursionacls
      Src: /src/bind9/lib/isccfg/check.c:5554,1
    - Dst: check_dns64
      Src: /src/bind9/lib/isccfg/check.c:5559,1
    - Dst: check_ratelimit
      Src: /src/bind9/lib/isccfg/check.c:5564,1
    - Dst: check_fetchlimit
      Src: /src/bind9/lib/isccfg/check.c:5569,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5579,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5581,1
    - Dst: cfg_pluginlist_foreach
      Src: /src/bind9/lib/isccfg/check.c:5592,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5602,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/lib/isccfg/check.c:5605,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 188
    argCount: 9
    argNames:
    - config
    - voptions
    - viewname
    - vclass
    - files
    - keydirs
    - flags
    - inview
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - dns_rdataclass_t
    - isc_symtab_t*
    - isc_symtab_t*
    - unsigned int
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5263
    functionDepth: 11
    functionLinenumber: 5263
    functionLinenumberEnd: 5609
    functionName: check_viewconf
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_trust_anchor
    - cfg_aclconfctx_create
    - check_keylist
    - check_rpz
    - check_ta_conflicts
    - cfg_obj_isboolean
    - check_viewacls
    - check_ratelimit
    - isc_symtab_create
    - check_dnstap
    - check_recursionacls
    - check_nonzero
    - check_dns64
    - check_order
    - isc_symtab_destroy
    - check_dual_stack
    - cfg_pluginlist_foreach
    - check_fetchlimit
    - cfg_aclconfctx_detach
    - isccfg_check_zoneconf
    - cfg_obj_log
    - check_forward
    - check_catz
    - check_rpz_catz
    - check_options
    - check_servers
    - cfg_obj_asboolean
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_viewconf(const cfg_obj_t *config, const cfg_obj_t
      *voptions,\n\t       const char *viewname, dns_rdataclass_t vclass,\n\t       isc_symtab_t
      *files, isc_symtab_t *keydirs, unsigned int flags,\n\t       isc_symtab_t *inview,
      isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5315,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/lib/isccfg/check.c:5317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5323
      start: 5314
    functionDepth: 11
    functionLinenumber: 5314
    functionLinenumberEnd: 5323
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_listelt_value
    - isccfg_check_zoneconf
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (zones, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5463,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5465,1
    - Dst: check_trust_anchor
      Src: /src/bind9/lib/isccfg/check.c:5466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5461
    functionDepth: 4
    functionLinenumber: 5461
    functionLinenumberEnd: 5472
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_trust_anchor
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (check_keys[i], element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5465,1
    - Dst: check_trust_anchor
      Src: /src/bind9/lib/isccfg/check.c:5466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5471
      start: 5464
    functionDepth: 4
    functionLinenumber: 5464
    functionLinenumberEnd: 5471
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - check_trust_anchor
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (keylist, element2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5633,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5638,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5642,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:5644,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5647,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5650,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5651,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:5651,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5653,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5654,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5655,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5656,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5671,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5678,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:5680,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5683,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5686,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5687,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5687,1
    - Dst: isc_log_categorybyname
      Src: /src/bind9/lib/isccfg/check.c:5688,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5690,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5694,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5696,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5697,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5698,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5701,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5708,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5710
      start: 5614
    functionDepth: 5
    functionLinenumber: 5614
    functionLinenumberEnd: 5710
    functionName: check_logging
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_create
    - cfg_map_getname
    - RUNTIME_CHECK
    - isc_symtab_destroy
    - cfg_obj_asstring
    - cfg_tuple_get
    - isc_log_categorybyname
    - isc_symtab_define
    - isc_symtab_lookup
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_logging(const cfg_obj_t *config, isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5650,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5651,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:5651,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5653,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5654,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5655,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5656,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5671,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5678,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:5680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5649
    functionDepth: 5
    functionLinenumber: 5649
    functionLinenumberEnd: 5681
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_map_getname
    - RUNTIME_CHECK
    - cfg_obj_asstring
    - isc_symtab_define
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (channels, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5686,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5687,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5687,1
    - Dst: isc_log_categorybyname
      Src: /src/bind9/lib/isccfg/check.c:5688,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5690,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5694,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5696,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5697,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5698,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5707
      start: 5685
    functionDepth: 4
    functionLinenumber: 5685
    functionLinenumberEnd: 5707
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_log_categorybyname
    - isc_symtab_lookup
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (categories, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5696,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5697,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5698,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5695
    functionDepth: 4
    functionLinenumber: 5695
    functionLinenumberEnd: 5706
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_symtab_lookup
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (channels, delement)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5719,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5720,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5725,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5726,1
    - Dst: rndckey_exists
      Src: /src/bind9/lib/isccfg/check.c:5728,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - control
    - keylist
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5735
      start: 5712
    functionDepth: 3
    functionLinenumber: 5712
    functionLinenumberEnd: 5735
    functionName: check_controlskeys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_isvoid
    - rndckey_exists
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_controlskeys(const cfg_obj_t *control, const cfg_obj_t
      *keylist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5725,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5726,1
    - Dst: rndckey_exists
      Src: /src/bind9/lib/isccfg/check.c:5728,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5733
      start: 5724
    functionDepth: 3
    functionLinenumber: 5724
    functionLinenumberEnd: 5733
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - rndckey_exists
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (control_keylist, element)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5753,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5758,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/lib/isccfg/check.c:5760,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5762,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5769,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5772,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5773,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5778,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5779,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:5780,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:5783,1
    - Dst: check_controlskeys
      Src: /src/bind9/lib/isccfg/check.c:5788,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5792,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:5793,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:5794,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/isccfg/check.c:5795,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isccfg/check.c:5797,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5798,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5808,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5809,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5809,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5810,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/lib/isccfg/check.c:5816,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5818,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5821
      start: 5737
    functionDepth: 9
    functionLinenumber: 5737
    functionLinenumberEnd: 5821
    functionName: check_controls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - isc_symtab_create
    - dns_acl_detach
    - isc_sockaddr_getport
    - cfg_aclconfctx_create
    - isc_sockaddr_format
    - isc_symtab_destroy
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_aclconfctx_detach
    - check_controlskeys
    - cfg_obj_assockaddr
    - exists
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_controls(const cfg_obj_t *config, isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5769,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5772,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5773,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5778,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5779,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:5780,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:5783,1
    - Dst: check_controlskeys
      Src: /src/bind9/lib/isccfg/check.c:5788,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5792,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:5793,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:5794,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/isccfg/check.c:5795,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isccfg/check.c:5797,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5798,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5808,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5809,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5809,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5814
      start: 5768
    functionDepth: 9
    functionLinenumber: 5768
    functionLinenumberEnd: 5814
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - dns_acl_detach
    - isc_sockaddr_getport
    - isc_sockaddr_format
    - cfg_tuple_get
    - cfg_obj_asstring
    - check_controlskeys
    - cfg_obj_assockaddr
    - exists
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (controlslist, element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5778,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5779,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:5780,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:5783,1
    - Dst: check_controlskeys
      Src: /src/bind9/lib/isccfg/check.c:5788,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5792,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:5793,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:5794,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/isccfg/check.c:5795,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isccfg/check.c:5797,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5806
      start: 5774
    functionDepth: 9
    functionLinenumber: 5774
    functionLinenumberEnd: 5806
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - dns_acl_detach
    - isc_sockaddr_getport
    - isc_sockaddr_format
    - cfg_tuple_get
    - check_controlskeys
    - cfg_obj_assockaddr
    - exists
    - cfg_listelt_value
    - cfg_acl_fromconfig
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (inetcontrols, element2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5808,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5809,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5809,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5813
      start: 5807
    functionDepth: 3
    functionLinenumber: 5807
    functionLinenumberEnd: 5813
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_log
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (unixcontrols, element2)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5840,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:5843,1
    - Dst: check_logging
      Src: /src/bind9/lib/isccfg/check.c:5849,1
    - Dst: check_controls
      Src: /src/bind9/lib/isccfg/check.c:5853,1
    - Dst: check_remoteserverlists
      Src: /src/bind9/lib/isccfg/check.c:5857,1
    - Dst: check_httpservers
      Src: /src/bind9/lib/isccfg/check.c:5862,1
    - Dst: check_tls_definitions
      Src: /src/bind9/lib/isccfg/check.c:5867,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5871,1
    - Dst: check_dual_stack
      Src: /src/bind9/lib/isccfg/check.c:5874,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5891,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5892,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5893,1
    - Dst: check_viewconf
      Src: /src/bind9/lib/isccfg/check.c:5896,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5905,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5907,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5913,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5915,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5922,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5925,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5926,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5927,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5928,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5930,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:5935,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:5938,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5938,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:5939,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:5940,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5942,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5944,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5950,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:5956,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5956,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:5960,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5961,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5962,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5967,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5969,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5972,1
    - Dst: check_viewconf
      Src: /src/bind9/lib/isccfg/check.c:5980,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5989,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5995,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5996,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5999,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5999,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6003,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6005,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6016,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6017,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6019,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6021,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6022,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6023,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:6024,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6030,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6042,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6045,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6048,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6051,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 115
    argCount: 3
    argNames:
    - config
    - flags
    - mctx
    argTypes:
    - cfg_obj_t*
    - unsigned int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6055
      start: 5823
    functionDepth: 12
    functionLinenumber: 5823
    functionLinenumberEnd: 6055
    functionName: isccfg_check_namedconf
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - check_controls
    - check_remoteserverlists
    - cfg_list_next
    - check_httpservers
    - isc_symtab_create
    - isc_symtab_destroy
    - check_viewconf
    - check_tls_definitions
    - dns_rdataclass_fromtext
    - strcasecmp
    - check_logging
    - RUNTIME_CHECK
    - check_dual_stack
    - cfg_obj_isstring
    - strlen
    - isc_symtab_define
    - UNCONST
    - isc_symtab_lookup
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_file
    - check_options
    - cfg_obj_line
    - cfg_map_get
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccfg_check_namedconf(const cfg_obj_t *config, unsigned
      int flags,\n\t\t       isc_mem_t *mctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5925,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5926,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5927,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5928,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5930,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:5935,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:5938,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5938,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:5939,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:5940,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5942,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5944,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5950,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:5956,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5956,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:5960,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5961,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5962,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5967,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5969,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5972,1
    - Dst: check_viewconf
      Src: /src/bind9/lib/isccfg/check.c:5980,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5924
    functionDepth: 12
    functionLinenumber: 5924
    functionLinenumberEnd: 5987
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - RUNTIME_CHECK
    - check_viewconf
    - cfg_obj_asstring
    - cfg_obj_isstring
    - cfg_tuple_get
    - strlen
    - isc_symtab_define
    - UNCONST
    - cfg_obj_file
    - cfg_obj_line
    - isc_symtab_lookup
    - dns_rdataclass_fromtext
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (views, velement)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5995,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5996,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5999,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5999,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6003,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6005,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6016,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6017,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6019,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6021,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6022,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6023,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:6024,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6030,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6038
      start: 5994
    functionDepth: 3
    functionLinenumber: 5994
    functionLinenumberEnd: 6038
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_file
    - cfg_obj_line
    - cfg_list_next
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH (acls, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - listobj
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/include/isccfg/cfg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFG_LIST_FOREACH(listobj, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 431
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:102,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:104,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/view.c:105,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/view.c:107,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:110,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:111,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/view.c:131,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/view.c:132,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/view.c:134,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/view.c:136,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/view.c:137,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/view.c:138,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/view.c:140,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/view.c:142,1
    - Dst: dns_dispatchmgr_attach
      Src: /src/bind9/lib/dns/view.c:145,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/view.c:148,1
    - Dst: dns_zt_create
      Src: /src/bind9/lib/dns/view.c:150,1
    - Dst: dns_fwdtable_create
      Src: /src/bind9/lib/dns/view.c:152,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/lib/dns/view.c:154,1
    - Dst: dns_badcache_new
      Src: /src/bind9/lib/dns/view.c:156,1
    - Dst: dns_unreachcache_new
      Src: /src/bind9/lib/dns/view.c:158,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/view.c:162,1
    - Dst: dns_order_create
      Src: /src/bind9/lib/dns/view.c:164,1
    - Dst: dns_peerlist_new
      Src: /src/bind9/lib/dns/view.c:166,1
    - Dst: dns_aclenv_create
      Src: /src/bind9/lib/dns/view.c:168,1
    - Dst: dns_nametree_create
      Src: /src/bind9/lib/dns/view.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 6
    argNames:
    - mctx
    - loopmgr
    - dispatchmgr
    - rdclass
    - name
    - viewp
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - dns_dispatchmgr_t*
    - dns_rdataclass_t
    - char*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 174
    functionName: dns_view_create
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_peerlist_new
    - isc_file_sanitize
    - dns_nametree_create
    - isc_mem_attach
    - dns_aclenv_create
    - isc_mutex_init
    - dns_zt_create
    - ISC_LINK_INIT
    - isc_refcount_init
    - dns_fixedname_init
    - ISC_LIST_INIT
    - dns_dispatchmgr_attach
    - dns_order_create
    - RUNTIME_CHECK
    - dns_unreachcache_new
    - dns_fwdtable_create
    - dns_tsigkeyring_create
    - isc_mem_get
    - isc_mem_strdup
    - dns_badcache_new
    linkageType: ''
    returnType: void
    signature: "void dns_view_create(isc_mem_t *mctx, isc_loopmgr_t *loopmgr,\n\t\tdns_dispatchmgr_t
      *dispatchmgr, dns_rdataclass_t rdclass,\n\t\tconst char *name, dns_view_t **viewp)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:180,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/view.c:180,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:182,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:183,1
    - Dst: dns_order_detach
      Src: /src/bind9/lib/dns/view.c:186,1
    - Dst: dns_peerlist_detach
      Src: /src/bind9/lib/dns/view.c:189,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/lib/dns/view.c:198,1
    - Dst: isc_file_openuniqueprivate
      Src: /src/bind9/lib/dns/view.c:200,1
    - Dst: dns_tsigkeyring_dump
      Src: /src/bind9/lib/dns/view.c:203,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/view.c:205,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:206,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/dns/view.c:210,1
    - Dst: remove
      Src: /src/bind9/lib/dns/view.c:215,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/view.c:218,1
    - Dst: remove
      Src: /src/bind9/lib/dns/view.c:219,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:222,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/lib/dns/view.c:225,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:228,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:232,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:233,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:234,1
    - Dst: dns_rrl_view_destroy
      Src: /src/bind9/lib/dns/view.c:236,1
    - Dst: dns_rpz_zones_shutdown
      Src: /src/bind9/lib/dns/view.c:238,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/lib/dns/view.c:239,1
    - Dst: dns_catz_zones_shutdown
      Src: /src/bind9/lib/dns/view.c:242,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/view.c:243,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:245,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/view.c:246,1
    - Dst: dns_dlzdestroy
      Src: /src/bind9/lib/dns/view.c:247,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:249,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/view.c:250,1
    - Dst: dns_dlzdestroy
      Src: /src/bind9/lib/dns/view.c:251,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:254,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:257,1
    - Dst: dns_cache_detach
      Src: /src/bind9/lib/dns/view.c:260,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:263,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:266,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:269,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:272,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:275,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:278,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:281,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:284,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:287,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:290,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:293,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:296,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:299,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:302,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:305,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:308,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:311,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:314,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:317,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:320,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:323,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:326,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:329,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/view.c:331,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/view.c:332,1
    - Dst: dns_dns64_destroy
      Src: /src/bind9/lib/dns/view.c:334,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:337,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:340,1
    - Dst: dns_dt_detach
      Src: /src/bind9/lib/dns/view.c:344,1
    - Dst: dns_view_setnewzones
      Src: /src/bind9/lib/dns/view.c:347,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:349,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:352,1
    - Dst: mdb_env_close
      Src: /src/bind9/lib/dns/view.c:356,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:360,1
    - Dst: dns_fwdtable_destroy
      Src: /src/bind9/lib/dns/view.c:363,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/lib/dns/view.c:364,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/lib/dns/view.c:366,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/lib/dns/view.c:369,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/view.c:371,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/view.c:372,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:373,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:374,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:375,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:376,1
    - Dst: dns_view_t*::hooktable_free
      Src: /src/bind9/lib/dns/view.c:378,1
    - Dst: dns_view_t*::plugins_free
      Src: /src/bind9/lib/dns/view.c:381,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/view.c:383,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 185
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 384
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 320
    functionsReached:
    - dns_dlzdestroy
    - dns_acl_detach
    - dns_order_detach
    - isc_mem_putanddetach
    - isc_file_mktemplate
    - dns_transport_list_detach
    - dns_tsigkeyring_detach
    - dns_zone_detach
    - mdb_env_close
    - REQUIRE
    - isc_file_sanitize
    - dns_peerlist_detach
    - dns_view_t*::hooktable_free
    - ISC_LIST_HEAD
    - dns_badcache_destroy
    - dns_rpz_zones_shutdown
    - ISC_LINK_LINKED
    - dns_db_detach
    - dns_catz_zones_shutdown
    - dns_tsigkeyring_dump
    - dns_rrl_view_destroy
    - dns_dns64_destroy
    - isc_mutex_destroy
    - isc_file_openuniqueprivate
    - dns_unreachcache_destroy
    - remove
    - fclose
    - INSIST
    - dns_fwdtable_destroy
    - dns_ntatable_detach
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - dns_catz_zones_detach
    - dns_rpz_zones_detach
    - isc_mem_free
    - isc_file_rename
    - dns_dt_detach
    - dns_aclenv_detach
    - dns_cache_detach
    - dns_nametree_detach
    - dns_view_t*::plugins_free
    - isc_refcount_destroy
    - dns_view_setnewzones
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: void destroy(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:388,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:388,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:389,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/view.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_view_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: dns_view_attach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 11
    functionsReached:
    - isc_refcount_increment
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_attach(dns_view_t *source, dns_view_t **targetp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:400,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:400,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/view.c:405,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:413,1
    - Dst: dns_resolver_shutdown
      Src: /src/bind9/lib/dns/view.c:417,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:420,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:421,1
    - Dst: dns_adb_shutdown
      Src: /src/bind9/lib/dns/view.c:423,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:425,1
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/lib/dns/view.c:428,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:432,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:439,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/view.c:440,1
    - Dst: dns_zt_flush
      Src: /src/bind9/lib/dns/view.c:443,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/view.c:446,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/view.c:447,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:448,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/view.c:458,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/view.c:465,1
    - Dst: dns_catz_zones_shutdown
      Src: /src/bind9/lib/dns/view.c:469,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/view.c:470,1
    - Dst: dns_ntatable_shutdown
      Src: /src/bind9/lib/dns/view.c:473,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:475,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/view.c:479,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/view.c:481,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/view.c:483,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/view.c:486,1
    - Dst: dns_zt_detach
      Src: /src/bind9/lib/dns/view.c:489,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/lib/dns/view.c:492,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:495,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:498,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/view.c:501,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 1
    argNames:
    - viewp
    argTypes:
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 503
    functionName: dns_view_detach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 37
    functionsReached:
    - dns_zone_flush
    - synchronize_rcu
    - dns_adb_shutdown
    - dns_adb_detach
    - UNLOCK
    - dns_zt_detach
    - rcu_read_unlock
    - dns_zone_detach
    - DNS_VIEW_VALID
    - dns_requestmgr_shutdown
    - REQUIRE
    - dns_view_weakdetach
    - dns_requestmgr_detach
    - rcu_dereference
    - LOCK
    - dns_dispatchmgr_detach
    - dns_zt_flush
    - dns_ntatable_shutdown
    - dns_catz_zones_shutdown
    - rcu_xchg_pointer
    - dns_resolver_shutdown
    - dns_resolver_detach
    - dns_catz_zones_detach
    - isc_refcount_decrement
    - isc_refcount_destroy
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_view_detach(dns_view_t **viewp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:507,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:507,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:508,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/view.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_view_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: dns_view_weakattach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_weakattach(dns_view_t *source, dns_view_t **targetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:519,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:524,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:524,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/view.c:526,1
    - Dst: destroy
      Src: /src/bind9/lib/dns/view.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - viewp
    argTypes:
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 529
    functionName: dns_view_weakdetach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - DNS_VIEW_VALID
    - destroy
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_view_weakdetach(dns_view_t **viewp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getloopmgr
      Src: /src/bind9/lib/dns/view.c:538,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/view.c:538,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:540,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:541,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:542,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:543,1
    - Dst: dns_resolver_create
      Src: /src/bind9/lib/dns/view.c:545,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/view.c:552,1
    - Dst: dns_adb_create
      Src: /src/bind9/lib/dns/view.c:553,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/view.c:554,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/lib/dns/view.c:556,1
    - Dst: dns_adb_shutdown
      Src: /src/bind9/lib/dns/view.c:566,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/view.c:567,1
    - Dst: dns_resolver_shutdown
      Src: /src/bind9/lib/dns/view.c:569,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/view.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 6
    argNames:
    - view
    - netmgr
    - options
    - tlsctx_cache
    - dispatchv4
    - dispatchv6
    argTypes:
    - dns_view_t*
    - isc_nm_t*
    - unsigned int
    - isc_tlsctx_cache_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 573
    functionName: dns_view_createresolver
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - isc_mem_create
    - isc_mem_detach
    - dns_adb_shutdown
    - dns_adb_detach
    - dns_resolver_shutdown
    - dns_adb_create
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_resolver_detach
    - dns_resolver_create
    - isc_loop_getloopmgr
    - isc_loop
    - dns_requestmgr_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_createresolver(dns_view_t *view, isc_nm_t *netmgr,\n\t\t\tunsigned
      int options, isc_tlsctx_cache_t *tlsctx_cache,\n\t\t\tdns_dispatch_t *dispatchv4,\n\t\t\tdns_dispatch_t
      *dispatchv6)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:577,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:578,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:582,1
    - Dst: dns_cache_detach
      Src: /src/bind9/lib/dns/view.c:583,1
    - Dst: dns_cache_attach
      Src: /src/bind9/lib/dns/view.c:585,1
    - Dst: dns_cache_attachdb
      Src: /src/bind9/lib/dns/view.c:586,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:587,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/view.c:587,1
    - Dst: dns_cache_setmaxrrperset
      Src: /src/bind9/lib/dns/view.c:589,1
    - Dst: dns_cache_setmaxtypepername
      Src: /src/bind9/lib/dns/view.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - view
    - cache
    - shared
    argTypes:
    - dns_view_t*
    - dns_cache_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 591
    functionName: dns_view_setcache
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - dns_cache_attach
    - dns_cache_setmaxrrperset
    - DNS_DB_VALID
    - dns_cache_setmaxtypepername
    - dns_db_detach
    - INSIST
    - DNS_VIEW_VALID
    - dns_cache_detach
    - REQUIRE
    - dns_cache_attachdb
    linkageType: ''
    returnType: void
    signature: void dns_view_setcache(dns_view_t *view, dns_cache_t *cache, bool shared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:595,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: dns_view_iscacheshared
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_view_iscacheshared(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:602,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:603,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:605,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/view.c:605,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - view
    - hints
    argTypes:
    - dns_view_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 608
    functionName: dns_view_sethints
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - dns_db_iszone
    - DNS_VIEW_VALID
    - dns_db_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_sethints(dns_view_t *view, dns_db_t *hints)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:612,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:612,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:613,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/lib/dns/view.c:615,1
    - Dst: dns_transport_list_attach
      Src: /src/bind9/lib/dns/view.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - view
    - list
    argTypes:
    - dns_view_t*
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: dns_view_settransports
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_transport_list_attach
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_transport_list_detach
    linkageType: ''
    returnType: void
    signature: void dns_view_settransports(dns_view_t *view, dns_transport_list_t
      *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:622,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:623,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:625,1
    - Dst: dns_tsigkeyring_attach
      Src: /src/bind9/lib/dns/view.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - view
    - ring
    argTypes:
    - dns_view_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: dns_view_setkeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - dns_tsigkeyring_attach
    - REQUIRE
    - dns_tsigkeyring_detach
    linkageType: ''
    returnType: void
    signature: void dns_view_setkeyring(dns_view_t *view, dns_tsigkeyring_t *ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:632,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:632,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:633,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:635,1
    - Dst: dns_tsigkeyring_attach
      Src: /src/bind9/lib/dns/view.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - view
    - ring
    argTypes:
    - dns_view_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 638
    functionName: dns_view_setdynamickeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - dns_tsigkeyring_attach
    - REQUIRE
    - dns_tsigkeyring_detach
    linkageType: ''
    returnType: void
    signature: void dns_view_setdynamickeyring(dns_view_t *view, dns_tsigkeyring_t
      *ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:642,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:643,1
    - Dst: dns_tsigkeyring_attach
      Src: /src/bind9/lib/dns/view.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - view
    - ringp
    argTypes:
    - dns_view_t*
    - dns_tsigkeyring_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 647
    functionName: dns_view_getdynamickeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - dns_tsigkeyring_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_getdynamickeyring(dns_view_t *view, dns_tsigkeyring_t
      **ringp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:655,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:655,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:658,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/view.c:661,1
    - Dst: dns_tsigkeyring_restore
      Src: /src/bind9/lib/dns/view.c:663,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/view.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: dns_view_restorekeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_tsigkeyring_restore
    - fopen
    - fclose
    - DNS_VIEW_VALID
    - REQUIRE
    - isc_file_sanitize
    linkageType: ''
    returnType: void
    signature: void dns_view_restorekeyring(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:672,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - dstport
    argTypes:
    - dns_view_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 674
    functionName: dns_view_setdstport
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_setdstport(dns_view_t *view, in_port_t dstport)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:678,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:679,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:682,1
    - Dst: dns_resolver_freeze
      Src: /src/bind9/lib/dns/view.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 686
    functionName: dns_view_freeze
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 9
    functionsReached:
    - DNS_VIEW_VALID
    - dns_resolver_freeze
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns_view_freeze(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:690,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:690,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: dns_view_thaw
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 5
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_thaw(dns_view_t *view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:701,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:701,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:702,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:704,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:705,1
    - Dst: dns_zt_mount
      Src: /src/bind9/lib/dns/view.c:707,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - view
    - zone
    argTypes:
    - dns_view_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 714
    functionName: dns_view_addzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 7
    functionsReached:
    - rcu_dereference
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_zt_mount
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_addzone(dns_view_t *view, dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:721,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:721,1
    - Dst: dns_zone_prepare_shutdown
      Src: /src/bind9/lib/dns/view.c:723,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:725,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:726,1
    - Dst: dns_zt_unmount
      Src: /src/bind9/lib/dns/view.c:728,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - view
    - zone
    argTypes:
    - dns_view_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 735
    functionName: dns_view_delzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 5
    functionsReached:
    - rcu_dereference
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - dns_zone_prepare_shutdown
    - REQUIRE
    - dns_zt_unmount
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_delzone(dns_view_t *view, dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:743,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:743,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:745,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:746,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:748,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - view
    - name
    - options
    - zonep
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - unsigned int
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 755
    functionName: dns_view_findzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 16
    functionsReached:
    - rcu_dereference
    - dns_zt_find
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_findzone(dns_view_t *view, const dns_name_t
      *name,\n\t\t  unsigned int options, dns_zone_t **zonep)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:776,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:776,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:777,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:778,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:779,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:780,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:785,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:786,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:792,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:793,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:795,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:799,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:800,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/view.c:806,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:808,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:812,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/view.c:813,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/view.c:813,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:818,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/view.c:823,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:829,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:833,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:834,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:837,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:839,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:842,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:845,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:855,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:863,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:864,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:866,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:868,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:873,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:875,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/view.c:876,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:894,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:895,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:898,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:900,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:904,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:906,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:908,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/view.c:917,1
    - Dst: dns_resolver_prime
      Src: /src/bind9/lib/dns/view.c:919,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:920,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/view.c:921,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:925,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:935,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:940,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:941,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:942,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:943,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:949,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:951,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:959,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:965,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:968,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:972,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 150
    argCount: 12
    argNames:
    - view
    - name
    - type
    - now
    - options
    - use_hints
    - use_static_stub
    - dbp
    - nodep
    - foundname
    - rdataset
    - sigrdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - unsigned int
    - bool
    - bool
    - dns_db_t**
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 976
    functionName: dns_view_find
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - dns_rdataset_disassociate
    - dns_view_getresolver
    - REQUIRE
    - dns_zone_getorigin
    - dns_resolver_prime
    - dns_rdataset_init
    - rcu_dereference
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_db_attachnode
    - dns_zone_gettype
    - dns_db_attach
    - INSIST
    - dns_zt_find
    - dns_rdataset_clone
    - dns_resolver_detach
    - dns_db_find
    - dns_name_equal
    - dns_zone_getdb
    - dns_db_iscache
    - dns_db_detachnode
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_find(dns_view_t *view, const dns_name_t *name,
      dns_rdatatype_t type,\n\t      isc_stdtime_t now, unsigned int options, bool
      use_hints,\n\t      bool use_static_stub, dns_db_t **dbp, dns_dbnode_t **nodep,\n\t
      \     dns_name_t *foundname, dns_rdataset_t *rdataset,\n\t      dns_rdataset_t
      *sigrdataset)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/view.c:986,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/view.c:987,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/view.c:988,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:997,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:998,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1001,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1003,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1010,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1011,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1014,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1016,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 8
    argNames:
    - view
    - name
    - type
    - now
    - options
    - use_hints
    - rdataset
    - sigrdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - unsigned int
    - bool
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 1022
    functionName: dns_view_simplefind
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - dns_view_find
    - dns_rdataset_isassociated
    - dns_fixedname_name
    - dns_rdataset_disassociate
    - dns_fixedname_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_simplefind(dns_view_t *view, const dns_name_t
      *name,\n\t\t    dns_rdatatype_t type, isc_stdtime_t now,\n\t\t    unsigned int
      options, bool use_hints,\n\t\t    dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1039,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1039,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1040,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/view.c:1045,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:1046,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:1047,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1055,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1056,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:1058,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1062,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/view.c:1064,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:1076,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/view.c:1093,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:1100,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:1112,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/view.c:1120,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1121,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:1122,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1123,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1125,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:1127,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1128,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1130,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:1131,1
    - Dst: dns_db_findzonecut
      Src: /src/bind9/lib/dns/view.c:1136,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/view.c:1140,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:1141,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/view.c:1142,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1177,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1178,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1180,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1182,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1185,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1187,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:1189,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1191,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:1193,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:1199,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1207,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1208,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1212,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1217,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1218,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1219,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1220,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1224,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1227,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 10
    argNames:
    - view
    - name
    - fname
    - dcname
    - now
    - options
    - use_hints
    - use_cache
    - rdataset
    - sigrdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - bool
    - bool
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1231
    functionName: dns_view_findzonecut
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_zone_detach
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_init
    - rcu_dereference
    - dns_name_issubdomain
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_zone_gettype
    - dns_fixedname_init
    - dns_name_copy
    - dns_db_findzonecut
    - dns_db_attach
    - dns_fixedname_name
    - dns_zt_find
    - dns_rdataset_clone
    - dns_db_find
    - dns_name_equal
    - dns_zone_getdb
    - dns_db_iscache
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_findzonecut(dns_view_t *view, const dns_name_t
      *name,\n\t\t     dns_name_t *fname, dns_name_t *dcname, isc_stdtime_t now,\n\t\t
      \    unsigned int options, bool use_hints, bool use_cache,\n\t\t     dns_rdataset_t
      *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1236,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:1238,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:1239,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/view.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - list
    - name
    - rdclass
    - viewp
    argTypes:
    - dns_viewlist_t*
    - char*
    - dns_rdataclass_t
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1246
    functionName: dns_viewlist_find
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 10
    functionsReached:
    - strcmp
    - dns_view_attach
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_viewlist_find(dns_viewlist_t *list, const char *name,\n\t\t
      \ dns_rdataclass_t rdclass, dns_view_t **viewp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1256,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:1258,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1263,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1264,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:1266,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1271,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:1272,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1274,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1275,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:1281,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - list
    - name
    - allclasses
    - rdclass
    - zonep
    argTypes:
    - dns_viewlist_t*
    - dns_name_t*
    - bool
    - dns_rdataclass_t
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1287
    functionName: dns_viewlist_findzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - rcu_dereference
    - dns_zone_attach
    - INSIST
    - dns_zt_find
    - rcu_read_unlock
    - dns_zone_detach
    - REQUIRE
    - ISC_LIST_FOREACH
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_viewlist_findzone(dns_viewlist_t *list, const dns_name_t
      *name,\n\t\t      bool allclasses, dns_rdataclass_t rdclass,\n\t\t      dns_zone_t
      **zonep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1294,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1294,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1296,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1297,1
    - Dst: dns_zt_load
      Src: /src/bind9/lib/dns/view.c:1299,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - view
    - stop
    - newonly
    argTypes:
    - dns_view_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1305
    functionName: dns_view_load
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - rcu_dereference
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_zt_load
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_load(dns_view_t *view, bool stop, bool newonly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1313,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1313,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1315,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1316,1
    - Dst: dns_zt_asyncload
      Src: /src/bind9/lib/dns/view.c:1318,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - view
    - newonly
    - callback
    - arg
    argTypes:
    - dns_view_t*
    - bool
    - dns_zt_callback_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1324
    functionName: dns_view_asyncload
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - rcu_dereference
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_zt_asyncload
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_asyncload(dns_view_t *view, bool newonly, dns_zt_callback_t
      *callback,\n\t\t   void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1330,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/view.c:1332,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/view.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - view
    - keyname
    - keyp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_tsigkey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1338
    functionName: dns_view_gettsig
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_tsigkey_find
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_gettsig(dns_view_t *view, const dns_name_t *keyname,\n\t\t
      dns_tsigkey_t **keyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1343,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1343,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1344,1
    - Dst: dns_transport_find
      Src: /src/bind9/lib/dns/view.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - view
    - type
    - name
    - transportp
    argTypes:
    - dns_view_t*
    - dns_transport_type_t
    - dns_name_t*
    - dns_transport_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1354
    functionName: dns_view_gettransport
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_transport_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_gettransport(dns_view_t *view, const dns_transport_type_t
      type,\n\t\t      const dns_name_t *name, dns_transport_t **transportp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/view.c:1363,1
    - Dst: dns_peer_getkey
      Src: /src/bind9/lib/dns/view.c:1368,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/view.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - view
    - peeraddr
    - keyp
    argTypes:
    - dns_view_t*
    - isc_netaddr_t*
    - dns_tsigkey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1375
    functionName: dns_view_getpeertsig
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_peer_getkey
    - dns_view_gettsig
    - dns_peerlist_peerbyaddr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_getpeertsig(dns_view_t *view, const isc_netaddr_t
      *peeraddr,\n\t\t     dns_tsigkey_t **keyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1379,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1380,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/dns/view.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - view
    - source
    - msg
    argTypes:
    - dns_view_t*
    - isc_buffer_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1384
    functionName: dns_view_checksig
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - DNS_VIEW_VALID
    - dns_tsig_verify
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_checksig(dns_view_t *view, isc_buffer_t *source,
      dns_message_t *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1391,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1391,1
    - Dst: dns_cache_flush
      Src: /src/bind9/lib/dns/view.c:1397,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1402,1
    - Dst: dns_cache_attachdb
      Src: /src/bind9/lib/dns/view.c:1403,1
    - Dst: dns_badcache_flush
      Src: /src/bind9/lib/dns/view.c:1405,1
    - Dst: dns_unreachcache_flush
      Src: /src/bind9/lib/dns/view.c:1408,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1411,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1412,1
    - Dst: dns_adb_flush
      Src: /src/bind9/lib/dns/view.c:1414,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - view
    - fixuponly
    argTypes:
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1419
    functionName: dns_view_flushcache
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - dns_badcache_flush
    - dns_db_detach
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_cache_flush
    - dns_adb_flush
    - dns_cache_attachdb
    - dns_unreachcache_flush
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_flushcache(dns_view_t *view, bool fixuponly)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_flushnode
      Src: /src/bind9/lib/dns/view.c:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1424
    functionName: dns_view_flushname
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_view_flushnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_flushname(dns_view_t *view, const dns_name_t
      *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1431,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1431,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1434,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1435,1
    - Dst: dns_adb_flushnames
      Src: /src/bind9/lib/dns/view.c:1437,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1439,1
    - Dst: dns_badcache_flushtree
      Src: /src/bind9/lib/dns/view.c:1441,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1444,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1445,1
    - Dst: dns_adb_flushname
      Src: /src/bind9/lib/dns/view.c:1447,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1449,1
    - Dst: dns_badcache_flushname
      Src: /src/bind9/lib/dns/view.c:1451,1
    - Dst: dns_cache_flushnode
      Src: /src/bind9/lib/dns/view.c:1456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - view
    - name
    - tree
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1460
    functionName: dns_view_flushnode
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - rcu_dereference
    - dns_badcache_flushtree
    - dns_adb_flushname
    - dns_adb_flushnames
    - dns_cache_flushnode
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_badcache_flushname
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_flushnode(dns_view_t *view, const dns_name_t
      *name, bool tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1467,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1467,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1469,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1470,1
    - Dst: dns_zt_freezezones
      Src: /src/bind9/lib/dns/view.c:1472,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - view
    - value
    argTypes:
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1479
    functionName: dns_view_freezezones
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - rcu_dereference
    - rcu_read_unlock
    - dns_zt_freezezones
    - DNS_VIEW_VALID
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_freezezones(dns_view_t *view, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1483,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1483,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:1485,1
    - Dst: dns_ntatable_create
      Src: /src/bind9/lib/dns/view.c:1487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - view
    - loopmgr
    argTypes:
    - dns_view_t*
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1488
    functionName: dns_view_initntatable
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - dns_ntatable_create
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_ntatable_detach
    linkageType: ''
    returnType: void
    signature: void dns_view_initntatable(dns_view_t *view, isc_loopmgr_t *loopmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1492,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1492,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1493,1
    - Dst: dns_ntatable_attach
      Src: /src/bind9/lib/dns/view.c:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - view
    - ntp
    argTypes:
    - dns_view_t*
    - dns_ntatable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1490
    functionDepth: 1
    functionLinenumber: 1490
    functionLinenumberEnd: 1499
    functionName: dns_view_getntatable
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 4
    functionsReached:
    - DNS_VIEW_VALID
    - dns_ntatable_attach
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_getntatable(dns_view_t *view, dns_ntatable_t
      **ntp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1503,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1503,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:1505,1
    - Dst: dns_keytable_create
      Src: /src/bind9/lib/dns/view.c:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1508
    functionName: dns_view_initsecroots
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - DNS_VIEW_VALID
    - dns_keytable_create
    - REQUIRE
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: void dns_view_initsecroots(dns_view_t *view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1512,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1512,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1513,1
    - Dst: dns_keytable_attach
      Src: /src/bind9/lib/dns/view.c:1517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - view
    - ktp
    argTypes:
    - dns_view_t*
    - dns_keytable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1510
    functionDepth: 1
    functionLinenumber: 1510
    functionLinenumberEnd: 1519
    functionName: dns_view_getsecroots
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 6
    functionsReached:
    - dns_keytable_attach
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_getsecroots(dns_view_t *view, dns_keytable_t
      **ktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1524,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1524,1
    - Dst: dns_ntatable_covered
      Src: /src/bind9/lib/dns/view.c:1530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - view
    - now
    - name
    - anchor
    argTypes:
    - dns_view_t*
    - isc_stdtime_t
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1531
    functionName: dns_view_ntacovers
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_ntatable_covered
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: "bool dns_view_ntacovers(dns_view_t *view, isc_stdtime_t now, const
      dns_name_t *name,\n\t\t   const dns_name_t *anchor)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1542,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1542,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1548,1
    - Dst: dns_keytable_issecuredomain
      Src: /src/bind9/lib/dns/view.c:1550,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/view.c:1556,1
    - Dst: dns_ntatable_covered
      Src: /src/bind9/lib/dns/view.c:1558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - view
    - name
    - now
    - checknta
    - ntap
    - secure_domain
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - isc_stdtime_t
    - bool
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1568
    functionName: dns_view_issecuredomain
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_fixedname_initname
    - dns_keytable_issecuredomain
    - dns_ntatable_covered
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_issecuredomain(dns_view_t *view, const dns_name_t
      *name,\n\t\t\tisc_stdtime_t now, bool checknta, bool *ntap,\n\t\t\tbool *secure_domain)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1577,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1578,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1579,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/view.c:1581,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/lib/dns/view.c:1593,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/lib/dns/view.c:1602,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - view
    - keyname
    - dnskey
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdata_dnskey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1570
    functionDepth: 2
    functionLinenumber: 1570
    functionLinenumberEnd: 1606
    functionName: dns_view_untrust
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_keytable_deletekey
    - dns_keytable_marksecure
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_view_getsecroots
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: "void dns_view_untrust(dns_view_t *view, const dns_name_t *keyname,\n\t\t
      const dns_rdata_dnskey_t *dnskey)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1617,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1617,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1618,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1619,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/view.c:1621,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:1626,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/view.c:1627,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/view.c:1629,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:1643,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/view.c:1644,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/view.c:1651,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/view.c:1658,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:1659,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/view.c:1660,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/view.c:1668,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/view.c:1669,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:1678,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/view.c:1679,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/view.c:1682,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:1684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - view
    - keyname
    - dnskey
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdata_dnskey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1686
    functionName: dns_view_istrusted
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_keynode_dsset
    - dns_rdata_compare
    - dns_ds_fromkeyrdata
    - dns_rdata_fromstruct
    - dns_keytable_detach
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - isc_buffer_init
    - DNS_VIEW_VALID
    - dns_keytable_find
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_keynode_detach
    - dns_view_getsecroots
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: "bool dns_view_istrusted(dns_view_t *view, const dns_name_t *keyname,\n\t\t
      \  const dns_rdata_dnskey_t *dnskey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/view.c:1668,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/view.c:1669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1673
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:1711,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/dns/view.c:1714,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/view.c:1718,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:1724,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/dns/view.c:1725,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/view.c:1733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - directory
    - viewname
    - suffix
    - buffer
    - buflen
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1705
    functionDepth: 4
    functionLinenumber: 1705
    functionLinenumberEnd: 1735
    functionName: nz_legacy
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - isc_file_sanitize
    - isc_file_exists
    - strlcpy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t nz_legacy(const char *directory, const char *viewname,
      const char *suffix,\n\t  char *buffer, size_t buflen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/view.c:1748,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1751,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1752,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:1755,1
    - Dst: mdb_env_close
      Src: /src/bind9/lib/dns/view.c:1760,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:1765,1
    - Dst: dns_view_t*::cfg_destroy
      Src: /src/bind9/lib/dns/view.c:1770,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1778,1
    - Dst: nz_legacy
      Src: /src/bind9/lib/dns/view.c:1778,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:1781,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1784,1
    - Dst: nz_legacy
      Src: /src/bind9/lib/dns/view.c:1784,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:1787,1
    - Dst: mdb_env_create
      Src: /src/bind9/lib/dns/view.c:1789,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/view.c:1791,1
    - Dst: mdb_strerror
      Src: /src/bind9/lib/dns/view.c:1793,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1794,1
    - Dst: mdb_env_set_mapsize
      Src: /src/bind9/lib/dns/view.c:1798,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/view.c:1800,1
    - Dst: mdb_strerror
      Src: /src/bind9/lib/dns/view.c:1803,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1804,1
    - Dst: mdb_env_open
      Src: /src/bind9/lib/dns/view.c:1809,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/view.c:1811,1
    - Dst: mdb_strerror
      Src: /src/bind9/lib/dns/view.c:1813,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1814,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:1827,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:1832,1
    - Dst: mdb_env_close
      Src: /src/bind9/lib/dns/view.c:1835,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 4
    argNames:
    - view
    - allow
    - cfgctx
    - mapsize
    argTypes:
    - dns_view_t*
    - bool
    - void*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1737
    functionDepth: 5
    functionLinenumber: 1737
    functionLinenumberEnd: 1843
    functionName: dns_view_setnewzones
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - mdb_env_create
    - mdb_env_set_mapsize
    - isc_mem_free
    - mdb_env_open
    - UNUSED
    - nz_legacy
    - mdb_strerror
    - DNS_VIEW_VALID
    - mdb_env_close
    - dns_view_t*::cfg_destroy
    - REQUIRE
    - CHECK
    - isc_mem_strdup
    - isc_log_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_setnewzones(dns_view_t *view, bool allow, void
      *cfgctx,\n\t\t     void (*cfg_destroy)(void **), uint64_t mapsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1847,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1847,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:1850,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:1857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - view
    - dir
    argTypes:
    - dns_view_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1845
    functionDepth: 1
    functionLinenumber: 1845
    functionLinenumberEnd: 1858
    functionName: dns_view_setnewzonedir
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - isc_mem_strdup
    - DNS_VIEW_VALID
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_view_setnewzonedir(dns_view_t *view, const char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1862,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1865
    functionName: dns_view_getnewzonedir
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_view_getnewzonedir(dns_view_t *view)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1882,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1882,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1884,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1887,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/view.c:1890,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:1892,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1893,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/view.c:1893,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1907,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/view.c:1909,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1922,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:1925,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:1926,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1927,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1931,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1936,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:1942,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 6
    argNames:
    - view
    - name
    - minlabels
    - methods
    - clientinfo
    - dbp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - unsigned int
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1948
    functionName: dns_view_searchdlz
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_DLZ_VALID
    - dns_name_countlabels
    - dns_name_split
    - dns_fixedname_initname
    - dns_db_detach
    - dns_db_attach
    - INSIST
    - DNS_VIEW_VALID
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_searchdlz(dns_view_t *view, const dns_name_t
      *name,\n\t\t   unsigned int minlabels, dns_clientinfomethods_t *methods,\n\t\t
      \  dns_clientinfo_t *clientinfo, dns_db_t **dbp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1952,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1950
    functionDepth: 1
    functionLinenumber: 1950
    functionLinenumberEnd: 1954
    functionName: dns_view_getfailttl
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_view_getfailttl(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1958,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - fail_ttl
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1960
    functionName: dns_view_setfailttl
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_setfailttl(dns_view_t *view, uint32_t fail_ttl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1969,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1969,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1976,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/view.c:1976,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/lib/dns/view.c:1978,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1984,1
    - Dst: dns_ntatable_save
      Src: /src/bind9/lib/dns/view.c:1987,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/view.c:1992,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:1998,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/view.c:2002,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/view.c:2007,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1962
    functionDepth: 2
    functionLinenumber: 1962
    functionLinenumberEnd: 2011
    functionName: dns_view_saventa
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - dns_view_getntatable
    - isc_file_remove
    - DNS_VIEW_VALID
    - CHECK
    - isc_stdio_open
    - REQUIRE
    - dns_ntatable_detach
    - dns_ntatable_save
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_saventa(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2014
    functionName: TSTR
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TSTR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2015
    functionName: TLEN
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TLEN(t)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/view.c:2022,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2024,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2024,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/view.c:2030,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2031,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/view.c:2031,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2032,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/lib/dns/view.c:2032,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2044,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:2044,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2048,1
    - Dst: TSTR
      Src: /src/bind9/lib/dns/view.c:2050,1
    - Dst: TLEN
      Src: /src/bind9/lib/dns/view.c:2051,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:2053,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:2057,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:2059,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/view.c:2060,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2061,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/view.c:2061,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2065,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:2065,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2067,1
    - Dst: TSTR
      Src: /src/bind9/lib/dns/view.c:2069,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:2071,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:2073,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2076,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2079,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:2079,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2081,1
    - Dst: TSTR
      Src: /src/bind9/lib/dns/view.c:2083,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2084,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/view.c:2084,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2086,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:2086,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2090,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/lib/dns/view.c:2098,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/view.c:2101,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/view.c:2102,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:2110,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/dns/view.c:2114,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/view.c:2115,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2016
    functionDepth: 3
    functionLinenumber: 2016
    functionLinenumberEnd: 2119
    functionName: dns_view_loadnta
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - isc_log_write
    - TSTR
    - REQUIRE
    - isc_lex_create
    - dns_fixedname_initname
    - TLEN
    - isc_stdtime_now
    - dns_time32_fromtext
    - dns_name_format
    - dns_ntatable_add
    - dns_name_fromtext
    - isc_lex_close
    - isc_lex_openfile
    - dns_ntatable_detach
    - isc_lex_gettoken
    - isc_lex_destroy
    - dns_view_getntatable
    - isc_buffer_init
    - CHECK
    - isc_buffer_add
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_loadnta(dns_view_t *view)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2126,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2126,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:2128,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:2131,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:2134,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:2137,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2139,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2140,1
    - Dst: dns_zt_setviewcommit
      Src: /src/bind9/lib/dns/view.c:2142,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2144,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/lib/dns/view.c:2147,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:2148,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/lib/dns/view.c:2151,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:2152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2154
    functionName: dns_view_setviewcommit
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - dns_zone_setviewcommit
    - dns_zone_attach
    - rcu_dereference
    - LOCK
    - UNLOCK
    - dns_zone_detach
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_zt_setviewcommit
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_view_setviewcommit(dns_view_t *view)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2161,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2161,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:2167,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:2169,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:2172,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:2174,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/lib/dns/view.c:2177,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:2178,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/lib/dns/view.c:2181,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:2182,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2184,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2185,1
    - Dst: dns_zt_setviewrevert
      Src: /src/bind9/lib/dns/view.c:2187,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2190
    functionName: dns_view_setviewrevert
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_zone_attach
    - rcu_dereference
    - LOCK
    - dns_zone_setviewrevert
    - UNLOCK
    - dns_zone_detach
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_zt_setviewrevert
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_view_setviewrevert(dns_view_t *view)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2197,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2197,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/lib/dns/view.c:2199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2192
    functionDepth: 1
    functionLinenumber: 2192
    functionLinenumberEnd: 2212
    functionName: dns_view_staleanswerenabled
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 4
    functionsReached:
    - DNS_VIEW_VALID
    - dns_db_getservestalettl
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_view_staleanswerenabled(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2216,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - flush
    argTypes:
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2219
    functionName: dns_view_flushonshutdown
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_flushonshutdown(dns_view_t *view, bool flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2225,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2225,1
    - Dst: dns_nametree_add
      Src: /src/bind9/lib/dns/view.c:2227,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/view.c:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2229
    functionName: dns_view_sfd_add
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - DNS_VIEW_VALID
    - dns_nametree_add
    - REQUIRE
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void dns_view_sfd_add(dns_view_t *view, const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2233,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2233,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/lib/dns/view.c:2235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2231
    functionDepth: 1
    functionLinenumber: 2231
    functionLinenumberEnd: 2236
    functionName: dns_view_sfd_del
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_nametree_delete
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_sfd_del(dns_view_t *view, const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2241,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2241,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/view.c:2243,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:2244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - view
    - name
    - foundname
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2246
    functionName: dns_view_sfd_find
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - DNS_VIEW_VALID
    - dns_nametree_covered
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_view_sfd_find(dns_view_t *view, const dns_name_t *name,\n\t\t
      \ dns_name_t *foundname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2251,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2252,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:2253,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/view.c:2255,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:2260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - view
    - resolverp
    argTypes:
    - dns_view_t*
    - dns_resolver_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2262
    functionName: dns_view_getresolver
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_resolver_attach
    - LOCK
    - UNLOCK
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_getresolver(dns_view_t *view, dns_resolver_t
      **resolverp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2266,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2266,1
    - Dst: dns_cache_setmaxrrperset
      Src: /src/bind9/lib/dns/view.c:2269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - view
    - value
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2271
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2271
    functionName: dns_view_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - dns_cache_setmaxrrperset
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_setmaxrrperset(dns_view_t *view, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2275,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2275,1
    - Dst: dns_cache_setmaxtypepername
      Src: /src/bind9/lib/dns/view.c:2278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - view
    - value
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2280
    functionName: dns_view_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_cache_setmaxtypepername
    linkageType: ''
    returnType: void
    signature: void dns_view_setmaxtypepername(dns_view_t *view, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2284,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - udpsize
    argTypes:
    - dns_view_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2282
    functionDepth: 1
    functionLinenumber: 2282
    functionLinenumberEnd: 2286
    functionName: dns_view_setudpsize
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_setudpsize(dns_view_t *view, uint16_t udpsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2290,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2288
    functionDepth: 1
    functionLinenumber: 2288
    functionLinenumberEnd: 2292
    functionName: dns_view_getudpsize
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dns_view_getudpsize(dns_view_t *view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2296,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2296,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2298,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2299,1
    - Dst: dns_dispatchmgr_ref
      Src: /src/bind9/lib/dns/view.c:2301,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2294
    functionDepth: 1
    functionLinenumber: 2294
    functionLinenumberEnd: 2306
    functionName: dns_view_getdispatchmgr
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - rcu_dereference
    - dns_dispatchmgr_ref
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: dns_dispatchmgr_t
    signature: 'dns_dispatchmgr_t *

      dns_view_getdispatchmgr(dns_view_t *view)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/view.c:2312,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2319,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2319,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2320,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:2327,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/view.c:2328,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/view.c:2329,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/view.c:2329,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2330,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/view.c:2330,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2334,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/view.c:2334,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2336,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/view.c:2336,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2340,1
    - Dst: dns_keytable_add
      Src: /src/bind9/lib/dns/view.c:2340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - view
    - rdtype
    - keyname
    - databuf
    argTypes:
    - dns_view_t*
    - dns_rdatatype_t
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2308
    functionDepth: 2
    functionLinenumber: 2308
    functionLinenumberEnd: 2345
    functionName: dns_view_addtrustedkey
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - dns_ds_fromkeyrdata
    - dns_keytable_add
    - dns_rdata_fromwire
    - isc_buffer_init
    - DNS_VIEW_VALID
    - CHECK
    - UNCONST
    - REQUIRE
    - isc_buffer_usedlength
    - isc_buffer_setactive
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_addtrustedkey(dns_view_t *view, dns_rdatatype_t
      rdtype,\n\t\t       const dns_name_t *keyname, isc_buffer_t *databuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2353,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2353,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2355,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2356,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/view.c:2358,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - view
    - stop
    - sub
    - uap
    argTypes:
    - dns_view_t*
    - bool
    - isc_result_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2364
    functionName: dns_view_apply
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 6
    functionsReached:
    - dns_zt_apply
    - rcu_dereference
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_apply(dns_view_t *view, bool stop, isc_result_t
      *sub,\n\t       isc_result_t (*action)(dns_zone_t *, void *), void *uap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2370,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2370,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2371,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2373,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2374,1
    - Dst: dns_adb_attach
      Src: /src/bind9/lib/dns/view.c:2376,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - view
    - adbp
    argTypes:
    - dns_view_t*
    - dns_adb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2379
    functionName: dns_view_getadb
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 7
    functionsReached:
    - rcu_dereference
    - dns_adb_attach
    - rcu_read_unlock
    - DNS_VIEW_VALID
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_view_getadb(dns_view_t *view, dns_adb_t **adbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2383,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - view
    - max_restarts
    argTypes:
    - dns_view_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2381
    functionDepth: 1
    functionLinenumber: 2381
    functionLinenumberEnd: 2387
    functionName: dns_view_setmaxrestarts
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_setmaxrestarts(dns_view_t *view, uint8_t max_restarts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2391,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2391,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - view
    - max_queries
    argTypes:
    - dns_view_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2389
    functionDepth: 1
    functionLinenumber: 2389
    functionLinenumberEnd: 2395
    functionName: dns_view_setmaxqueries
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - DNS_VIEW_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_view_setmaxqueries(dns_view_t *view, uint16_t max_queries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: CHECKNAMESFAIL
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKNAMESFAIL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: DNS_LCTX_VALID
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_LCTX_VALID(lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: DNS_AS_STR
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_AS_STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: LCTX_MANYERRORS
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LCTX_MANYERRORS(lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - lexer
    - ','
    - options
    - ','
    - token
    - ','
    - eol
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: GETTOKENERR
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTOKENERR(lexer, options, token, eol, err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lexer
    - ','
    - options
    - ','
    - token
    - ','
    - eol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: GETTOKEN
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETTOKEN(lexer, options, token, eol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lexer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: WARNUNEXPECTEDEOF
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WARNUNEXPECTEDEOF(lexer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lctx
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: MANYERRS
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MANYERRS(lctx, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lctx
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: SETRESULT
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETRESULT(lctx, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - result
    - ','
    - filename
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: LOGITFILE
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGITFILE(result, filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: LOGIT
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOGIT(result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 340
    functionName: dns_master_isprimary
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_master_isprimary(dns_loadctx_t *lctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/master.c:349,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:356,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:357,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:358,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:371,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - lex
    - options
    - token
    - eol
    - callbacks
    argTypes:
    - isc_lex_t*
    - unsigned int
    - isc_token_t*
    - bool
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 388
    functionName: gettoken
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 52
    functionsReached:
    - isc_result_totext
    - isc_lex_gettoken
    - isc_lex_getsourcename
    - isc_lex_getsourceline
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t gettoken(isc_lex_t *lex, unsigned int options, isc_token_t
      *token, bool eol,\n\t dns_rdatacallbacks_t *callbacks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:392,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:393,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:393,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/master.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_loadctx_t*
    - dns_loadctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 398
    functionName: dns_loadctx_attach
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - DNS_LCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_loadctx_attach(dns_loadctx_t *source, dns_loadctx_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:404,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:407,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:407,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/master.c:409,1
    - Dst: loadctx_destroy
      Src: /src/bind9/lib/dns/master.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - lctxp
    argTypes:
    - dns_loadctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 412
    functionName: dns_loadctx_detach
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - loadctx_destroy
    - DNS_LCTX_VALID
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_loadctx_detach(dns_loadctx_t **lctxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - ictx
    argTypes:
    - isc_mem_t*
    - dns_incctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 428
    functionName: incctx_destroy
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void incctx_destroy(isc_mem_t *mctx, dns_incctx_t *ictx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:432,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:432,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/master.c:434,1
    - Dst: incctx_destroy
      Src: /src/bind9/lib/dns/master.c:438,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/master.c:442,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:444,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:445,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/master.c:451,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/master.c:454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 455
    functionName: loadctx_destroy
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - incctx_destroy
    - UNEXPECTED_ERROR
    - isc_mem_putanddetach
    - isc_result_totext
    - DNS_LCTX_VALID
    - REQUIRE
    - isc_refcount_destroy
    - isc_stdio_close
    - isc_lex_destroy
    linkageType: ''
    returnType: void
    signature: void loadctx_destroy(dns_loadctx_t *lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:463,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/master.c:466,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/master.c:471,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/master.c:473,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - mctx
    - origin
    - ictxp
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_incctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 487
    functionName: incctx_create
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_fixedname_name
    - isc_mem_get
    - dns_name_toregion
    - dns_fixedname_init
    linkageType: ''
    returnType: void
    signature: void incctx_create(isc_mem_t *mctx, dns_name_t *origin, dns_incctx_t
      **ictxp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:499,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:500,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:501,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:502,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:503,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:505,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/master.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:506,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/master.c:506,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:508,1
    - Dst: incctx_create
      Src: /src/bind9/lib/dns/master.c:527,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/master.c:539,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/master.c:548,1
    - Dst: memset
      Src: /src/bind9/lib/dns/master.c:554,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/dns/master.c:559,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/master.c:560,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/master.c:563,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:565,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/master.c:566,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:567,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/master.c:569,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/master.c:571,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/master.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 14
    argNames:
    - format
    - mctx
    - options
    - resign
    - top
    - zclass
    - origin
    - callbacks
    - done
    - done_arg
    - include_cb
    - include_arg
    - lex
    - lctxp
    argTypes:
    - dns_masterformat_t
    - isc_mem_t*
    - unsigned int
    - uint32_t
    - dns_name_t*
    - dns_rdataclass_t
    - dns_name_t*
    - dns_rdatacallbacks_t*
    - dns_loaddonefunc_t
    - void*
    - dns_masterincludecb_t
    - void*
    - isc_lex_t*
    - dns_loadctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 577
    functionName: loadctx_create
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_mem_attach
    - UNREACHABLE
    - dns_master_initrawheader
    - isc_lex_create
    - memset
    - dns_fixedname_initname
    - isc_lex_setcomments
    - incctx_create
    - isc_lex_setspecials
    - isc_mem_get
    - dns_name_toregion
    - isc_refcount_init
    - REQUIRE
    - isc_stdtime_now
    - dns_name_isabsolute
    linkageType: ''
    returnType: void
    signature: "void loadctx_create(dns_masterformat_t format, isc_mem_t *mctx, unsigned
      int options,\n\t       uint32_t resign, dns_name_t *top, dns_rdataclass_t zclass,\n\t
      \      dns_name_t *origin, dns_rdatacallbacks_t *callbacks,\n\t       dns_loaddonefunc_t
      done, void *done_arg,\n\t       dns_masterincludecb_t include_cb, void *include_arg,\n\t
      \      isc_lex_t *lex, dns_loadctx_t **lctxp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - numbuf
    - length
    - width
    - mode
    - value
    argTypes:
    - char*
    - size_t
    - unsigned int
    - char
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 631
    functionName: nibbles
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int nibbles(char *numbuf, size_t length, unsigned int width,
      char mode,\n\tunsigned int value)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:659,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/master.c:663,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/master.c:666,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/master.c:678,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/master.c:688,1
    - Dst: nibbles
      Src: /src/bind9/lib/dns/master.c:709,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/master.c:712,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:724,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:731,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:739,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:745,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 4
    argNames:
    - name
    - it
    - buffer
    - length
    argTypes:
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 753
    functionName: genname
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - isc_textregion_consume
    - nibbles
    - snprintf
    - sscanf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t genname(char *name, int it, char *buffer, size_t length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:780,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:781,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:783,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:784,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:785,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:786,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/master.c:788,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:805,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/master.c:806,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:818,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/master.c:818,1
    - Dst: genname
      Src: /src/bind9/lib/dns/master.c:826,1
    - Dst: genname
      Src: /src/bind9/lib/dns/master.c:830,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:835,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:835,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:836,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:836,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:837,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:837,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/master.c:838,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:843,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:844,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:847,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:858,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:858,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:859,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:859,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:860,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:860,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/dns/master.c:862,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:867,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/master.c:868,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/master.c:871,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/dns/master.c:871,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/master.c:876,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/master.c:880,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:881,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:882,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:883,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/master.c:887,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:894,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:897,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:901,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:904,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:907,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 107
    argCount: 7
    argNames:
    - lctx
    - range
    - lhs
    - gtype
    - rhs
    - source
    - line
    argTypes:
    - dns_loadctx_t*
    - char*
    - char*
    - char*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 910
    functionName: generate
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_PREPEND
    - dns_rdatalist_init
    - commit
    - isc_buffer_setactive
    - sscanf
    - dns_master_isprimary
    - dns_rdata_reset
    - genname
    - dns_name_issubdomain
    - isc_mem_put
    - dns_fixedname_initname
    - dns_name_format
    - ISC_LIST_INIT
    - dns_name_fromtext
    - RUNTIME_CHECK
    - isc_lex_close
    - dns_rdatatype_ismeta
    - INSIST
    - isc_mem_get
    - strlen
    - dns_rdata_fromtext
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_add
    - isc_lex_openbuffer
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t generate(dns_loadctx_t *lctx, char *range, char *lhs,
      char *gtype, char *rhs,\n\t const char *source, unsigned int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - callbacks
    - source
    - line
    - ttlp
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    - unsigned int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 923
    functionName: limit_ttl
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void limit_ttl(dns_rdatacallbacks_t *callbacks, const char *source,\n\t
      \ unsigned int line, uint32_t *ttlp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:942,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:942,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:946,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:947,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/master.c:949,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/master.c:950,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:959,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - lctx
    - token
    - source
    - line
    argTypes:
    - dns_loadctx_t*
    - isc_token_t*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 965
    functionName: check_ns
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - DNS_AS_STR
    - strlen
    - inet_pton
    - isc_mem_strdup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_ns(dns_loadctx_t *lctx, isc_token_t *token, const
      char *source,\n\t unsigned long line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_internalwildcard
      Src: /src/bind9/lib/dns/master.c:973,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ictx
    - source
    - line
    - callbacks
    argTypes:
    - dns_incctx_t*
    - char*
    - unsigned long
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: check_wildcard
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_name_internalwildcard
    linkageType: ''
    returnType: void
    signature: "void check_wildcard(dns_incctx_t *ictx, const char *source, unsigned
      long line,\n\t       dns_rdatacallbacks_t *callbacks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/master.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lctx
    - master_file
    argTypes:
    - dns_loadctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 987
    functionName: openfile_text
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_lex_openfile
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openfile_text(dns_loadctx_t *lctx, const char *master_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - incctx
    argTypes:
    - dns_incctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1000
    functionName: find_free_name
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: int
    signature: int find_free_name(dns_incctx_t *incctx)
  - BBCount: 145
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:1049,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:1049,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:1054,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:1055,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:1061,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:1062,1
    - Dst: dns_rdatacallbacks_t*::setup
      Src: /src/bind9/lib/dns/master.c:1067,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1082,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/master.c:1086,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1092,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1093,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1095,1
    - Dst: WARNUNEXPECTEDEOF
      Src: /src/bind9/lib/dns/master.c:1099,1
    - Dst: incctx_destroy
      Src: /src/bind9/lib/dns/master.c:1106,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/master.c:1107,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/dns/master.c:1107,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1109,1
    - Dst: POST
      Src: /src/bind9/lib/dns/master.c:1110,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1111,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1143,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1143,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1144,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1146,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1146,1
    - Dst: GETTOKENERR
      Src: /src/bind9/lib/dns/master.c:1147,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/master.c:1150,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1152,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1153,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1158,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1163,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1163,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1189,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1192,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1195,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1195,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1196,1
    - Dst: WARNUNEXPECTEDEOF
      Src: /src/bind9/lib/dns/master.c:1202,1
    - Dst: pushfile
      Src: /src/bind9/lib/dns/master.c:1207,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1209,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1210,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1211,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1214,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1218,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1220,1
    - Dst: POST
      Src: /src/bind9/lib/dns/master.c:1221,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1230,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1230,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/master.c:1234,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1235,1
    - Dst: dns_time64_fromtext
      Src: /src/bind9/lib/dns/master.c:1236,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1236,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1238,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1239,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:1240,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1247,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1255,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1265,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1265,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1272,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1275,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1278,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1281,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1285,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1286,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1286,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1288,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1289,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1289,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1293,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1294,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1299,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/master.c:1302,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1306,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1310,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1314,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1319,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1322,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1322,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1324,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1326,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1326,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1336,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1337,1
    - Dst: generate
      Src: /src/bind9/lib/dns/master.c:1355,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1357,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1358,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/master.c:1364,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1364,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1370,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1372,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1373,1
    - Dst: find_free_name
      Src: /src/bind9/lib/dns/master.c:1382,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:1383,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:1385,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:1387,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:1388,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/master.c:1390,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1392,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1393,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:1394,1
    - Dst: pushfile
      Src: /src/bind9/lib/dns/master.c:1420,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1421,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1422,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1423,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1426,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1431,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1432,1
    - Dst: POST
      Src: /src/bind9/lib/dns/master.c:1433,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/master.c:1448,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:1450,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1453,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1454,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/master.c:1477,1
    - Dst: is_glue
      Src: /src/bind9/lib/dns/master.c:1480,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:1489,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1493,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1494,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:1510,1
    - Dst: check_wildcard
      Src: /src/bind9/lib/dns/master.c:1519,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1523,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1524,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1527,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1542,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1546,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1547,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:1548,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1567,1
    - Dst: WARNUNEXPECTEDEOF
      Src: /src/bind9/lib/dns/master.c:1576,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/master.c:1578,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1588,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1589,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1600,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1602,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1616,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1620,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/master.c:1624,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1627,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1630,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1634,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1637,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1638,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1647,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1651,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1655,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1658,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1659,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/master.c:1667,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1674,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1675,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/master.c:1690,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/master.c:1692,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1700,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1701,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1717,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/master.c:1724,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1727,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1728,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1729,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1739,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/master.c:1739,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/master.c:1744,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1747,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1748,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1749,1
    - Dst: grow_rdata
      Src: /src/bind9/lib/dns/master.c:1759,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1773,1
    - Dst: check_ns
      Src: /src/bind9/lib/dns/master.c:1774,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/master.c:1775,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1777,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1778,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/master.c:1795,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1800,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1802,1
    - Dst: CHECKNAMESFAIL
      Src: /src/bind9/lib/dns/master.c:1803,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1809,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1810,1
    - Dst: dns_name_isdnssd
      Src: /src/bind9/lib/dns/master.c:1821,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1822,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1823,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1824,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/master.c:1833,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/master.c:1835,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1838,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1839,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/master.c:1852,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1855,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1862,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1863,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/lib/dns/master.c:1876,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1883,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1884,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1885,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/master.c:1894,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1895,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/master.c:1896,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1901,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/master.c:1903,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1909,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1910,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/master.c:1918,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/master.c:1919,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/lib/dns/master.c:1930,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1931,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1947,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1948,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/master.c:1966,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/master.c:1968,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/master.c:1969,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1979,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/master.c:2011,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/master.c:2013,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/master.c:2020,1
    - Dst: grow_rdatalist
      Src: /src/bind9/lib/dns/master.c:2025,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/master.c:2033,1
    - Dst: ISC_LIST_INITANDPREPEND
      Src: /src/bind9/lib/dns/master.c:2039,1
    - Dst: ISC_LIST_INITANDPREPEND
      Src: /src/bind9/lib/dns/master.c:2041,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2065,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2086,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:2088,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:2089,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2093,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:2095,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:2096,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:2108,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2111,1
    - Dst: dns_rdatacallbacks_t*::commit
      Src: /src/bind9/lib/dns/master.c:2116,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2120,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2123,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2126,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2130,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:2133,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2136,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2139,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2142,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2145,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2148,1
    CyclomaticComplexity: 246
    EdgeCount: 246
    ICount: 748
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 1002
    functionDepth: 4
    functionLinenumber: 1002
    functionLinenumberEnd: 2152
    functionName: load_text
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - REQUIRE
    - isc_buffer_setactive
    - generate
    - dns_master_isprimary
    - dns_rdata_tostruct
    - ISC_LIST_HEAD
    - dns_name_issubdomain
    - ISC_LIST_INITANDPREPEND
    - ISC_LIST_INIT
    - dns_rdatatype_format
    - isc_lex_ungettoken
    - RUNTIME_CHECK
    - isc_mem_get
    - dns_rdata_fromtext
    - dns_name_isdnssd
    - dns_rdata_checkowner
    - DNS_AS_STR
    - isc_result_totext
    - isc_buffer_init
    - isc_mem_cput
    - check_wildcard
    - dns_rdatacallbacks_t*::commit
    - dns_name_format
    - dns_rdataclass_fromtext
    - dns_name_fromtext
    - UNEXPECTED_ERROR
    - dns_rdatatype_ismeta
    - INSIST
    - atomic_load_acquire
    - isc_mem_strdup
    - LOGITFILE
    - find_free_name
    - dns_rdatatype_atparent
    - DNS_LCTX_VALID
    - isc_buffer_add
    - POST
    - isc_mem_put
    - LOGIT
    - incctx_destroy
    - dns_rdatalist_init
    - dns_time64_fromtext
    - commit
    - limit_ttl
    - dns_fixedname_initname
    - grow_rdata
    - dns_ttl_fromtext
    - dns_rdataclass_format
    - grow_rdatalist
    - ISC_LIST_NEXT
    - GETTOKEN
    - GETTOKENERR
    - CHECKNAMESFAIL
    - dns_name_caseequal
    - ISC_LIST_APPEND
    - isc_mem_free
    - MANYERRS
    - dns_name_equal
    - dns_soa_getminimum
    - dns_rdatatype_fromtext
    - SETRESULT
    - isc_lex_getsourceline
    - isc_serial_lt
    - isc_stdtime_now
    - WARNUNEXPECTEDEOF
    - strcasecmp
    - isc_lex_close
    - isc_lex_getsourcename
    - is_glue
    - ISC_LIST_UNLINK
    - dns_rdatatype_issig
    - strncasecmp
    - dns_rdata_checksvcb
    - dns_rdata_covers
    - pushfile
    - check_ns
    - dns_rdatacallbacks_t*::setup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_text(dns_loadctx_t *lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2119
    functionDepth: 1
    functionLinenumber: 2119
    functionLinenumberEnd: 2121
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 142
    functionsReached:
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (current_list, this, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2124
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 142
    functionsReached:
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (glue_list, this, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2162,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:2162,1
    - Dst: incctx_create
      Src: /src/bind9/lib/dns/master.c:2167,1
    - Dst: find_free_name
      Src: /src/bind9/lib/dns/master.c:2176,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/master.c:2177,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/master.c:2180,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:2182,1
    - Dst: dns_loadctx_t*::include_cb
      Src: /src/bind9/lib/dns/master.c:2194,1
    - Dst: incctx_destroy
      Src: /src/bind9/lib/dns/master.c:2199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - master_file
    - origin
    - lctx
    argTypes:
    - char*
    - dns_name_t*
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2154
    functionDepth: 2
    functionLinenumber: 2154
    functionLinenumberEnd: 2201
    functionName: pushfile
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - incctx_destroy
    - find_free_name
    - dns_loadctx_t*::include_cb
    - incctx_create
    - dns_fixedname_name
    - dns_name_toregion
    - DNS_LCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t pushfile(const char *master_file, dns_name_t *origin,
      dns_loadctx_t *lctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2212,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2215,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2215,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2216,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/master.c:2216,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2221,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/master.c:2226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - do_read
    - buffer
    - len
    - f
    - totallen
    argTypes:
    - bool
    - isc_buffer_t*
    - size_t
    - FILE*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2207
    functionDepth: 2
    functionLinenumber: 2207
    functionLinenumberEnd: 2231
    functionName: read_and_check
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_stdio_read
    - isc_buffer_remaininglength
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_used
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t read_and_check(bool do_read, isc_buffer_t *buffer, size_t
      len, FILE *f,\n\t       uint32_t *totallen)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2243,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:2243,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/master.c:2250,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2252,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:2253,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2255,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:2257,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2258,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2262,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2263,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2271,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2287,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:2289,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2290,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2294,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2295,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2297,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2298,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2233
    functionDepth: 3
    functionLinenumber: 2233
    functionLinenumberEnd: 2306
    functionName: load_header
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_master_initrawheader
    - UNEXPECTED_ERROR
    - INSIST
    - isc_stdio_read
    - isc_buffer_init
    - isc_result_totext
    - isc_buffer_getuint32
    - DNS_LCTX_VALID
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_header(dns_loadctx_t *lctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/master.c:2312,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:2314,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lctx
    - master_file
    argTypes:
    - dns_loadctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2308
    functionDepth: 2
    functionLinenumber: 2308
    functionLinenumberEnd: 2319
    functionName: openfile_raw
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - isc_stdio_open
    - UNEXPECTED_ERROR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openfile_raw(dns_loadctx_t *lctx, const char *master_file)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: load_header
      Src: /src/bind9/lib/dns/master.c:2342,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2348,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2349,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:2355,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:2356,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:2358,1
    - Dst: dns_rdatacallbacks_t*::setup
      Src: /src/bind9/lib/dns/master.c:2362,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/master.c:2381,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2382,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2382,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2383,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2392,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2393,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/master.c:2408,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2409,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2431,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2435,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/master.c:2439,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2440,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2445,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2446,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2447,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2448,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2453,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/dns/master.c:2453,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2456,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2461,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2467,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:2473,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/master.c:2474,1
    - Dst: grow_rdata
      Src: /src/bind9/lib/dns/master.c:2495,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/master.c:2505,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2508,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2512,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2515,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2516,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2519,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/master.c:2521,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/master.c:2528,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2536,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2542,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2545,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:2550,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:2557,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/master.c:2557,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/master.c:2559,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2565,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/master.c:2573,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2578,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2581,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2584,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/master.c:2585,1
    - Dst: dns_rdatacallbacks_t*::commit
      Src: /src/bind9/lib/dns/master.c:2604,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2608,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:2611,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2615,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 180
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2321
    functionDepth: 4
    functionLinenumber: 2321
    functionLinenumberEnd: 2619
    functionName: load_raw
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_init
    - commit
    - isc_buffer_current
    - dns_name_fromwire
    - isc_buffer_setactive
    - dns_rdatacallbacks_t*::commit
    - dns_rdata_reset
    - dns_fixedname_initname
    - grow_rdata
    - ISC_LIST_INIT
    - isc_buffer_clear
    - dns_rdata_fromwire
    - INSIST
    - isc_stdio_read
    - read_and_check
    - isc_mem_get
    - isc_buffer_remaininglength
    - ISC_LIST_UNLINK
    - isc_buffer_getuint16
    - isc_buffer_availablelength
    - ISC_LIST_APPEND
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_getuint32
    - isc_buffer_consumedlength
    - isc_buffer_add
    - isc_mem_put
    - load_header
    - isc_mem_cput
    - dns_rdatacallbacks_t*::setup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_raw(dns_loadctx_t *lctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2632,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2644,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 12
    argNames:
    - master_file
    - top
    - origin
    - zclass
    - options
    - resign
    - callbacks
    - include_cb
    - include_arg
    - mctx
    - format
    - maxttl
    argTypes:
    - char*
    - dns_name_t*
    - dns_name_t*
    - dns_rdataclass_t
    - unsigned int
    - uint32_t
    - dns_rdatacallbacks_t*
    - dns_masterincludecb_t
    - void*
    - isc_mem_t*
    - dns_masterformat_t
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2621
    functionDepth: 3
    functionLinenumber: 2621
    functionLinenumberEnd: 2649
    functionName: dns_master_loadfile
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 2
    functionsReached:
    - loadctx_create
    - dns_loadctx_detach
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_loadfile(const char *master_file, dns_name_t
      *top,\n\t\t    dns_name_t *origin, dns_rdataclass_t zclass,\n\t\t    unsigned
      int options, uint32_t resign,\n\t\t    dns_rdatacallbacks_t *callbacks,\n\t\t
      \   dns_masterincludecb_t include_cb, void *include_arg,\n\t\t    isc_mem_t
      *mctx, dns_masterformat_t format,\n\t\t    dns_ttl_t maxttl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2655
    functionName: load
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 113
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2657
    functionDepth: 2
    functionLinenumber: 2657
    functionLinenumberEnd: 2663
    functionName: load_done
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_loadctx_detach
    linkageType: ''
    returnType: void
    signature: void load_done(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2679,1
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2681,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2689,1
    - Dst: dns_loadctx_attach
      Src: /src/bind9/lib/dns/master.c:2693,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/master.c:2694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 16
    argNames:
    - master_file
    - top
    - origin
    - zclass
    - options
    - resign
    - callbacks
    - loop
    - done
    - done_arg
    - lctxp
    - include_cb
    - include_arg
    - mctx
    - format
    - maxttl
    argTypes:
    - char*
    - dns_name_t*
    - dns_name_t*
    - dns_rdataclass_t
    - unsigned int
    - uint32_t
    - dns_rdatacallbacks_t*
    - isc_loop_t*
    - dns_loaddonefunc_t
    - void*
    - dns_loadctx_t**
    - dns_masterincludecb_t
    - void*
    - isc_mem_t*
    - dns_masterformat_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2665
    functionDepth: 3
    functionLinenumber: 2665
    functionLinenumberEnd: 2697
    functionName: dns_master_loadfileasync
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_work_enqueue
    - dns_loadctx_detach
    - dns_loadctx_attach
    - loadctx_create
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_loadfileasync(const char *master_file, dns_name_t
      *top,\n\t\t\t dns_name_t *origin, dns_rdataclass_t zclass,\n\t\t\t unsigned
      int options, uint32_t resign,\n\t\t\t dns_rdatacallbacks_t *callbacks, isc_loop_t
      *loop,\n\t\t\t dns_loaddonefunc_t done, void *done_arg,\n\t\t\t dns_loadctx_t
      **lctxp,\n\t\t\t dns_masterincludecb_t include_cb, void *include_arg,\n\t\t\t
      isc_mem_t *mctx, dns_masterformat_t format,\n\t\t\t uint32_t maxttl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2706,1
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2708,1
    - Dst: isc_lex_openstream
      Src: /src/bind9/lib/dns/master.c:2711,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2714,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - stream
    - top
    - origin
    - zclass
    - options
    - callbacks
    - mctx
    argTypes:
    - FILE*
    - dns_name_t*
    - dns_name_t*
    - dns_rdataclass_t
    - unsigned int
    - dns_rdatacallbacks_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2699
    functionDepth: 3
    functionLinenumber: 2699
    functionLinenumberEnd: 2718
    functionName: dns_master_loadstream
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 2
    functionsReached:
    - dns_loadctx_detach
    - INSIST
    - isc_lex_openstream
    - loadctx_create
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_loadstream(FILE *stream, dns_name_t *top,
      dns_name_t *origin,\n\t\t      dns_rdataclass_t zclass, unsigned int options,\n\t\t
      \     dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2727,1
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2729,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/dns/master.c:2732,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2738,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - buffer
    - top
    - origin
    - zclass
    - options
    - callbacks
    - mctx
    argTypes:
    - isc_buffer_t*
    - dns_name_t*
    - dns_name_t*
    - dns_rdataclass_t
    - unsigned int
    - dns_rdatacallbacks_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2720
    functionDepth: 3
    functionLinenumber: 2720
    functionLinenumberEnd: 2743
    functionName: dns_master_loadbuffer
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_loadctx_detach
    - INSIST
    - loadctx_create
    - REQUIRE
    - isc_lex_openbuffer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_loadbuffer(isc_buffer_t *buffer, dns_name_t
      *top, dns_name_t *origin,\n\t\t      dns_rdataclass_t zclass, unsigned int options,\n\t\t
      \     dns_rdatacallbacks_t *callbacks, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/dns/master.c:2755,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/master.c:2757,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2759,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2760,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2761,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2762,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2765,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2766,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2768,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2772,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2773,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2774,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2775,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2778,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2779,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2781,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2785,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 6
    argNames:
    - new_len
    - oldlist
    - old_len
    - current
    - glue
    - mctx
    argTypes:
    - int
    - dns_rdatalist_t*
    - int
    - rdatalist_head_t*
    - rdatalist_head_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2749
    functionDepth: 1
    functionLinenumber: 2749
    functionLinenumberEnd: 2790
    functionName: grow_rdatalist
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - ISC_LIST
    - ISC_LIST_APPEND
    - isc_mem_cget
    - INSIST
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - isc_mem_cput
    linkageType: ''
    returnType: dns_rdatalist_t
    signature: "dns_rdatalist_t *\ngrow_rdatalist(int new_len, dns_rdatalist_t *oldlist,
      int old_len,\n\t       rdatalist_head_t *current, rdatalist_head_t *glue,\n\t
      \      isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2765,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2766,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2770
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 143
    functionsReached:
    - ISC_LIST_APPEND
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (save, this, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2778,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2779,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2777
    functionDepth: 1
    functionLinenumber: 2777
    functionLinenumberEnd: 2783
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 143
    functionsReached:
    - ISC_LIST_APPEND
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (save, this, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/dns/master.c:2801,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/master.c:2803,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2808,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2809,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2810,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2811,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2812,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2815,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2816,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2818,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2826,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2827,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2828,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2829,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2830,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2833,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2834,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2836,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2840,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 6
    argNames:
    - new_len
    - oldlist
    - old_len
    - current
    - glue
    - mctx
    argTypes:
    - int
    - dns_rdata_t*
    - int
    - rdatalist_head_t*
    - rdatalist_head_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2796
    functionDepth: 1
    functionLinenumber: 2796
    functionLinenumberEnd: 2845
    functionName: grow_rdata
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 2
    functionsReached:
    - ISC_LIST
    - ISC_LIST_APPEND
    - isc_mem_cget
    - INSIST
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - isc_mem_cput
    linkageType: ''
    returnType: dns_rdata_t
    signature: "dns_rdata_t *\ngrow_rdata(int new_len, dns_rdata_t *oldlist, int old_len,\n\t
      \  rdatalist_head_t *current, rdatalist_head_t *glue, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2815,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2816,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2814
    functionDepth: 1
    functionLinenumber: 2814
    functionLinenumberEnd: 2820
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 144
    functionsReached:
    - ISC_LIST_APPEND
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (save, rdata, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2833,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2834,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2832
    functionDepth: 1
    functionLinenumber: 2832
    functionLinenumberEnd: 2838
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 144
    functionsReached:
    - ISC_LIST_APPEND
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (save, rdata, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/master.c:2853,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2854,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/master.c:2855,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/master.c:2856,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/master.c:2862,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/master.c:2864,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/master.c:2865,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/master.c:2870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - this
    - lctx
    argTypes:
    - dns_rdatalist_t*
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2847
    functionDepth: 1
    functionLinenumber: 2847
    functionLinenumberEnd: 2873
    functionName: resign_fromlist
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - ISC_LIST_HEAD
    - INSIST
    - isc_serial_gt
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t resign_fromlist(dns_rdatalist_t *this, dns_loadctx_t *lctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2891,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/master.c:2892,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/master.c:2893,1
    - Dst: resign_fromlist
      Src: /src/bind9/lib/dns/master.c:2902,1
    - Dst: dns_rdatacallbacks_t*::add
      Src: /src/bind9/lib/dns/master.c:2904,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:2907,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2911,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2915,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:2918,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:2919,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - callbacks
    - lctx
    - head
    - owner
    - source
    - line
    argTypes:
    - dns_rdatacallbacks_t*
    - dns_loadctx_t*
    - rdatalist_head_t*
    - dns_name_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2880
    functionDepth: 2
    functionLinenumber: 2880
    functionLinenumberEnd: 2927
    functionName: commit
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 18
    functionsReached:
    - dns_rdatalist_tordataset
    - SETRESULT
    - dns_rdatacallbacks_t*::add
    - MANYERRS
    - isc_result_totext
    - resign_fromlist
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_name_format
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t commit(dns_rdatacallbacks_t *callbacks, dns_loadctx_t
      *lctx,\n       rdatalist_head_t *head, dns_name_t *owner, const char *source,\n
      \      unsigned int line)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2942,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2952,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/master.c:2953,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/master.c:2954,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:2955,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/master.c:2956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - head
    - owner
    argTypes:
    - rdatalist_head_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2933
    functionDepth: 1
    functionLinenumber: 2933
    functionLinenumberEnd: 2961
    functionName: is_glue
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - dns_name_equal
    - ISC_LIST_FOREACH
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool is_glue(rdatalist_head_t *head, dns_name_t *owner)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2965,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:2965,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/master.c:2967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 2968
    functionName: dns_loadctx_cancel
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - atomic_store_release
    - DNS_LCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_loadctx_cancel(dns_loadctx_t *lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/master.c:2972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2973
    functionName: dns_master_initrawheader
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 6
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void dns_master_initrawheader(dns_masterrawheader_t *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ft
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: VALID_FWDTABLE
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_FWDTABLE(ft)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/forward.c:59,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/forward.c:61,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/forward.c:64,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/forward.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mctx
    - view
    - fwdtablep
    argTypes:
    - isc_mem_t*
    - dns_view_t*
    - dns_fwdtable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: dns_fwdtable_create
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 1
    functionsReached:
    - dns_qpmulti_create
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: "void dns_fwdtable_create(isc_mem_t *mctx, dns_view_t *view,\n\t\t
      \   dns_fwdtable_t **fwdtablep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/forward.c:75,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/forward.c:81,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/forward.c:82,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/forward.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - mctx
    - name
    - fwdpolicy
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_fwdpolicy_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: new_forwarders
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - isc_mem_get
    - isc_refcount_init
    - isc_mem_attach
    linkageType: ''
    returnType: dns_forwarders_t
    signature: "dns_forwarders_t *\nnew_forwarders(isc_mem_t *mctx, const dns_name_t
      *name,\n\t       dns_fwdpolicy_t fwdpolicy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/forward.c:96,1
    - Dst: VALID_FWDTABLE
      Src: /src/bind9/lib/dns/forward.c:96,1
    - Dst: new_forwarders
      Src: /src/bind9/lib/dns/forward.c:98,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/forward.c:100,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/forward.c:101,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/forward.c:106,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/forward.c:108,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/forward.c:109,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/forward.c:113,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/forward.c:114,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/forward.c:117,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/forward.c:118,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/forward.c:119,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/forward.c:120,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/forward.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - fwdtable
    - name
    - fwdrs
    - fwdpolicy
    argTypes:
    - dns_fwdtable_t*
    - dns_name_t*
    - dns_forwarderlist_t*
    - dns_fwdpolicy_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 125
    functionName: dns_fwdtable_addfwd
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 1
    functionsReached:
    - new_forwarders
    - dns_qpmulti_write
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - VALID_FWDTABLE
    - isc_mem_get
    - dns_qp_insert
    - dns_qpmulti_commit
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_forwarders_detach
    - dns_name_dup
    - dns_qp_compact
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_fwdtable_addfwd(dns_fwdtable_t *fwdtable, const dns_name_t
      *name,\n\t\t    dns_forwarderlist_t *fwdrs, dns_fwdpolicy_t fwdpolicy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/forward.c:134,1
    - Dst: VALID_FWDTABLE
      Src: /src/bind9/lib/dns/forward.c:134,1
    - Dst: new_forwarders
      Src: /src/bind9/lib/dns/forward.c:136,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/forward.c:138,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/forward.c:139,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/forward.c:143,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/forward.c:146,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/forward.c:147,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/forward.c:148,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/forward.c:149,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/forward.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - fwdtable
    - name
    - addrs
    - fwdpolicy
    argTypes:
    - dns_fwdtable_t*
    - dns_name_t*
    - isc_sockaddrlist_t*
    - dns_fwdpolicy_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: dns_fwdtable_add
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - new_forwarders
    - ISC_LIST_APPEND
    - VALID_FWDTABLE
    - isc_mem_get
    - dns_qp_insert
    - dns_qpmulti_commit
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_forwarders_detach
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_fwdtable_add(dns_fwdtable_t *fwdtable, const dns_name_t
      *name,\n\t\t isc_sockaddrlist_t *addrs, dns_fwdpolicy_t fwdpolicy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/forward.c:163,1
    - Dst: VALID_FWDTABLE
      Src: /src/bind9/lib/dns/forward.c:163,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/forward.c:165,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/forward.c:166,1
    - Dst: dns_forwarders_ref
      Src: /src/bind9/lib/dns/forward.c:171,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/forward.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fwdtable
    - name
    - forwardersp
    argTypes:
    - dns_fwdtable_t*
    - dns_name_t*
    - dns_forwarders_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: dns_fwdtable_find
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - VALID_FWDTABLE
    - dns_qp_lookup
    - dns_qpread_destroy
    - dns_forwarders_ref
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_fwdtable_find(dns_fwdtable_t *fwdtable, const dns_name_t
      *name,\n\t\t  dns_forwarders_t **forwardersp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/forward.c:182,1
    - Dst: VALID_FWDTABLE
      Src: /src/bind9/lib/dns/forward.c:182,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/forward.c:187,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/forward.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fwdtablep
    argTypes:
    - dns_fwdtable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: dns_fwdtable_destroy
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 1
    functionsReached:
    - dns_qpmulti_destroy
    - isc_mem_putanddetach
    - REQUIRE
    - VALID_FWDTABLE
    linkageType: ''
    returnType: void
    signature: void dns_fwdtable_destroy(dns_fwdtable_t **fwdtablep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/forward.c:199,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/forward.c:200,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/forward.c:202,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/forward.c:203,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/forward.c:206,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/forward.c:208,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/forward.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - forwarders
    argTypes:
    - dns_forwarders_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: destroy_forwarders
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_name_free
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void destroy_forwarders(dns_forwarders_t *forwarders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_forwarders_ref
      Src: /src/bind9/lib/dns/forward.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - dns_forwarders_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/forward.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - dns_forwarders_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/forward.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 238
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/forward.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/forward.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: FAIL
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 439
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: decode_uint32
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decode_uint32(unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - val
    - p
    argTypes:
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: encode_uint32
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void encode_uint32(uint32_t val, unsigned char *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/journal.c:131,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/journal.c:132,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/journal.c:132,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/journal.c:135,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/journal.c:140,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/journal.c:141,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/journal.c:147,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:152,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/journal.c:153,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:155,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/journal.c:157,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/journal.c:158,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/journal.c:162,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/journal.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 5
    argNames:
    - db
    - ver
    - mctx
    - op
    - tp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - isc_mem_t*
    - dns_diffop_t
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 166
    functionName: dns_db_createsoatuple
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - dns_db_detachnode
    - dns_db_findnode
    - dns_difftuple_create
    - dns_name_copy
    - UNEXPECTED_ERROR
    - dns_fixedname_initname
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_db_origin
    - dns_rdataset_init
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_createsoatuple(dns_db_t *db, dns_dbversion_t *ver,
      isc_mem_t *mctx,\n\t\t      dns_diffop_t op, dns_difftuple_t **tp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: POS_VALID
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POS_VALID(pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: POS_INVALIDATE
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POS_INVALIDATE(pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: JOURNAL_EMPTY
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JOURNAL_EMPTY(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: DNS_JOURNAL_VALID
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_JOURNAL_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:365,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - raw
    - cooked
    argTypes:
    - journal_rawpos_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: journal_pos_decode
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - decode_uint32
    linkageType: ''
    returnType: void
    signature: void journal_pos_decode(journal_rawpos_t *raw, journal_pos_t *cooked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:371,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - raw
    - cooked
    argTypes:
    - journal_rawpos_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: journal_pos_encode
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - encode_uint32
    linkageType: ''
    returnType: void
    signature: void journal_pos_encode(journal_rawpos_t *raw, journal_pos_t *cooked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:377,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/journal.c:379,1
    - Dst: journal_pos_decode
      Src: /src/bind9/lib/dns/journal.c:380,1
    - Dst: journal_pos_decode
      Src: /src/bind9/lib/dns/journal.c:381,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:382,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - raw
    - cooked
    argTypes:
    - journal_rawheader_t*
    - journal_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 385
    functionName: journal_header_decode
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - memmove
    - journal_pos_decode
    - decode_uint32
    - INSIST
    linkageType: ''
    returnType: void
    signature: void journal_header_decode(journal_rawheader_t *raw, journal_header_t
      *cooked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:391,1
    - Dst: memset
      Src: /src/bind9/lib/dns/journal.c:393,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/journal.c:394,1
    - Dst: journal_pos_encode
      Src: /src/bind9/lib/dns/journal.c:395,1
    - Dst: journal_pos_encode
      Src: /src/bind9/lib/dns/journal.c:396,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:397,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cooked
    - raw
    argTypes:
    - journal_header_t*
    - journal_rawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: journal_header_encode
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - journal_pos_encode
    - encode_uint32
    - INSIST
    linkageType: ''
    returnType: void
    signature: void journal_header_encode(journal_header_t *cooked, journal_rawheader_t
      *raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_seek
      Src: /src/bind9/lib/dns/journal.c:412,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:414,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - j
    - offset
    argTypes:
    - dns_journal_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 421
    functionName: journal_seek
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_stdio_seek
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_seek(dns_journal_t *j, uint32_t offset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/journal.c:427,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:432,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - j
    - mem
    - nbytes
    argTypes:
    - dns_journal_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 439
    functionName: journal_read
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_result_totext
    - isc_stdio_read
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_read(dns_journal_t *j, void *mem, size_t nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/journal.c:445,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:447,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - j
    - mem
    - nbytes
    argTypes:
    - dns_journal_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 454
    functionName: journal_write
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - isc_log_write
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_write(dns_journal_t *j, void *mem, size_t nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_flush
      Src: /src/bind9/lib/dns/journal.c:460,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:462,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:464,1
    - Dst: isc_stdio_sync
      Src: /src/bind9/lib/dns/journal.c:467,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:469,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 475
    functionName: journal_fsync
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_stdio_sync
    - isc_stdio_flush
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_fsync(dns_journal_t *j)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:489,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:493,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:495,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:496,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:503,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:507,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:508,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:509,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - j
    - xhdr
    argTypes:
    - dns_journal_t*
    - journal_xhdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 518
    functionName: journal_read_xhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_read
    - decode_uint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_read_xhdr(dns_journal_t *j, journal_xhdr_t *xhdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:525,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:526,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:527,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:528,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:531,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:532,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:533,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:534,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - j
    - size
    - count
    - serial0
    - serial1
    argTypes:
    - dns_journal_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 537
    functionName: journal_write_xhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_write
    - encode_uint32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t journal_write_xhdr(dns_journal_t *j, uint32_t size, uint32_t
      count,\n\t\t   uint32_t serial0, uint32_t serial1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:548,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - j
    - rrhdr
    argTypes:
    - dns_journal_t*
    - journal_rrhdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 554
    functionName: journal_read_rrhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_read
    - decode_uint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_read_rrhdr(dns_journal_t *j, journal_rrhdr_t *rrhdr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:566,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/journal.c:568,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:570,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:572,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:582,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:585,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/journal.c:587,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/journal.c:588,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/journal.c:590,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:592,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:594,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:595,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:596,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:597,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:600,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:602,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:604,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:606,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - mctx
    - downgrade
    - filename
    argTypes:
    - isc_mem_t*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 612
    functionName: journal_file_create
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - memmove
    - isc_mem_put
    - isc_stdio_close
    - isc_mem_cget
    - isc_result_totext
    - INSIST
    - isc_file_remove
    - isc_log_write
    - isc_stdio_open
    - journal_header_encode
    - ISC_CHECKED_MUL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_file_create(isc_mem_t *mctx, bool downgrade, const
      char *filename)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:622,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:624,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/journal.c:626,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/journal.c:628,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/journal.c:630,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:633,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:634,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:638,1
    - Dst: journal_file_create
      Src: /src/bind9/lib/dns/journal.c:638,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/journal.c:642,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:644,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:648,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:650,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:651,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:661,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:661,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:662,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:662,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/journal.c:664,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/journal.c:678,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:687,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:690,1
    - Dst: journal_header_decode
      Src: /src/bind9/lib/dns/journal.c:692,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:703,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:705,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:707,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:707,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/journal.c:709,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:714,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:716,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:719,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/journal.c:726,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/journal.c:727,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:734,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:735,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:746,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:750,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/journal.c:753,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:755,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/journal.c:757,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 6
    argNames:
    - mctx
    - filename
    - writable
    - create
    - downgrade
    - journalp
    argTypes:
    - isc_mem_t*
    - char*
    - bool
    - bool
    - bool
    - dns_journal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 759
    functionName: journal_open
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - dns_rdata_init
    - journal_seek
    - journal_read
    - isc_mem_putanddetach
    - memcmp
    - isc_log_write
    - REQUIRE
    - ISC_CHECKED_MUL
    - isc_mem_attach
    - decode_uint32
    - journal_file_create
    - isc_stdio_close
    - ISC_LOG_DEBUG
    - journal_header_decode
    - INSIST
    - isc_mem_get
    - isc_stdio_open
    - isc_mem_strdup
    - FAIL
    - isc_mem_free
    - isc_mem_cget
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - isc_mem_cput
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t journal_open(isc_mem_t *mctx, const char *filename, bool
      writable, bool create,\n\t     bool downgrade, dns_journal_t **journalp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:772,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/journal.c:775,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/journal.c:776,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/journal.c:781,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - mctx
    - filename
    - mode
    - journalp
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int
    - dns_journal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 790
    functionName: dns_journal_open
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - strlen
    - journal_open
    - strcmp
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_journal_open(isc_mem_t *mctx, const char *filename,
      unsigned int mode,\n\t\t dns_journal_t **journalp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/journal.c:823,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/journal.c:836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 852
    functionName: ixfr_order
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int ixfr_order(const void *av, const void *bv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:864,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:868,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:870,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:874,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:874,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:875,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:875,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:880,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:882,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:886,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:886,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:887,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:887,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:898,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:898,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:900,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:900,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:902,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:903,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/journal.c:911,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:913,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:914,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - j
    - xhdr
    - serial
    - offset
    argTypes:
    - dns_journal_t*
    - journal_xhdr_t*
    - uint32_t
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 925
    functionName: maybe_fixup_xhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_seek
    - journal_read
    - ISC_LOG_DEBUG
    - CHECK
    - isc_log_write
    - journal_read_xhdr
    - isc_serial_gt
    - isc_serial_le
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t maybe_fixup_xhdr(dns_journal_t *j, journal_xhdr_t *xhdr,
      uint32_t serial,\n\t\t off_t offset)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:949,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:949,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:951,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:964,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:970,1
    - Dst: maybe_fixup_xhdr
      Src: /src/bind9/lib/dns/journal.c:970,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:977,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:979,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - j
    - pos
    argTypes:
    - dns_journal_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 1007
    functionName: journal_next
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_seek
    - maybe_fixup_xhdr
    - journal_read_xhdr
    - CHECK
    - isc_log_write
    - REQUIRE
    - isc_serial_le
    - DNS_JOURNAL_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_next(dns_journal_t *j, journal_pos_t *pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POS_VALID
      Src: /src/bind9/lib/dns/journal.c:1023,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/dns/journal.c:1024,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1025,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - j
    - serial
    - best_guess
    argTypes:
    - dns_journal_t*
    - uint32_t
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1030
    functionName: index_find
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - POS_VALID
    - DNS_SERIAL_GT
    - DNS_SERIAL_GE
    linkageType: ''
    returnType: void
    signature: void index_find(dns_journal_t *j, uint32_t serial, journal_pos_t *best_guess)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POS_VALID
      Src: /src/bind9/lib/dns/journal.c:1053,1
    - Dst: POS_INVALIDATE
      Src: /src/bind9/lib/dns/journal.c:1067,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1071,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1072,1
    - Dst: POS_VALID
      Src: /src/bind9/lib/dns/journal.c:1072,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - j
    - pos
    argTypes:
    - dns_journal_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1078
    functionName: index_add
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - POS_VALID
    - INSIST
    - POS_INVALIDATE
    linkageType: ''
    returnType: void
    signature: void index_add(dns_journal_t *j, journal_pos_t *pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1091,1
    - Dst: POS_INVALIDATE
      Src: /src/bind9/lib/dns/journal.c:1092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - j
    - serial
    argTypes:
    - dns_journal_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1095
    functionName: index_invalidate
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - POS_INVALIDATE
    - DNS_SERIAL_GT
    linkageType: ''
    returnType: void
    signature: void index_invalidate(dns_journal_t *j, uint32_t serial)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1121,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1121,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1123,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1126,1
    - Dst: index_find
      Src: /src/bind9/lib/dns/journal.c:1135,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1138,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - j
    - serial
    - pos
    argTypes:
    - dns_journal_t*
    - uint32_t
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1116
    functionDepth: 6
    functionLinenumber: 1116
    functionLinenumberEnd: 1148
    functionName: journal_find
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - DNS_SERIAL_GT
    - journal_next
    - index_find
    - REQUIRE
    - DNS_JOURNAL_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t journal_find(dns_journal_t *j, uint32_t serial, journal_pos_t
      *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1155,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1156,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1163,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:1165,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1174,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1174,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1181,1
    - Dst: journal_write_xhdr
      Src: /src/bind9/lib/dns/journal.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1150
    functionDepth: 4
    functionLinenumber: 1150
    functionLinenumberEnd: 1188
    functionName: dns_journal_begin_transaction
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_seek
    - ISC_CHECKED_MUL
    - journal_write_xhdr
    - CHECK
    - REQUIRE
    - JOURNAL_EMPTY
    - DNS_JOURNAL_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_begin_transaction(dns_journal_t *j)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1199,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/journal.c:1199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1200,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1202,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1203,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1204,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/journal.c:1210,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/journal.c:1214,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1225,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:1233,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1235,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/journal.c:1240,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/journal.c:1244,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/journal.c:1249,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/journal.c:1250,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/journal.c:1251,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/journal.c:1252,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/journal.c:1253,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1254,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/journal.c:1254,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/journal.c:1255,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/journal.c:1260,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1261,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1269,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:1269,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 2
    argNames:
    - j
    - diff
    argTypes:
    - dns_journal_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1190
    functionDepth: 3
    functionLinenumber: 1190
    functionLinenumberEnd: 1278
    functionName: dns_journal_writediff
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_mem_put
    - ISC_LOG_DEBUG
    - journal_write
    - DNS_DIFF_VALID
    - dns_diff_print
    - dns_soa_getserial
    - isc_mem_get
    - isc_buffer_init
    - isc_log_write
    - isc_buffer_putuint16
    - REQUIRE
    - INSIST
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    - CHECK
    - isc_buffer_putuint32
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_writediff(dns_journal_t *j, dns_diff_t *diff)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1286,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1287,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1294,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1294,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:1295,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1296,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1296,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1297,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:1297,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1298,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1298,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1307,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1313,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1314,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1321,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1323,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1339,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1353,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1354,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1357,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:1357,1
    - Dst: index_invalidate
      Src: /src/bind9/lib/dns/journal.c:1359,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1362,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1370,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1370,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1380,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1380,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1381,1
    - Dst: journal_write_xhdr
      Src: /src/bind9/lib/dns/journal.c:1381,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1389,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:1393,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1394,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1394,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1395,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:1395,1
    - Dst: index_add
      Src: /src/bind9/lib/dns/journal.c:1400,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1406,1
    - Dst: index_to_disk
      Src: /src/bind9/lib/dns/journal.c:1406,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1411,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1411,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1280
    functionDepth: 6
    functionLinenumber: 1280
    functionLinenumberEnd: 1422
    functionName: dns_journal_commit
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_seek
    - DNS_SERIAL_GT
    - index_invalidate
    - index_add
    - journal_write
    - journal_write_xhdr
    - CHECK
    - isc_log_write
    - journal_next
    - journal_fsync
    - REQUIRE
    - index_to_disk
    - journal_header_encode
    - JOURNAL_EMPTY
    - DNS_JOURNAL_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_commit(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1428,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/journal.c:1428,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1429,1
    - Dst: dns_journal_begin_transaction
      Src: /src/bind9/lib/dns/journal.c:1429,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1430,1
    - Dst: dns_journal_writediff
      Src: /src/bind9/lib/dns/journal.c:1430,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1431,1
    - Dst: dns_journal_commit
      Src: /src/bind9/lib/dns/journal.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - j
    - diff
    argTypes:
    - dns_journal_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1424
    functionDepth: 7
    functionLinenumber: 1424
    functionLinenumberEnd: 1435
    functionName: dns_journal_write_transaction
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - dns_journal_writediff
    - CHECK
    - dns_diff_sort
    - dns_journal_begin_transaction
    - dns_journal_commit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_write_transaction(dns_journal_t *j, dns_diff_t
      *diff)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1441,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1442,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1442,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/journal.c:1448,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:1450,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:1454,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1458,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1461,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/journal.c:1464,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:1467,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/journal.c:1470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - journalp
    argTypes:
    - dns_journal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1471
    functionName: dns_journal_destroy
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - isc_mem_free
    - isc_mem_putanddetach
    - REQUIRE
    - dns_name_invalidate
    - isc_mem_put
    - isc_mem_cput
    - isc_stdio_close
    - DNS_JOURNAL_VALID
    linkageType: ''
    returnType: void
    signature: void dns_journal_destroy(dns_journal_t **journalp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1494,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1494,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1495,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/journal.c:1495,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:1497,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1504,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1505,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1510,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/journal.c:1510,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1515,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/journal.c:1515,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1520,1
    - Dst: journal_find
      Src: /src/bind9/lib/dns/journal.c:1520,1
    - Dst: dns_journal_last_serial
      Src: /src/bind9/lib/dns/journal.c:1522,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/journal.c:1530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1532,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/journal.c:1532,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/journal.c:1533,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/journal.c:1534,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1541,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1544,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/journal.c:1544,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/journal.c:1545,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/journal.c:1546,1
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/dns/journal.c:1553,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1566,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:1571,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:1580,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:1581,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1584,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1585,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1588,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1589,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/journal.c:1589,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1590,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1597,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1600,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1601,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1604,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1605,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/journal.c:1605,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1606,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/journal.c:1611,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1616,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1619,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1622,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1624,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 3
    argNames:
    - j
    - db
    - options
    argTypes:
    - dns_journal_t*
    - dns_db_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1480
    functionDepth: 7
    functionLinenumber: 1480
    functionLinenumberEnd: 1627
    functionName: dns_journal_rollforward
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached:
    - dns_db_getsoaserial
    - dns_db_closeversion
    - isc_log_write
    - REQUIRE
    - dns_journal_first_serial
    - dns_diff_init
    - dns_journal_first_rr
    - dns_journal_current_rr
    - dns_journal_next_rr
    - dns_journal_last_serial
    - dns_difftuple_create
    - journal_find
    - ISC_LOG_DEBUG
    - INSIST
    - dns_diff_clear
    - FAIL
    - dns_diff_apply
    - dns_db_newversion
    - dns_journal_iter_init
    - DNS_DB_VALID
    - dns_diff_append
    - dns_diff_print
    - isc_buffer_init
    - CHECK
    - isc_mem_put
    - DNS_JOURNAL_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_rollforward(dns_journal_t *j, dns_db_t *db,
      unsigned int options)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1643,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/journal.c:1645,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1647,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1648,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1651,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:1653,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1658,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1660,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1661,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1662,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/journal.c:1665,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1668,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/journal.c:1669,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1673,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:1675,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1682,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1683,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/journal.c:1685,1
    - Dst: dns_journal_last_serial
      Src: /src/bind9/lib/dns/journal.c:1686,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1688,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/journal.c:1688,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/journal.c:1690,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/journal.c:1691,1
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/dns/journal.c:1700,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1712,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:1717,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1721,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1728,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:1736,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:1739,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1742,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1743,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1753,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1756,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1757,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1762,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1768,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1771,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1774,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:1775,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 4
    argNames:
    - mctx
    - flags
    - filename
    - file
    argTypes:
    - isc_mem_t*
    - uint32_t
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1629
    functionDepth: 5
    functionLinenumber: 1629
    functionLinenumberEnd: 1778
    functionName: dns_journal_print
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - REQUIRE
    - dns_journal_first_serial
    - dns_diff_init
    - dns_journal_first_rr
    - dns_journal_current_rr
    - fputc
    - dns_journal_next_rr
    - fprintf
    - dns_journal_last_serial
    - dns_journal_open
    - dns_difftuple_create
    - ISC_LOG_DEBUG
    - dns_journal_destroy
    - dns_diff_clear
    - FAIL
    - dns_journal_iter_init
    - dns_diff_append
    - isc_result_totext
    - dns_diff_print
    - isc_buffer_init
    - CHECK
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_journal_print(isc_mem_t *mctx, uint32_t flags, const
      char *filename,\n\t\t  FILE *file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1787
    functionName: dns_journal_empty
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached:
    - JOURNAL_EMPTY
    linkageType: ''
    returnType: bool
    signature: bool dns_journal_empty(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1792
    functionName: dns_journal_recovered
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_journal_recovered(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1797
    functionName: dns_journal_first_serial
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_journal_first_serial(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1802
    functionName: dns_journal_last_serial
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_journal_last_serial(dns_journal_t *j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - j
    - sourceserial
    argTypes:
    - dns_journal_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1815
    functionName: dns_journal_set_sourceserial
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_journal_set_sourceserial(dns_journal_t *j, uint32_t sourceserial)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - j
    - sourceserial
    argTypes:
    - dns_journal_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1826
    functionName: dns_journal_get_sourceserial
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_journal_get_sourceserial(dns_journal_t *j, uint32_t *sourceserial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:1855,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1857,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/journal.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - b
    - size
    argTypes:
    - isc_mem_t*
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1852
    functionDepth: 2
    functionLinenumber: 1852
    functionLinenumberEnd: 1863
    functionName: size_buffer
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_buffer_clear
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void size_buffer(isc_mem_t *mctx, isc_buffer_t *b, unsigned int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1870,1
    - Dst: journal_find
      Src: /src/bind9/lib/dns/journal.c:1870,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1871,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1873,1
    - Dst: journal_find
      Src: /src/bind9/lib/dns/journal.c:1873,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1874,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1889,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1889,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1890,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:1890,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1893,1
    - Dst: maybe_fixup_xhdr
      Src: /src/bind9/lib/dns/journal.c:1893,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:1901,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1903,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:1909,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1913,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:1922,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - j
    - begin_serial
    - end_serial
    - xfrsizep
    argTypes:
    - dns_journal_t*
    - uint32_t
    - uint32_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1865
    functionDepth: 7
    functionLinenumber: 1865
    functionLinenumberEnd: 1930
    functionName: dns_journal_iter_init
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - journal_seek
    - journal_find
    - INSIST
    - maybe_fixup_xhdr
    - ISC_CHECKED_MUL
    - journal_read_xhdr
    - CHECK
    - journal_next
    - isc_serial_le
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_journal_iter_init(dns_journal_t *j, uint32_t begin_serial,\n\t\t
      \     uint32_t end_serial, size_t *xfrsizep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1940,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1940,1
    - Dst: read_one_rr
      Src: /src/bind9/lib/dns/journal.c:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1950
    functionName: dns_journal_first_rr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - CHECK
    - read_one_rr
    - journal_seek
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_first_rr(dns_journal_t *j)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1964,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1978,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:1978,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1980,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:1984,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1988,1
    - Dst: maybe_fixup_xhdr
      Src: /src/bind9/lib/dns/journal.c:1988,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:1993,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1995,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2001,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2010,1
    - Dst: journal_read_rrhdr
      Src: /src/bind9/lib/dns/journal.c:2010,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2019,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2024,1
    - Dst: size_buffer
      Src: /src/bind9/lib/dns/journal.c:2027,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2028,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2028,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/journal.c:2029,1
    - Dst: size_buffer
      Src: /src/bind9/lib/dns/journal.c:2037,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/journal.c:2044,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2046,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/journal.c:2046,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2052,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2053,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/journal.c:2056,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/journal.c:2057,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/journal.c:2058,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/journal.c:2059,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2062,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2067,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2073,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2074,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/journal.c:2076,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/journal.c:2077,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2078,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/journal.c:2078,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/journal.c:2085,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1952
    functionDepth: 5
    functionLinenumber: 1952
    functionLinenumberEnd: 2093
    functionName: read_one_rr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - journal_read_rrhdr
    - journal_read
    - dns_name_fromwire
    - dns_rdata_fromwire
    - size_buffer
    - dns_rdata_reset
    - isc_buffer_getuint16
    - dns_soa_getserial
    - maybe_fixup_xhdr
    - isc_buffer_remaininglength
    - journal_read_xhdr
    - CHECK
    - isc_log_write
    - isc_buffer_getuint32
    - isc_buffer_add
    - isc_buffer_setactive
    - FAIL
    - isc_serial_le
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t read_one_rr(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_one_rr
      Src: /src/bind9/lib/dns/journal.c:2097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2095
    functionDepth: 6
    functionLinenumber: 2095
    functionLinenumberEnd: 2099
    functionName: dns_journal_next_rr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - read_one_rr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_journal_next_rr(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - j
    - name
    - ttl
    - rdata
    argTypes:
    - dns_journal_t*
    - dns_name_t**
    - uint32_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2101
    functionDepth: 1
    functionLinenumber: 2101
    functionLinenumberEnd: 2108
    functionName: dns_journal_current_rr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_journal_current_rr(dns_journal_t *j, dns_name_t **name, uint32_t
      *ttl,\n\t\t       dns_rdata_t **rdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/journal.c:2133,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/journal.c:2138,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/journal.c:2145,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:2149,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:2150,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:2152,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/journal.c:2154,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/journal.c:2156,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/journal.c:2161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 7
    argNames:
    - db
    - ver
    - now
    - dbit
    - name
    - op
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_dbiterator_t*
    - dns_name_t*
    - dns_diffop_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2124
    functionDepth: 1
    functionLinenumber: 2124
    functionLinenumberEnd: 2164
    functionName: get_name_diff
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdatasetiter_current
    - dns_rdataset_current
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_name_diff(dns_db_t *db, dns_dbversion_t *ver, isc_stdtime_t
      now,\n\t      dns_dbiterator_t *dbit, dns_name_t *name, dns_diffop_t op,\n\t
      \     dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/journal.c:2145,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:2149,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:2150,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:2152,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/journal.c:2154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2155
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_diff_append
    - dns_difftuple_create
    - dns_rdatasetiter_current
    - dns_rdataset_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:2149,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:2150,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2153
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_diff_append
    - dns_rdataset_current
    - dns_difftuple_create
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/journal.c:2183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2185
    functionName: rdata_order
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    linkageType: ''
    returnType: int
    signature: int rdata_order(const void *av, const void *bv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2195,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/journal.c:2195,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2196,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/journal.c:2196,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/journal.c:2197,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/journal.c:2198,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/journal.c:2201,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/journal.c:2202,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2210,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2211,1
    - Dst: rdata_order
      Src: /src/bind9/lib/dns/journal.c:2215,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2217,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2218,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2222,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2223,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2226,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2233,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2236,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/journal.c:2238,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2243,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2244,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - diff
    - r
    argTypes:
    - dns_diff_t[]
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2248
    functionName: dns_diff_subtract
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_APPEND
    - rdata_order
    - INSIST
    - CHECK
    - dns_diff_sort
    - ISC_LIST_APPENDLIST
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:2266,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:2267,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/journal.c:2269,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/journal.c:2270,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/journal.c:2272,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/journal.c:2276,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/journal.c:2281,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/journal.c:2282,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2287,1
    - Dst: get_name_diff
      Src: /src/bind9/lib/dns/journal.c:2287,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/journal.c:2289,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/journal.c:2293,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2299,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2299,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2300,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2300,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2306,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2308,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2308,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/journal.c:2314,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/journal.c:2314,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/journal.c:2315,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2317,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2319,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2319,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2324,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2326,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2326,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2330,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2331,1
    - Dst: dns_diff_subtract
      Src: /src/bind9/lib/dns/journal.c:2331,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2332,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2332,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2333,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2333,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2338,1
    - Dst: FAIL
      Src: /src/bind9/lib/dns/journal.c:2341,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2344,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2344,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2345,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2345,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/journal.c:2348,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/journal.c:2351,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:2352,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:2353,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 6
    argNames:
    - dba
    - dbvera
    - dbb
    - dbverb
    - options
    - resultdiff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_db_t*
    - dns_dbversion_t*
    - unsigned int
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2250
    functionDepth: 3
    functionLinenumber: 2250
    functionLinenumberEnd: 2355
    functionName: diff_namespace
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_diff_subtract
    - ISC_LIST_EMPTY
    - dns_dbiterator_next
    - dns_fixedname_name
    - INSIST
    - dns_dbiterator_first
    - dns_db_createiterator
    - CHECK
    - get_name_diff
    - ISC_LIST_APPENDLIST
    - dns_fixedname_init
    - dns_diff_clear
    - dns_dbiterator_destroy
    - FAIL
    - dns_diff_init
    - dns_name_compare
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t diff_namespace(dns_db_t *dba, dns_dbversion_t *dbvera,
      dns_db_t *dbb,\n\t       dns_dbversion_t *dbverb, unsigned int options,\n\t
      \      dns_diff_t *resultdiff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:2369,1
    - Dst: dns_db_diffx
      Src: /src/bind9/lib/dns/journal.c:2371,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:2373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - mctx
    - dba
    - dbvera
    - dbb
    - dbverb
    - filename
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_db_t*
    - dns_dbversion_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2376
    functionName: dns_db_diff
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - dns_diff_clear
    - dns_db_diffx
    - dns_diff_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_diff(isc_mem_t *mctx, dns_db_t *dba, dns_dbversion_t
      *dbvera,\n\t    dns_db_t *dbb, dns_dbversion_t *dbverb, const char *filename)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/journal.c:2385,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2392,1
    - Dst: diff_namespace
      Src: /src/bind9/lib/dns/journal.c:2392,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2393,1
    - Dst: diff_namespace
      Src: /src/bind9/lib/dns/journal.c:2393,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2396,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2397,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:2398,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2401,1
    - Dst: dns_journal_write_transaction
      Src: /src/bind9/lib/dns/journal.c:2401,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - diff
    - dba
    - dbvera
    - dbb
    - dbverb
    - filename
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_db_t*
    - dns_dbversion_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2378
    functionDepth: 8
    functionLinenumber: 2378
    functionLinenumberEnd: 2410
    functionName: dns_db_diffx
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - diff_namespace
    - dns_journal_write_transaction
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_journal_destroy
    - CHECK
    - isc_log_write
    - dns_journal_open
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_diffx(dns_diff_t *diff, dns_db_t *dba, dns_dbversion_t
      *dbvera,\n\t     dns_db_t *dbb, dns_dbversion_t *dbverb, const char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:2417,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/journal.c:2418,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2419,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/journal.c:2420,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2421,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2421,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/journal.c:2422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2412
    functionDepth: 3
    functionLinenumber: 2412
    functionLinenumberEnd: 2427
    functionName: rrcount
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_getuint32
    - isc_buffer_add
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rrcount(unsigned char *buf, unsigned int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:2434,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/journal.c:2435,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2436,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2437,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/journal.c:2440,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2442,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/journal.c:2445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2429
    functionDepth: 3
    functionLinenumber: 2429
    functionLinenumberEnd: 2449
    functionName: check_delta
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_getuint32
    - isc_buffer_add
    linkageType: ''
    returnType: bool
    signature: bool check_delta(unsigned char *buf, size_t size)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:2472,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/journal.c:2474,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/journal.c:2475,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/journal.c:2479,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/journal.c:2481,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/journal.c:2483,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/journal.c:2485,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:2487,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:2490,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/journal.c:2510,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2511,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2512,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:2516,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:2517,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2519,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:2527,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2540,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2544,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:2544,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2545,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2545,1
    - Dst: POS_VALID
      Src: /src/bind9/lib/dns/journal.c:2559,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/dns/journal.c:2560,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2571,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:2571,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/dns/journal.c:2576,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2587,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2589,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:2589,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2600,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2600,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:2620,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2624,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2628,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2634,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:2636,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2637,1
    - Dst: check_delta
      Src: /src/bind9/lib/dns/journal.c:2644,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2649,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2649,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2650,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:2650,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2654,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2654,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2655,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:2655,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:2659,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2662,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2669,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:2671,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2672,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2672,1
    - Dst: check_delta
      Src: /src/bind9/lib/dns/journal.c:2674,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2675,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2678,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/journal.c:2689,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:2700,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2702,1
    - Dst: rrcount
      Src: /src/bind9/lib/dns/journal.c:2711,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2712,1
    - Dst: journal_write_xhdr
      Src: /src/bind9/lib/dns/journal.c:2712,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2714,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2714,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:2721,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/journal.c:2729,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:2730,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/journal.c:2732,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2733,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2733,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2734,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2734,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2740,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:2740,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:2745,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2746,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2746,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2747,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2747,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2748,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:2748,1
    - Dst: index_add
      Src: /src/bind9/lib/dns/journal.c:2755,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2756,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:2756,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2762,1
    - Dst: index_to_disk
      Src: /src/bind9/lib/dns/journal.c:2762,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2763,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:2763,1
    - Dst: POST
      Src: /src/bind9/lib/dns/journal.c:2766,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2772,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2773,1
    - Dst: rename
      Src: /src/bind9/lib/dns/journal.c:2786,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:2788,1
    - Dst: rename
      Src: /src/bind9/lib/dns/journal.c:2794,1
    - Dst: rename
      Src: /src/bind9/lib/dns/journal.c:2797,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:2800,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:2811,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:2813,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2816,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2819,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 199
    argCount: 5
    argNames:
    - mctx
    - filename
    - serial
    - flags
    - target_size
    argTypes:
    - isc_mem_t*
    - char*
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2451
    functionDepth: 6
    functionLinenumber: 2451
    functionLinenumberEnd: 2822
    functionName: dns_journal_compact
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - DNS_SERIAL_GT
    - journal_seek
    - journal_read
    - index_add
    - rename
    - isc_log_write
    - snprintf
    - REQUIRE
    - journal_fsync
    - dns_journal_first_serial
    - ISC_CHECKED_MUL
    - isc_mem_put
    - journal_write
    - ISC_MIN
    - journal_write_xhdr
    - journal_read_xhdr
    - isc_serial_gt
    - journal_header_encode
    - POS_VALID
    - DNS_SERIAL_GE
    - RUNTIME_CHECK
    - dns_journal_destroy
    - isc_serial_le
    - INSIST
    - strlen
    - isc_mem_get
    - rrcount
    - journal_open
    - isc_file_remove
    - POST
    - CHECK
    - journal_next
    - index_to_disk
    - strcmp
    - check_delta
    - JOURNAL_EMPTY
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_journal_compact(isc_mem_t *mctx, char *filename,
      uint32_t serial,\n\t\t    uint32_t flags, uint32_t target_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:2833,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:2838,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:2840,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2843,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2845,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2845,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2846,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2824
    functionDepth: 3
    functionLinenumber: 2824
    functionLinenumberEnd: 2850
    functionName: index_to_disk
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached:
    - journal_seek
    - journal_write
    - encode_uint32
    - INSIST
    - CHECK
    - ISC_CHECKED_MUL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t index_to_disk(dns_journal_t *j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - gb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: REGION_TO_GBUFFER
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGION_TO_GBUFFER(r, gb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gb
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: GBUFFER_TO_REGION
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GBUFFER_TO_REGION(gb, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapi_link.c:69,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/gssapi_link.c:71,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/gssapi_link.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: gssapi_create_signverify_ctx
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - UNUSED
    - isc_buffer_allocate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_create_signverify_ctx(dst_key_t *key, dst_context_t
      *dctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/gssapi_link.c:89,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/gssapi_link.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: gssapi_destroy_signverify_ctx
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void gssapi_destroy_signverify_ctx(dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapi_link.c:111,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/dns/gssapi_link.c:116,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/gssapi_link.c:118,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/gssapi_link.c:120,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapi_link.c:121,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapi_link.c:122,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/gssapi_link.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: gssapi_adddata
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_length
    - isc_buffer_copyregion
    - isc_buffer_free
    - isc_buffer_allocate
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_adddata(dst_context_t *dctx, const isc_region_t
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/gssapi_link.c:146,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapi_link.c:147,1
    - Dst: gss_get_mic
      Src: /src/bind9/lib/dns/gssapi_link.c:152,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapi_link.c:159,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapi_link.c:160,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/gssapi_link.c:168,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapi_link.c:169,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/gssapi_link.c:177,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapi_link.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 183
    functionName: gssapi_sign
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - REGION_TO_GBUFFER
    - gss_error_tostring
    - gss_log
    - isc_buffer_putmem
    - gss_release_buffer
    - gss_get_mic
    - isc_buffer_usedregion
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_sign(dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/gssapi_link.c:201,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapi_link.c:202,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapi_link.c:203,1
    - Dst: gss_verify_mic
      Src: /src/bind9/lib/dns/gssapi_link.c:208,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapi_link.c:214,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapi_link.c:215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 229
    functionName: gssapi_verify
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - REGION_TO_GBUFFER
    - gss_error_tostring
    - gss_verify_mic
    - gss_log
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: gssapi_compare
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gssapi_compare(const dst_key_t *key1, const dst_key_t *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapi_link.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapi_link.c:243,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapi_link.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: gssapi_generate
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_generate(dst_key_t *key, int unused, void (*callback)(int))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapi_link.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: gssapi_isprivate
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool gssapi_isprivate(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapi_link.c:258,1
    - Dst: dst_gssapi_deletectx
      Src: /src/bind9/lib/dns/gssapi_link.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: gssapi_destroy
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_gssapi_deletectx
    linkageType: ''
    returnType: void
    signature: void gssapi_destroy(dst_key_t *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/gssapi_link.c:272,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/gssapi_link.c:279,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/dns/gssapi_link.c:281,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/gssapi_link.c:283,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/gssapi_link.c:287,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapi_link.c:288,1
    - Dst: gss_import_sec_context
      Src: /src/bind9/lib/dns/gssapi_link.c:289,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/gssapi_link.c:292,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/gssapi_link.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - key
    - keystr
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 298
    functionName: gssapi_restore
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - REGION_TO_GBUFFER
    - isc_buffer_remainingregion
    - isc_buffer_free
    - strlen
    - isc_base64_decodestring
    - isc_buffer_allocate
    - gss_import_sec_context
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_restore(dst_key_t *key, const char *keystr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_export_sec_context
      Src: /src/bind9/lib/dns/gssapi_link.c:310,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gssapi_link.c:313,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/gssapi_link.c:321,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapi_link.c:322,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapi_link.c:323,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/gssapi_link.c:324,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapi_link.c:325,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapi_link.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - key
    - mctx
    - buffer
    - length
    argTypes:
    - dst_key_t*
    - isc_mem_t*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 330
    functionName: gssapi_dump
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - GBUFFER_TO_REGION
    - gss_release_buffer
    - gss_export_sec_context
    - isc_buffer_init
    - isc_mem_get
    - fprintf
    - isc_base64_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t gssapi_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer,
      int *length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapi_link.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - funcp
    argTypes:
    - dst_func_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: dst__gssapi_init
    functionSourceFile: /src/bind9/lib/dns/gssapi_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dst__gssapi_init(dst_func_t **funcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: LOG_STATS
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOG_STATS(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: TRACE
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: dns_qpmulti_ref
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_qpmulti_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: dns_qpmulti_unref
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_qpmulti_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: dns_qpmulti_attach
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_qpmulti_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: dns_qpmulti_detach
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_qpmulti_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ENCODE_NAMESPACE
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_NAMESPACE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: DECODE_NAMESPACE
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_NAMESPACE(c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:181,1
    - Dst: qp_common_character
      Src: /src/bind9/lib/dns/qp.c:189,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 216
    functionName: dns__qp_initialize
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - qp_common_character
    - ENSURE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns__qp_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: dns__qp_shutdown
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns__qp_shutdown(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:243,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/qp.c:243,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/qp.c:246,1
    - Dst: ENCODE_NAMESPACE
      Src: /src/bind9/lib/dns/qp.c:250,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - key
    - name
    - space
    argTypes:
    - dns_qpkey_t
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 275
    functionName: dns_qpkey_fromname
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 7
    functionsReached:
    - ENSURE
    - dns_name_offsets
    - ENCODE_NAMESPACE
    - REQUIRE
    - ISC_MAGIC_VALID
    linkageType: ''
    returnType: size_t
    signature: "size_t dns_qpkey_fromname(dns_qpkey_t key, const dns_name_t *name,\n\t\t
      \  dns_namespace_t space)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:284,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/qp.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:286,1
    - Dst: dns_name_reset
      Src: /src/bind9/lib/dns/qp.c:288,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:290,1
    - Dst: DECODE_NAMESPACE
      Src: /src/bind9/lib/dns/qp.c:290,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:298,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:300,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:301,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:302,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qp.c:313,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/qp.c:325,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:328,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:333,1
    - Dst: qp_common_character
      Src: /src/bind9/lib/dns/qp.c:335,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:336,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:339,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:353,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/qp.c:357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 4
    argNames:
    - key
    - keylen
    - name
    - space
    argTypes:
    - dns_qpkey_t
    - size_t
    - dns_name_t*
    - dns_namespace_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 358
    functionName: dns_qpkey_toname
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - isc_buffer_base
    - UNREACHABLE
    - SET_IF_NOT_NULL
    - dns_name_reset
    - INSIST
    - REQUIRE
    - DECODE_NAMESPACE
    - isc_buffer_putuint8
    - ISC_MAGIC_VALID
    - qp_common_character
    - isc_buffer_used
    - qpkey_bit
    linkageType: ''
    returnType: void
    signature: "void dns_qpkey_toname(const dns_qpkey_t key, size_t keylen, dns_name_t
      *name,\n\t\t dns_namespace_t *space)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/qp.c:381,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:383,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - key_a
    - keylen_a
    - key_b
    - keylen_b
    argTypes:
    - dns_qpkey_t
    - size_t
    - dns_qpkey_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 390
    functionName: qpkey_compare
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ISC_MAX
    - qpkey_bit
    linkageType: ''
    returnType: size_t
    signature: "size_t qpkey_compare(const dns_qpkey_t key_a, const size_t keylen_a,\n\t
      \     const dns_qpkey_t key_b, const size_t keylen_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sysconf
      Src: /src/bind9/lib/dns/qp.c:409,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/qp.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 411
    functionName: chunk_size_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - sysconf
    - ISC_MAX
    linkageType: ''
    returnType: size_t
    signature: size_t chunk_size_raw(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chunk_size_raw
      Src: /src/bind9/lib/dns/qp.c:416,1
    - Dst: mmap
      Src: /src/bind9/lib/dns/qp.c:417,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:419,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qp
    - len
    argTypes:
    - dns_qp_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: chunk_get_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - mmap
    - chunk_size_raw
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: 'void *

      chunk_get_raw(dns_qp_t *qp, size_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:429,1
    - Dst: munmap
      Src: /src/bind9/lib/dns/qp.c:429,1
    - Dst: chunk_size_raw
      Src: /src/bind9/lib/dns/qp.c:429,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - ptr
    argTypes:
    - dns_qp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 433
    functionName: chunk_free_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - munmap
    - chunk_size_raw
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void chunk_free_raw(dns_qp_t *qp, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/dns/qp.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qp
    - ptr
    - bytes
    argTypes:
    - dns_qp_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: chunk_shrink_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_reallocate
    linkageType: ''
    returnType: void
    signature: 'void *

      chunk_shrink_raw(dns_qp_t *qp, void *ptr, size_t bytes)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:451,1
    - Dst: chunk_size_raw
      Src: /src/bind9/lib/dns/qp.c:453,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:454,1
    - Dst: mprotect
      Src: /src/bind9/lib/dns/qp.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 456
    functionName: write_protect
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - TRACE
    - mprotect
    - chunk_size_raw
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void write_protect(dns_qp_t *qp, dns_qpchunk_t chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qp
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 461
    functionName: chunk_get_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chunk_get_raw(qp, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qp
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    functionName: chunk_free_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chunk_free_raw(qp, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - qp
    - ','
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: chunk_shrink_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chunk_shrink_raw(qp, ptr, size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_chunk
      Src: /src/bind9/lib/dns/qp.c:480,1
    - Dst: ref_cell
      Src: /src/bind9/lib/dns/qp.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - ref
    argTypes:
    - dns_qp_t*
    - dns_qpref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: cells_immutable
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ref_cell
    - ref_chunk
    linkageType: ''
    returnType: bool
    signature: bool cells_immutable(dns_qp_t *qp, dns_qpref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MAX3
      Src: /src/bind9/lib/dns/qp.c:499,1
    - Dst: __builtin_clz
      Src: /src/bind9/lib/dns/qp.c:500,1
    - Dst: ISC_CLAMP
      Src: /src/bind9/lib/dns/qp.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev_capacity
    - size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: next_capacity
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - __builtin_clz
    - ISC_MAX3
    - ISC_CLAMP
    linkageType: ''
    returnType: dns_qpcell_t
    signature: dns_qpcell_t next_capacity(uint32_t prev_capacity, uint32_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:510,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:511,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:512,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:513,1
    - Dst: next_capacity
      Src: /src/bind9/lib/dns/qp.c:515,1
    - Dst: chunk_get_raw
      Src: /src/bind9/lib/dns/qp.c:517,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:527,1
    - Dst: make_ref
      Src: /src/bind9/lib/dns/qp.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - qp
    - chunk
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: chunk_alloc
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - TRACE
    - chunk_get_raw
    - INSIST
    - make_ref
    - next_capacity
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t chunk_alloc(dns_qp_t *qp, dns_qpchunk_t chunk, dns_qpweight_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:543,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:545,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/dns/qp.c:546,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:549,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:550,1
    - Dst: memset
      Src: /src/bind9/lib/dns/qp.c:552,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/qp.c:553,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/dns/qp.c:559,1
    - Dst: memset
      Src: /src/bind9/lib/dns/qp.c:560,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - qp
    - newmax
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 565
    functionName: realloc_chunk_arrays
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - memmove
    - TRACE
    - memset
    - isc_refcount_init
    - STRUCT_FLEX_SIZE
    - isc_mem_reallocate
    - isc_mem_allocate
    - qpbase_unref
    linkageType: ''
    returnType: void
    signature: void realloc_chunk_arrays(dns_qp_t *qp, dns_qpchunk_t newmax)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chunk_alloc
      Src: /src/bind9/lib/dns/qp.c:577,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:580,1
    - Dst: realloc_chunk_arrays
      Src: /src/bind9/lib/dns/qp.c:581,1
    - Dst: GROWTH_FACTOR
      Src: /src/bind9/lib/dns/qp.c:581,1
    - Dst: chunk_alloc
      Src: /src/bind9/lib/dns/qp.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - qp
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 583
    functionName: alloc_slow
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - chunk_alloc
    - GROWTH_FACTOR
    - ENSURE
    - realloc_chunk_arrays
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t alloc_slow(dns_qp_t *qp, dns_qpweight_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_slow
      Src: /src/bind9/lib/dns/qp.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 588
    functionDepth: 5
    functionLinenumber: 588
    functionLinenumberEnd: 591
    functionName: alloc_reset
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - alloc_slow
    linkageType: ''
    returnType: void
    signature: void alloc_reset(dns_qp_t *qp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_ref
      Src: /src/bind9/lib/dns/qp.c:604,1
    - Dst: alloc_slow
      Src: /src/bind9/lib/dns/qp.c:606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 596
    functionDepth: 5
    functionLinenumber: 596
    functionLinenumberEnd: 608
    functionName: alloc_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - alloc_slow
    - make_ref
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t alloc_twigs(dns_qp_t *qp, dns_qpweight_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_chunk
      Src: /src/bind9/lib/dns/qp.c:622,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:626,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:627,1
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:629,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:631,1
    - Dst: zero_twigs
      Src: /src/bind9/lib/dns/qp.c:634,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - qp
    - twigs
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpref_t
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 637
    functionName: free_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - zero_twigs
    - ENSURE
    - ref_ptr
    - cells_immutable
    - ref_chunk
    linkageType: ''
    returnType: bool
    signature: bool free_twigs(dns_qp_t *qp, dns_qpref_t twigs, dns_qpweight_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp.c:647,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - qp
    - twigs
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 651
    functionName: attach_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - attach_leaf
    - node_tag
    linkageType: ''
    returnType: void
    signature: void attach_twigs(dns_qp_t *qp, dns_qpnode_t *twigs, dns_qpweight_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 664
    functionName: chunk_usage
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_qpcell_t
    signature: dns_qpcell_t chunk_usage(dns_qp_t *qp, dns_qpchunk_t chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:676,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: chunk_discount
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: void
    signature: void chunk_discount(dns_qp_t *qp, dns_qpchunk_t chunk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:690,1
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp.c:697,1
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp.c:697,1
    - Dst: detach_leaf
      Src: /src/bind9/lib/dns/qp.c:698,1
    - Dst: reader_valid
      Src: /src/bind9/lib/dns/qp.c:699,1
    - Dst: unpack_reader
      Src: /src/bind9/lib/dns/qp.c:701,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:703,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:704,1
    - Dst: chunk_discount
      Src: /src/bind9/lib/dns/qp.c:708,1
    - Dst: chunk_free_raw
      Src: /src/bind9/lib/dns/qp.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 687
    functionDepth: 3
    functionLinenumber: 687
    functionLinenumberEnd: 712
    functionName: chunk_free
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - TRACE
    - chunk_free_raw
    - isc_mem_free
    - detach_leaf
    - reader_valid
    - node_tag
    - unpack_reader
    - node_pointer
    - chunk_discount
    - qpbase_unref
    linkageType: ''
    returnType: void
    signature: void chunk_free(dns_qp_t *qp, dns_qpchunk_t chunk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:721,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:724,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:727,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:732,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qp.c:733,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:736,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 741
    functionName: recycle
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - LOG_STATS
    - atomic_fetch_add_relaxed
    - isc_time_monotonic
    - chunk_usage
    - chunk_free
    linkageType: ''
    returnType: void
    signature: void recycle(dns_qp_t *qp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qp.c:748,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:749,1
    - Dst: QPRCU_VALID
      Src: /src/bind9/lib/dns/qp.c:749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:751,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:751,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:753,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:761,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:763,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:763,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:771,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:776,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:780,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:782,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:790,1
    - Dst: dns_qpmulti_detach
      Src: /src/bind9/lib/dns/qp.c:792,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:793,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 795
    functionName: reclaim_chunks_cb
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - dns_qpmulti_detach
    - isc_mem_putanddetach
    - QPRCU_VALID
    - LOG_STATS
    - INSIST
    - UNLOCK
    - QP_VALID
    - isc_time_monotonic
    - REQUIRE
    - STRUCT_FLEX_SIZE
    - chunk_free
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void reclaim_chunks_cb(struct rcu_head *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:807,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:820,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:820,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:826,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:830,1
    - Dst: chunk_discount
      Src: /src/bind9/lib/dns/qp.c:835,1
    - Dst: dns_qpmulti_ref
      Src: /src/bind9/lib/dns/qp.c:843,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qp.c:844,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:846,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 847
    functionName: reclaim_chunks
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - LOG_STATS
    - call_rcu
    - dns_qpmulti_ref
    - isc_mem_get
    - STRUCT_FLEX_SIZE
    - chunk_discount
    - chunk_usage
    linkageType: ''
    returnType: void
    signature: void reclaim_chunks(dns_qpmulti_t *multi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:857,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/qp.c:861,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:864,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:875,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:880,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:884,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 853
    functionDepth: 4
    functionLinenumber: 853
    functionLinenumberEnd: 890
    functionName: marksweep_chunks
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - LOG_STATS
    - INSIST
    - isc_time_monotonic
    - ISC_LIST_FOREACH
    - chunk_free
    linkageType: ''
    returnType: void
    signature: void marksweep_chunks(dns_qpmulti_t *multi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:908,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:909,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:910,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:911,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:912,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:914,1
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:915,1
    - Dst: attach_twigs
      Src: /src/bind9/lib/dns/qp.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 906
    functionDepth: 6
    functionLinenumber: 906
    functionLinenumberEnd: 920
    functionName: evacuate
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - move_twigs
    - branch_twigs_size
    - ref_ptr
    - attach_twigs
    - alloc_twigs
    - branch_twigs_ref
    - free_twigs
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t evacuate(dns_qp_t *qp, dns_qpnode_t *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:931,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:932,1
    - Dst: MOVABLE_ROOT
      Src: /src/bind9/lib/dns/qp.c:932,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 929
    functionDepth: 7
    functionLinenumber: 929
    functionLinenumberEnd: 935
    functionName: make_root_mutable
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - MOVABLE_ROOT
    - evacuate
    - cells_immutable
    - ref_ptr
    linkageType: ''
    returnType: dns_qpnode_t
    signature: 'dns_qpnode_t *

      make_root_mutable(dns_qp_t *qp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:939,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:939,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:940,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:940,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 937
    functionDepth: 7
    functionLinenumber: 937
    functionLinenumberEnd: 942
    functionName: make_twigs_mutable
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - branch_index
    - make_node
    - evacuate
    - cells_immutable
    - branch_twigs_ref
    linkageType: ''
    returnType: void
    signature: void make_twigs_mutable(dns_qp_t *qp, dns_qpnode_t *n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:961,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:962,1
    - Dst: ref_chunk
      Src: /src/bind9/lib/dns/qp.c:963,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:966,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:968,1
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:970,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:972,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:973,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:976,1
    - Dst: compact_recursive
      Src: /src/bind9/lib/dns/qp.c:977,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:982,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:984,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:987,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:987,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - qp
    - parent
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 959
    functionDepth: 7
    functionLinenumber: 959
    functionLinenumberEnd: 990
    functionName: compact_recursive
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - compact_recursive
    - branch_index
    - make_node
    - evacuate
    - branch_twigs_size
    - cells_immutable
    - ref_ptr
    - ref_chunk
    - is_branch
    - branch_twigs_ref
    - chunk_usage
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t compact_recursive(dns_qp_t *qp, dns_qpnode_t *parent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:994,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:998,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1001,1
    - Dst: compact_recursive
      Src: /src/bind9/lib/dns/qp.c:1005,1
    - Dst: MOVABLE_ROOT
      Src: /src/bind9/lib/dns/qp.c:1005,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:1009,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qp.c:1010,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 992
    functionDepth: 8
    functionLinenumber: 992
    functionLinenumberEnd: 1016
    functionName: compact
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 15
    functionsReached:
    - compact_recursive
    - LOG_STATS
    - atomic_fetch_add_relaxed
    - isc_time_monotonic
    - alloc_reset
    - MOVABLE_ROOT
    linkageType: ''
    returnType: void
    signature: void compact(dns_qp_t *qp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1020,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1020,1
    - Dst: QP_NEEDGC
      Src: /src/bind9/lib/dns/qp.c:1021,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1025,1
    - Dst: compact
      Src: /src/bind9/lib/dns/qp.c:1028,1
    - Dst: recycle
      Src: /src/bind9/lib/dns/qp.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - qp
    - mode
    argTypes:
    - dns_qp_t*
    - dns_qpgc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 9
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: dns_qp_compact
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 7
    functionsReached:
    - compact
    - recycle
    - REQUIRE
    - alloc_reset
    - QP_NEEDGC
    - QP_VALID
    linkageType: ''
    returnType: void
    signature: void dns_qp_compact(dns_qp_t *qp, dns_qpgc_t mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:1054,1
    - Dst: QP_AUTOGC
      Src: /src/bind9/lib/dns/qp.c:1055,1
    - Dst: compact
      Src: /src/bind9/lib/dns/qp.c:1056,1
    - Dst: recycle
      Src: /src/bind9/lib/dns/qp.c:1057,1
    - Dst: QP_AUTOGC
      Src: /src/bind9/lib/dns/qp.c:1064,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qp.c:1065,1
    - Dst: TRIENAME
      Src: /src/bind9/lib/dns/qp.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - qp
    - twigs
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpref_t
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1052
    functionDepth: 9
    functionLinenumber: 1052
    functionLinenumberEnd: 1075
    functionName: squash_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - compact
    - TRIENAME
    - recycle
    - isc_log_write
    - QP_AUTOGC
    - free_twigs
    linkageType: ''
    returnType: bool
    signature: bool squash_twigs(dns_qp_t *qp, dns_qpref_t twigs, dns_qpweight_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1084,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1084,1
    - Dst: QP_NEEDGC
      Src: /src/bind9/lib/dns/qp.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1114
    functionName: dns_qp_memusage
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - QP_NEEDGC
    - QP_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_qp_memusage_t
    signature: dns_qp_memusage_t dns_qp_memusage(dns_qp_t *qp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1118,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1118,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1119,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1122,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1122,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/lib/dns/qp.c:1124,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1134
    functionName: dns_qpmulti_memusage
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - dns_qp_memusage
    - INSIST
    - UNLOCK
    - REQUIRE
    - QP_VALID
    linkageType: ''
    returnType: dns_qp_memusage_t
    signature: dns_qp_memusage_t dns_qpmulti_memusage(dns_qpmulti_t *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/qp.c:1139,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/qp.c:1140,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/qp.c:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - compact_p
    - recycle_p
    - rollback_p
    argTypes:
    - isc_nanosecs_t*
    - isc_nanosecs_t*
    - isc_nanosecs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1142
    functionName: dns_qp_gctime
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - atomic_load_relaxed
    linkageType: ''
    returnType: void
    signature: "void dns_qp_gctime(isc_nanosecs_t *compact_p, isc_nanosecs_t *recycle_p,\n\t
      \     isc_nanosecs_t *rollback_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1151,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1152,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1154,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1157,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1157,1
    - Dst: write_protect
      Src: /src/bind9/lib/dns/qp.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1183
    functionName: transaction_open
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - write_protect
    - INSIST
    - REQUIRE
    - QP_VALID
    linkageType: ''
    returnType: dns_qp_t
    signature: 'dns_qp_t *

      transaction_open(dns_qpmulti_t *multi, dns_qp_t **qptp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transaction_open
      Src: /src/bind9/lib/dns/qp.c:1199,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1200,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1197
    functionDepth: 6
    functionLinenumber: 1197
    functionLinenumberEnd: 1208
    functionName: dns_qpmulti_write
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - transaction_open
    - TRACE
    - alloc_reset
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_write(dns_qpmulti_t *multi, dns_qp_t **qptp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transaction_open
      Src: /src/bind9/lib/dns/qp.c:1234,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1235,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:1239,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:1240,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1243,1
    - Dst: QPBASE_VALID
      Src: /src/bind9/lib/dns/qp.c:1243,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1244,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qp.c:1246,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:1248,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:1249,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1251,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1232
    functionDepth: 6
    functionLinenumber: 1232
    functionLinenumberEnd: 1255
    functionName: dns_qpmulti_update
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - TRACE
    - memmove
    - QPBASE_VALID
    - transaction_open
    - INSIST
    - isc_refcount_increment
    - alloc_reset
    - isc_mem_allocate
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_update(dns_qpmulti_t *multi, dns_qp_t **qptp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1259,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1259,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1261,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1265,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1268,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:1270,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1271,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1274,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1276,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1278,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1282,1
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:1282,1
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:1283,1
    - Dst: compact
      Src: /src/bind9/lib/dns/qp.c:1288,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1289,1
    - Dst: chunk_shrink_raw
      Src: /src/bind9/lib/dns/qp.c:1290,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1294,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1298,1
    - Dst: make_reader
      Src: /src/bind9/lib/dns/qp.c:1299,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qp.c:1301,1
    - Dst: rcu_assign_pointer
      Src: /src/bind9/lib/dns/qp.c:1303,1
    - Dst: QP_NEEDGC
      Src: /src/bind9/lib/dns/qp.c:1306,1
    - Dst: recycle
      Src: /src/bind9/lib/dns/qp.c:1307,1
    - Dst: reclaim_chunks
      Src: /src/bind9/lib/dns/qp.c:1311,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1257
    functionDepth: 9
    functionLinenumber: 1257
    functionLinenumberEnd: 1315
    functionName: dns_qpmulti_commit
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 6
    functionsReached:
    - compact
    - rcu_assign_pointer
    - reclaim_chunks
    - UNLOCK
    - REQUIRE
    - TRACE
    - cells_immutable
    - recycle
    - chunk_shrink_raw
    - make_reader
    - INSIST
    - isc_refcount_increment
    - QP_NEEDGC
    - alloc_twigs
    - qpbase_unref
    - free_twigs
    - QPMULTI_VALID
    - isc_mem_free
    - ref_ptr
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_commit(dns_qpmulti_t *multi, dns_qp_t **qptp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1324,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1326,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1329,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:1331,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:1336,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1342,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:1353,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1355,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1357,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1360,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:1361,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1362,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1363,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:1365,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qp.c:1366,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:1368,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1372
    functionName: dns_qpmulti_rollback
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - TRACE
    - QPMULTI_VALID
    - memmove
    - isc_mem_free
    - LOG_STATS
    - INSIST
    - atomic_fetch_add_relaxed
    - UNLOCK
    - isc_time_monotonic
    - REQUIRE
    - qpbase_unref
    - chunk_free
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_rollback(dns_qpmulti_t *multi, dns_qp_t **qptp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:1381,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/qp.c:1382,1
    - Dst: QP_INIT
      Src: /src/bind9/lib/dns/qp.c:1384,1
    - Dst: unpack_reader
      Src: /src/bind9/lib/dns/qp.c:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - multi
    - qpr
    argTypes:
    - dns_qpmulti_t*
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1389
    functionName: reader_open
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - QP_INIT
    - rcu_dereference
    - unpack_reader
    - dns_qpreader
    linkageType: ''
    returnType: dns_qpmulti_t
    signature: 'dns_qpmulti_t *

      reader_open(dns_qpmulti_t *multi, dns_qpreadable_t qpr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1397,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1397,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1398,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/qp.c:1400,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qp.c:1401,1
    - Dst: reader_open
      Src: /src/bind9/lib/dns/qp.c:1403,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - qp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1395
    functionDepth: 2
    functionLinenumber: 1395
    functionLinenumberEnd: 1405
    functionName: dns_qpmulti_query
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - QPMULTI_VALID
    - isc_tid
    - INSIST
    - REQUIRE
    - reader_open
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_query(dns_qpmulti_t *multi, dns_qpread_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1409,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1410,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1411,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/qp.c:1411,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qp.c:1413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - qp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1414
    functionName: dns_qpread_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - QPMULTI_VALID
    - isc_tid
    - rcu_read_unlock
    - REQUIRE
    - QP_VALID
    linkageType: ''
    returnType: void
    signature: void dns_qpread_destroy(dns_qpmulti_t *multi, dns_qpread_t *qp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1422,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1422,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1423,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qp.c:1425,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1427,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:1432,1
    - Dst: reader_open
      Src: /src/bind9/lib/dns/qp.c:1434,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1435,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/qp.c:1439,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:1447,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/qp.c:1454,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1457,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qp.c:1459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - multi
    - qpsp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpsnap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1420
    functionDepth: 2
    functionLinenumber: 1420
    functionLinenumberEnd: 1460
    functionName: dns_qpmulti_snapshot
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - ISC_LIST_INITANDAPPEND
    - chunk_usage
    - INSIST
    - UNLOCK
    - rcu_read_unlock
    - isc_refcount_init
    - REQUIRE
    - isc_mem_allocate
    - reader_open
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_snapshot(dns_qpmulti_t *multi, dns_qpsnap_t **qpsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1464,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1465,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1467,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1472,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qp.c:1474,1
    - Dst: marksweep_chunks
      Src: /src/bind9/lib/dns/qp.c:1480,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1482,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - multi
    - qpsp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpsnap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1462
    functionDepth: 5
    functionLinenumber: 1462
    functionLinenumberEnd: 1486
    functionName: dns_qpsnap_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - isc_mem_free
    - UNLOCK
    - ISC_LIST_UNLINK
    - REQUIRE
    - marksweep_chunks
    linkageType: ''
    returnType: void
    signature: void dns_qpsnap_destroy(dns_qpmulti_t *multi, dns_qpsnap_t **qpsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1496,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:1498,1
    - Dst: QP_INIT
      Src: /src/bind9/lib/dns/qp.c:1499,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:1500,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1501,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - mctx
    - methods
    - uctx
    - qptp
    argTypes:
    - isc_mem_t*
    - dns_qpmethods_t*
    - void*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1493
    functionDepth: 6
    functionLinenumber: 1493
    functionLinenumberEnd: 1504
    functionName: dns_qp_create
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 10
    functionsReached:
    - isc_mem_attach
    - TRACE
    - QP_INIT
    - isc_mem_get
    - REQUIRE
    - alloc_reset
    linkageType: ''
    returnType: void
    signature: "void dns_qp_create(isc_mem_t *mctx, const dns_qpmethods_t *methods,
      void *uctx,\n\t      dns_qp_t **qptp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1509,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:1511,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qp.c:1514,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/qp.c:1515,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qp.c:1516,1
    - Dst: QP_INIT
      Src: /src/bind9/lib/dns/qp.c:1525,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:1526,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mctx
    - methods
    - uctx
    - qpmp
    argTypes:
    - isc_mem_t*
    - dns_qpmethods_t*
    - void*
    - dns_qpmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1530
    functionName: dns_qpmulti_create
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - TRACE
    - isc_mutex_init
    - QP_INIT
    - isc_mem_get
    - REQUIRE
    - ISC_LIST_INIT
    - ISC_REFCOUNT_INITIALIZER
    linkageType: ''
    returnType: void
    signature: "void dns_qpmulti_create(isc_mem_t *mctx, const dns_qpmethods_t *methods,
      void *uctx,\n\t\t   dns_qpmulti_t **qpmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:1540,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:1544,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:1545,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:1546,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/qp.c:1546,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1547,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1532
    functionDepth: 4
    functionLinenumber: 1532
    functionLinenumberEnd: 1550
    functionName: destroy_guts
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - chunk_free
    - isc_refcount_current
    - ENSURE
    linkageType: ''
    returnType: void
    signature: void destroy_guts(dns_qp_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1554,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1555,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1555,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1561,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1563,1
    - Dst: destroy_guts
      Src: /src/bind9/lib/dns/qp.c:1564,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:1565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - qptp
    argTypes:
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1552
    functionDepth: 5
    functionLinenumber: 1552
    functionLinenumberEnd: 1566
    functionName: dns_qp_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 8
    functionsReached:
    - TRACE
    - destroy_guts
    - isc_mem_putanddetach
    - REQUIRE
    - QP_VALID
    linkageType: ''
    returnType: void
    signature: void dns_qp_destroy(dns_qp_t **qptp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1570,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1570,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1573,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1575,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/qp.c:1577,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1579
    functionName: qpmulti_free_mem
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - isc_mem_putanddetach
    - UNLOCK
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void qpmulti_free_mem(dns_qpmulti_t *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qp.c:1589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1590,1
    - Dst: QPRCU_VALID
      Src: /src/bind9/lib/dns/qp.c:1590,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1592,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1595,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1595,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1601,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1601,1
    - Dst: destroy_guts
      Src: /src/bind9/lib/dns/qp.c:1603,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1605,1
    - Dst: dns_qpmulti_detach
      Src: /src/bind9/lib/dns/qp.c:1607,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:1608,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1587
    functionDepth: 5
    functionLinenumber: 1587
    functionLinenumberEnd: 1610
    functionName: qpmulti_destroy_guts_cb
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - LOCK
    - QPMULTI_VALID
    - destroy_guts
    - dns_qpmulti_detach
    - QPRCU_VALID
    - isc_mem_putanddetach
    - UNLOCK
    - QP_VALID
    - REQUIRE
    - STRUCT_FLEX_SIZE
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void qpmulti_destroy_guts_cb(struct rcu_head *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1618,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1619,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1619,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1625,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1625,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1626,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1627,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qp.c:1627,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:1629,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:1629,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:1634,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qp.c:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - qpmp
    argTypes:
    - dns_qpmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1636
    functionName: dns_qpmulti_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - QPMULTI_VALID
    - ISC_LIST_EMPTY
    - call_rcu
    - isc_mem_get
    - REQUIRE
    - STRUCT_FLEX_SIZE
    - QP_VALID
    linkageType: ''
    returnType: void
    signature: void dns_qpmulti_destroy(dns_qpmulti_t **qpmp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1658,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1658,1
    - Dst: make_leaf
      Src: /src/bind9/lib/dns/qp.c:1660,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1661,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1665,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1666,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:1668,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1682,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:1683,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:1684,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1685,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:1686,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1687,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:1687,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1688,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1692,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:1693,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:1697,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:1698,1
    - Dst: make_root_mutable
      Src: /src/bind9/lib/dns/qp.c:1701,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:1702,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:1703,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:1704,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:1707,1
    - Dst: make_twigs_mutable
      Src: /src/bind9/lib/dns/qp.c:1710,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:1711,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1712,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1712,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:1713,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1718,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1719,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:1727,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:1733,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1739,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1739,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:1742,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1744,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1745,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1746,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1747,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:1750,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:1751,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:1754,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:1755,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:1757,1
    - Dst: squash_twigs
      Src: /src/bind9/lib/dns/qp.c:1759,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:1761,1
    - Dst: attach_twigs
      Src: /src/bind9/lib/dns/qp.c:1764,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 77
    argCount: 3
    argNames:
    - qp
    - pval
    - ival
    argTypes:
    - dns_qp_t*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1643
    functionDepth: 10
    functionLinenumber: 1643
    functionLinenumberEnd: 1769
    functionName: dns_qp_insert
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - qpkey_bit
    - branch_key_offset
    - make_root_mutable
    - branch_has_twig
    - move_twigs
    - branch_twigs_size
    - is_branch
    - attach_twigs
    - branch_index
    - leaf_qpkey
    - INSIST
    - make_twigs_mutable
    - branch_twig_ptr
    - prefetch_twigs
    - qpkey_compare
    - alloc_twigs
    - branch_twigs_ref
    - make_leaf
    - attach_leaf
    - branch_twig_pos
    - squash_twigs
    - make_node
    - branch_keybit
    - ref_ptr
    - QP_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_qp_insert(dns_qp_t *qp, void *pval, uint32_t ival)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1774,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1774,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1775,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:1777,1
    - Dst: make_root_mutable
      Src: /src/bind9/lib/dns/qp.c:1783,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:1784,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:1785,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:1786,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1787,1
    - Dst: make_twigs_mutable
      Src: /src/bind9/lib/dns/qp.c:1790,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:1792,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1796,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:1797,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1803,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:1803,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1804,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:1804,1
    - Dst: detach_leaf
      Src: /src/bind9/lib/dns/qp.c:1805,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1810,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1811,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:1811,1
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:1812,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1821,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:1822,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:1823,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1824,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1825,1
    - Dst: squash_twigs
      Src: /src/bind9/lib/dns/qp.c:1832,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:1838,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:1838,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:1839,1
    - Dst: squash_twigs
      Src: /src/bind9/lib/dns/qp.c:1840,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 5
    argNames:
    - qp
    - search_key
    - search_keylen
    - pval_r
    - ival_r
    argTypes:
    - dns_qp_t*
    - dns_qpkey_t
    - size_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1771
    functionDepth: 10
    functionLinenumber: 1771
    functionLinenumberEnd: 1844
    functionName: dns_qp_deletekey
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 4
    functionsReached:
    - detach_leaf
    - REQUIRE
    - leaf_ival
    - make_root_mutable
    - SET_IF_NOT_NULL
    - branch_has_twig
    - move_twigs
    - branch_twigs_size
    - is_branch
    - branch_index
    - leaf_qpkey
    - INSIST
    - make_twigs_mutable
    - branch_twig_ptr
    - prefetch_twigs
    - qpkey_compare
    - branch_twigs_ref
    - free_twigs
    - get_root
    - branch_twig_pos
    - squash_twigs
    - make_node
    - branch_keybit
    - ref_ptr
    - leaf_pval
    - QP_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qp_deletekey(dns_qp_t *qp, const dns_qpkey_t search_key,\n\t\t
      size_t search_keylen, void **pval_r, uint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/qp.c:1850,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/lib/dns/qp.c:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - qp
    - name
    - space
    - pval_r
    - ival_r
    argTypes:
    - dns_qp_t*
    - dns_name_t*
    - dns_namespace_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1846
    functionDepth: 11
    functionLinenumber: 1846
    functionLinenumberEnd: 1852
    functionName: dns_qp_deletename
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - dns_qpkey_fromname
    - dns_qp_deletekey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qp_deletename(dns_qp_t *qp, const dns_name_t *name,
      dns_namespace_t space,\n\t\t  void **pval_r, uint32_t *ival_r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_reset
      Src: /src/bind9/lib/dns/qp.c:1866,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1867,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/lib/dns/qp.c:1868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - qp
    - node
    - name
    argTypes:
    - dns_qpreader_t*
    - dns_qpnode_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1857
    functionDepth: 3
    functionLinenumber: 1857
    functionLinenumberEnd: 1869
    functionName: maybe_set_name
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - leaf_qpkey
    - dns_qpkey_toname
    - dns_name_reset
    linkageType: ''
    returnType: void
    signature: void maybe_set_name(dns_qpreader_t *qp, dns_qpnode_t *node, dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:1873,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1874,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1874,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qpr
    - chain
    argTypes:
    - dns_qpreadable_t
    - dns_qpchain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1885
    functionName: dns_qpchain_init
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - QP_VALID
    - dns_qpreader
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_qpchain_init(dns_qpreadable_t qpr, dns_qpchain_t *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1889,1
    - Dst: QPCHAIN_VALID
      Src: /src/bind9/lib/dns/qp.c:1889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chain
    argTypes:
    - dns_qpchain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1892
    functionName: dns_qpchain_length
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - QPCHAIN_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_qpchain_length(dns_qpchain_t *chain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1899,1
    - Dst: QPCHAIN_VALID
      Src: /src/bind9/lib/dns/qp.c:1899,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1900,1
    - Dst: maybe_set_name
      Src: /src/bind9/lib/dns/qp.c:1903,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1904,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:1904,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1905,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - chain
    - level
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpchain_t*
    - unsigned int
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1894
    functionDepth: 4
    functionLinenumber: 1894
    functionLinenumberEnd: 1906
    functionName: dns_qpchain_node
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - SET_IF_NOT_NULL
    - QPCHAIN_VALID
    - maybe_set_name
    - leaf_pval
    - REQUIRE
    - leaf_ival
    linkageType: ''
    returnType: void
    signature: "void dns_qpchain_node(dns_qpchain_t *chain, unsigned int level, dns_name_t
      *name,\n\t\t void **pval_r, uint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:1914,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1915,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1915,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - qpr
    - qpi
    argTypes:
    - dns_qpreadable_t
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1930
    functionName: dns_qpiter_init
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - QP_VALID
    - dns_qpreader
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_qpiter_init(dns_qpreadable_t qpr, dns_qpiter_t *qpi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1942,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1942,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:1944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qpi
    - forward
    argTypes:
    - dns_qpiter_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 1948
    functionName: last_twig
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - branch_twigs_size
    - branch_twigs_ref
    - ref_ptr
    linkageType: ''
    returnType: bool
    signature: bool last_twig(dns_qpiter_t *qpi, bool forward)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1961,1
    - Dst: QPITER_VALID
      Src: /src/bind9/lib/dns/qp.c:1961,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1965,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1965,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:1967,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1975,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1985,1
    - Dst: last_twig
      Src: /src/bind9/lib/dns/qp.c:1986,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:1996,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2019,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2021,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:2022,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:2022,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:2023,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2027,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2030,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2030,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2031,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2031,1
    - Dst: maybe_set_name
      Src: /src/bind9/lib/dns/qp.c:2032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 5
    argNames:
    - forward
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - bool
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 1955
    functionDepth: 4
    functionLinenumber: 1955
    functionLinenumberEnd: 2034
    functionName: iterate
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 8
    functionsReached:
    - QPITER_VALID
    - SET_IF_NOT_NULL
    - get_root
    - maybe_set_name
    - dns_qpiter_init
    - INSIST
    - last_twig
    - ref_ptr
    - branch_twigs_size
    - REQUIRE
    - is_branch
    - leaf_pval
    - leaf_ival
    - branch_twigs_ref
    - QP_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t iterate(bool forward, dns_qpiter_t *qpi, dns_name_t *name,
      void **pval_r,\n\tuint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate
      Src: /src/bind9/lib/dns/qp.c:2039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2036
    functionDepth: 5
    functionLinenumber: 2036
    functionLinenumberEnd: 2040
    functionName: dns_qpiter_next
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - iterate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qpiter_next(dns_qpiter_t *qpi, dns_name_t *name,
      void **pval_r,\n\t\tuint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate
      Src: /src/bind9/lib/dns/qp.c:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2042
    functionDepth: 5
    functionLinenumber: 2042
    functionLinenumberEnd: 2046
    functionName: dns_qpiter_prev
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - iterate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qpiter_prev(dns_qpiter_t *qpi, dns_name_t *name,
      void **pval_r,\n\t\tuint32_t *ival_r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2053,1
    - Dst: QPITER_VALID
      Src: /src/bind9/lib/dns/qp.c:2053,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2056,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2060,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2060,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2061,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2061,1
    - Dst: maybe_set_name
      Src: /src/bind9/lib/dns/qp.c:2062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2048
    functionDepth: 4
    functionLinenumber: 2048
    functionLinenumberEnd: 2064
    functionName: dns_qpiter_current
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - QPITER_VALID
    - SET_IF_NOT_NULL
    - maybe_set_name
    - leaf_pval
    - REQUIRE
    - is_branch
    - leaf_ival
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qpiter_current(dns_qpiter_t *qpi, dns_name_t *name,
      void **pval_r,\n\t\t   uint32_t *ival_r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:2074,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2080,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:2080,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2081,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:2083,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2088,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:2089,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:2090,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2091,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:2094,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:2097,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:2098,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2104,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2104,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2105,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - qpr
    - search_key
    - search_keylen
    - pval_r
    - ival_r
    argTypes:
    - dns_qpreadable_t
    - dns_qpkey_t
    - size_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2107
    functionName: dns_qp_getkey
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - dns_qpreader
    - SET_IF_NOT_NULL
    - get_root
    - leaf_qpkey
    - branch_has_twig
    - branch_keybit
    - prefetch_twigs
    - branch_twig_ptr
    - REQUIRE
    - is_branch
    - qpkey_compare
    - leaf_pval
    - leaf_ival
    - QP_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qp_getkey(dns_qpreadable_t qpr, const dns_qpkey_t
      search_key,\n\t      size_t search_keylen, void **pval_r, uint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/qp.c:2113,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/lib/dns/qp.c:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - qpr
    - name
    - space
    - pval_r
    - ival_r
    argTypes:
    - dns_qpreadable_t
    - dns_name_t*
    - dns_namespace_t
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2109
    functionDepth: 3
    functionLinenumber: 2109
    functionLinenumberEnd: 2115
    functionName: dns_qp_getname
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - dns_qpkey_fromname
    - dns_qp_getkey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qp_getname(dns_qpreadable_t qpr, const dns_name_t
      *name,\n\t       dns_namespace_t space, void **pval_r, uint32_t *ival_r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - chain
    - node
    - offset
    argTypes:
    - dns_qpchain_t*
    - dns_qpnode_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2117
    functionDepth: 0
    functionLinenumber: 2117
    functionLinenumberEnd: 2127
    functionName: add_link
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: void
    signature: void add_link(dns_qpchain_t *chain, dns_qpnode_t *node, size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qp.c:2131,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qp.c:2133,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:2135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2129
    functionDepth: 6
    functionLinenumber: 2129
    functionLinenumberEnd: 2136
    functionName: prevleaf
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_prev
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void prevleaf(dns_qpiter_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2140,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:2141,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:2141,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:2144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - qpr
    - n
    - iter
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2147
    functionName: greatest_leaf
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - branch_twigs_ref
    - branch_twigs_size
    - ref_ptr
    - is_branch
    linkageType: ''
    returnType: void
    signature: void greatest_leaf(dns_qpreadable_t qpr, dns_qpnode_t *n, dns_qpiter_t
      *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2151,1
    - Dst: branch_twigs
      Src: /src/bind9/lib/dns/qp.c:2152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qpreader_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2155
    functionName: anyleaf
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - branch_twigs
    - is_branch
    linkageType: ''
    returnType: dns_qpnode_t
    signature: 'dns_qpnode_t *

      anyleaf(dns_qpreader_t *qp, dns_qpnode_t *n)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:2160,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - n
    - sbit
    - kbit
    - fbit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    - dns_qpshift_t
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2165
    functionName: twig_offset
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - branch_twig_pos
    - branch_has_twig
    linkageType: ''
    returnType: int
    signature: "int twig_offset(dns_qpnode_t *n, dns_qpshift_t sbit, dns_qpshift_t
      kbit,\n\t    dns_qpshift_t fbit)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2185,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2185,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:2188,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:2189,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2203,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:2204,1
    - Dst: prevleaf
      Src: /src/bind9/lib/dns/qp.c:2205,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2215,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2227,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2228,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2231,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2231,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:2240,1
    - Dst: prevleaf
      Src: /src/bind9/lib/dns/qp.c:2241,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2246,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2246,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2249,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2249,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:2251,1
    - Dst: branch_twigs
      Src: /src/bind9/lib/dns/qp.c:2252,1
    - Dst: twig_offset
      Src: /src/bind9/lib/dns/qp.c:2253,1
    - Dst: greatest_leaf
      Src: /src/bind9/lib/dns/qp.c:2260,1
    - Dst: prevleaf
      Src: /src/bind9/lib/dns/qp.c:2266,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - qp
    - it
    - key
    - len
    argTypes:
    - dns_qpreader_t*
    - dns_qpiter_t*
    - dns_qpkey_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2180
    functionDepth: 7
    functionLinenumber: 2180
    functionLinenumberEnd: 2268
    functionName: fix_iterator
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - twig_offset
    - qpkey_bit
    - leaf_qpkey
    - dns_qpiter_init
    - INSIST
    - greatest_leaf
    - prefetch_twigs
    - qpkey_compare
    - REQUIRE
    - is_branch
    - prevleaf
    - branch_twigs
    - branch_key_offset
    linkageType: ''
    returnType: void
    signature: "void fix_iterator(dns_qpreader_t *qp, dns_qpiter_t *it, dns_qpkey_t
      key,\n\t     size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - chain
    - offset
    argTypes:
    - dns_qpchain_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2285
    functionName: fix_chain
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fix_chain(dns_qpchain_t *chain, size_t offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:2291,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2302,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:2302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2303,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/qp.c:2303,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/qp.c:2305,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/lib/dns/qp.c:2314,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:2315,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:2317,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2330,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:2331,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2333,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2334,1
    - Dst: branch_twigs
      Src: /src/bind9/lib/dns/qp.c:2335,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2351,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2352,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2353,1
    - Dst: add_link
      Src: /src/bind9/lib/dns/qp.c:2355,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2358,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:2365,1
    - Dst: anyleaf
      Src: /src/bind9/lib/dns/qp.c:2372,1
    - Dst: fix_iterator
      Src: /src/bind9/lib/dns/qp.c:2384,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2389,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2389,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:2391,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:2392,1
    - Dst: fix_chain
      Src: /src/bind9/lib/dns/qp.c:2399,1
    - Dst: add_link
      Src: /src/bind9/lib/dns/qp.c:2402,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2404,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2404,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2405,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2405,1
    - Dst: maybe_set_name
      Src: /src/bind9/lib/dns/qp.c:2406,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2418,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2418,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2419,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2419,1
    - Dst: maybe_set_name
      Src: /src/bind9/lib/dns/qp.c:2420,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 8
    argNames:
    - qpr
    - name
    - space
    - foundname
    - iter
    - chain
    - pval_r
    - ival_r
    argTypes:
    - dns_qpreadable_t
    - dns_name_t*
    - dns_namespace_t
    - dns_name_t*
    - dns_qpiter_t*
    - dns_qpchain_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2287
    functionDepth: 8
    functionLinenumber: 2287
    functionLinenumberEnd: 2434
    functionName: dns_qp_lookup
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - fix_chain
    - dns_qpkey_fromname
    - REQUIRE
    - leaf_ival
    - branch_twigs
    - qpkey_bit
    - fix_iterator
    - branch_key_offset
    - anyleaf
    - SET_IF_NOT_NULL
    - maybe_set_name
    - branch_has_twig
    - is_branch
    - ISC_MAGIC_VALID
    - dns_qpreader
    - leaf_qpkey
    - dns_qpiter_init
    - INSIST
    - add_link
    - prefetch_twigs
    - branch_twig_ptr
    - qpkey_compare
    - dns_qpchain_init
    - get_root
    - leaf_pval
    - QP_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_qp_lookup(dns_qpreadable_t qpr, const dns_name_t
      *name,\n\t      dns_namespace_t space, dns_name_t *foundname, dns_qpiter_t *iter,\n\t
      \     dns_qpchain_t *chain, void **pval_r, uint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: IRS_RESCONF_VALID
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IRS_RESCONF_VALID(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 461
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/bind9/lib/dns/resconf.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: eatline
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int eatline(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/bind9/lib/dns/resconf.c:157,1
    - Dst: isspace
      Src: /src/bind9/lib/dns/resconf.c:158,1
    - Dst: eatline
      Src: /src/bind9/lib/dns/resconf.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 165
    functionName: eatwhite
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - fgetc
    - eatline
    - isspace
    linkageType: ''
    returnType: int
    signature: int eatwhite(FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:179,1
    - Dst: eatwhite
      Src: /src/bind9/lib/dns/resconf.c:184,1
    - Dst: isspace
      Src: /src/bind9/lib/dns/resconf.c:192,1
    - Dst: fgetc
      Src: /src/bind9/lib/dns/resconf.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - fp
    - buffer
    - size
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 203
    functionName: getword
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - fgetc
    - eatwhite
    - isspace
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int getword(FILE *fp, char *buffer, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/resconf.c:214,1
    - Dst: getaddrinfo
      Src: /src/bind9/lib/dns/resconf.c:219,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resconf.c:224,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:226,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resconf.c:238,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:239,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:241,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:243,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:245,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/resconf.c:246,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/resconf.c:253,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resconf.c:254,1
    - Dst: freeaddrinfo
      Src: /src/bind9/lib/dns/resconf.c:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - mctx
    - address_str
    - nameservers
    argTypes:
    - isc_mem_t*
    - char*
    - isc_sockaddrlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 260
    functionName: add_server
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - UNEXPECTED_ERROR
    - ISC_LIST_APPEND
    - freeaddrinfo
    - ISC_LINK_INIT
    - isc_mem_get
    - memcmp
    - isc_mem_put
    - getaddrinfo
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_server(isc_mem_t *mctx, const char *address_str,\n\t
      \  isc_sockaddrlist_t *nameservers)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/resconf.c:267,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resconf.c:271,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:272,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:276,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/resconf.c:278,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - buffer
    - addr
    - convert_zero
    argTypes:
    - char*
    - isc_netaddr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: create_addr
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - memcmp
    - memmove
    - inet_pton
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_addr(const char *buffer, isc_netaddr_t *addr, int
      convert_zero)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:295,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:296,1
    - Dst: eatwhite
      Src: /src/bind9/lib/dns/resconf.c:299,1
    - Dst: add_server
      Src: /src/bind9/lib/dns/resconf.c:310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionName: resconf_parsenameserver
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - eatwhite
    - strlen
    - getword
    - add_server
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resconf_parsenameserver(irs_resconf_t *conf, FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:324,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:325,1
    - Dst: eatwhite
      Src: /src/bind9/lib/dns/resconf.c:328,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:336,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/resconf.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 347
    functionName: resconf_parsedomain
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - getword
    - strlen
    - isc_mem_strdup
    - eatwhite
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resconf_parsedomain(irs_resconf_t *conf, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resconf.c:351,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resconf.c:352,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:353,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 356
    functionName: free_search
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - ISC_LIST_UNLINK
    - isc_mem_free
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void free_search(irs_resconf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resconf.c:367,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/resconf.c:369,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resconf.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - domain
    argTypes:
    - irs_resconf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: add_search
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_mem_strdup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_search(irs_resconf_t *conf, char *domain)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:388,1
    - Dst: free_search
      Src: /src/bind9/lib/dns/resconf.c:394,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:396,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:397,1
    - Dst: add_search
      Src: /src/bind9/lib/dns/resconf.c:401,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:410,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 417
    functionName: resconf_parsesearch
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - getword
    - free_search
    - strlen
    - add_search
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resconf_parsesearch(irs_resconf_t *conf, FILE *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:426,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:427,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:431,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/resconf.c:436,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resconf.c:442,1
    - Dst: create_addr
      Src: /src/bind9/lib/dns/resconf.c:444,1
    - Dst: create_addr
      Src: /src/bind9/lib/dns/resconf.c:450,1
    - Dst: memset
      Src: /src/bind9/lib/dns/resconf.c:459,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:468,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 473
    functionName: resconf_parsesortlist
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - memset
    - strchr
    - getword
    - create_addr
    - INSIST
    - strlen
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resconf_parsesortlist(irs_resconf_t *conf, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/lib/dns/resconf.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - word
    - number
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: resconf_optionnumber
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - strtol
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resconf_optionnumber(const char *word, uint8_t *number)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:497,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:498,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:502,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:503,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/resconf.c:505,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resconf.c:506,1
    - Dst: resconf_optionnumber
      Src: /src/bind9/lib/dns/resconf.c:506,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/resconf.c:507,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resconf.c:508,1
    - Dst: resconf_optionnumber
      Src: /src/bind9/lib/dns/resconf.c:508,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/resconf.c:509,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resconf.c:510,1
    - Dst: resconf_optionnumber
      Src: /src/bind9/lib/dns/resconf.c:510,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:516,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 522
    functionName: resconf_parseoption
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - strncmp
    - resconf_optionnumber
    - getword
    - strlen
    - CHECK
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resconf_parseoption(irs_resconf_t *conf, FILE *fp)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:535,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:535,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:536,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resconf.c:538,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/resconf.c:548,1
    - Dst: feof
      Src: /src/bind9/lib/dns/resconf.c:549,1
    - Dst: ferror
      Src: /src/bind9/lib/dns/resconf.c:549,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:550,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:552,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:560,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:562,1
    - Dst: resconf_parsenameserver
      Src: /src/bind9/lib/dns/resconf.c:563,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:564,1
    - Dst: resconf_parsedomain
      Src: /src/bind9/lib/dns/resconf.c:565,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:566,1
    - Dst: resconf_parsesearch
      Src: /src/bind9/lib/dns/resconf.c:567,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:568,1
    - Dst: resconf_parsesortlist
      Src: /src/bind9/lib/dns/resconf.c:569,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:570,1
    - Dst: resconf_parseoption
      Src: /src/bind9/lib/dns/resconf.c:571,1
    - Dst: eatline
      Src: /src/bind9/lib/dns/resconf.c:576,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/resconf.c:586,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:592,1
    - Dst: free_search
      Src: /src/bind9/lib/dns/resconf.c:606,1
    - Dst: add_search
      Src: /src/bind9/lib/dns/resconf.c:607,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resconf.c:612,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resconf.c:612,1
    - Dst: add_server
      Src: /src/bind9/lib/dns/resconf.c:615,1
    - Dst: add_server
      Src: /src/bind9/lib/dns/resconf.c:616,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/lib/dns/resconf.c:623,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 3
    argNames:
    - mctx
    - filename
    - confp
    argTypes:
    - isc_mem_t*
    - char*
    - irs_resconf_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 632
    functionName: irs_resconf_load
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 4
    functionsReached:
    - resconf_parsedomain
    - free_search
    - REQUIRE
    - feof
    - ferror
    - resconf_parsesortlist
    - resconf_parseoption
    - irs_resconf_destroy
    - ISC_LIST_EMPTY
    - fopen
    - fclose
    - INSIST
    - resconf_parsesearch
    - isc_mem_get
    - strlen
    - eatline
    - resconf_parsenameserver
    - strcmp
    - add_server
    - getword
    - add_search
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t irs_resconf_load(isc_mem_t *mctx, const char *filename,
      irs_resconf_t **confp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:638,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:641,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:641,1
    - Dst: free_search
      Src: /src/bind9/lib/dns/resconf.c:643,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resconf.c:645,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resconf.c:646,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:647,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:651,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - confp
    argTypes:
    - irs_resconf_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 634
    functionDepth: 2
    functionLinenumber: 634
    functionLinenumberEnd: 655
    functionName: irs_resconf_destroy
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 5
    functionsReached:
    - isc_mem_free
    - free_search
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - IRS_RESCONF_VALID
    linkageType: ''
    returnType: void
    signature: void irs_resconf_destroy(irs_resconf_t **confp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:659,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: irs_resconf_getnameservers
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 4
    functionsReached:
    - IRS_RESCONF_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddrlist_t
    signature: 'isc_sockaddrlist_t *

      irs_resconf_getnameservers(irs_resconf_t *conf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:666,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: irs_resconf_getsearchlist
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 2
    functionsReached:
    - IRS_RESCONF_VALID
    - REQUIRE
    linkageType: ''
    returnType: irs_resconf_searchlist_t
    signature: 'irs_resconf_searchlist_t *

      irs_resconf_getsearchlist(irs_resconf_t *conf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:673,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: irs_resconf_getndots
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 3
    functionsReached:
    - IRS_RESCONF_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int irs_resconf_getndots(irs_resconf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:680,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: irs_resconf_getattempts
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 3
    functionsReached:
    - IRS_RESCONF_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int irs_resconf_getattempts(irs_resconf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:687,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: irs_resconf_gettimeout
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 3
    functionsReached:
    - IRS_RESCONF_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int irs_resconf_gettimeout(irs_resconf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DNS_STATS_VALID
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_STATS_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:140,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:140,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:141,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/stats.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - statsp
    argTypes:
    - dns_stats_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: dns_stats_attach
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - DNS_STATS_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_stats_attach(dns_stats_t *stats, dns_stats_t **statsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:152,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:152,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/stats.c:157,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/stats.c:158,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/stats.c:159,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/stats.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - statsp
    argTypes:
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: dns_stats_detach
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 8
    functionsReached:
    - isc_stats_detach
    - isc_mem_putanddetach
    - isc_refcount_decrement
    - DNS_STATS_VALID
    - REQUIRE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void dns_stats_detach(dns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/stats.c:170,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/stats.c:173,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/stats.c:175,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/stats.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - mctx
    - type
    - ncounters
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_statstype_t
    - int
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: create_stats
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_stats_create
    - isc_mem_attach
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: "void create_stats(isc_mem_t *mctx, dns_statstype_t type, int ncounters,\n\t
      \    dns_stats_t **statsp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:186,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - mctx
    - statsp
    - ncounters
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: dns_generalstats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - create_stats
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_generalstats_create(isc_mem_t *mctx, dns_stats_t **statsp,
      int ncounters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:193,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: dns_rdatatypestats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 4
    functionsReached:
    - create_stats
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdatatypestats_create(isc_mem_t *mctx, dns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:205,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: dns_rdatasetstats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - create_stats
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdatasetstats_create(isc_mem_t *mctx, dns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:213,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: dns_opcodestats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - create_stats
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_opcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:220,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 3
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: dns_rcodestats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - create_stats
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rcodestats_create(isc_mem_t *mctx, dns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:228,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: dns_dnssecsignstats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - create_stats
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_dnssecsignstats_create(isc_mem_t *mctx, dns_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:243,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:243,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - dns_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: dns_generalstats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - DNS_STATS_VALID
    - isc_stats_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_generalstats_increment(dns_stats_t *stats, isc_statscounter_t
      counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: rdatatype2counter
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t rdatatype2counter(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:260,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:260,1
    - Dst: rdatatype2counter
      Src: /src/bind9/lib/dns/stats.c:262,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stats
    - type
    argTypes:
    - dns_stats_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: dns_rdatatypestats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - rdatatype2counter
    - DNS_STATS_VALID
    - isc_stats_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdatatypestats_increment(dns_stats_t *stats, dns_rdatatype_t
      type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:271,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:280,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:284,1
    - Dst: rdatatype2counter
      Src: /src/bind9/lib/dns/stats.c:290,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/lib/dns/stats.c:290,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:292,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:298,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:302,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:310,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/dns/stats.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - stats
    - rrsettype
    - increment
    argTypes:
    - dns_stats_t*
    - dns_rdatastatstype_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 314
    functionName: update_rdatasetstats
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_BASE
    - DNS_RDATASTATSTYPE_ATTR
    - isc_stats_increment
    - rdatatype2counter
    - isc_stats_decrement
    linkageType: ''
    returnType: void
    signature: "void update_rdatasetstats(dns_stats_t *stats, dns_rdatastatstype_t
      rrsettype,\n\t\t     bool increment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:319,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:319,1
    - Dst: update_rdatasetstats
      Src: /src/bind9/lib/dns/stats.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - rrsettype
    argTypes:
    - dns_stats_t*
    - dns_rdatastatstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: dns_rdatasetstats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 4
    functionsReached:
    - update_rdatasetstats
    - DNS_STATS_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_rdatasetstats_increment(dns_stats_t *stats,\n\t\t\t    dns_rdatastatstype_t
      rrsettype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:328,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:328,1
    - Dst: update_rdatasetstats
      Src: /src/bind9/lib/dns/stats.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - rrsettype
    argTypes:
    - dns_stats_t*
    - dns_rdatastatstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: dns_rdatasetstats_decrement
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - update_rdatasetstats
    - DNS_STATS_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_rdatasetstats_decrement(dns_stats_t *stats,\n\t\t\t    dns_rdatastatstype_t
      rrsettype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:336,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:336,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - code
    argTypes:
    - dns_stats_t*
    - dns_opcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: dns_opcodestats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - DNS_STATS_VALID
    - isc_stats_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_opcodestats_increment(dns_stats_t *stats, dns_opcode_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:343,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:343,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - code
    argTypes:
    - dns_stats_t*
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: dns_rcodestats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - DNS_STATS_VALID
    - isc_stats_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rcodestats_increment(dns_stats_t *stats, dns_rcode_t code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:355,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:355,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/dns/stats.c:357,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:366,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:369,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:377,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:379,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:380,1
    - Dst: isc_stats_resize
      Src: /src/bind9/lib/dns/stats.c:386,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:391,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:392,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:393,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - stats
    - id
    - alg
    - operation
    argTypes:
    - dns_stats_t*
    - dns_keytag_t
    - uint8_t
    - dnssecsignstats_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 397
    functionName: dns_dnssecsignstats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_set
    - isc_stats_resize
    - isc_stats_get_counter
    - isc_stats_increment
    - isc_stats_ncounters
    - REQUIRE
    - DNS_STATS_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_dnssecsignstats_increment(dns_stats_t *stats, dns_keytag_t
      id, uint8_t alg,\n\t\t\t      dnssecsignstats_type_t operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:403,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:403,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/dns/stats.c:405,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:414,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:417,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:418,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - stats
    - id
    - alg
    argTypes:
    - dns_stats_t*
    - dns_keytag_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: dns_dnssecsignstats_clear
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_set
    - isc_stats_get_counter
    - isc_stats_ncounters
    - REQUIRE
    - DNS_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void dns_dnssecsignstats_clear(dns_stats_t *stats, dns_keytag_t id,
      uint8_t alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:433,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:433,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg
    - options
    argTypes:
    - dns_stats_t*
    - dns_generalstats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: dns_generalstats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - DNS_STATS_VALID
    - REQUIRE
    - isc_stats_dump
    linkageType: ''
    returnType: void
    signature: "void dns_generalstats_dump(dns_stats_t *stats, dns_generalstats_dumper_t
      dump_fn,\n\t\t      void *arg, unsigned int options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/lib/dns/stats.c:450,1
    - Dst: dump_fn
      Src: /src/bind9/lib/dns/stats.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - rdcounter
    - value
    - attributes
    - dump_fn
    - arg
    argTypes:
    - int
    - uint64_t
    - dns_rdatastatstype_t
    - dns_rdatatypestats_dumper_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 453
    functionName: dump_rdentry
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - dump_fn
    - DNS_RDATASTATSTYPE_VALUE
    linkageType: ''
    returnType: void
    signature: "void dump_rdentry(int rdcounter, uint64_t value, dns_rdatastatstype_t
      attributes,\n\t     dns_rdatatypestats_dumper_t dump_fn, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_rdentry
      Src: /src/bind9/lib/dns/stats.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - counter
    - value
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: rdatatype_dumpcb
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - dump_rdentry
    linkageType: ''
    returnType: void
    signature: void rdatatype_dumpcb(isc_statscounter_t counter, uint64_t value, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:466,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:466,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - dns_stats_t*
    - dns_rdatatypestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: dns_rdatatypestats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 5
    functionsReached:
    - DNS_STATS_VALID
    - REQUIRE
    - isc_stats_dump
    linkageType: ''
    returnType: void
    signature: "void dns_rdatatypestats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t
      dump_fn,\n\t\t\tvoid *arg0, unsigned int options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dump_rdentry
      Src: /src/bind9/lib/dns/stats.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - counter
    - value
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 511
    functionName: rdataset_dumpcb
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - dump_rdentry
    linkageType: ''
    returnType: void
    signature: void rdataset_dumpcb(isc_statscounter_t counter, uint64_t value, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:518,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:518,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - dns_stats_t*
    - dns_rdatatypestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 524
    functionName: dns_rdatasetstats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 4
    functionsReached:
    - DNS_STATS_VALID
    - REQUIRE
    - isc_stats_dump
    linkageType: ''
    returnType: void
    signature: "void dns_rdatasetstats_dump(dns_stats_t *stats, dns_rdatatypestats_dumper_t
      dump_fn,\n\t\t       void *arg0, unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dnssecsigndumparg_t*::fn
      Src: /src/bind9/lib/dns/stats.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - counter
    - value
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 531
    functionName: dnssec_dumpcb
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - dnssecsigndumparg_t*::fn
    linkageType: ''
    returnType: void
    signature: void dnssec_dumpcb(isc_statscounter_t counter, uint64_t value, void
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/dns/stats.c:538,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:543,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:548,1
    - Dst: dump_fn
      Src: /src/bind9/lib/dns/stats.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - stats
    - operation
    - dump_fn
    - arg
    - options
    argTypes:
    - isc_stats_t*
    - dnssecsignstats_type_t
    - isc_stats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 555
    functionName: dnssec_statsdump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_get_counter
    - dump_fn
    - isc_stats_ncounters
    linkageType: ''
    returnType: void
    signature: "void dnssec_statsdump(isc_stats_t *stats, dnssecsignstats_type_t operation,\n\t\t
      isc_stats_dumper_t dump_fn, void *arg, unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:563,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:563,1
    - Dst: dnssec_statsdump
      Src: /src/bind9/lib/dns/stats.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - stats
    - operation
    - dump_fn
    - arg0
    - options
    argTypes:
    - dns_stats_t*
    - dnssecsignstats_type_t
    - dns_dnssecsignstats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 570
    functionName: dns_dnssecsignstats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - dnssec_statsdump
    - DNS_STATS_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_dnssecsignstats_dump(dns_stats_t *stats, dnssecsignstats_type_t
      operation,\n\t\t\t dns_dnssecsignstats_dumper_t dump_fn, void *arg0,\n\t\t\t
      unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opcodedumparg_t*::fn
      Src: /src/bind9/lib/dns/stats.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - counter
    - value
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: opcode_dumpcb
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - opcodedumparg_t*::fn
    linkageType: ''
    returnType: void
    signature: void opcode_dumpcb(isc_statscounter_t counter, uint64_t value, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcodedumparg_t*::fn
      Src: /src/bind9/lib/dns/stats.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - counter
    - value
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: rcode_dumpcb
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - rcodedumparg_t*::fn
    linkageType: ''
    returnType: void
    signature: void rcode_dumpcb(isc_statscounter_t counter, uint64_t value, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:591,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:591,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - dns_stats_t*
    - dns_opcodestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 596
    functionName: dns_opcodestats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 3
    functionsReached:
    - DNS_STATS_VALID
    - REQUIRE
    - isc_stats_dump
    linkageType: ''
    returnType: void
    signature: "void dns_opcodestats_dump(dns_stats_t *stats, dns_opcodestats_dumper_t
      dump_fn,\n\t\t     void *arg0, unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:603,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:603,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - dns_stats_t*
    - dns_rcodestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: dns_rcodestats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 3
    functionsReached:
    - DNS_STATS_VALID
    - REQUIRE
    - isc_stats_dump
    linkageType: ''
    returnType: void
    signature: "void dns_rcodestats_dump(dns_stats_t *stats, dns_rcodestats_dumper_t
      dump_fn,\n\t\t    void *arg0, unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rcode.c:229,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rcode.c:230,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rcode.c:236,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rcode.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 3
    functionsReached:
    - strlen
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t str_totext(const char *source, isc_buffer_t *target)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rcode.c:249,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:260,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rcode.c:265,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/rcode.c:267,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/rcode.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - valuep
    - source
    - max
    - hex_allowed
    argTypes:
    - unsigned int*
    - isc_textregion_t*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 279
    functionName: maybe_numeric
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - isc_parse_uint32
    - snprintf
    - INSIST
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t maybe_numeric(unsigned int *valuep, isc_textregion_t
      *source, unsigned int max,\n\t      bool hex_allowed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: maybe_numeric
      Src: /src/bind9/lib/dns/rcode.c:287,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rcode.c:294,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rcode.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - valuep
    - source
    - table
    - max
    argTypes:
    - unsigned int*
    - isc_textregion_t*
    - struct tbl*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: dns_mnemonic_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - strlen
    - maybe_numeric
    - strncasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_mnemonic_fromtext(unsigned int *valuep, isc_textregion_t
      *source,\n\t\t      struct tbl *table, unsigned int max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:312,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:316,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - value
    - target
    - table
    argTypes:
    - unsigned int
    - isc_buffer_t*
    - struct tbl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: dns_mnemonic_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - str_totext
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_mnemonic_totext(unsigned int value, isc_buffer_t
      *target,\n\t\t    struct tbl *table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:323,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rcodep
    - source
    argTypes:
    - dns_rcode_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: dns_rcode_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcode
    - target
    argTypes:
    - dns_rcode_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: dns_rcode_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 7
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rcode_totext(dns_rcode_t rcode, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:336,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rcodep
    - source
    argTypes:
    - dns_rcode_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 3
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: dns_tsigrcode_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_tsigrcode_fromtext(dns_rcode_t *rcodep, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcode
    - target
    argTypes:
    - dns_rcode_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: dns_tsigrcode_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 2
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_tsigrcode_totext(dns_rcode_t rcode, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:349,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - certp
    - source
    argTypes:
    - dns_cert_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: dns_cert_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cert_fromtext(dns_cert_t *certp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - target
    argTypes:
    - dns_cert_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: dns_cert_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cert_totext(dns_cert_t cert, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:362,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - secalgp
    - source
    argTypes:
    - dns_secalg_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: dns_secalg_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_secalg_fromtext(dns_secalg_t *secalgp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - secalg
    - target
    argTypes:
    - dns_secalg_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: dns_secalg_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_secalg_totext(dns_secalg_t secalg, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:378,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:379,1
    - Dst: dns_secalg_totext
      Src: /src/bind9/lib/dns/rcode.c:380,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - alg
    - cp
    - size
    argTypes:
    - dns_secalg_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 386
    functionName: dns_secalg_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 5
    functionsReached:
    - isc_buffer_init
    - dns_secalg_totext
    - isc_buffer_usedregion
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_secalg_format(dns_secalg_t alg, char *cp, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:391,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dstalgp
    - source
    argTypes:
    - dst_algorithm_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: dst_privatedns_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_privatedns_fromtext(dst_algorithm_t *dstalgp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - target
    argTypes:
    - dst_algorithm_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: dns_privatedns_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_privatedns_totext(dst_algorithm_t alg, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:407,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:408,1
    - Dst: dns_privatedns_totext
      Src: /src/bind9/lib/dns/rcode.c:409,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - alg
    - cp
    - size
    argTypes:
    - dst_algorithm_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: dns_privatedns_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_buffer_usedregion
    - REQUIRE
    - dns_privatedns_totext
    linkageType: ''
    returnType: void
    signature: void dns_privatedns_format(dst_algorithm_t alg, char *cp, unsigned
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:420,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dstalgp
    - source
    argTypes:
    - dst_algorithm_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: dst_privateoid_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_privateoid_fromtext(dst_algorithm_t *dstalgp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - target
    argTypes:
    - dst_algorithm_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: dns_privateoid_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_privateoid_totext(dst_algorithm_t alg, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:436,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:437,1
    - Dst: dns_privateoid_totext
      Src: /src/bind9/lib/dns/rcode.c:438,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - alg
    - cp
    - size
    argTypes:
    - dst_algorithm_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 444
    functionName: dns_privateoid_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - dns_privateoid_totext
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void dns_privateoid_format(dst_algorithm_t alg, char *cp, unsigned
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:449,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - secprotop
    - source
    argTypes:
    - dns_secproto_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: dns_secproto_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_secproto_fromtext(dns_secproto_t *secprotop, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - secproto
    - target
    argTypes:
    - dns_secproto_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: dns_secproto_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_secproto_totext(dns_secproto_t secproto, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:462,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hashalg
    - source
    argTypes:
    - unsigned char*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: dns_hashalg_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_hashalg_fromtext(unsigned char *hashalg, isc_textregion_t
      *source)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: maybe_numeric
      Src: /src/bind9/lib/dns/rcode.c:476,1
    - Dst: memchr
      Src: /src/bind9/lib/dns/rcode.c:491,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rcode.c:498,1
    - Dst: warn
      Src: /src/bind9/lib/dns/rcode.c:508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - flagsp
    - source
    argTypes:
    - dns_keyflags_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 519
    functionName: dns_keyflags_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - memchr
    - maybe_numeric
    - warn
    - strncasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_keyflags_fromtext(dns_keyflags_t *flagsp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:524,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dsdigestp
    - source
    argTypes:
    - dns_dsdigest_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 3
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: dns_dsdigest_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 7
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dsdigest_fromtext(dns_dsdigest_t *dsdigestp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dsdigest
    - target
    argTypes:
    - dns_dsdigest_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: dns_dsdigest_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 1
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dsdigest_totext(dns_dsdigest_t dsdigest, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:540,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:541,1
    - Dst: dns_dsdigest_totext
      Src: /src/bind9/lib/dns/rcode.c:542,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - typ
    - cp
    - size
    argTypes:
    - dns_dsdigest_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 548
    functionName: dns_dsdigest_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - dns_dsdigest_totext
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void dns_dsdigest_format(dns_dsdigest_t typ, char *cp, unsigned int
      size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rcode.c:564,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:566,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:574,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:575,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rcode.c:579,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:589,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rcode.c:591,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:599,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:600,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:603,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:606,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:609,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - classp
    - source
    argTypes:
    - dns_rdataclass_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 616
    functionName: dns_rdataclass_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 27
    functionsReached:
    - strtoul
    - snprintf
    - isc_ascii_tolower
    - COMPARE
    - strncasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataclass_fromtext(dns_rdataclass_t *classp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - string
    - ','
    - rdclass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 563
    functionName: COMPARE
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(string, rdclass)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:622,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:624,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:626,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:628,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:630,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:632,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/rcode.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - rdclass
    - target
    argTypes:
    - dns_rdataclass_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 636
    functionName: dns_rdataclass_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 2
    functionsReached:
    - str_totext
    - dns_rdataclass_tounknowntext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataclass_totext(dns_rdataclass_t rdclass, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:642,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rdclass
    - target
    argTypes:
    - dns_rdataclass_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 644
    functionName: dns_rdataclass_tounknowntext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 2
    functionsReached:
    - str_totext
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataclass_tounknowntext(dns_rdataclass_t rdclass,
      isc_buffer_t *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:656,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/rcode.c:657,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rcode.c:662,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/rcode.c:663,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rcode.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rdclass
    - array
    - size
    argTypes:
    - dns_rdataclass_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 671
    functionName: dns_rdataclass_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 31
    functionsReached:
    - strlcpy
    - dns_rdataclass_totext
    - isc_buffer_init
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: "void dns_rdataclass_format(dns_rdataclass_t rdclass, char *array,\n\t\t
      \     unsigned int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:676,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dstalgp
    - source
    argTypes:
    - dst_algorithm_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 679
    functionName: dst_algorithm_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 8
    functionsReached:
    - dns_mnemonic_fromtext
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_algorithm_fromtext(dst_algorithm_t *dstalgp, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - target
    argTypes:
    - dst_algorithm_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: dst_algorithm_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 3
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_algorithm_totext(dst_algorithm_t alg, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:692,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:693,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/lib/dns/rcode.c:694,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - alg
    - cp
    - size
    argTypes:
    - dst_algorithm_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 700
    functionName: dst_algorithm_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 3
    functionsReached:
    - isc_buffer_init
    - isc_buffer_usedregion
    - dst_algorithm_totext
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dst_algorithm_format(dst_algorithm_t alg, char *cp, unsigned int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: is_response
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_response(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - data
    argTypes:
    - void*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: digest_callback
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_context_adddata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_callback(void *arg, isc_region_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/dnssec.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - counter
    argTypes:
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: inc_stat
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stat(isc_statscounter_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: rdata_compare_wrapper
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    linkageType: ''
    returnType: int
    signature: int rdata_compare_wrapper(const void *rdata1, const void *rdata2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/dnssec.c:100,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dnssec.c:102,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dnssec.c:104,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:105,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/dnssec.c:106,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:108,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dnssec.c:109,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/dnssec.c:117,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:118,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/dnssec.c:119,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/dnssec.c:124,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - set
    - mctx
    - rdata
    - nrdata
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - dns_rdata_t**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 129
    functionName: rdataset_to_sortedarray
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdataset_next
    - isc_mem_cget
    - dns_rdataset_current
    - qsort
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_rdataset_clone
    - dns_rdataset_count
    - isc_mem_cput
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdataset_to_sortedarray(dns_rdataset_t *set, isc_mem_t
      *mctx,\n\t\t\tdns_rdata_t **rdata, int *nrdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:137,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:138,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:139,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:140,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:142,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:145,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:146,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnssec.c:147,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/lib/dns/dnssec.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - name
    - rdata
    - mctx
    - key
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: dns_dnssec_keyfromrdata
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 3
    functionsReached:
    - INSIST
    - isc_buffer_init
    - REQUIRE
    - isc_buffer_add
    - dst_key_fromdns
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_keyfromrdata(const dns_name_t *name, const
      dns_rdata_t *rdata,\n\t\t\tisc_mem_t *mctx, dst_key_t **key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:158,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:159,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:162,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:167,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:169,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:169,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:170,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:172,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:172,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:174,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ctx
    - downcase
    - sigrdata
    - rrsig
    argTypes:
    - dst_context_t*
    - bool
    - dns_rdata_t*
    - dns_rdata_rrsig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 178
    functionName: digest_sig
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dst_context_adddata
    - INSIST
    - dns_fixedname_name
    - dns_name_downcase
    - dns_name_toregion
    - dns_fixedname_init
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t digest_sig(dst_context_t *ctx, bool downcase, dns_rdata_t
      *sigrdata,\n\t   dns_rdata_rrsig_t *rrsig)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:199,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/dnssec.c:199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:200,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:205,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dnssec.c:214,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/dnssec.c:219,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:220,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:221,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:221,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:221,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:222,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/dnssec.c:224,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:224,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/dnssec.c:227,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:227,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/dnssec.c:228,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/dnssec.c:229,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:235,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/dnssec.c:236,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnssec.c:245,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dnssec.c:247,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/dnssec.c:249,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:250,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:256,1
    - Dst: digest_sig
      Src: /src/bind9/lib/dns/dnssec.c:264,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:269,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:270,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:270,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:270,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:272,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:272,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:277,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:278,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnssec.c:279,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:280,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:281,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/dnssec.c:282,1
    - Dst: rdataset_to_sortedarray
      Src: /src/bind9/lib/dns/dnssec.c:284,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:288,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:298,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:306,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:314,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:315,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:316,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:317,1
    - Dst: dns_rdata_digest
      Src: /src/bind9/lib/dns/dnssec.c:325,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:331,1
    - Dst: dst_context_sign
      Src: /src/bind9/lib/dns/dnssec.c:332,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:336,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:342,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dnssec.c:346,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:348,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dnssec.c:350,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:351,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 115
    argCount: 8
    argNames:
    - name
    - set
    - key
    - inception
    - expire
    - mctx
    - buffer
    - sigrdata
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dst_key_t*
    - isc_stdtime_t*
    - isc_stdtime_t*
    - isc_mem_t*
    - isc_buffer_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 354
    functionName: dns_dnssec_sign
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 3
    functionsReached:
    - dns_rdata_init
    - memmove
    - dst_context_adddata
    - REQUIRE
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_name_countlabels
    - ISC_LINK_INIT
    - dst_context_sign
    - dns_name_toregion
    - dns_name_iswildcard
    - dns_fixedname_init
    - dst_key_sigsize
    - dns_rdata_digest
    - dst_context_destroy
    - dns_rdata_fromstruct
    - dst_algorithm_tosecalg
    - RUNTIME_CHECK
    - dst_key_alg
    - rdataset_to_sortedarray
    - dns_fixedname_name
    - dns_name_downcase
    - isc_mem_get
    - dst_context_create
    - isc_buffer_putuint16
    - isc_buffer_free
    - isc_mem_cput
    - dns_rdata_compare
    - digest_sig
    - isc_buffer_init
    - dns_name_clone
    - dst_key_id
    - isc_buffer_add
    - isc_mem_put
    - isc_buffer_putuint32
    - dst_key_name
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t
      *set, dst_key_t *key,\n\t\tisc_stdtime_t *inception, isc_stdtime_t *expire,\n\t\tisc_mem_t
      *mctx, isc_buffer_t *buffer, dns_rdata_t *sigrdata)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:375,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:377,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:379,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:388,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:389,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:394,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:399,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:400,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:402,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:403,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:416,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:417,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:422,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:423,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/dnssec.c:428,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:429,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:436,1
    - Dst: digest_sig
      Src: /src/bind9/lib/dns/dnssec.c:445,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:453,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/dnssec.c:454,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:455,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:455,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:455,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/dnssec.c:458,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:458,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:459,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:462,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:462,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:467,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dnssec.c:469,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dnssec.c:470,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:471,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:473,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnssec.c:475,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:476,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:477,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/dnssec.c:478,1
    - Dst: rdataset_to_sortedarray
      Src: /src/bind9/lib/dns/dnssec.c:480,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:485,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:495,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:503,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:511,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:512,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:513,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:518,1
    - Dst: dns_rdata_digest
      Src: /src/bind9/lib/dns/dnssec.c:522,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/dnssec.c:530,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:533,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:534,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dnssec.c:535,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:539,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:541,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dnssec.c:545,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:547,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/dnssec.c:553,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:560,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:565,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/dnssec.c:565,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:567,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:570,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 149
    argCount: 7
    argNames:
    - name
    - set
    - key
    - ignoretime
    - mctx
    - sigrdata
    - wild
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dst_key_t*
    - bool
    - isc_mem_t*
    - dns_rdata_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 574
    functionName: dns_dnssec_verify
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 5
    functionsReached:
    - memmove
    - dst_context_adddata
    - isc_log_write
    - REQUIRE
    - isc_buffer_usedregion
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_name_issubdomain
    - isc_serial_lt
    - dns_rdata_freestruct
    - dns_name_toregion
    - isc_stdtime_now
    - dns_fixedname_init
    - dns_name_format
    - dst_context_verify
    - dns_name_concatenate
    - dns_rdata_digest
    - dst_context_destroy
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - rdataset_to_sortedarray
    - dns_fixedname_name
    - dns_name_downcase
    - dst_context_create
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - dns_name_split
    - dns_rdata_compare
    - dns_name_equal
    - digest_sig
    - isc_buffer_init
    - isc_buffer_add
    - isc_buffer_putuint32
    - isc_mem_cput
    - inc_stat
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_verify(const dns_name_t *name, dns_rdataset_t
      *set, dst_key_t *key,\n\t\t  bool ignoretime, isc_mem_t *mctx, dns_rdata_t *sigrdata,\n\t\t
      \ dns_name_t *wild)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dnssec.c:586,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:587,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:590,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:592,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:594,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:596,1
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/dnssec.c:607,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/dnssec.c:608,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/dnssec.c:609,1
    - Dst: dst_key_is_revoked
      Src: /src/bind9/lib/dns/dnssec.c:610,1
    - Dst: dst_key_is_removed
      Src: /src/bind9/lib/dns/dnssec.c:611,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 626
    functionName: dns_dnssec_keyactive
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - dst_key_is_signing
    - RUNTIME_CHECK
    - dst_key_is_revoked
    - dst_key_getbool
    - dst_key_getprivateformat
    - dst_key_flags
    - dst_key_is_published
    - dst_key_is_removed
    linkageType: ''
    returnType: bool
    signature: bool dns_dnssec_keyactive(dst_key_t *key, isc_stdtime_t now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dnssec.c:650,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:651,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dnssec.c:661,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dnssec.c:669,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dnssec.c:673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 678
    functionName: syncpublish
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - dst_key_getprivateformat
    - dst_key_gettime
    - dst_key_getstate
    - RUNTIME_CHECK
    linkageType: ''
    returnType: bool
    signature: bool syncpublish(dst_key_t *key, isc_stdtime_t now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dnssec.c:700,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:701,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dnssec.c:711,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dnssec.c:718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 726
    functionName: syncdelete
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_key_getprivateformat
    - dst_key_gettime
    - dst_key_getstate
    - RUNTIME_CHECK
    linkageType: ''
    returnType: bool
    signature: bool syncdelete(dst_key_t *key, isc_stdtime_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 730
    functionName: is_zone_key
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_zone_key(key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:748,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:749,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:752,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dnssec.c:757,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dnssec.c:762,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/dnssec.c:765,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:765,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:772,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:777,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/dnssec.c:779,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/dnssec.c:780,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:780,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:785,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:787,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:787,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:795,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:795,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:798,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:799,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:799,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:804,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:805,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:805,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:811,1
    - Dst: dns_message_renderheader
      Src: /src/bind9/lib/dns/dnssec.c:812,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:813,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:814,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:814,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:819,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/dnssec.c:820,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:821,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:821,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:823,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/dnssec.c:823,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnssec.c:825,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:827,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:828,1
    - Dst: dst_context_sign
      Src: /src/bind9/lib/dns/dnssec.c:828,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:829,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dnssec.c:832,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dnssec.c:833,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:834,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:834,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:838,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/dnssec.c:840,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/dnssec.c:843,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:846,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/dnssec.c:848,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/dnssec.c:849,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dnssec.c:856,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:859,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 77
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - dns_message_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 866
    functionName: dns_dnssec_signmessage
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - memset
    - dst_context_adddata
    - is_response
    - dns_message_takebuffer
    - REQUIRE
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - ISC_LINK_INIT
    - dst_context_sign
    - dns_message_gettemprdataset
    - isc_stdtime_now
    - dst_key_sigsize
    - dst_context_destroy
    - dns_message_gettemprdata
    - dns_rdata_fromstruct
    - dst_algorithm_tosecalg
    - dst_key_alg
    - RETERR
    - dst_context_create
    - isc_mem_get
    - isc_buffer_free
    - dns_message_renderheader
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - isc_buffer_init
    - dns_name_clone
    - dst_key_id
    - isc_region_consume
    - isc_mem_put
    - dst_key_name
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dnssec_signmessage(dns_message_t *msg, dst_key_t *key)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:882,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:884,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:892,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:898,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:900,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/dnssec.c:900,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:901,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:903,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:903,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:911,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:920,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:923,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:927,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:933,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:933,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:939,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:939,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:945,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:947,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:947,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:952,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:953,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:953,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:959,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:964,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/dnssec.c:965,1
    - Dst: htons
      Src: /src/bind9/lib/dns/dnssec.c:966,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:967,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:974,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:974,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:981,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:981,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/dnssec.c:985,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:994,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/dnssec.c:995,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/dnssec.c:1001,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1004,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 3
    argNames:
    - source
    - msg
    - key
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 1008
    functionName: dns_dnssec_verifymessage
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_rdataset_current
    - dst_context_adddata
    - is_response
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_usedregion
    - dns_rdata_tostruct
    - isc_serial_lt
    - dns_rdata_freestruct
    - isc_stdtime_now
    - ntohs
    - dst_context_verify
    - dst_context_destroy
    - RETERR
    - dst_context_create
    - htons
    - dns_name_equal
    - dst_key_name
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_verifymessage(isc_buffer_t *source, dns_message_t
      *msg,\n\t\t\t dst_key_t *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1017,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1020,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1021,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1023,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1024,1
    - Dst: dns_dnssec_signs
      Src: /src/bind9/lib/dns/dnssec.c:1027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - rdata
    - name
    - rdataset
    - sigrdataset
    - ignoretime
    - mctx
    argTypes:
    - dns_rdata_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - bool
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1029
    functionName: dns_dnssec_selfsigns
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_signs
    - INSIST
    linkageType: ''
    returnType: bool
    signature: "bool dns_dnssec_selfsigns(dns_rdata_t *rdata, const dns_name_t *name,\n\t\t
      \    dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t\t     bool ignoretime,
      isc_mem_t *mctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1041,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/dnssec.c:1046,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1050,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1051,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1053,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1056,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1057,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1058,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/dnssec.c:1061,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1065,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - rdata
    - name
    - rdataset
    - sigrdataset
    - ignoretime
    - mctx
    argTypes:
    - dns_rdata_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - bool
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1031
    functionDepth: 4
    functionLinenumber: 1031
    functionLinenumberEnd: 1072
    functionName: dns_dnssec_signs
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - RUNTIME_CHECK
    - dns_dnssec_verify
    - dns_rdataset_current
    - INSIST
    - dst_key_id
    linkageType: ''
    returnType: bool
    signature: "bool dns_dnssec_signs(dns_rdata_t *rdata, const dns_name_t *name,\n\t\t
      dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t\t bool ignoretime,
      isc_mem_t *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1056,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1057,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1058,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/dnssec.c:1061,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1054
    functionDepth: 4
    functionLinenumber: 1054
    functionLinenumberEnd: 1069
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dst_key_free
    - dns_dnssec_verify
    - RUNTIME_CHECK
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (sigrdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_rdata_dnskey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1079
    functionName: dns_dnssec_iszonekey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_dnssec_iszonekey(dns_rdata_dnskey_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1083,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1093,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1094,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/dns/dnssec.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1102
    functionName: dns_dnssec_haszonekey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_iszonekey
    - dns_rdataset_current
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_dnssec_haszonekey(dns_rdataset_t *keyset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1093,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1094,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/dns/dnssec.c:1096,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1099
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_iszonekey
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (keyset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1111,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnssec.c:1112,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:1131,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1133,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:1135,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1137,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dnssec.c:1141,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1142,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dnssec.c:1147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 3
    argNames:
    - mctx
    - dstkey
    - dkp
    argTypes:
    - isc_mem_t*
    - dst_key_t**
    - dns_dnsseckey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1149
    functionName: dns_dnsseckey_create
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - ISC_LINK_INIT
    - INSIST
    - isc_mem_get
    - dst_key_getbool
    - dst_key_getprivateformat
    - REQUIRE
    - dst_key_flags
    linkageType: ''
    returnType: void
    signature: "void dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey,\n\t\t
      \    dns_dnsseckey_t **dkp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1155,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1159,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mctx
    - dkp
    argTypes:
    - isc_mem_t*
    - dns_dnsseckey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1162
    functionName: dns_dnsseckey_destroy
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 8
    functionsReached:
    - isc_mem_put
    - dst_key_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_dnsseckey_destroy(isc_mem_t *mctx, dns_dnsseckey_t **dkp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1168,1
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/dnssec.c:1170,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/dnssec.c:1171,1
    - Dst: dst_key_is_revoked
      Src: /src/bind9/lib/dns/dnssec.c:1173,1
    - Dst: dst_key_is_removed
      Src: /src/bind9/lib/dns/dnssec.c:1174,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1208,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dns_dnsseckey_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1223
    functionName: dns_dnssec_get_hints
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_key_is_signing
    - dst_key_setflags
    - dst_key_is_revoked
    - REQUIRE
    - dst_key_flags
    - dst_key_is_published
    - dst_key_is_removed
    linkageType: ''
    returnType: void
    signature: void dns_dnssec_get_hints(dns_dnsseckey_t *key, isc_stdtime_t now)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_dir_init
      Src: /src/bind9/lib/dns/dnssec.c:1236,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1240,1
    - Dst: isc_dir_open
      Src: /src/bind9/lib/dns/dnssec.c:1240,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/dns/dnssec.c:1243,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/dnssec.c:1246,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/dnssec.c:1253,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/dnssec.c:1272,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1283,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/lib/dns/dnssec.c:1289,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1307,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dnssec.c:1312,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/lib/dns/dnssec.c:1316,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/dnssec.c:1318,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1321,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:1323,1
    - Dst: isc_dir_close
      Src: /src/bind9/lib/dns/dnssec.c:1330,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1333,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 6
    argNames:
    - directory
    - namebuf
    - len
    - mctx
    - now
    - list
    argTypes:
    - char*
    - char*
    - unsigned int
    - isc_mem_t*
    - isc_stdtime_t
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1336
    functionName: findmatchingkeys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 4
    functionsReached:
    - dns_dnsseckey_create
    - dns_dnssec_get_hints
    - strcmp
    - ISC_LIST_APPEND
    - dst_key_free
    - RETERR
    - dst_key_fromnamedfile
    - isc_result_totext
    - isc_dir_init
    - isc_log_write
    - dns_dnsseckey_destroy
    - isc_dir_read
    - isc_dir_open
    - isc_dir_close
    - strncasecmp
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findmatchingkeys(const char *directory, char *namebuf,
      unsigned int len,\n\t\t isc_mem_t *mctx, isc_stdtime_t now,\n\t\t dns_dnsseckeylist_t
      *list)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1352,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/dnssec.c:1353,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1355,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1356,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/dnssec.c:1356,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/dnssec.c:1357,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1360,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1360,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1361,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1361,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1363,1
    - Dst: findmatchingkeys
      Src: /src/bind9/lib/dns/dnssec.c:1363,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1366,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/dnssec.c:1368,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1370,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1372,1
    - Dst: findmatchingkeys
      Src: /src/bind9/lib/dns/dnssec.c:1372,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dnssec.c:1381,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/dnssec.c:1383,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1389,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:1390,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1391,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1392,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 7
    argNames:
    - origin
    - kasp
    - keydir
    - keystores
    - now
    - mctx
    - keylist
    argTypes:
    - dns_name_t*
    - dns_kasp_t*
    - char*
    - dns_keystorelist_t*
    - isc_stdtime_t
    - isc_mem_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1341
    functionDepth: 3
    functionLinenumber: 1341
    functionLinenumberEnd: 1396
    functionName: dns_dnssec_findmatchingkeys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 4
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - strcmp
    - ISC_LIST_EMPTY
    - dst_key_free
    - dns_dnsseckey_destroy
    - RETERR
    - findmatchingkeys
    - INSIST
    - isc_buffer_init
    - ISC_LIST_UNLINK
    - isc_buffer_usedlength
    - REQUIRE
    - dns_name_tofilenametext
    - dns_kasp_getname
    - ISC_LIST_INIT
    - ISC_LIST_APPENDLIST
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_findmatchingkeys(const dns_name_t *origin,
      dns_kasp_t *kasp,\n\t\t\t    const char *keydir, dns_keystorelist_t *keystores,\n\t\t\t
      \   isc_stdtime_t now, isc_mem_t *mctx,\n\t\t\t    dns_dnsseckeylist_t *keylist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/dnssec.c:1368,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1370,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1372,1
    - Dst: findmatchingkeys
      Src: /src/bind9/lib/dns/dnssec.c:1372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1367
    functionDepth: 3
    functionLinenumber: 1367
    functionLinenumberEnd: 1377
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 154
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - RETERR
    - findmatchingkeys
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1411,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1412,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1412,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1413,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1413,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:1414,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1414,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1414,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/dnssec.c:1429,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/dnssec.c:1429,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1439,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:1440,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1441,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/lib/dns/dnssec.c:1445,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/dnssec.c:1450,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:1452,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - keylist
    - newkey
    - savekeys
    - pubkey_only
    - mctx
    argTypes:
    - dns_dnsseckeylist_t*
    - dst_key_t**
    - bool
    - bool
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1405
    functionDepth: 2
    functionLinenumber: 1405
    functionLinenumberEnd: 1454
    functionName: addkey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 3
    functionsReached:
    - dns_dnsseckey_create
    - dst_key_free
    - ISC_LIST_APPEND
    - dst_key_alg
    - dst_key_isprivate
    - dns_name_equal
    - dst_key_id
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_dnsseckey_destroy
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: "void addkey(dns_dnsseckeylist_t *keylist, dst_key_t **newkey, bool
      savekeys,\n       bool pubkey_only, isc_mem_t *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1466,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1466,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dnssec.c:1468,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:1469,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1470,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1473,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1474,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:1479,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1480,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1481,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1482,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1483,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1493,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - keylist
    - rrsigs
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1497
    functionName: mark_active_keys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_clone
    - dst_key_alg
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_rdataset_disassociate
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mark_active_keys(dns_dnsseckeylist_t *keylist, dns_rdataset_t
      *rrsigs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:1479,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1480,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1481,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1482,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1490
    functionName: (&sigs)
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dst_algorithm_fromdata
    - dns_rdata_reset
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&sigs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1505,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1505,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1506,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1506,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/dnssec.c:1508,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1508,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1508,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1509,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/dnssec.c:1513,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1514,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/dnssec.c:1515,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1515,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1516,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - kasp
    - keydir
    - key
    - type
    - mctx
    - savekey
    argTypes:
    - dns_kasp_t*
    - char*
    - dst_key_t*
    - int
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1526
    functionName: keyfromfile
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - dst_key_alg
    - dst_key_fromfile
    - dst_key_id
    - dns_kasp_getname
    - strcmp
    - dst_key_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keyfromfile(dns_kasp_t *kasp, const char *keydir, dst_key_t
      *key, int type,\n\t    isc_mem_t *mctx, dst_key_t **savekey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/dnssec.c:1513,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1514,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/dnssec.c:1515,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1515,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1516,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 156
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - dst_key_alg
    - dst_key_fromfile
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1541,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1541,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dnssec.c:1543,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:1545,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1551,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1555,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1557,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1558,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1560,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/dnssec.c:1564,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1568,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/dnssec.c:1568,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1569,1
    - Dst: is_zone_key
      Src: /src/bind9/lib/dns/dnssec.c:1571,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:1576,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1576,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1581,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1586,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1592,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/dnssec.c:1594,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1595,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1602,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1614,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1616,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1618,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/dnssec.c:1624,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1626,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1628,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1639,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/dnssec.c:1640,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1641,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1641,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1642,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:1650,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1650,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/dnssec.c:1652,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1652,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnssec.c:1654,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1656,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1659,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dnssec.c:1663,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1669,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1671,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1675,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1681,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:1681,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1683,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1686,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1689,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1692,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1696,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1697,1
    - Dst: mark_active_keys
      Src: /src/bind9/lib/dns/dnssec.c:1697,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1700,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1701,1
    - Dst: mark_active_keys
      Src: /src/bind9/lib/dns/dnssec.c:1701,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1707,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1708,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1711,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1714,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1717,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 10
    argNames:
    - origin
    - kasp
    - directory
    - mctx
    - keyset
    - keysigs
    - soasigs
    - savekeys
    - publickey
    - keylist
    argTypes:
    - dns_name_t*
    - dns_kasp_t*
    - char*
    - isc_mem_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - bool
    - bool
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1531
    functionDepth: 3
    functionLinenumber: 1531
    functionLinenumberEnd: 1720
    functionName: dns_dnssec_keylistfromrdataset
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - dst_algorithm_supported
    - dns_rdataset_current
    - dst_key_pubcompare
    - isc_log_write
    - snprintf
    - REQUIRE
    - dns_kasp_offlineksk
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdata_tostruct
    - addkey
    - dst_key_getttl
    - dns_secalg_format
    - dns_rdataset_isassociated
    - is_zone_key
    - dst_key_flags
    - dst_key_getfilename
    - dns_name_format
    - dst_key_setttl
    - dns_dnssec_keyfromrdata
    - RUNTIME_CHECK
    - dst_key_alg
    - RETERR
    - dns_rdataset_clone
    - keyfromfile
    - mark_active_keys
    - dst_key_free
    - dst_key_setflags
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_init
    - dst_algorithm_fromdata
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_keylistfromrdataset(const dns_name_t *origin,
      dns_kasp_t *kasp,\n\t\t\t       const char *directory, isc_mem_t *mctx,\n\t\t\t
      \      dns_rdataset_t *keyset, dns_rdataset_t *keysigs,\n\t\t\t       dns_rdataset_t
      *soasigs, bool savekeys,\n\t\t\t       bool publickey, dns_dnsseckeylist_t *keylist)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1551,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1555,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1557,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1558,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1560,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/dnssec.c:1564,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1568,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/dnssec.c:1568,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1569,1
    - Dst: is_zone_key
      Src: /src/bind9/lib/dns/dnssec.c:1571,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:1576,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1576,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1581,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1586,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1592,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/dnssec.c:1594,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1595,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1602,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1614,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1616,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1618,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/dnssec.c:1624,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1626,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1628,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1639,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/dnssec.c:1640,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1641,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1641,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1642,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:1650,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1650,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/dnssec.c:1652,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1652,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnssec.c:1654,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1656,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1659,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dnssec.c:1663,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1669,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1671,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1675,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1681,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:1681,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1683,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1686,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1689,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1692,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1546
    functionDepth: 3
    functionLinenumber: 1546
    functionLinenumberEnd: 1694
    functionName: (&keys)
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - dns_rdataset_current
    - dst_key_pubcompare
    - isc_log_write
    - snprintf
    - REQUIRE
    - dns_kasp_offlineksk
    - dns_rdata_tostruct
    - addkey
    - dst_key_getttl
    - dns_secalg_format
    - is_zone_key
    - dst_key_flags
    - dst_key_getfilename
    - dns_name_format
    - dst_key_setttl
    - dns_dnssec_keyfromrdata
    - RUNTIME_CHECK
    - dst_key_alg
    - RETERR
    - keyfromfile
    - dst_key_free
    - dst_key_setflags
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_init
    - dst_algorithm_fromdata
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&keys)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1729,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dnssec.c:1730,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:1735,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:1736,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dnssec.c:1737,1
    - Dst: dst_key_class
      Src: /src/bind9/lib/dns/dnssec.c:1737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - key
    - buf
    - bufsize
    - target
    argTypes:
    - dst_key_t*
    - unsigned char*
    - int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1722
    functionDepth: 2
    functionLinenumber: 1722
    functionLinenumberEnd: 1740
    functionName: dns_dnssec_make_dnskey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_key_todns
    - dst_key_class
    - isc_buffer_init
    - isc_buffer_usedregion
    - dns_rdata_reset
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_make_dnskey(dst_key_t *key, unsigned char
      *buf, int bufsize,\n\t\t       dns_rdata_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/dnssec.c:1747,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/dnssec.c:1748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rdata
    - diff
    - origin
    - ttl
    - mctx
    argTypes:
    - dns_rdata_t*
    - dns_diff_t*
    - dns_name_t*
    - dns_ttl_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1749
    functionName: addrdata
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: "void addrdata(dns_rdata_t *rdata, dns_diff_t *diff, const dns_name_t
      *origin,\n\t dns_ttl_t ttl, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/dnssec.c:1756,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/dnssec.c:1757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rdata
    - diff
    - origin
    - ttl
    - mctx
    argTypes:
    - dns_rdata_t*
    - dns_diff_t*
    - dns_name_t*
    - dns_ttl_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 1
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: delrdata
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: "void delrdata(dns_rdata_t *rdata, dns_diff_t *diff, const dns_name_t
      *origin,\n\t dns_ttl_t ttl, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:1769,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1770,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1770,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1771,1
    - Dst: report
      Src: /src/bind9/lib/dns/dnssec.c:1773,1
    - Dst: report
      Src: /src/bind9/lib/dns/dnssec.c:1780,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:1784,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dnssec.c:1785,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:1789,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - diff
    - key
    - origin
    - ttl
    - mctx
    - ISC_FORMAT_PRINTF
    argTypes:
    - dns_diff_t*
    - dns_dnsseckey_t*
    - dns_name_t*
    - dns_ttl_t
    - isc_mem_t*
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1760
    functionDepth: 3
    functionLinenumber: 1760
    functionLinenumberEnd: 1793
    functionName: publish_key
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_key_settime
    - RETERR
    - report
    - isc_stdtime_now
    - addrdata
    - dst_key_format
    - dns_rdata_reset
    - dns_dnssec_make_dnskey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t publish_key(dns_diff_t *diff, dns_dnsseckey_t *key, const
      dns_name_t *origin,\n\t    dns_ttl_t ttl, isc_mem_t *mctx,\n\t    void (*report)(const
      char *, ...) ISC_FORMAT_PRINTF(1, 2))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/dnssec.c:1805,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1805,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:1806,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1806,1
    - Dst: report
      Src: /src/bind9/lib/dns/dnssec.c:1807,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1808,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1810,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1810,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - diff
    - key
    - origin
    - ttl
    - mctx
    - reason
    - ISC_FORMAT_PRINTF
    argTypes:
    - dns_diff_t*
    - dns_dnsseckey_t*
    - dns_name_t*
    - dns_ttl_t
    - isc_mem_t*
    - char*
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1795
    functionDepth: 3
    functionLinenumber: 1795
    functionLinenumberEnd: 1815
    functionName: remove_key
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dst_key_alg
    - RETERR
    - dns_secalg_format
    - dst_key_id
    - delrdata
    - report
    - dns_name_format
    - dst_key_name
    - dns_dnssec_make_dnskey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t remove_key(dns_diff_t *diff, dns_dnsseckey_t *key, const
      dns_name_t *origin,\n\t   dns_ttl_t ttl, isc_mem_t *mctx, const char *reason,\n\t
      \  void (*report)(const char *, ...) ISC_FORMAT_PRINTF(1, 2))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:1820,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1825,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:1826,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1827,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1817
    functionDepth: 1
    functionLinenumber: 1817
    functionLinenumberEnd: 1833
    functionName: exists
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 28
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    linkageType: ''
    returnType: bool
    signature: bool exists(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1825,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:1826,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1822
    functionDepth: 1
    functionLinenumber: 1822
    functionLinenumberEnd: 1830
    functionName: (&trdataset)
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&trdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1842,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:1844,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/dnssec.c:1848,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1850,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1858,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1858,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/dnssec.c:1860,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1862,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:1866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - key
    - keyrdata
    - keystr
    - cds
    - digesttype
    - ttl
    - diff
    - mctx
    argTypes:
    - dns_dnsseckey_t*
    - dns_rdata_t*
    - char*
    - dns_rdataset_t*
    - unsigned int
    - dns_ttl_t
    - dns_diff_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1835
    functionDepth: 3
    functionLinenumber: 1835
    functionLinenumberEnd: 1869
    functionName: add_cds
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - dns_dsdigest_format
    - isc_log_write
    - addrdata
    - dns_ds_buildrdata
    - dst_key_name
    - exists
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_cds(dns_dnsseckey_t *key, dns_rdata_t *keyrdata,
      const char *keystr,\n\tdns_rdataset_t *cds, unsigned int digesttype, dns_ttl_t
      ttl,\n\tdns_diff_t *diff, isc_mem_t *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1878,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:1880,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1887,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/dnssec.c:1889,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1891,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:1895,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - key
    - keyrdata
    - keystr
    - cds
    - digesttype
    - diff
    - mctx
    argTypes:
    - dns_dnsseckey_t*
    - dns_rdata_t*
    - char*
    - dns_rdataset_t*
    - unsigned int
    - dns_diff_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1871
    functionDepth: 3
    functionLinenumber: 1871
    functionLinenumberEnd: 1898
    functionName: delete_cds
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_dsdigest_format
    - isc_log_write
    - delrdata
    - dns_ds_buildrdata
    - dst_key_name
    - exists
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_cds(dns_dnsseckey_t *key, dns_rdata_t *keyrdata,
      const char *keystr,\n\t   dns_rdataset_t *cds, unsigned int digesttype, dns_diff_t
      *diff,\n\t   isc_mem_t *mctx)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1911,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1913,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1915,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1919,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1923,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1925,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1927,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1927,1
    - Dst: syncpublish
      Src: /src/bind9/lib/dns/dnssec.c:1931,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1933,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1935,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1936,1
    - Dst: add_cds
      Src: /src/bind9/lib/dns/dnssec.c:1936,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1943,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1944,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1946,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:1951,1
    - Dst: syncdelete
      Src: /src/bind9/lib/dns/dnssec.c:1956,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1958,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1960,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:1962,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:1965,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:1968,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1973,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1974,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1975,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:1981,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1988,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1989,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1997,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1999,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:2002,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:2004,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:2004,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2007,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:2008,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:2010,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:2012,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2016,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2017,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2018,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:2023,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 10
    argNames:
    - keys
    - rmkeys
    - cds
    - cdnskey
    - now
    - digests
    - gencdnskey
    - ttl
    - diff
    - mctx
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    - dns_kasp_digestlist_t*
    - bool
    - dns_ttl_t
    - dns_diff_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1900
    functionDepth: 4
    functionLinenumber: 1900
    functionLinenumberEnd: 2033
    functionName: dns_dnssec_syncupdate
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - syncdelete
    - delete_cds
    - RETERR
    - dns_rdataset_isassociated
    - isc_log_write
    - delrdata
    - REQUIRE
    - syncpublish
    - ISC_LIST_FOREACH
    - add_cds
    - dst_key_format
    - addrdata
    - dst_key_name
    - dns_dnssec_make_dnskey
    - exists
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t
      *rmkeys,\n\t\t      dns_rdataset_t *cds, dns_rdataset_t *cdnskey,\n\t\t      isc_stdtime_t
      now, dns_kasp_digestlist_t *digests,\n\t\t      bool gencdnskey, dns_ttl_t ttl,
      dns_diff_t *diff,\n\t\t      isc_mem_t *mctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dnssec.c:2049,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dnssec.c:2054,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:2056,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2059,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2060,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2062,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:2067,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2070,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2070,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2072,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:2077,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2082,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2083,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2085,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:2090,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2093,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2094,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2096,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:2101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 9
    argNames:
    - cds
    - cdnskey
    - origin
    - zclass
    - ttl
    - diff
    - mctx
    - expect_cds_delete
    - expect_cdnskey_delete
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_ttl_t
    - dns_diff_t*
    - isc_mem_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2107
      start: 2035
    functionDepth: 2
    functionLinenumber: 2035
    functionLinenumberEnd: 2107
    functionName: dns_dnssec_syncdelete
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_fromregion
    - dns_rdataset_isassociated
    - isc_log_write
    - delrdata
    - addrdata
    - dns_name_format
    - exists
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_syncdelete(dns_rdataset_t *cds, dns_rdataset_t
      *cdnskey,\n\t\t      dns_name_t *origin, dns_rdataclass_t zclass,\n\t\t      dns_ttl_t
      ttl, dns_diff_t *diff, isc_mem_t *mctx,\n\t\t      bool expect_cds_delete, bool
      expect_cdnskey_delete)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2133,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:2137,1
    - Dst: publish_key
      Src: /src/bind9/lib/dns/dnssec.c:2137,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:2141,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dnssec.c:2150,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2153,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:2154,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2171,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2177,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2178,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2179,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:2183,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:2183,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/dnssec.c:2184,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2186,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2188,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:2197,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2201,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:2207,1
    - Dst: publish_key
      Src: /src/bind9/lib/dns/dnssec.c:2207,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2209,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2218,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:2235,1
    - Dst: dst_key_copy_metadata
      Src: /src/bind9/lib/dns/dnssec.c:2238,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:2242,1
    - Dst: remove_key
      Src: /src/bind9/lib/dns/dnssec.c:2242,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2244,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2247,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2248,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:2256,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2259,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:2266,1
    - Dst: remove_key
      Src: /src/bind9/lib/dns/dnssec.c:2266,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2268,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2270,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2271,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:2279,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:2281,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:2284,1
    - Dst: publish_key
      Src: /src/bind9/lib/dns/dnssec.c:2284,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2286,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2287,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2304,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2313,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2328,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2329,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:2330,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    argCount: 8
    argNames:
    - keys
    - newkeys
    - removed
    - origin
    - hint_ttl
    - diff
    - mctx
    - ISC_FORMAT_PRINTF
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - dns_name_t*
    - dns_ttl_t
    - dns_diff_t*
    - isc_mem_t*
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2115
    functionDepth: 4
    functionLinenumber: 2115
    functionLinenumberEnd: 2337
    functionName: dns_dnssec_updatekeys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - dst_key_copy_metadata
    - remove_key
    - ISC_LIST_EMPTY
    - dst_key_getttl
    - ISC_LIST_APPEND
    - dst_key_alg
    - dns_dnsseckey_destroy
    - RETERR
    - dst_key_pubcompare
    - ISC_LIST_UNLINK
    - isc_log_write
    - dst_key_id
    - publish_key
    - dst_key_flags
    - ISC_LIST_FOREACH
    - dst_key_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_updatekeys(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t
      *newkeys,\n\t\t      dns_dnsseckeylist_t *removed, const dns_name_t *origin,\n\t\t
      \     dns_ttl_t hint_ttl, dns_diff_t *diff, isc_mem_t *mctx,\n\t\t      void
      (*report)(const char *, ...)\n\t\t\t      ISC_FORMAT_PRINTF(1, 2))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:2349,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2350,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:2355,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:2356,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:2358,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2359,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:2361,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dnssec.c:2362,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:2368,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:2374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - name
    - dsrdata
    - keyset
    - keyrdata
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2380
    functionName: dns_dnssec_matchdskey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    - dst_region_computeid
    - dns_ds_buildrdata
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dnssec_matchdskey(dns_name_t *name, dns_rdata_t *dsrdata,\n\t\t
      \     dns_rdataset_t *keyset, dns_rdata_t *keyrdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:2355,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:2356,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:2358,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2359,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:2361,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dnssec.c:2362,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:2368,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:2374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2352
    functionDepth: 1
    functionLinenumber: 2352
    functionLinenumberEnd: 2377
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    - dst_region_computeid
    - dns_ds_buildrdata
    - dns_rdata_toregion
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (keyset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: REMOVE
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMOVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: CREATE
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: INITIAL
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITIAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: NONSEC
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NONSEC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 476
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:68,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:69,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:78,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/private.c:85,1
    - Dst: NONSEC
      Src: /src/bind9/lib/dns/private.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - param
    - privateset
    argTypes:
    - dns_rdata_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 100
    functionName: ignore
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - CREATE
    - dns_rdataset_current
    - memcmp
    - NONSEC
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: bool
    signature: bool ignore(dns_rdata_t *param, dns_rdataset_t *privateset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:68,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:69,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:78,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/private.c:85,1
    - Dst: NONSEC
      Src: /src/bind9/lib/dns/private.c:94,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 98
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 2
    functionsReached:
    - CREATE
    - dns_rdataset_current
    - memcmp
    - NONSEC
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (privateset)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/private.c:115,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/private.c:116,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/private.c:117,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:119,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/private.c:119,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/private.c:121,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/private.c:128,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:134,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:135,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:137,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:138,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/private.c:143,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:154,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:155,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:156,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:157,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:164,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:165,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/private.c:170,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:181,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:182,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:183,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:184,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:195,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:196,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:201,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:221,1
    - Dst: ignore
      Src: /src/bind9/lib/dns/private.c:222,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:242,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:243,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:244,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:255,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:256,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:269,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:290,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/private.c:291,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:293,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/private.c:294,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:296,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/private.c:297,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/private.c:300,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 133
    argCount: 5
    argNames:
    - db
    - ver
    - privatetype
    - build_nsec
    - build_nsec3
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 303
    functionName: dns_private_chains
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 1
    functionsReached:
    - CREATE
    - SET_IF_NOT_NULL
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - dns_db_detachnode
    - dns_rdataset_init
    - REMOVE
    - ignore
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_private_chains(dns_db_t *db, dns_dbversion_t *ver,\n\t\t
      \  dns_rdatatype_t privatetype, bool *build_nsec,\n\t\t   bool *build_nsec3)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:164,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:165,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/private.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 177
    functionName: (&privateset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - REMOVE
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&privateset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:195,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:196,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: (&privateset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - CREATE
    - dns_rdataset_current
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&privateset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:221,1
    - Dst: ignore
      Src: /src/bind9/lib/dns/private.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: (&nsec3paramset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - ignore
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&nsec3paramset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:255,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:256,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 273
    functionName: (&privateset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - CREATE
    - dns_rdataset_current
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&privateset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:321,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:324,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:327,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/private.c:327,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:338,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:340,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:342,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/private.c:345,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/private.c:346,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:347,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/private.c:347,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:351,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/private.c:351,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:354,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:366,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:368,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:370,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:372,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/private.c:375,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/private.c:376,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:377,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/private.c:388,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:393,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:395,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:397,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:399,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/private.c:402,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/private.c:403,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:404,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/private.c:409,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - private
    - buf
    argTypes:
    - dns_rdata_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 413
    functionName: dns_private_totext
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 4
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_fromstruct
    - dst_algorithm_tosecalg
    - isc_buffer_putstr
    - dns_secalg_format
    - isc_buffer_init
    - dns_rdata_totext
    - CHECK
    - snprintf
    - dns_nsec3param_fromprivate
    - isc_buffer_putuint8
    - dns_rdata_reset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_private_totext(dns_rdata_t *private, isc_buffer_t
      *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:107,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:113,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:114,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rootns
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: in_rootns
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dns_name_compare
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t in_rootns(dns_rdataset_t *rootns, dns_name_t *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:113,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:114,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_name_compare
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rootns)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rootns.c:130,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:132,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:137,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - rootns
    - name
    - rdsiter
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdatasetiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: check_node
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - in_rootns
    - dns_rdataset_disassociate
    - dns_name_compare
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_node(dns_rdataset_t *rootns, dns_name_t *name,\n\t
      \  dns_rdatasetiter_t *rdsiter)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rootns.c:130,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:132,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:137,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - in_rootns
    - dns_rdataset_disassociate
    - dns_name_compare
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/rootns.c:157,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rootns.c:162,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rootns.c:164,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:165,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/rootns.c:167,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rootns.c:172,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rootns.c:176,1
    - Dst: check_node
      Src: /src/bind9/lib/dns/rootns.c:180,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rootns.c:184,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rootns.c:185,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:189,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:190,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rootns.c:193,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rootns.c:196,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/rootns.c:199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 202
    functionName: check_hints
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_db_find
    - dns_fixedname_initname
    - dns_dbiterator_destroy
    - dns_rdataset_isassociated
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - isc_stdtime_now
    - dns_rdataset_disassociate
    - check_node
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_hints(dns_db_t *db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rootns.c:172,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rootns.c:176,1
    - Dst: check_node
      Src: /src/bind9/lib/dns/rootns.c:180,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rootns.c:184,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rootns.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - check_node
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiter)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rootns.c:213,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/rootns.c:215,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rootns.c:221,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rootns.c:222,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rootns.c:223,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/rootns.c:225,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/rootns.c:226,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/lib/dns/rootns.c:234,1
    - Dst: dns_master_loadbuffer
      Src: /src/bind9/lib/dns/rootns.c:242,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/rootns.c:248,1
    - Dst: check_hints
      Src: /src/bind9/lib/dns/rootns.c:255,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:256,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:264,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rootns.c:269,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rootns.c:272,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - mctx
    - rdclass
    - filename
    - target
    argTypes:
    - isc_mem_t*
    - dns_rdataclass_t
    - char*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 204
    functionDepth: 4
    functionLinenumber: 204
    functionLinenumberEnd: 276
    functionName: dns_rootns_create
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 4
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_db_endload
    - dns_db_detach
    - dns_db_beginload
    - dns_master_loadfile
    - isc_buffer_init
    - strlen
    - isc_result_totext
    - isc_log_write
    - REQUIRE
    - isc_buffer_add
    - dns_master_loadbuffer
    - check_hints
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rootns_create(isc_mem_t *mctx, dns_rdataclass_t rdclass,\n\t\t
      \ const char *filename, dns_db_t **target)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rootns.c:287,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rootns.c:288,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rootns.c:294,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/rootns.c:295,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rootns.c:296,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/rootns.c:297,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rootns.c:298,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rootns.c:299,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:302,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - view
    - name
    - missing
    - rdata
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - bool
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 313
    functionName: report
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - isc_buffer_init
    - dns_rdata_totext
    - isc_log_write
    - isc_buffer_usedlength
    - strcmp
    - dns_rdatatype_format
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void report(dns_view_t *view, dns_name_t *name, bool missing, dns_rdata_t
      *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:319,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rootns.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rrset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: inrrset
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    linkageType: ''
    returnType: bool
    signature: bool inrrset(dns_rdataset_t *rrset, dns_rdata_t *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:319,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rootns.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 2
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rrset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rootns.c:329,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rootns.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - name
    - type
    - now
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: changing
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool changing(const dns_name_t *name, dns_rdatatype_t type, isc_stdtime_t
      now)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rootns.c:353,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rootns.c:354,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rootns.c:355,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:357,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:359,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:367,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:368,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:369,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:371,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:376,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:377,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:378,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:380,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:389,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:390,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:393,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:394,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:396,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:397,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:403,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:405,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:413,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:414,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:415,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:417,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:422,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:423,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:424,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:426,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:435,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:436,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:439,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:440,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:442,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:443,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 5
    argNames:
    - view
    - hints
    - db
    - name
    - now
    argTypes:
    - dns_view_t*
    - dns_db_t*
    - dns_db_t*
    - dns_name_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 445
    functionName: check_address_records
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - inrrset
    - changing
    - dns_db_find
    - dns_fixedname_initname
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - report
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void check_address_records(dns_view_t *view, dns_db_t *hints, dns_db_t
      *db,\n\t\t      dns_name_t *name, isc_stdtime_t now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:367,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:368,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:369,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: (&rootrrset)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - inrrset
    - dns_rdataset_current
    - report
    - changing
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rootrrset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:376,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:377,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:378,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: (&hintrrset)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - inrrset
    - dns_rdataset_current
    - report
    - changing
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&hintrrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:389,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: (&rootrrset)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - report
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rootrrset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:413,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:414,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:415,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: (&rootrrset)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - inrrset
    - dns_rdataset_current
    - report
    - changing
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rootrrset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:422,1
    - Dst: inrrset
      Src: /src/bind9/lib/dns/rootns.c:423,1
    - Dst: changing
      Src: /src/bind9/lib/dns/rootns.c:424,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 428
    functionName: (&hintrrset)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - inrrset
    - dns_rdataset_current
    - report
    - changing
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&hintrrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:435,1
    - Dst: report
      Src: /src/bind9/lib/dns/rootns.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: (&rootrrset)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - report
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rootrrset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/rootns.c:453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rootns.c:457,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rootns.c:458,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rootns.c:459,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rootns.c:461,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rootns.c:462,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rootns.c:468,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rootns.c:469,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rootns.c:470,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:472,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:475,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rootns.c:479,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:483,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:486,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rootns.c:490,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:499,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:500,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rootns.c:501,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:502,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rootns.c:506,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:507,1
    - Dst: check_address_records
      Src: /src/bind9/lib/dns/rootns.c:513,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:522,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:523,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rootns.c:524,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:525,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rootns.c:529,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:530,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:538,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:539,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:541,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - view
    - hints
    - db
    argTypes:
    - dns_view_t*
    - dns_db_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 544
    functionName: dns_root_checkhints
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_address_records
    - dns_db_find
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - dns_rdataset_current
    - in_rootns
    - isc_result_totext
    - dns_rdataset_isassociated
    - isc_log_write
    - dns_rdataset_disassociate
    - REQUIRE
    - isc_stdtime_now
    - strcmp
    - dns_rdataset_init
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void dns_root_checkhints(dns_view_t *view, dns_db_t *hints, dns_db_t
      *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:499,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:500,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rootns.c:501,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:502,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rootns.c:506,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:507,1
    - Dst: check_address_records
      Src: /src/bind9/lib/dns/rootns.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 515
    functionName: (&rootns)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_address_records
    - RUNTIME_CHECK
    - in_rootns
    - dns_rdataset_current
    - isc_log_write
    - dns_name_format
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rootns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:522,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:523,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rootns.c:524,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:525,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rootns.c:529,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 535
    functionName: (&hintns)
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - in_rootns
    - dns_rdataset_current
    - isc_log_write
    - dns_name_format
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&hintns)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:65,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/dns/dns64.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:76,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dns64.c:76,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dns64.c:79,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:80,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:81,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:83,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/dns64.c:88,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/dns64.c:92,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/dns64.c:96,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dns64.c:100,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dns64.c:102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 9
    argNames:
    - mctx
    - prefix
    - prefixlen
    - suffix
    - clients
    - mapped
    - excluded
    - flags
    - dns64p
    argTypes:
    - isc_mem_t*
    - isc_netaddr_t*
    - unsigned int
    - isc_netaddr_t*
    - dns_acl_t*
    - dns_acl_t*
    - dns_acl_t*
    - unsigned int
    - dns_dns64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 104
    functionName: dns_dns64_create
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - memmove
    - memset
    - isc_netaddr_prefixok
    - ISC_LINK_INIT
    - isc_mem_get
    - memcmp
    - REQUIRE
    - dns_acl_attach
    linkageType: ''
    returnType: void
    signature: "void dns_dns64_create(isc_mem_t *mctx, const isc_netaddr_t *prefix,\n\t\t
      unsigned int prefixlen, const isc_netaddr_t *suffix,\n\t\t dns_acl_t *clients,
      dns_acl_t *mapped, dns_acl_t *excluded,\n\t\t unsigned int flags, dns_dns64_t
      **dns64p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:110,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dns64.c:115,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/dns64.c:118,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/dns64.c:121,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/dns64.c:124,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dns64.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - list
    - dns64p
    argTypes:
    - dns_dns64list_t*
    - dns_dns64_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 127
    functionName: dns_dns64_destroy
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - isc_mem_putanddetach
    - REQUIRE
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void dns_dns64_destroy(dns_dns64list_t *list, dns_dns64_t **dns64p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:150,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:164,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/dns64.c:165,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:166,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:177,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:179,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:193,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 7
    argNames:
    - dns64
    - reqaddr
    - reqsigner
    - env
    - flags
    - a
    - aaaa
    argTypes:
    - dns_dns64_t*
    - isc_netaddr_t*
    - dns_name_t*
    - dns_aclenv_t*
    - unsigned int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 195
    functionName: dns_dns64_aaaafroma
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 0
    functionsReached:
    - dns_acl_match
    - isc_netaddr_fromin
    - memmove
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dns64_aaaafroma(const dns_dns64_t *dns64, const isc_netaddr_t
      *reqaddr,\n\t\t    const dns_name_t *reqsigner, dns_aclenv_t *env,\n\t\t    unsigned
      int flags, unsigned char *a, unsigned char *aaaa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - dns64
    argTypes:
    - dns_dns64list_t*
    - dns_dns64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: dns_dns64_append
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void dns_dns64_append(dns_dns64list_t *list, dns_dns64_t *dns64)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:219,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/dns64.c:219,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/dns64.c:222,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:238,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:276,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:277,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:278,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:280,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 75
    argCount: 8
    argNames:
    - dns64
    - reqaddr
    - reqsigner
    - env
    - flags
    - rdataset
    - aaaaok
    - aaaaoklen
    argTypes:
    - dns_dns64_t*
    - isc_netaddr_t*
    - dns_name_t*
    - dns_aclenv_t*
    - unsigned int
    - dns_rdataset_t*
    - bool*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 311
    functionName: dns_dns64_aaaaok
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 1
    functionsReached:
    - memmove
    - dns_rdataset_current
    - REQUIRE
    - dns_acl_match
    - isc_netaddr_fromin6
    - dns_rdataset_count
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: bool
    signature: "bool dns_dns64_aaaaok(const dns_dns64_t *dns64, const isc_netaddr_t
      *reqaddr,\n\t\t const dns_name_t *reqsigner, dns_aclenv_t *env,\n\t\t unsigned
      int flags, dns_rdataset_t *rdataset, bool *aaaaok,\n\t\t size_t aaaaoklen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:276,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:277,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:278,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 295
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 2
    functionsReached:
    - memmove
    - isc_netaddr_fromin6
    - dns_acl_match
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - rd1
    - rd2
    - plen
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 398
    functionName: search
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int search(const dns_rdata_t *rd1, const dns_rdata_t *rd2,
      unsigned int plen)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:409,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dns64.c:411,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dns64.c:412,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dns64.c:413,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dns64.c:414,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:418,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:422,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:432,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:433,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:436,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:443,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:444,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:445,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - rdataset
    - prefix
    - len
    argTypes:
    - dns_rdataset_t*
    - isc_netprefix_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 464
    functionName: dns_dns64_findprefix
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 3
    functionsReached:
    - search
    - memmove
    - memset
    - dns_rdataset_current
    - INSIST
    - REQUIRE
    - dns_rdataset_clone
    - isc_netaddr_fromin6
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dns64_findprefix(dns_rdataset_t *rdataset, isc_netprefix_t
      *prefix,\n\t\t     size_t *len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:418,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:422,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:432,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:433,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:436,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:443,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:444,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 454
    functionName: (&outer)
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 0
    functionsReached:
    - search
    - memmove
    - memset
    - dns_rdataset_current
    - INSIST
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&outer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:432,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:433,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:436,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:443,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:444,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 449
    functionName: (&inner)
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 0
    functionsReached:
    - search
    - memmove
    - memset
    - dns_rdataset_current
    - INSIST
    - isc_netaddr_fromin6
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&inner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:476,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:477,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/dns64.c:479,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dns64.c:481,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/dns64.c:481,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/dns64.c:483,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:489,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/dns64.c:495,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:496,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/dns64.c:497,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dns64.c:503,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dns64.c:504,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/dns64.c:505,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dns64.c:506,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dns64.c:507,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:509,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dns64.c:513,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/dns64.c:515,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/dns64.c:516,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/dns64.c:517,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dns64.c:524,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dns64.c:525,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dns64.c:526,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/dns64.c:527,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/lib/dns/dns64.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 10
    argNames:
    - mctx
    - dns64s
    - count
    - message
    - env
    - peer
    - reqsigner
    - flags
    - a
    - aaaap
    argTypes:
    - isc_mem_t*
    - dns_dns64list_t
    - unsigned int
    - dns_message_t*
    - dns_aclenv_t*
    - isc_sockaddr_t*
    - dns_name_t*
    - unsigned int
    - dns_rdataset_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 532
    functionName: dns_dns64_apply
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 1
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdataset_current
    - isc_buffer_availableregion
    - dns_message_puttemprdatalist
    - dns_message_takebuffer
    - isc_buffer_allocate
    - REQUIRE
    - dns_message_puttemprdata
    - dns_message_gettemprdataset
    - dns_dns64_aaaafroma
    - dns_message_gettemprdata
    - ISC_LIST_EMPTY
    - isc_netaddr_fromsockaddr
    - INSIST
    - isc_buffer_free
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - isc_buffer_remainingregion
    - ISC_LIST_APPEND
    - isc_buffer_forward
    - dns_message_gettemprdatalist
    - isc_buffer_add
    - dns_rdataset_count
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dns64_apply(isc_mem_t *mctx, dns_dns64list_t dns64s,
      unsigned int count,\n\t\tdns_message_t *message, dns_aclenv_t *env, isc_sockaddr_t
      *peer,\n\t\tdns_name_t *reqsigner, unsigned int flags, dns_rdataset_t *a,\n\t\tdns_rdataset_t
      **aaaap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:489,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/dns64.c:495,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:496,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/dns64.c:497,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dns64.c:503,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dns64.c:504,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/dns64.c:505,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dns64.c:506,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dns64.c:507,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 511
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 2
    functionsReached:
    - isc_buffer_remainingregion
    - ISC_LIST_APPEND
    - dns_rdata_fromregion
    - isc_buffer_forward
    - dns_rdataset_current
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_add
    - dns_dns64_aaaafroma
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/dns64.c:495,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:496,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/dns64.c:497,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dns64.c:503,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dns64.c:504,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/dns64.c:505,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dns64.c:506,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dns64.c:507,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 510
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 159
    functionsReached:
    - isc_buffer_remainingregion
    - ISC_LIST_APPEND
    - dns_rdata_fromregion
    - isc_buffer_forward
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_add
    - dns_dns64_aaaafroma
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns64s, dns64, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rpz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: DNS_RPZ_ZONE_VALID
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RPZ_ZONE_VALID(rpz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rpzs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: DNS_RPZ_ZONES_VALID
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RPZ_ZONES_VALID(rpzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prefix
    - ','
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: KEY_IS_IPV4
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEY_IS_IPV4(prefix, ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: DNS_RPZ_WORD_MASK
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RPZ_WORD_MASK(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ip
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: DNS_RPZ_IP_BIT
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RPZ_IP_BIT(ip, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: nmdata_ref
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nmdata_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: nmdata_unref
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nmdata_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: nmdata_attach
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nmdata_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: nmdata_detach
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nmdata_detach(ptrp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/rpz.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rpz_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: dns_rpz_type2str
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 3
    functionsReached:
    - FATAL_ERROR
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_rpz_type2str(dns_rpz_type_t type)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/rpz.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 266
    functionName: dns_rpz_str2policy
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: dns_rpz_policy_t
    signature: dns_rpz_policy_t dns_rpz_str2policy(const char *str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - policy
    argTypes:
    - dns_rpz_policy_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 308
    functionName: dns_rpz_policy2str
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_rpz_policy2str(dns_rpz_policy_t policy)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/rpz.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 334
    functionName: dns_rpz_str2ede
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 3
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dns_rpz_str2ede(const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - zbit
    argTypes:
    - dns_rpz_zbits_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 370
    functionName: zbit_to_num
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int zbit_to_num(dns_rpz_zbits_t zbit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - tgt_set
    - zbits
    - type
    argTypes:
    - dns_rpz_addr_zbits_t*
    - dns_rpz_zbits_t
    - dns_rpz_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 397
    functionName: make_addr_set
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void make_addr_set(dns_rpz_addr_zbits_t *tgt_set, dns_rpz_zbits_t
      zbits,\n\t      dns_rpz_type_t type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:404,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:409,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - tgt_set
    - rpz_num
    - type
    argTypes:
    - dns_rpz_nm_zbits_t*
    - dns_rpz_num_t
    - dns_rpz_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: make_nm_set
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - DNS_RPZ_ZBIT
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void make_nm_set(dns_rpz_nm_zbits_t *tgt_set, dns_rpz_num_t rpz_num,\n\t
      \   dns_rpz_type_t type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - cnode
    argTypes:
    - dns_rpz_cidr_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 448
    functionName: set_sum_pair
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sum_pair(dns_rpz_cidr_node_t *cnode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 617
    functionName: fix_qname_skip_recurse
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void fix_qname_skip_recurse(dns_rpz_zones_t *rpzs)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:628,1
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:642,1
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:656,1
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:657,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:666,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:671,1
    - Dst: fix_qname_skip_recurse
      Src: /src/bind9/lib/dns/rpz.c:672,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:675,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:677,1
    - Dst: fix_qname_skip_recurse
      Src: /src/bind9/lib/dns/rpz.c:678,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 5
    argNames:
    - rpz
    - rpz_type
    - tgt_ip
    - tgt_prefix
    - inc
    argTypes:
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 681
    functionName: adj_trigger_cnt
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - KEY_IS_IPV4
    - fix_qname_skip_recurse
    - REQUIRE
    - DNS_RPZ_ZBIT
    linkageType: ''
    returnType: void
    signature: "void adj_trigger_cnt(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,\n\t\tconst
      dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t tgt_prefix,\n\t\tbool inc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rpz.c:689,1
    - Dst: DNS_RPZ_WORD_MASK
      Src: /src/bind9/lib/dns/rpz.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - rpzs
    - ip
    - prefix
    - child
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t
    - dns_rpz_cidr_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 714
    functionName: new_node
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - DNS_RPZ_WORD_MASK
    linkageType: ''
    returnType: dns_rpz_cidr_node_t
    signature: "dns_rpz_cidr_node_t *\nnew_node(dns_rpz_zones_t *rpzs, const dns_rpz_cidr_key_t
      *ip,\n\t dns_rpz_prefix_t prefix, const dns_rpz_cidr_node_t *child)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rpz.c:721,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:723,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - level
    - name
    - str1
    - str2
    argTypes:
    - int
    - dns_name_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: badname
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - isc_log_write
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void badname(int level, const dns_name_t *name, const char *str1, const
      char *str2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:752,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:753,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:765,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:803,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:805,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:809,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rpz.c:819,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rpz.c:820,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rpz.c:821,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - tgt_ip
    - tgt_prefix
    - base_name
    - ip_name
    argTypes:
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 823
    functionName: ip2name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - KEY_IS_IPV4
    - INSIST
    - isc_buffer_init
    - snprintf
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ip2name(const dns_rpz_cidr_key_t *tgt_ip, dns_rpz_prefix_t
      tgt_prefix,\n\tconst dns_name_t *base_name, dns_name_t *ip_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:831,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:835,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:839,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:840,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:845,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - rpzs
    - rpz
    - name
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 852
    functionName: type_from_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - DNS_RPZ_ZBIT
    - dns_name_issubdomain
    linkageType: ''
    returnType: dns_rpz_type_t
    signature: "dns_rpz_type_t type_from_name(const dns_rpz_zones_t *rpzs, dns_rpz_zone_t
      *rpz,\n\t       const dns_name_t *name)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:874,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:875,1
    - Dst: make_addr_set
      Src: /src/bind9/lib/dns/rpz.c:877,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:877,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:879,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:881,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:883,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:886,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:889,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rpz.c:890,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:895,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rpz.c:896,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rpz.c:899,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:901,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:911,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/rpz.c:917,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:923,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rpz.c:934,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:939,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rpz.c:965,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:972,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:987,1
    - Dst: DNS_RPZ_WORD_MASK
      Src: /src/bind9/lib/dns/rpz.c:1000,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:1001,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rpz.c:1012,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:1017,1
    - Dst: ip2name
      Src: /src/bind9/lib/dns/rpz.c:1018,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:1021,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1024,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1025,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 106
    argCount: 7
    argNames:
    - log_level
    - rpz
    - rpz_type
    - src_name
    - tgt_ip
    - tgt_prefix
    - new_set
    argTypes:
    - int
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t*
    - dns_rpz_addr_zbits_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 859
    functionDepth: 3
    functionLinenumber: 859
    functionLinenumberEnd: 1034
    functionName: name2ipkey
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - isc_log_wouldlog
    - strtoul
    - DNS_RPZ_WORD_MASK
    - dns_fixedname_initname
    - strchr
    - dns_name_equal
    - ip2name
    - make_addr_set
    - strlen
    - isc_log_write
    - REQUIRE
    - badname
    - DNS_RPZ_ZBIT
    - dns_name_format
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t name2ipkey(int log_level, dns_rpz_zone_t *rpz, dns_rpz_type_t
      rpz_type,\n\t   const dns_name_t *src_name, dns_rpz_cidr_key_t *tgt_ip,\n\t
      \  dns_rpz_prefix_t *tgt_prefix, dns_rpz_addr_zbits_t *new_set)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1047,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1048,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/rpz.c:1055,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rpz.c:1057,1
    - Dst: make_nm_set
      Src: /src/bind9/lib/dns/rpz.c:1058,1
    - Dst: make_nm_set
      Src: /src/bind9/lib/dns/rpz.c:1061,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rpz.c:1062,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1065,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:1066,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:1069,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:1071,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rpz.c:1073,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rpz.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - rpz
    - rpz_type
    - src_name
    - trig_name
    - new_data
    argTypes:
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    - dns_name_t*
    - nmdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1075
    functionName: name2data
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - make_nm_set
    - memset
    - dns_name_concatenate
    - REQUIRE
    - dns_name_iswildcard
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void name2data(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,\n\t  const
      dns_name_t *src_name, dns_name_t *trig_name,\n\t  nmdata_t *new_data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - w
    argTypes:
    - dns_rpz_cidr_word_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1113
    functionName: clz
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int clz(dns_rpz_cidr_word_t w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rpz.c:1127,1
    - Dst: __builtin_clz
      Src: /src/bind9/lib/dns/rpz.c:1136,1
    - Dst: clz
      Src: /src/bind9/lib/dns/rpz.c:1138,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rpz.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - key1
    - prefix1
    - key2
    - prefix2
    argTypes:
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1144
    functionName: diff_keys
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - __builtin_clz
    - ISC_MIN
    - clz
    linkageType: ''
    returnType: int
    signature: "int diff_keys(const dns_rpz_cidr_key_t *key1, dns_rpz_prefix_t prefix1,\n\t
      \ const dns_rpz_cidr_key_t *key2, dns_rpz_prefix_t prefix2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zbits
    - found
    argTypes:
    - dns_rpz_zbits_t
    - dns_rpz_zbits_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1163
    functionName: trim_zbits
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_rpz_zbits_t
    signature: dns_rpz_zbits_t trim_zbits(dns_rpz_zbits_t zbits, dns_rpz_zbits_t found)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1196,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1206,1
    - Dst: diff_keys
      Src: /src/bind9/lib/dns/rpz.c:1228,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1260,1
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1276,1
    - Dst: DNS_RPZ_IP_BIT
      Src: /src/bind9/lib/dns/rpz.c:1283,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1287,1
    - Dst: trim_zbits
      Src: /src/bind9/lib/dns/rpz.c:1305,1
    - Dst: trim_zbits
      Src: /src/bind9/lib/dns/rpz.c:1307,1
    - Dst: trim_zbits
      Src: /src/bind9/lib/dns/rpz.c:1308,1
    - Dst: DNS_RPZ_IP_BIT
      Src: /src/bind9/lib/dns/rpz.c:1311,1
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1326,1
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1327,1
    - Dst: DNS_RPZ_IP_BIT
      Src: /src/bind9/lib/dns/rpz.c:1334,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1340,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 6
    argNames:
    - rpzs
    - tgt_ip
    - tgt_prefix
    - tgt_set
    - create
    - found
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_cidr_key_t*
    - dns_rpz_prefix_t
    - dns_rpz_addr_zbits_t*
    - bool
    - dns_rpz_cidr_node_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1173
    functionDepth: 2
    functionLinenumber: 1173
    functionLinenumberEnd: 1344
    functionName: search
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 9
    functionsReached:
    - new_node
    - trim_zbits
    - DNS_RPZ_IP_BIT
    - set_sum_pair
    - diff_keys
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t search(dns_rpz_zones_t *rpzs, const dns_rpz_cidr_key_t
      *tgt_ip,\n       dns_rpz_prefix_t tgt_prefix, const dns_rpz_addr_zbits_t *tgt_set,\n
      \      bool create, dns_rpz_cidr_node_t **found)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name2ipkey
      Src: /src/bind9/lib/dns/rpz.c:1358,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:1367,1
    - Dst: search
      Src: /src/bind9/lib/dns/rpz.c:1368,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1384,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1385,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1388,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:1392,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - rpz
    - rpz_type
    - src_name
    argTypes:
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1349
    functionDepth: 4
    functionLinenumber: 1349
    functionLinenumberEnd: 1396
    functionName: add_cidr
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - search
    - name2ipkey
    - RWUNLOCK
    - RWLOCK
    - isc_result_totext
    - isc_log_write
    - dns_name_format
    - adj_trigger_cnt
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_cidr(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,\n\t
      const dns_name_t *src_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rpz.c:1400,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/rpz.c:1405,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/rpz.c:1407,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/rpz.c:1408,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/rpz.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mctx
    - name
    - data
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - nmdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1416
    functionName: new_nmdata
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - fprintf
    - ISC_REFCOUNT_INITIALIZER
    - dns_name_dup
    linkageType: ''
    returnType: nmdata_t
    signature: 'nmdata_t *

      new_nmdata(isc_mem_t *mctx, const dns_name_t *name, const nmdata_t *data)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/rpz.c:1424,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/rpz.c:1425,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1428,1
    - Dst: new_nmdata
      Src: /src/bind9/lib/dns/rpz.c:1429,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/rpz.c:1430,1
    - Dst: nmdata_detach
      Src: /src/bind9/lib/dns/rpz.c:1431,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/rpz.c:1453,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/rpz.c:1454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - rpzs
    - trig_name
    - new_data
    argTypes:
    - dns_rpz_zones_t*
    - dns_name_t*
    - nmdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1418
    functionDepth: 11
    functionLinenumber: 1418
    functionLinenumberEnd: 1457
    functionName: add_nm
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - nmdata_detach
    - INSIST
    - dns_qpmulti_commit
    - dns_qp_compact
    - dns_qp_insert
    - dns_qp_getname
    - new_nmdata
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_nm(dns_rpz_zones_t *rpzs, dns_name_t *trig_name, const
      nmdata_t *new_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:1472,1
    - Dst: name2data
      Src: /src/bind9/lib/dns/rpz.c:1473,1
    - Dst: add_nm
      Src: /src/bind9/lib/dns/rpz.c:1475,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:1485,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:1486,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - rpz
    - rpz_type
    - src_name
    argTypes:
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1459
    functionDepth: 12
    functionLinenumber: 1459
    functionLinenumberEnd: 1490
    functionName: add_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 3
    functionsReached:
    - RWUNLOCK
    - dns_fixedname_initname
    - add_nm
    - RWLOCK
    - name2data
    - adj_trigger_cnt
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_name(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,\n\t
      const dns_name_t *src_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1501,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1502,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rpz.c:1506,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/rpz.c:1512,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/rpz.c:1513,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/rpz.c:1514,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/rpz.c:1516,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/rpz.c:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - view
    - loopmgr
    - rpzsp
    argTypes:
    - dns_view_t*
    - isc_loopmgr_t*
    - dns_rpz_zones_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1495
    functionDepth: 2
    functionLinenumber: 1495
    functionLinenumberEnd: 1522
    functionName: dns_rpz_new_zones
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_rwlock_init
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_qpmulti_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rpz_new_zones(dns_view_t *view, isc_loopmgr_t *loopmgr,\n\t\t
      \ dns_rpz_zones_t **rpzsp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1529,1
    - Dst: DNS_RPZ_ZONES_VALID
      Src: /src/bind9/lib/dns/rpz.c:1529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1530,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1536,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rpz.c:1541,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/rpz.c:1553,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1555,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1556,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1557,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1558,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1559,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1560,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1561,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1562,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1563,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/rpz.c:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - rpzs
    - rpzp
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1524
    functionDepth: 3
    functionLinenumber: 1524
    functionLinenumberEnd: 1573
    functionName: dns_rpz_new_zone
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - dns__rpz_shuttingdown
    - isc_mem_get
    - isc_ht_init
    - REQUIRE
    - isc_time_settoepoch
    - DNS_RPZ_ZONES_VALID
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rpz_new_zone(dns_rpz_zones_t *rpzs, dns_rpz_zone_t
      **rpzp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1580,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1580,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1581,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1581,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1583,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:1594,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/rpz.c:1596,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rpz.c:1598,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rpz.c:1602,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/rpz.c:1603,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/rpz.c:1609,1
    - Dst: dns__rpz_timer_start
      Src: /src/bind9/lib/dns/rpz.c:1610,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1615,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1616,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/rpz.c:1617,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:1621,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/rpz.c:1623,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1627,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - db
    - fn_arg
    argTypes:
    - dns_db_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1575
    functionDepth: 2
    functionLinenumber: 1575
    functionLinenumberEnd: 1630
    functionName: dns_rpz_dbupdate_callback
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - dns__rpz_timer_start
    - LOCK
    - DNS_DB_VALID
    - DNS_RPZ_ZONE_VALID
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_db_detach
    - dns_db_attach
    - UNLOCK
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - dns_db_updatenotify_unregister
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1634,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1634,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1635,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1635,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/rpz.c:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - rpz
    argTypes:
    - dns_db_t*
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1638
    functionName: dns_rpz_dbupdate_unregister
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    - dns_db_updatenotify_unregister
    - DNS_RPZ_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_rpz_dbupdate_unregister(dns_db_t *db, dns_rpz_zone_t *rpz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1642,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1643,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1643,1
    - Dst: dns_db_updatenotify_register
      Src: /src/bind9/lib/dns/rpz.c:1645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - rpz
    argTypes:
    - dns_db_t*
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1646
    functionName: dns_rpz_dbupdate_register
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    - dns_db_updatenotify_register
    - DNS_RPZ_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_rpz_dbupdate_register(dns_db_t *db, dns_rpz_zone_t *rpz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1653,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1653,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/rpz.c:1655,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/rpz.c:1656,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1661,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1662,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/rpz.c:1668,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/rpz.c:1670,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/rpz.c:1673,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/rpz.c:1675,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/rpz.c:1676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - rpz
    argTypes:
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1647
    functionDepth: 3
    functionLinenumber: 1647
    functionLinenumberEnd: 1677
    functionName: dns__rpz_timer_start
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - DNS_RPZ_ZONE_VALID
    - isc_loop
    - isc_log_write
    - isc_time_now
    - REQUIRE
    - isc_timer_start
    - dns_name_format
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void dns__rpz_timer_start(dns_rpz_zone_t *rpz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1682,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1682,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/rpz.c:1684,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/rpz.c:1685,1
    - Dst: dns_rpz_zones_unref
      Src: /src/bind9/lib/dns/rpz.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1689
    functionName: dns__rpz_timer_stop
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_timer_destroy
    - DNS_RPZ_ZONE_VALID
    - isc_timer_stop
    - REQUIRE
    - dns_rpz_zones_unref
    linkageType: ''
    returnType: void
    signature: void dns__rpz_timer_stop(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1696,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1696,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1698,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1701,1
    - Dst: dns__rpz_timer_start
      Src: /src/bind9/lib/dns/rpz.c:1705,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:1708,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rpz.c:1709,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1711,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1713,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1715,1
    - Dst: dns_rpz_zones_unref
      Src: /src/bind9/lib/dns/rpz.c:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1691
    functionDepth: 4
    functionLinenumber: 1691
    functionLinenumberEnd: 1718
    functionName: update_rpz_done_cb
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns__rpz_timer_start
    - LOCK
    - DNS_RPZ_ZONE_VALID
    - dns_rpz_zones_unref
    - dns_db_detach
    - UNLOCK
    - isc_result_totext
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void update_rpz_done_cb(void *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1728,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:1730,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/rpz.c:1732,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1734,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1737,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/rpz.c:1741,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1743,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1746,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1755,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rpz.c:1760,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1762,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1765,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/rpz.c:1769,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rpz.c:1770,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rpz.c:1772,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1775,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1779,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rpz.c:1780,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/rpz.c:1784,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rpz.c:1786,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rpz.c:1787,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1791,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1796,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/rpz.c:1801,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/rpz.c:1804,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1806,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1807,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1811,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/rpz.c:1816,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/dns/rpz.c:1819,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1828,1
    - Dst: rpz_add
      Src: /src/bind9/lib/dns/rpz.c:1829,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1830,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1833,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1834,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1839,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rpz.c:1840,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/rpz.c:1840,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1841,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1842,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/rpz.c:1843,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/rpz.c:1849,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1851,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/rpz.c:1857,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 2
    argNames:
    - rpz
    - newnodes
    argTypes:
    - dns_rpz_zone_t*
    - isc_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1720
    functionDepth: 4
    functionLinenumber: 1720
    functionLinenumberEnd: 1860
    functionName: update_nodes
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - UNLOCK
    - isc_log_write
    - LOCK
    - dns_fixedname_initname
    - dns_dbiterator_next
    - isc_ht_delete
    - dns_dbiterator_first
    - dns_name_format
    - dns_dbiterator_destroy
    - isc_log_wouldlog
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - INSIST
    - dns_name_downcase
    - dns_db_allrdatasets
    - dns_rdatasetiter_first
    - isc_ht_add
    - dns__rpz_shuttingdown
    - dns_dbiterator_pause
    - isc_result_totext
    - rpz_add
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t update_nodes(dns_rpz_zone_t *rpz, isc_ht_t *newnodes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:1869,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/rpz.c:1871,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/rpz.c:1873,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/rpz.c:1874,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1880,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/lib/dns/rpz.c:1885,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rpz.c:1888,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1890,1
    - Dst: rpz_del
      Src: /src/bind9/lib/dns/rpz.c:1891,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1892,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1894,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/rpz.c:1899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - rpz
    argTypes:
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1862
    functionDepth: 4
    functionLinenumber: 1862
    functionLinenumberEnd: 1902
    functionName: cleanup_nodes
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns__rpz_shuttingdown
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_currentkey
    - dns_fixedname_initname
    - isc_ht_iter_delcurrent_next
    - isc_ht_iter_create
    - UNLOCK
    - INSIST
    - rpz_del
    - isc_ht_iter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cleanup_nodes(dns_rpz_zone_t *rpz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1908,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1917
    functionName: dns__rpz_shuttingdown
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 3
    functionsReached:
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns__rpz_shuttingdown(dns_rpz_zones_t *rpzs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1925,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1927,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/rpz.c:1932,1
    - Dst: update_nodes
      Src: /src/bind9/lib/dns/rpz.c:1934,1
    - Dst: cleanup_nodes
      Src: /src/bind9/lib/dns/rpz.c:1939,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/dns/rpz.c:1945,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/rpz.c:1948,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1919
    functionDepth: 5
    functionLinenumber: 1919
    functionLinenumberEnd: 1952
    functionName: update_rpz_cb
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - update_nodes
    - dns__rpz_shuttingdown
    - ISC_SWAP
    - isc_ht_destroy
    - isc_ht_init
    - REQUIRE
    - cleanup_nodes
    linkageType: ''
    returnType: void
    signature: void update_rpz_cb(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1959,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1959,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1960,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1960,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1961,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1962,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1964,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/rpz.c:1974,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1975,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1979,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1980,1
    - Dst: dns_rpz_zones_ref
      Src: /src/bind9/lib/dns/rpz.c:1983,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/rpz.c:1984,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/rpz.c:1986,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/rpz.c:1989,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1954
    functionDepth: 3
    functionLinenumber: 1954
    functionLinenumberEnd: 1992
    functionName: dns__rpz_timer_cb
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - LOCK
    - DNS_DB_VALID
    - isc_timer_destroy
    - DNS_RPZ_ZONE_VALID
    - isc_work_enqueue
    - dns_db_attach
    - INSIST
    - UNLOCK
    - dns_rpz_zones_ref
    - isc_log_write
    - isc_time_now
    - REQUIRE
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void dns__rpz_timer_cb(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rpz.c:2022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2025
    functionName: cidr_free
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void cidr_free(dns_rpz_zones_t *rpzs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2032,1
    - Dst: dns_rpz_zones_ref
      Src: /src/bind9/lib/dns/rpz.c:2034,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/rpz.c:2035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rpz
    argTypes:
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2027
    functionDepth: 2
    functionLinenumber: 2027
    functionLinenumberEnd: 2037
    functionName: dns__rpz_shutdown
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_rpz_zones_ref
    - isc_async_run
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns__rpz_shutdown(dns_rpz_zone_t *rpz)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2050,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2051,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2053,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2054,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2056,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2057,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2059,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2060,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2062,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2063,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2065,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2066,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2068,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2069,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2071,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2072,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2074,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2075,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:2079,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/rpz.c:2081,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rpz.c:2083,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2085,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/rpz.c:2087,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rpz.c:2089,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - rpzp
    argTypes:
    - dns_rpz_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2039
    functionDepth: 3
    functionLinenumber: 2039
    functionLinenumberEnd: 2090
    functionName: dns_rpz_zone_destroy
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - dns_name_free
    - dns_db_detach
    - isc_ht_destroy
    - INSIST
    - isc_mem_put
    - dns_db_updatenotify_unregister
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dns_rpz_zone_destroy(dns_rpz_zone_t **rpzp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2094,1
    - Dst: dns_rpz_zone_destroy
      Src: /src/bind9/lib/dns/rpz.c:2102,1
    - Dst: cidr_free
      Src: /src/bind9/lib/dns/rpz.c:2105,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/rpz.c:2107,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/rpz.c:2110,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/rpz.c:2111,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/rpz.c:2112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2092
    functionDepth: 4
    functionLinenumber: 2092
    functionLinenumberEnd: 2113
    functionName: dns__rpz_zones_destroy
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_rpz_zone_destroy
    - cidr_free
    - dns_qpmulti_destroy
    - REQUIRE
    - isc_rwlock_destroy
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns__rpz_zones_destroy(dns_rpz_zones_t *rpzs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2117,1
    - Dst: DNS_RPZ_ZONES_VALID
      Src: /src/bind9/lib/dns/rpz.c:2117,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:2122,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2124,1
    - Dst: dns__rpz_shutdown
      Src: /src/bind9/lib/dns/rpz.c:2136,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2115
    functionDepth: 3
    functionLinenumber: 2115
    functionLinenumberEnd: 2139
    functionName: dns_rpz_zones_shutdown
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 2
    functionsReached:
    - LOCK
    - dns__rpz_shutdown
    - UNLOCK
    - REQUIRE
    - DNS_RPZ_ZONES_VALID
    linkageType: ''
    returnType: void
    signature: void dns_rpz_zones_shutdown(dns_rpz_zones_t *rpzs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2162,1
    - Dst: type_from_name
      Src: /src/bind9/lib/dns/rpz.c:2164,1
    - Dst: add_name
      Src: /src/bind9/lib/dns/rpz.c:2168,1
    - Dst: add_cidr
      Src: /src/bind9/lib/dns/rpz.c:2173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - rpz
    - src_name
    argTypes:
    - dns_rpz_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2150
    functionDepth: 5
    functionLinenumber: 2150
    functionLinenumberEnd: 2180
    functionName: rpz_add
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - add_name
    - REQUIRE
    - add_cidr
    - type_from_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rpz_add(dns_rpz_zone_t *rpz, const dns_name_t *src_name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: name2ipkey
      Src: /src/bind9/lib/dns/rpz.c:2199,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2205,1
    - Dst: search
      Src: /src/bind9/lib/dns/rpz.c:2206,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:2220,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:2222,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rpz.c:2263,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - rpz
    - rpz_type
    - src_name
    argTypes:
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2185
    functionDepth: 4
    functionLinenumber: 2185
    functionLinenumberEnd: 2270
    functionName: del_cidr
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - search
    - name2ipkey
    - isc_mem_put
    - RWUNLOCK
    - RWLOCK
    - set_sum_pair
    - adj_trigger_cnt
    linkageType: ''
    returnType: void
    signature: "void del_cidr(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,\n\t const
      dns_name_t *src_name)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/rpz.c:2285,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:2292,1
    - Dst: name2data
      Src: /src/bind9/lib/dns/rpz.c:2293,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/rpz.c:2295,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2301,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/rpz.c:2319,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:2326,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:2327,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:2331,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2336,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:2337,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2338,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/rpz.c:2341,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/rpz.c:2342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - rpz
    - rpz_type
    - src_name
    argTypes:
    - dns_rpz_zone_t*
    - dns_rpz_type_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2272
    functionDepth: 12
    functionLinenumber: 2272
    functionLinenumberEnd: 2343
    functionName: del_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - RWUNLOCK
    - dns_fixedname_initname
    - RWLOCK
    - INSIST
    - isc_result_totext
    - name2data
    - dns_qpmulti_commit
    - isc_log_write
    - dns_qp_deletename
    - dns_name_format
    - adj_trigger_cnt
    - dns_qp_getname
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: "void del_name(dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,\n\t const
      dns_name_t *src_name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2359,1
    - Dst: type_from_name
      Src: /src/bind9/lib/dns/rpz.c:2361,1
    - Dst: del_name
      Src: /src/bind9/lib/dns/rpz.c:2365,1
    - Dst: del_cidr
      Src: /src/bind9/lib/dns/rpz.c:2370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - rpz
    - src_name
    argTypes:
    - dns_rpz_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2348
    functionDepth: 5
    functionLinenumber: 2348
    functionLinenumberEnd: 2375
    functionName: rpz_del
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - del_cidr
    - REQUIRE
    - del_name
    - type_from_name
    linkageType: ''
    returnType: void
    signature: void rpz_del(dns_rpz_zone_t *rpz, const dns_name_t *src_name)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2397,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2399,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rpz.c:2408,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:2420,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rpz.c:2431,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rpz.c:2433,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:2446,1
    - Dst: make_addr_set
      Src: /src/bind9/lib/dns/rpz.c:2456,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2458,1
    - Dst: search
      Src: /src/bind9/lib/dns/rpz.c:2459,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2464,1
    - Dst: zbit_to_num
      Src: /src/bind9/lib/dns/rpz.c:2475,1
    - Dst: zbit_to_num
      Src: /src/bind9/lib/dns/rpz.c:2478,1
    - Dst: zbit_to_num
      Src: /src/bind9/lib/dns/rpz.c:2481,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:2484,1
    - Dst: ip2name
      Src: /src/bind9/lib/dns/rpz.c:2486,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2487,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:2492,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:2494,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 6
    argNames:
    - rpzs
    - rpz_type
    - zbits
    - netaddr
    - ip_name
    - prefixp
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_type_t
    - dns_rpz_zbits_t
    - isc_netaddr_t*
    - dns_name_t*
    - dns_rpz_prefix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2498
      start: 2385
    functionDepth: 3
    functionLinenumber: 2385
    functionLinenumberEnd: 2498
    functionName: dns_rpz_find_ip
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - ntohl
    - search
    - UNREACHABLE
    - memmove
    - RWUNLOCK
    - RWLOCK
    - isc_result_totext
    - make_addr_set
    - isc_log_write
    - zbit_to_num
    - ip2name
    linkageType: ''
    returnType: dns_rpz_num_t
    signature: "dns_rpz_num_t dns_rpz_find_ip(dns_rpz_zones_t *rpzs, dns_rpz_type_t
      rpz_type,\n\t\tdns_rpz_zbits_t zbits, const isc_netaddr_t *netaddr,\n\t\tdns_name_t
      *ip_name, dns_rpz_prefix_t *prefixp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/rpz.c:2519,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/lib/dns/rpz.c:2520,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/rpz.c:2522,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2526,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/rpz.c:2535,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/rpz.c:2537,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2538,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:2554,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:2555,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:2558,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/rpz.c:2562,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - rpzs
    - rpz_type
    - zbits
    - trig_name
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_type_t
    - dns_rpz_zbits_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2504
    functionDepth: 9
    functionLinenumber: 2504
    functionLinenumberEnd: 2564
    functionName: dns_rpz_find_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - dns_qpchain_init
    - dns_qpmulti_query
    - INSIST
    - isc_result_totext
    - dns_qp_lookup
    - isc_log_write
    - dns_qpread_destroy
    - dns_qpchain_length
    - dns_qpchain_node
    - dns_name_format
    linkageType: ''
    returnType: dns_rpz_zbits_t
    signature: "dns_rpz_zbits_t dns_rpz_find_name(dns_rpz_zones_t *rpzs, dns_rpz_type_t
      rpz_type,\n\t\t  dns_rpz_zbits_t zbits, dns_name_t *trig_name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rpz.c:2576,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2577,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rpz.c:2578,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rpz.c:2579,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2580,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rpz.c:2581,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2586,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/rpz.c:2590,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:2594,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:2604,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2612,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2619,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2626,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2633,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - rpz
    - rdataset
    - selfname
    argTypes:
    - dns_rpz_zone_t*
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2569
    functionDepth: 1
    functionLinenumber: 2569
    functionLinenumberEnd: 2641
    functionName: dns_rpz_decode_cname
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_rdataset_current
    - dns_name_equal
    - INSIST
    - dns_rdataset_first
    - dns_name_iswildcard
    - dns_rdata_reset
    linkageType: ''
    returnType: dns_rpz_policy_t
    signature: "dns_rpz_policy_t dns_rpz_decode_cname(dns_rpz_zone_t *rpz, dns_rdataset_t
      *rdataset,\n\t\t     dns_name_t *selfname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2645,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/rpz.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - nmdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2643
    functionDepth: 1
    functionLinenumber: 2643
    functionLinenumberEnd: 2647
    functionName: destroy_nmdata
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_nmdata(nmdata_t *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nmdata_ref
      Src: /src/bind9/lib/dns/rpz.c:2659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2660
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - nmdata_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nmdata_detach
      Src: /src/bind9/lib/dns/rpz.c:2666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2662
    functionDepth: 1
    functionLinenumber: 2662
    functionLinenumberEnd: 2667
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - nmdata_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/rpz.c:2673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2669
    functionDepth: 2
    functionLinenumber: 2669
    functionLinenumberEnd: 2674
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:2679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2680
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2680
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: DNS_EDE_VALID
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_EDE_VALID(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - edectx
    - code
    argTypes:
    - dns_edectx_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: dns__ede_checkandupdateedeused
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns__ede_checkandupdateedeused(dns_edectx_t *edectx, uint16_t
      code)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:36,1
    - Dst: DNS_EDE_VALID
      Src: /src/bind9/lib/dns/ede.c:36,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:37,1
    - Dst: htobe16
      Src: /src/bind9/lib/dns/ede.c:39,1
    - Dst: dns__ede_checkandupdateedeused
      Src: /src/bind9/lib/dns/ede.c:43,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ede.c:44,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ede.c:45,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ede.c:51,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ede.c:52,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ede.c:56,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ede.c:58,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ede.c:59,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ede.c:63,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ede.c:66,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ede.c:67,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ede.c:74,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ede.c:82,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ede.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - edectx
    - code
    - text
    argTypes:
    - dns_edectx_t*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 89
    functionName: dns_ede_add
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 15
    functionsReached:
    - memmove
    - ISC_LOG_DEBUG
    - DNS_EDE_VALID
    - htobe16
    - INSIST
    - strlen
    - isc_mem_get
    - isc_log_write
    - REQUIRE
    - dns__ede_checkandupdateedeused
    linkageType: ''
    returnType: void
    signature: void dns_ede_add(dns_edectx_t *edectx, uint16_t code, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - edectx
    argTypes:
    - isc_mem_t*
    - dns_edectx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: dns_ede_init
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_ede_init(isc_mem_t *mctx, dns_edectx_t *edectx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:107,1
    - Dst: DNS_EDE_VALID
      Src: /src/bind9/lib/dns/ede.c:107,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ede.c:115,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/dns/ede.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - edectx
    argTypes:
    - dns_edectx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: dns_ede_reset
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 6
    functionsReached:
    - isc_mem_put
    - dns_ede_init
    - DNS_EDE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_ede_reset(dns_edectx_t *edectx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:124,1
    - Dst: DNS_EDE_VALID
      Src: /src/bind9/lib/dns/ede.c:124,1
    - Dst: dns_ede_reset
      Src: /src/bind9/lib/dns/ede.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - edectx
    argTypes:
    - dns_edectx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: dns_ede_invalidate
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 1
    functionsReached:
    - DNS_EDE_VALID
    - REQUIRE
    - dns_ede_reset
    linkageType: ''
    returnType: void
    signature: void dns_ede_invalidate(dns_edectx_t *edectx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:134,1
    - Dst: DNS_EDE_VALID
      Src: /src/bind9/lib/dns/ede.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ede.c:135,1
    - Dst: DNS_EDE_VALID
      Src: /src/bind9/lib/dns/ede.c:135,1
    - Dst: ISC_U8TO16_BE
      Src: /src/bind9/lib/dns/ede.c:148,1
    - Dst: dns__ede_checkandupdateedeused
      Src: /src/bind9/lib/dns/ede.c:149,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ede.c:154,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ede.c:155,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ede.c:160,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ede.c:162,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ede.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - edectx_to
    - edectx_from
    argTypes:
    - dns_edectx_t*
    - dns_edectx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 176
    functionName: dns_ede_copy
    functionSourceFile: /src/bind9/lib/dns/ede.c
    functionUses: 1
    functionsReached:
    - memmove
    - ISC_LOG_DEBUG
    - ISC_U8TO16_BE
    - DNS_EDE_VALID
    - INSIST
    - isc_mem_get
    - isc_log_write
    - REQUIRE
    - dns__ede_checkandupdateedeused
    linkageType: ''
    returnType: void
    signature: void dns_ede_copy(dns_edectx_t *edectx_to, const dns_edectx_t *edectx_from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:44,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdatalist.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdatalist
    argTypes:
    - dns_rdatalist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: dns_rdatalist_init
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 32
    functionsReached:
    - memset
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdatalist_init(dns_rdatalist_t *rdatalist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:68,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdatalist.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:69,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rdatalist.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rdatalist
    - rdataset
    argTypes:
    - dns_rdatalist_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 87
    functionName: dns_rdatalist_tordataset
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 37
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void dns_rdatalist_tordataset(dns_rdatalist_t *rdatalist, dns_rdataset_t
      *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:92,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - rdatalist
    argTypes:
    - dns_rdataset_t*
    - dns_rdatalist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: dns_rdatalist_fromrdataset
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_rdatalist_fromrdataset(dns_rdataset_t *rdataset,\n\t\t\t
      \  dns_rdatalist_t **rdatalist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/rdatalist.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: dns_rdatalist_first
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatalist_first(dns_rdataset_t *rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/rdatalist.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: dns_rdatalist_next
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatalist_next(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatalist.c:140,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/rdatalist.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: dns_rdatalist_current
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 1
    functionsReached:
    - dns_rdata_clone
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns_rdatalist_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: dns_rdatalist_clone
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_rdatalist_clone(dns_rdataset_t *source,\n\t\t    dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:161,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: dns_rdatalist_count
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdatalist_count(dns_rdataset_t *rdataset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:179,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:181,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 221
    functionName: dns_rdatalist_addnoqname
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatalist_addnoqname(dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:233,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdatalist.c:238,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:240,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:254,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdatalist.c:265,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:266,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:267,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - rdataset
    - name
    - neg
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 269
    functionName: dns_rdatalist_getnoqname
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - dns_name_clone
    - REQUIRE
    - dns_rdataset_clone
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdatalist_getnoqname(dns_rdataset_t *rdataset, dns_name_t
      *name,\n\t\t\t dns_rdataset_t *neg,\n\t\t\t dns_rdataset_t *negsig DNS__DB_FLARG)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:277,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:279,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:293,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 318
    functionName: dns_rdatalist_addclosest
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatalist_addclosest(dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:330,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdatalist.c:335,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:337,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:351,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdatalist.c:362,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:363,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - rdataset
    - name
    - neg
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 366
    functionName: dns_rdatalist_getclosest
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - dns_name_clone
    - REQUIRE
    - dns_rdataset_clone
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdatalist_getclosest(dns_rdataset_t *rdataset, dns_name_t
      *name,\n\t\t\t dns_rdataset_t *neg,\n\t\t\t dns_rdataset_t *negsig DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/rdatalist.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 388
    functionName: dns_rdatalist_setownercase
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void dns_rdatalist_setownercase(dns_rdataset_t *rdataset, const dns_name_t
      *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 413
    functionName: dns_rdatalist_getownercase
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_rdatalist_getownercase(const dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_unspec
      Src: /src/bind9/lib/dns/ecs.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ecs
    argTypes:
    - dns_ecs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: dns_ecs_init
    functionSourceFile: /src/bind9/lib/dns/ecs.c
    functionUses: 2
    functionsReached:
    - isc_netaddr_unspec
    linkageType: ''
    returnType: void
    signature: void dns_ecs_init(dns_ecs_t *ecs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ecs.c:43,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ecs.c:58,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ecs.c:63,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/ecs.c:68,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/ecs.c:75,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - ecs1
    - ecs2
    argTypes:
    - dns_ecs_t*
    - dns_ecs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 95
    functionName: dns_ecs_equals
    functionSourceFile: /src/bind9/lib/dns/ecs.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - REQUIRE
    - INSIST
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool dns_ecs_equals(const dns_ecs_t *ecs1, const dns_ecs_t *ecs2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ecs.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ecs.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ecs.c:104,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/ecs.c:106,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ecs.c:107,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ecs.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ecs
    - buf
    - size
    argTypes:
    - dns_ecs_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: dns_ecs_format
    functionSourceFile: /src/bind9/lib/dns/ecs.c
    functionUses: 2
    functionsReached:
    - isc_netaddr_format
    - strlen
    - snprintf
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_ecs_format(const dns_ecs_t *ecs, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sdlzdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: VALID_SDLZDB
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SDLZDB(sdlzdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sdlzl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: VALID_SDLZLOOKUP
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SDLZLOOKUP(sdlzl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sdlzn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: VALID_SDLZNODE
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SDLZNODE(sdlzn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: MAYBE_LOCK
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_LOCK(imp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: MAYBE_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_UNLOCK(imp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: MAYBE_LOCK
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_LOCK(imp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - imp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: MAYBE_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_UNLOCK(imp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/sdlz.c:230,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/sdlz.c:231,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:232,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/sdlz.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: sdlz_log
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void sdlz_log(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: initial_size
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int initial_size(const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_tordataset
      Src: /src/bind9/lib/dns/sdlz.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_rdatasetiter_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 30
    functionsReached:
    - list_tordataset
    linkageType: ''
    returnType: void
    signature: "void rdatasetiter_current(dns_rdatasetiter_t *iterator,\n\t\t     dns_rdataset_t
      *rdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/sdlz.c:308,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/sdlz.c:310,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/sdlz.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 312
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 357
    functionsReached:
    - dns_name_free
    - isc_refcount_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:317,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: currentversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 18
    functionsReached:
    - VALID_SDLZDB
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void currentversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:330,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:330,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:336,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::newversion
      Src: /src/bind9/lib/dns/sdlz.c:338,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:342,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/sdlz.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 350
    functionName: newversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 20
    functionsReached:
    - dns_sdlz_db_t*::dlzimp::methods::newversion
    - sdlz_log
    - isc_result_totext
    - VALID_SDLZDB
    - REQUIRE
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t newversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:357,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:357,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - db
    - source
    - targetp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: attachversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 3
    functionsReached:
    - VALID_SDLZDB
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void attachversion(dns_db_t *db, dns_dbversion_t *source,\n\t      dns_dbversion_t
      **targetp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:369,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:369,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:370,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:377,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:378,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:380,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::closeversion
      Src: /src/bind9/lib/dns/sdlz.c:382,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - db
    - versionp
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 391
    functionName: closeversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 39
    functionsReached:
    - sdlz_log
    - VALID_SDLZDB
    - REQUIRE
    - dns_sdlz_db_t*::dlzimp::methods::closeversion
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: "void closeversion(dns_db_t *db, dns_dbversion_t **versionp,\n\t     bool
      commit DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:397,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/sdlz.c:400,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/sdlz.c:401,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/sdlz.c:402,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/sdlz.c:403,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/sdlz.c:405,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/sdlz.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - sdlz
    - nodep
    argTypes:
    - dns_sdlz_db_t*
    - dns_sdlznode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: createnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 2
    functionsReached:
    - dns_rdatacallbacks_init
    - ISC_LINK_INIT
    - dns_db_attach
    - isc_mem_get
    - isc_refcount_init
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t createnode(dns_sdlz_db_t *sdlz, dns_sdlznode_t **nodep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/sdlz.c:423,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/sdlz.c:428,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:429,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/sdlz.c:430,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:431,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:432,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:433,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:435,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:436,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/sdlz.c:439,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:440,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:441,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:442,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/sdlz.c:446,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:447,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:451,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/sdlz.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - node
    argTypes:
    - dns_sdlznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 454
    functionName: destroynode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - dns_name_free
    - dns_db_detach
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroynode(dns_sdlznode_t *node)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:470,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:470,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:471,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:474,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:477,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:482,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:483,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:484,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:485,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:486,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:491,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:496,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:498,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:499,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:504,1
    - Dst: createnode
      Src: /src/bind9/lib/dns/sdlz.c:506,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:511,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:514,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:515,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:517,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::lookup
      Src: /src/bind9/lib/dns/sdlz.c:520,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:537,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:538,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/sdlz.c:544,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/sdlz.c:549,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:550,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/sdlz.c:552,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:555,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:561,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:562,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:565,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:568,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::lookup
      Src: /src/bind9/lib/dns/sdlz.c:570,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:579,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/sdlz.c:586,1
    - Dst: destroynode
      Src: /src/bind9/lib/dns/sdlz.c:587,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:592,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:596,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/sdlz.c:598,1
    - Dst: destroynode
      Src: /src/bind9/lib/dns/sdlz.c:599,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:605,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:606,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/sdlz.c:607,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 94
    argCount: 7
    argNames:
    - db
    - name
    - create
    - options
    - methods
    - clientinfo
    - nodep
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - unsigned int
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 612
    functionName: getnodedata
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - VALID_SDLZDB
    - REQUIRE
    - dns_name_dup
    - dns_name_countlabels
    - dns_sdlz_db_t*::dlzimp::methods::lookup
    - MAYBE_UNLOCK
    - dns_name_concatenate
    - dns_fixedname_init
    - createnode
    - destroynode
    - dns_fixedname_name
    - isc_mem_get
    - MAYBE_LOCK
    - isc_buffer_putuint8
    - isc_refcount_decrementz
    - dns_name_getlabelsequence
    - isc_ascii_strtolower
    - dns_name_equal
    - isc_buffer_init
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getnodedata(dns_db_t *db, const dns_name_t *name, bool
      create,\n\t    unsigned int options, dns_clientinfomethods_t *methods,\n\t    dns_clientinfo_t
      *clientinfo, dns_dbnode_t **nodep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getnodedata
      Src: /src/bind9/lib/dns/sdlz.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - db
    - name
    - create
    - methods
    - clientinfo
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 619
    functionName: findnodeext
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 5
    functionsReached:
    - getnodedata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnodeext(dns_db_t *db, const dns_name_t *name, bool
      create,\n\t    dns_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo,\n\t
      \   dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getnodedata
      Src: /src/bind9/lib/dns/sdlz.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 621
    functionDepth: 4
    functionLinenumber: 621
    functionLinenumberEnd: 625
    functionName: findnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 30
    functionsReached:
    - getnodedata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create,\n\t
      dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:634,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:634,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:636,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/sdlz.c:638,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/sdlz.c:640,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - db
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 647
    functionName: attachnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 7
    functionsReached:
    - UNUSED
    - VALID_SDLZDB
    - isc_refcount_increment
    - fprintf
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void attachnode(dns_db_t *db, dns_dbnode_t *source,\n\t   dns_dbnode_t
      **targetp DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:655,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:655,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:656,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:658,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/sdlz.c:663,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/sdlz.c:665,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:668,1
    - Dst: destroynode
      Src: /src/bind9/lib/dns/sdlz.c:672,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 674
    functionName: detachnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 80
    functionsReached:
    - destroynode
    - UNUSED
    - isc_refcount_decrement
    - VALID_SDLZDB
    - fprintf
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void detachnode(dns_db_t *db, dns_dbnode_t **targetp DNS__DB_FLARG)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:685,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:685,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:697,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:698,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:703,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:705,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/sdlz.c:709,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/sdlz.c:713,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:718,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:720,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::allnodes
      Src: /src/bind9/lib/dns/sdlz.c:721,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:723,1
    - Dst: dbiterator_destroy
      Src: /src/bind9/lib/dns/sdlz.c:726,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:731,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/sdlz.c:732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - db
    - options
    - iteratorp
    argTypes:
    - dns_db_t*
    - unsigned int
    - dns_dbiterator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 676
    functionDepth: 3
    functionLinenumber: 676
    functionLinenumberEnd: 738
    functionName: createiterator
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 14
    functionsReached:
    - dns_name_totext
    - ISC_LIST_PREPEND
    - isc_ascii_strtolower
    - dbiterator_destroy
    - dns_sdlz_db_t*::dlzimp::methods::allnodes
    - dns_db_attach
    - VALID_SDLZDB
    - isc_buffer_init
    - isc_mem_get
    - MAYBE_LOCK
    - ISC_LIST_UNLINK
    - REQUIRE
    - isc_buffer_putuint8
    - MAYBE_UNLOCK
    - ISC_LIST_INIT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t createiterator(dns_db_t *db, unsigned int options,\n\t
      \      dns_dbiterator_t **iteratorp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:745,1
    - Dst: VALID_SDLZNODE
      Src: /src/bind9/lib/dns/sdlz.c:745,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:749,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:750,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:751,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:752,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:753,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/sdlz.c:755,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:759,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/sdlz.c:764,1
    - Dst: list_tordataset
      Src: /src/bind9/lib/dns/sdlz.c:770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 8
    argNames:
    - db
    - node
    - version
    - type
    - covers
    - now
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 773
    functionName: findrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 35
    functionsReached:
    - ISC_LIST_HEAD
    - VALID_SDLZNODE
    - UNUSED
    - list_tordataset
    - REQUIRE
    - dns_rdatatype_issig
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     dns_rdatatype_t type, dns_rdatatype_t covers, isc_stdtime_t
      now,\n\t     dns_rdataset_t *rdataset,\n\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:790,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:790,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:791,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:792,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:795,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/sdlz.c:797,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:801,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:802,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/sdlz.c:804,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/sdlz.c:807,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:827,1
    - Dst: getnodedata
      Src: /src/bind9/lib/dns/sdlz.c:828,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:842,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:858,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/sdlz.c:866,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/sdlz.c:868,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/sdlz.c:870,1
    - Dst: detachnode
      Src: /src/bind9/lib/dns/sdlz.c:884,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:900,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:910,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/sdlz.c:923,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/sdlz.c:924,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/sdlz.c:928,1
    - Dst: detachnode
      Src: /src/bind9/lib/dns/sdlz.c:934,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 91
    argCount: 12
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - methods
    - clientinfo
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 775
    functionDepth: 4
    functionLinenumber: 775
    functionLinenumberEnd: 938
    functionName: findext
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 16
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - findrdataset
    - dns_name_issubdomain
    - dns_fixedname_initname
    - UNUSED
    - dns_rdataset_isassociated
    - VALID_SDLZDB
    - detachnode
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_name_copy
    - getnodedata
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findext(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n\tdns_rdatatype_t type, unsigned int options, isc_stdtime_t now,\n\tdns_dbnode_t
      **nodep, dns_name_t *foundname,\n\tdns_clientinfomethods_t *methods, dns_clientinfo_t
      *clientinfo,\n\tdns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: findext
      Src: /src/bind9/lib/dns/sdlz.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 947
    functionName: find
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 88
    functionsReached:
    - findext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n     dns_rdatatype_t type, unsigned int options, isc_stdtime_t now,\n
      \    dns_dbnode_t **nodep, dns_name_t *foundname, dns_rdataset_t *rdataset,\n
      \    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:956,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:956,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:958,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:961,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:962,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:964,1
    - Dst: attachnode
      Src: /src/bind9/lib/dns/sdlz.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 6
    argNames:
    - db
    - node
    - version
    - options
    - now
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int
    - isc_stdtime_t
    - dns_rdatasetiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 978
    functionName: allrdatasets
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 18
    functionsReached:
    - attachnode
    - UNUSED
    - VALID_SDLZDB
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     unsigned int options, isc_stdtime_t now,\n\t     dns_rdatasetiter_t
      **iteratorp DNS__DB_FLARG)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:993,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:993,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1001,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1003,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/sdlz.c:1007,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/lib/dns/sdlz.c:1009,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/sdlz.c:1015,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/sdlz.c:1021,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/sdlz.c:1026,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/sdlz.c:1027,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1029,1
    - Dst: mod_function
      Src: /src/bind9/lib/dns/sdlz.c:1030,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1032,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:1035,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/lib/dns/sdlz.c:1037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 6
    argNames:
    - db
    - node
    - version
    - rdataset
    - options
    - mod_function
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - unsigned int
    - dns_sdlzmodrdataset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 1041
    functionName: modrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 2
    functionsReached:
    - dns_master_rdatasettotext
    - dns_master_styledestroy
    - UNUSED
    - VALID_SDLZDB
    - isc_buffer_free
    - mod_function
    - dns_master_stylecreate
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - REQUIRE
    - MAYBE_LOCK
    - dns_name_format
    - isc_buffer_base
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t modrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t    dns_rdataset_t *rdataset, unsigned int options,\n\t    dns_sdlzmodrdataset_t
      mod_function)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1050,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1052,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1052,1
    - Dst: modrdataset
      Src: /src/bind9/lib/dns/sdlz.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - db
    - node
    - version
    - now
    - rdataset
    - options
    - addedrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1061
    functionName: addrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 21
    functionsReached:
    - VALID_SDLZDB
    - modrdataset
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t addrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t    isc_stdtime_t now, dns_rdataset_t *rdataset, unsigned int options,\n\t
      \   dns_rdataset_t *addedrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1071,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1071,1
    - Dst: modrdataset
      Src: /src/bind9/lib/dns/sdlz.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - db
    - node
    - version
    - rdataset
    - options
    - newrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1080
    functionName: subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 5
    functionsReached:
    - VALID_SDLZDB
    - modrdataset
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t subtractrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t\t dns_rdataset_t *rdataset, unsigned int options,\n\t\t dns_rdataset_t
      *newrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1091,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1093,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1093,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1100,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/sdlz.c:1101,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1103,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::delrdataset
      Src: /src/bind9/lib/dns/sdlz.c:1104,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - db
    - node
    - version
    - type
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1109
    functionName: deleterdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 17
    functionsReached:
    - UNUSED
    - VALID_SDLZDB
    - MAYBE_LOCK
    - REQUIRE
    - MAYBE_UNLOCK
    - dns_sdlz_db_t*::dlzimp::methods::delrdataset
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t deleterdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t       dns_rdatatype_t type, dns_rdatatype_t covers DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1116
    functionName: issecure
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 13
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool issecure(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - tree
    argTypes:
    - dns_db_t*
    - dns_dbtree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: nodecount
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 3
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db, dns_dbtree_t tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1128,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - loop
    argTypes:
    - dns_db_t*
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1130
    functionName: setloop
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void setloop(dns_db_t *db, isc_loop_t *loop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1141,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1141,1
    - Dst: getnodedata
      Src: /src/bind9/lib/dns/sdlz.c:1146,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1149,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/sdlz.c:1150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1136
    functionDepth: 4
    functionLinenumber: 1136
    functionLinenumberEnd: 1153
    functionName: getoriginnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 9
    functionsReached:
    - sdlz_log
    - isc_result_totext
    - VALID_SDLZDB
    - REQUIRE
    - getnodedata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:1232,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:1234,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/sdlz.c:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1240
    functionName: dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_HEAD
    - dns_name_equal
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_seek(dns_dbiterator_t *iterator,\n\t\tconst
      dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: attachnode
      Src: /src/bind9/lib/dns/sdlz.c:1271,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/sdlz.c:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - iterator
    - nodep
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_dbnode_t**
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1278
    functionName: dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 16
    functionsReached:
    - attachnode
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t
      **nodep,\n\t\t   dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - dns_dbiterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1284
    functionName: dbiterator_pause
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 3
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dbiterator_pause(dns_dbiterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1288,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/sdlz.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1291
    functionName: dbiterator_origin
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: attachnode
      Src: /src/bind9/lib/dns/sdlz.c:1315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1316
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 17
    functionsReached:
    - attachnode
    linkageType: ''
    returnType: void
    signature: void rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/sdlz.c:1337,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/sdlz.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rdatalist
    - db
    - node
    - rdataset
    argTypes:
    - dns_rdatalist_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1340
    functionName: list_tordataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 40
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_attachnode
    linkageType: ''
    returnType: void
    signature: "void list_tordataset(dns_rdatalist_t *rdatalist, dns_db_t *db, dns_dbnode_t
      *node,\n\t\tdns_rdataset_t *rdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1362,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1367,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:1377,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/sdlz.c:1378,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/sdlz.c:1380,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/sdlz.c:1383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - mctx
    - driverarg
    - dbdata
    - name
    - rdclass
    - dbp
    argTypes:
    - isc_mem_t*
    - void*
    - void*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1391
    functionName: dns_sdlzcreateDBP
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlzcreateDBP(isc_mem_t *mctx, void *driverarg, void
      *dbdata,\n\t\t  const dns_name_t *name, dns_rdataclass_t rdclass,\n\t\t  dns_db_t
      **dbp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1411,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1412,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1413,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:1418,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:1419,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:1423,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:1426,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/sdlz.c:1427,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/sdlz.c:1428,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:1432,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:1435,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:1436,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1442,1
    - Dst: dns_sdlzimplementation_t*::methods::allowzonexfr
      Src: /src/bind9/lib/dns/sdlz.c:1443,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1445,1
    - Dst: dns_sdlzcreateDBP
      Src: /src/bind9/lib/dns/sdlz.c:1451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 7
    argNames:
    - driverarg
    - dbdata
    - mctx
    - rdclass
    - name
    - clientaddr
    - dbp
    argTypes:
    - void*
    - void*
    - isc_mem_t*
    - dns_rdataclass_t
    - dns_name_t*
    - isc_sockaddr_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1393
    functionDepth: 3
    functionLinenumber: 1393
    functionLinenumberEnd: 1461
    functionName: dns_sdlzallowzonexfr
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - isc_netaddr_fromsockaddr
    - isc_ascii_strtolower
    - isc_buffer_init
    - isc_netaddr_totext
    - MAYBE_LOCK
    - REQUIRE
    - isc_buffer_putuint8
    - MAYBE_UNLOCK
    - dns_sdlzcreateDBP
    - dns_sdlzimplementation_t*::methods::allowzonexfr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlzallowzonexfr(void *driverarg, void *dbdata, isc_mem_t
      *mctx,\n\t\t     dns_rdataclass_t rdclass, const dns_name_t *name,\n\t\t     const
      isc_sockaddr_t *clientaddr, dns_db_t **dbp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1470,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1470,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1476,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1477,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1478,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1484,1
    - Dst: dns_sdlzimplementation_t*::methods::create
      Src: /src/bind9/lib/dns/sdlz.c:1485,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1487,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1492,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1492,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - mctx
    - dlzname
    - argc
    - argv
    - driverarg
    - dbdata
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int
    - char*[]
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1463
    functionDepth: 3
    functionLinenumber: 1463
    functionLinenumberEnd: 1498
    functionName: dns_sdlzcreate
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - sdlz_log
    - ISC_LOG_DEBUG
    - dns_sdlzimplementation_t*::methods::create
    - UNUSED
    - MAYBE_LOCK
    - REQUIRE
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlzcreate(isc_mem_t *mctx, const char *dlzname,
      unsigned int argc,\n\t       char *argv[], void *driverarg, void **dbdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1505,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1505,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1511,1
    - Dst: dns_sdlzimplementation_t*::methods::destroy
      Src: /src/bind9/lib/dns/sdlz.c:1512,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - driverdata
    - dbdata
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1500
    functionDepth: 3
    functionLinenumber: 1500
    functionLinenumberEnd: 1515
    functionName: dns_sdlzdestroy
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_sdlzimplementation_t*::methods::destroy
    - sdlz_log
    - ISC_LOG_DEBUG
    - MAYBE_LOCK
    - MAYBE_UNLOCK
    linkageType: ''
    returnType: void
    signature: void dns_sdlzdestroy(void *driverdata, void **dbdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1530,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1532,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:1537,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:1538,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:1542,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:1545,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1548,1
    - Dst: dns_sdlzimplementation_t*::methods::findzone
      Src: /src/bind9/lib/dns/sdlz.c:1549,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1551,1
    - Dst: dns_sdlzcreateDBP
      Src: /src/bind9/lib/dns/sdlz.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 8
    argNames:
    - driverarg
    - dbdata
    - mctx
    - rdclass
    - name
    - methods
    - clientinfo
    - dbp
    argTypes:
    - void*
    - void*
    - isc_mem_t*
    - dns_rdataclass_t
    - dns_name_t*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1563
    functionName: dns_sdlzfindzone
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - isc_ascii_strtolower
    - isc_buffer_init
    - dns_sdlzimplementation_t*::methods::findzone
    - MAYBE_LOCK
    - REQUIRE
    - isc_buffer_putuint8
    - MAYBE_UNLOCK
    - dns_sdlzcreateDBP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlzfindzone(void *driverarg, void *dbdata, isc_mem_t
      *mctx,\n\t\t dns_rdataclass_t rdclass, const dns_name_t *name,\n\t\t dns_clientinfomethods_t
      *methods, dns_clientinfo_t *clientinfo,\n\t\t dns_db_t **dbp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1571,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1577,1
    - Dst: dns_sdlzimplementation_t*::methods::configure
      Src: /src/bind9/lib/dns/sdlz.c:1578,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - driverarg
    - dbdata
    - view
    - dlzdb
    argTypes:
    - void*
    - void*
    - dns_view_t*
    - dns_dlzdb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1586
    functionName: dns_sdlzconfigure
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - MAYBE_UNLOCK
    - MAYBE_LOCK
    - REQUIRE
    - dns_sdlzimplementation_t*::methods::configure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlzconfigure(void *driverarg, void *dbdata, dns_view_t
      *view,\n\t\t  dns_dlzdb_t *dlzdb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1603,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1615,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1620,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/sdlz.c:1623,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/sdlz.c:1628,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/sdlz.c:1631,1
    - Dst: dst_key_tkeytoken
      Src: /src/bind9/lib/dns/sdlz.c:1632,1
    - Dst: isc_buffer_region
      Src: /src/bind9/lib/dns/sdlz.c:1638,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1642,1
    - Dst: dns_sdlzimplementation_t*::methods::ssumatch
      Src: /src/bind9/lib/dns/sdlz.c:1643,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 7
    argNames:
    - signer
    - name
    - tcpaddr
    - type
    - key
    - driverarg
    - dbdata
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - isc_netaddr_t*
    - dns_rdatatype_t
    - dst_key_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1588
    functionDepth: 3
    functionLinenumber: 1588
    functionLinenumberEnd: 1649
    functionName: dns_sdlzssumatch
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - isc_buffer_region
    - dst_key_tkeytoken
    - isc_netaddr_format
    - dns_sdlzimplementation_t*::methods::ssumatch
    - MAYBE_LOCK
    - REQUIRE
    - MAYBE_UNLOCK
    - dns_name_format
    - dst_key_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: bool
    signature: "bool dns_sdlzssumatch(const dns_name_t *signer, const dns_name_t *name,\n\t\t
      const isc_netaddr_t *tcpaddr, dns_rdatatype_t type,\n\t\t const dst_key_t *key,
      void *driverarg, void *dbdata)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1674,1
    - Dst: VALID_SDLZLOOKUP
      Src: /src/bind9/lib/dns/sdlz.c:1674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1675,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1676,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1681,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/sdlz.c:1682,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:1687,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/sdlz.c:1692,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1696,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/sdlz.c:1697,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/sdlz.c:1701,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1713,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/sdlz.c:1714,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/sdlz.c:1723,1
    - Dst: initial_size
      Src: /src/bind9/lib/dns/sdlz.c:1725,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/sdlz.c:1727,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1727,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/sdlz.c:1728,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1728,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/dns/sdlz.c:1730,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/sdlz.c:1736,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/sdlz.c:1738,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:1742,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/sdlz.c:1758,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/sdlz.c:1759,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1762,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:1769,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1772,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:1774,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 4
    argNames:
    - lookup
    - type
    - ttl
    - data
    argTypes:
    - dns_sdlzlookup_t*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1659
    functionDepth: 3
    functionLinenumber: 1659
    functionLinenumberEnd: 1777
    functionName: dns_sdlz_putrr
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_init
    - REQUIRE
    - isc_buffer_allocate
    - ISC_LIST_HEAD
    - isc_mem_put
    - isc_buffer_constinit
    - ISC_LIST_NEXT
    - VALID_SDLZLOOKUP
    - strlen
    - isc_mem_get
    - dns_rdata_fromtext
    - isc_buffer_free
    - initial_size
    - isc_lex_destroy
    - ISC_LIST_APPEND
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlz_putrr(dns_sdlzlookup_t *lookup, const char *type,
      dns_ttl_t ttl,\n\t       const char *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/sdlz.c:1791,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/sdlz.c:1798,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1798,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/sdlz.c:1799,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1799,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/sdlz.c:1801,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:1808,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:1809,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:1812,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:1813,1
    - Dst: createnode
      Src: /src/bind9/lib/dns/sdlz.c:1815,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1819,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:1820,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/sdlz.c:1821,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/sdlz.c:1822,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:1824,1
    - Dst: dns_sdlz_putrr
      Src: /src/bind9/lib/dns/sdlz.c:1829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - allnodes
    - name
    - type
    - ttl
    - data
    argTypes:
    - dns_sdlzallnodes_t*
    - char*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1779
    functionDepth: 4
    functionLinenumber: 1779
    functionLinenumberEnd: 1830
    functionName: dns_sdlz_putnamedrr
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - ISC_LIST_PREPEND
    - dns_name_fromtext
    - ISC_LIST_HEAD
    - dns_name_init
    - dns_fixedname_initname
    - dns_sdlz_putrr
    - dns_name_equal
    - strlen
    - isc_mem_get
    - isc_buffer_add
    - dns_name_dup
    - createnode
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlz_putnamedrr(dns_sdlzallnodes_t *allnodes, const
      char *name,\n\t\t    const char *type, dns_ttl_t ttl, const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1838,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1839,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/sdlz.c:1841,1
    - Dst: dns_sdlz_putrr
      Src: /src/bind9/lib/dns/sdlz.c:1847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - lookup
    - mname
    - rname
    - serial
    argTypes:
    - dns_sdlzlookup_t*
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1832
    functionDepth: 4
    functionLinenumber: 1832
    functionLinenumberEnd: 1848
    functionName: dns_sdlz_putsoa
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_sdlz_putrr
    - snprintf
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlz_putsoa(dns_sdlzlookup_t *lookup, const char
      *mname, const char *rname,\n\t\tuint32_t serial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1860,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1861,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1862,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1863,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1864,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1865,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1866,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1871,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1871,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1877,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/sdlz.c:1887,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/sdlz.c:1893,1
    - Dst: dns_dlzregister
      Src: /src/bind9/lib/dns/sdlz.c:1901,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1915,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/sdlz.c:1921,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 6
    argNames:
    - drivername
    - methods
    - driverarg
    - flags
    - mctx
    - sdlzimp
    argTypes:
    - char*
    - dns_sdlzmethods_t*
    - void*
    - unsigned int
    - isc_mem_t*
    - dns_sdlzimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1850
    functionDepth: 3
    functionLinenumber: 1850
    functionLinenumberEnd: 1923
    functionName: dns_sdlzregister
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - sdlz_log
    - ISC_LOG_DEBUG
    - isc_mem_putanddetach
    - dns_dlzregister
    - isc_mem_get
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlzregister(const char *drivername, const dns_sdlzmethods_t
      *methods,\n\t\t void *driverarg, unsigned int flags, isc_mem_t *mctx,\n\t\t
      dns_sdlzimplementation_t **sdlzimp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1930,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1930,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1935,1
    - Dst: dns_dlzunregister
      Src: /src/bind9/lib/dns/sdlz.c:1941,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1944,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/sdlz.c:1950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sdlzimp
    argTypes:
    - dns_sdlzimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1925
    functionDepth: 3
    functionLinenumber: 1925
    functionLinenumberEnd: 1951
    functionName: dns_sdlzunregister
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - sdlz_log
    - ISC_LOG_DEBUG
    - isc_mem_putanddetach
    - dns_dlzunregister
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns_sdlzunregister(dns_sdlzimplementation_t **sdlzimp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_sdlzcreateDBP
      Src: /src/bind9/lib/dns/sdlz.c:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dlzdatabase
    - rdclass
    - name
    - dbp
    argTypes:
    - dns_dlzdb_t*
    - dns_rdataclass_t
    - dns_name_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1953
    functionDepth: 2
    functionLinenumber: 1953
    functionLinenumberEnd: 1962
    functionName: dns_sdlz_setdb
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - dns_sdlzcreateDBP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_sdlz_setdb(dns_dlzdb_t *dlzdatabase, dns_rdataclass_t
      rdclass,\n\t       const dns_name_t *name, dns_db_t **dbp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: VALID_ACLENV
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_ACLENV(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:40,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/acl.c:42,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/acl.c:44,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/acl.c:46,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/acl.c:52,1
    - Dst: dns_iptable_create
      Src: /src/bind9/lib/dns/acl.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mctx
    - n
    - target
    argTypes:
    - isc_mem_t*
    - int
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 56
    functionName: dns_acl_create
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - isc_mem_cget
    - isc_mem_get
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - dns_iptable_create
    linkageType: ''
    returnType: void
    signature: void dns_acl_create(isc_mem_t *mctx, int n, dns_acl_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_create
      Src: /src/bind9/lib/dns/acl.c:69,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/dns/acl.c:71,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - neg
    - target
    argTypes:
    - isc_mem_t*
    - bool
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: dns_acl_anyornone
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - dns_iptable_addprefix
    - dns_acl_create
    - dns_acl_detach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_acl_anyornone(isc_mem_t *mctx, bool neg, dns_acl_t
      **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_anyornone
      Src: /src/bind9/lib/dns/acl.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mctx
    - target
    argTypes:
    - isc_mem_t*
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: dns_acl_any
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 8
    functionsReached:
    - dns_acl_anyornone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_acl_any(isc_mem_t *mctx, dns_acl_t **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_anyornone
      Src: /src/bind9/lib/dns/acl.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mctx
    - target
    argTypes:
    - isc_mem_t*
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: dns_acl_none
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 4
    functionsReached:
    - dns_acl_anyornone
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_acl_none(isc_mem_t *mctx, dns_acl_t **target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:111,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - acl
    - pos
    argTypes:
    - dns_acl_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: dns_acl_isanyornone
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - dns_acl_node_count
    linkageType: ''
    returnType: bool
    signature: bool dns_acl_isanyornone(dns_acl_t *acl, bool pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_isanyornone
      Src: /src/bind9/lib/dns/acl.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: dns_acl_isany
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - dns_acl_isanyornone
    linkageType: ''
    returnType: bool
    signature: bool dns_acl_isany(dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_isanyornone
      Src: /src/bind9/lib/dns/acl.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: dns_acl_isnone
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 6
    functionsReached:
    - dns_acl_isanyornone
    linkageType: ''
    returnType: bool
    signature: bool dns_acl_isnone(dns_acl_t *acl)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:164,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/acl.c:167,1
    - Dst: isc_netaddr_fromv4mapped
      Src: /src/bind9/lib/dns/acl.c:169,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/lib/dns/acl.c:175,1
    - Dst: isc_radix_search
      Src: /src/bind9/lib/dns/acl.c:181,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/dns/acl.c:185,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/acl.c:194,1
    - Dst: dns_aclelement_match
      Src: /src/bind9/lib/dns/acl.c:205,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - reqaddr
    - reqsigner
    - acl
    - env
    - match
    - matchelt
    argTypes:
    - isc_netaddr_t*
    - dns_name_t*
    - dns_acl_t*
    - dns_aclenv_t*
    - int*
    - dns_aclelement_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 219
    functionName: dns_acl_match
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 10
    functionsReached:
    - ISC_RADIX_FAMILY
    - isc_netaddr_fromv4mapped
    - IN6_IS_ADDR_V4MAPPED
    - REQUIRE
    - NETADDR_TO_PREFIX_T
    - dns_aclelement_match
    - isc_refcount_destroy
    - isc_radix_search
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_acl_match(const isc_netaddr_t *reqaddr, const dns_name_t
      *reqsigner,\n\t      const dns_acl_t *acl, dns_aclenv_t *env, int *match,\n\t
      \     const dns_aclelement_t **matchelt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:231,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:231,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/acl.c:233,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/acl.c:234,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/acl.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 9
    argNames:
    - reqaddr
    - local_port
    - transport
    - encrypted
    - reqsigner
    - acl
    - env
    - match
    - matchelt
    argTypes:
    - isc_netaddr_t*
    - in_port_t
    - isc_nmsocket_type_t
    - bool
    - dns_name_t*
    - dns_acl_t*
    - dns_aclenv_t*
    - int*
    - dns_aclelement_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 261
    functionName: dns_acl_match_port_transport
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - DNS_ACL_VALID
    - UNCONST
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_acl_match
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_acl_match_port_transport(const isc_netaddr_t *reqaddr,\n\t\t\t
      \    const in_port_t local_port,\n\t\t\t     const isc_nmsocket_type_t transport,\n\t\t\t
      \    const bool encrypted, const dns_name_t *reqsigner,\n\t\t\t     const dns_acl_t
      *acl, dns_aclenv_t *env,\n\t\t\t     int *match, const dns_aclelement_t **matchelt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/acl.c:285,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:309,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:315,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/acl.c:321,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/acl.c:322,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:347,1
    - Dst: dns_iptable_merge
      Src: /src/bind9/lib/dns/acl.c:348,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:352,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:353,1
    - Dst: dns_acl_merge_ports_transports
      Src: /src/bind9/lib/dns/acl.c:359,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - dest
    - source
    - pos
    argTypes:
    - dns_acl_t*
    - dns_acl_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: dns_acl_merge
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 3
    functionsReached:
    - isc_mem_creget
    - dns_acl_node_count
    - dns_iptable_merge
    - dns_acl_merge_ports_transports
    - dns_acl_attach
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_acl_merge(dns_acl_t *dest, dns_acl_t *source, bool
      pos)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/acl.c:384,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:395,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/acl.c:402,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:403,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:403,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/acl.c:404,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/acl.c:411,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:412,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:412,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/acl.c:413,1
    - Dst: dns_geoip_match
      Src: /src/bind9/lib/dns/acl.c:421,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/acl.c:424,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/acl.c:427,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:429,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:431,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 5
    argNames:
    - reqaddr
    - reqsigner
    - e
    - env
    - matchelt
    argTypes:
    - isc_netaddr_t*
    - dns_name_t*
    - dns_aclelement_t*
    - dns_aclenv_t*
    - dns_aclelement_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 455
    functionName: dns_aclelement_match
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - rcu_dereference
    - dns_geoip_match
    - UNREACHABLE
    - dns_name_equal
    - INSIST
    - rcu_read_unlock
    - dns_acl_match
    - dns_acl_attach
    - rcu_read_lock
    linkageType: ''
    returnType: bool
    signature: "bool dns_aclelement_match(const isc_netaddr_t *reqaddr, const dns_name_t
      *reqsigner,\n\t\t     const dns_aclelement_t *e, dns_aclenv_t *env,\n\t\t     const
      dns_aclelement_t **matchelt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/acl.c:459,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/dns/acl.c:460,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/acl.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - acl
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: dns__acl_destroy_port_transports
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - ISC_LIST_DEQUEUE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dns__acl_destroy_port_transports(dns_acl_t *acl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:467,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/acl.c:467,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/acl.c:469,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/acl.c:475,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:477,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/acl.c:481,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/acl.c:485,1
    - Dst: dns_iptable_detach
      Src: /src/bind9/lib/dns/acl.c:488,1
    - Dst: dns__acl_destroy_port_transports
      Src: /src/bind9/lib/dns/acl.c:491,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/acl.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - dacl
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 494
    functionName: dns__acl_destroy
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - ISC_LINK_LINKED
    - INSIST
    - isc_mem_cput
    - dns_iptable_detach
    - dns__acl_destroy_port_transports
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void dns__acl_destroy(dns_acl_t *dacl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/acl.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: dns__acl_initialize
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    linkageType: ''
    returnType: void
    signature: void dns__acl_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/acl.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: dns__acl_shutdown
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns__acl_shutdown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/bind9/lib/dns/acl.c:535,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/bind9/lib/dns/acl.c:541,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - prefix
    - data
    argTypes:
    - isc_prefix_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 550
    functionName: is_insecure
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - htonl
    - IN6_IS_ADDR_LOOPBACK
    linkageType: ''
    returnType: void
    signature: void is_insecure(isc_prefix_t *prefix, void **data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/acl.c:569,1
    - Dst: isc_radix_process
      Src: /src/bind9/lib/dns/acl.c:571,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/acl.c:573,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/lib/dns/acl.c:593,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/acl.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - a
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 611
    functionName: dns_acl_isinsecure
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 3
    functionsReached:
    - UNREACHABLE
    - LOCK
    - isc_radix_process
    - UNLOCK
    - dns_acl_isinsecure
    linkageType: ''
    returnType: bool
    signature: bool dns_acl_isinsecure(const dns_acl_t *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/acl.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - addr
    - signer
    - acl
    - aclenv
    argTypes:
    - isc_netaddr_t*
    - dns_name_t*
    - dns_acl_t*
    - dns_aclenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 630
    functionName: dns_acl_allowed
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 4
    functionsReached:
    - dns_acl_match
    linkageType: ''
    returnType: bool
    signature: "bool dns_acl_allowed(isc_netaddr_t *addr, const dns_name_t *signer,
      dns_acl_t *acl,\n\t\tdns_aclenv_t *aclenv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/acl.c:637,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/acl.c:639,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/acl.c:643,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/acl.c:644,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/dns/acl.c:646,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/dns/acl.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - envp
    argTypes:
    - isc_mem_t*
    - dns_aclenv_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 650
    functionName: dns_aclenv_create
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - dns_acl_create
    - ISC_REFCOUNT_INITIALIZER
    linkageType: ''
    returnType: void
    signature: void dns_aclenv_create(isc_mem_t *mctx, dns_aclenv_t **envp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:654,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:654,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:655,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:655,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:656,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:656,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:658,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:658,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:659,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:659,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/acl.c:672,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:674,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - env
    - localhost
    - localnets
    argTypes:
    - dns_aclenv_t*
    - dns_acl_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 676
    functionName: dns_aclenv_set
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - rcu_xchg_pointer
    - dns_acl_detach
    - synchronize_rcu
    - dns_acl_ref
    - DNS_ACL_VALID
    - REQUIRE
    - VALID_ACLENV
    linkageType: ''
    returnType: void
    signature: void dns_aclenv_set(dns_aclenv_t *env, dns_acl_t *localhost, dns_acl_t
      *localnets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:680,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:680,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:681,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:681,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/acl.c:683,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:689,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:689,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:690,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:690,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:692,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:692,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:693,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:693,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/acl.c:695,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:697,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:698,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/acl.c:706,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:713,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - target
    - source
    argTypes:
    - dns_aclenv_t*
    - dns_aclenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 715
    functionName: dns_aclenv_copy
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - rcu_xchg_pointer
    - rcu_dereference
    - dns_acl_detach
    - synchronize_rcu
    - dns_acl_ref
    - INSIST
    - DNS_ACL_VALID
    - rcu_read_unlock
    - REQUIRE
    - VALID_ACLENV
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_aclenv_copy(dns_aclenv_t *target, dns_aclenv_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:719,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:719,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:729,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:730,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/acl.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - aclenv
    argTypes:
    - dns_aclenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 733
    functionName: dns__aclenv_destroy
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - VALID_ACLENV
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns__aclenv_destroy(dns_aclenv_t *aclenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:746,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:746,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:747,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/acl.c:749,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/acl.c:755,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/acl.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - acl
    - port
    - transports
    - encrypted
    - negative
    argTypes:
    - dns_acl_t*
    - in_port_t
    - uint32_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 759
    functionName: dns_acl_add_port_transports
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - DNS_ACL_VALID
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_acl_add_port_transports(dns_acl_t *acl, const in_port_t port,\n\t\t\t
      \   const uint32_t transports, const bool encrypted,\n\t\t\t    const bool negative)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:763,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:763,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:764,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:764,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/acl.c:771,1
    - Dst: dns_acl_add_port_transports
      Src: /src/bind9/lib/dns/acl.c:786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - source
    - pos
    argTypes:
    - dns_acl_t*
    - dns_acl_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 789
    functionName: dns_acl_merge_ports_transports
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 3
    functionsReached:
    - DNS_ACL_VALID
    - dns_acl_add_port_transports
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dns_acl_merge_ports_transports(dns_acl_t *dest, dns_acl_t *source,
      bool pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: CCTX_VALID
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCTX_VALID(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:38,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:39,1
    - Dst: isc_mem_callocate
      Src: /src/bind9/lib/dns/compress.c:44,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/compress.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - cctx
    - mctx
    - flags
    argTypes:
    - dns_compress_t*
    - isc_mem_t*
    - dns_compress_flags_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: dns_compress_init
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 12
    functionsReached:
    - ARRAY_SIZE
    - REQUIRE
    - isc_mem_callocate
    linkageType: ''
    returnType: void
    signature: "void dns_compress_init(dns_compress_t *cctx, isc_mem_t *mctx,\n\t\t
      \ dns_compress_flags_t flags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:66,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:66,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/compress.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - dns_compress_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: dns_compress_invalidate
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 12
    functionsReached:
    - CCTX_VALID
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_compress_invalidate(dns_compress_t *cctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:75,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - multi
    argTypes:
    - dns_compress_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: dns_compress_setmultiuse
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 2
    functionsReached:
    - CCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_compress_setmultiuse(dns_compress_t *cctx, bool multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:86,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - dns_compress_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: dns_compress_getmultiuse
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached:
    - CCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_compress_getmultiuse(dns_compress_t *cctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:92,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:92,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/lib/dns/compress.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cctx
    - permitted
    argTypes:
    - dns_compress_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: dns_compress_setpermitted
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 3
    functionsReached:
    - CCTX_VALID
    - REQUIRE
    - dns_compress_setmultiuse
    linkageType: ''
    returnType: void
    signature: void dns_compress_setpermitted(dns_compress_t *cctx, bool permitted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:103,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cctx
    argTypes:
    - dns_compress_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: dns_compress_getpermitted
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached:
    - CCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_compress_getpermitted(dns_compress_t *cctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__ascii_tolower1
      Src: /src/bind9/lib/dns/compress.c:127,1
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/dns/compress.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - init
    - ptr
    - sensitive
    argTypes:
    - uint16_t
    - uint8_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: hash_label
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached:
    - isc_hash_bits32
    - isc__ascii_tolower1
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t hash_label(uint16_t init, uint8_t *ptr, bool sensitive)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/compress.c:137,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/lib/dns/compress.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - a
    - b
    - len
    - sensitive
    argTypes:
    - uint8_t*
    - uint8_t*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: match_wirename
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowerequal
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool match_wirename(uint8_t *a, uint8_t *b, unsigned int len, bool
      sensitive)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/compress.c:179,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/compress.c:180,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/compress.c:183,1
    - Dst: match_wirename
      Src: /src/bind9/lib/dns/compress.c:193,1
    - Dst: match_wirename
      Src: /src/bind9/lib/dns/compress.c:218,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 6
    argNames:
    - buffer
    - new_coff
    - sptr
    - slen
    - old_coff
    - sensitive
    argTypes:
    - isc_buffer_t*
    - unsigned int
    - uint8_t*
    - unsigned int
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 219
    functionName: match_suffix
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - match_wirename
    - isc_buffer_usedlength
    - INSIST
    linkageType: ''
    returnType: bool
    signature: "bool match_suffix(isc_buffer_t *buffer, unsigned int new_coff, uint8_t
      *sptr,\n\t     unsigned int slen, unsigned int old_coff, bool sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cctx
    - slot
    argTypes:
    - dns_compress_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: probe_distance
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int probe_distance(dns_compress_t *cctx, unsigned int slot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cctx
    - hash
    - probe
    argTypes:
    - dns_compress_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: slot_index
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int slot_index(dns_compress_t *cctx, unsigned int hash, unsigned
      int probe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/compress.c:248,1
    - Dst: slot_index
      Src: /src/bind9/lib/dns/compress.c:253,1
    - Dst: probe_distance
      Src: /src/bind9/lib/dns/compress.c:262,1
    - Dst: probe_distance
      Src: /src/bind9/lib/dns/compress.c:263,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/dns/compress.c:264,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/dns/compress.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - cctx
    - buffer
    - offsets
    - label
    - hash
    - probe
    argTypes:
    - dns_compress_t*
    - isc_buffer_t*
    - dns_offsets_t
    - unsigned int
    - uint16_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 269
    functionName: insert_label
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 0
    functionsReached:
    - slot_index
    - isc_buffer_usedlength
    - probe_distance
    - ISC_SWAP
    linkageType: ''
    returnType: bool
    signature: "bool insert_label(dns_compress_t *cctx, isc_buffer_t *buffer,\n\t
      \    const dns_offsets_t offsets, unsigned int label, uint16_t hash,\n\t     unsigned
      int probe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_label
      Src: /src/bind9/lib/dns/compress.c:284,1
    - Dst: hash_label
      Src: /src/bind9/lib/dns/compress.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 7
    argNames:
    - cctx
    - buffer
    - name
    - offsets
    - label
    - hash
    - probe
    argTypes:
    - dns_compress_t*
    - isc_buffer_t*
    - dns_name_t*
    - dns_offsets_t
    - unsigned int
    - uint16_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: insert
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 16
    functionsReached:
    - insert_label
    - hash_label
    linkageType: ''
    returnType: void
    signature: "void insert(dns_compress_t *cctx, isc_buffer_t *buffer, const dns_name_t
      *name,\n       const dns_offsets_t offsets, unsigned int label, uint16_t hash,\n
      \      unsigned int probe)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:298,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:299,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/compress.c:299,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:300,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/compress.c:300,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:303,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/compress.c:310,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/compress.c:311,1
    - Dst: hash_label
      Src: /src/bind9/lib/dns/compress.c:326,1
    - Dst: slot_index
      Src: /src/bind9/lib/dns/compress.c:329,1
    - Dst: probe_distance
      Src: /src/bind9/lib/dns/compress.c:338,1
    - Dst: insert
      Src: /src/bind9/lib/dns/compress.c:339,1
    - Dst: match_suffix
      Src: /src/bind9/lib/dns/compress.c:349,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - cctx
    - buffer
    - name
    - return_prefix
    - return_coff
    argTypes:
    - dns_compress_t*
    - isc_buffer_t*
    - dns_name_t*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 358
    functionName: dns_compress_name
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 1
    functionsReached:
    - probe_distance
    - CCTX_VALID
    - insert
    - INSIST
    - hash_label
    - dns_name_offsets
    - REQUIRE
    - dns_name_isabsolute
    - match_suffix
    - slot_index
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_compress_name(dns_compress_t *cctx, isc_buffer_t *buffer,\n\t\t
      \ const dns_name_t *name, unsigned int *return_prefix,\n\t\t  unsigned int *return_coff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/compress.c:362,1
    - Dst: CCTX_VALID
      Src: /src/bind9/lib/dns/compress.c:362,1
    - Dst: slot_index
      Src: /src/bind9/lib/dns/compress.c:376,1
    - Dst: probe_distance
      Src: /src/bind9/lib/dns/compress.c:378,1
    - Dst: slot_index
      Src: /src/bind9/lib/dns/compress.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - cctx
    - coff
    argTypes:
    - dns_compress_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 388
    functionName: dns_compress_rollback
    functionSourceFile: /src/bind9/lib/dns/compress.c
    functionUses: 2
    functionsReached:
    - slot_index
    - CCTX_VALID
    - REQUIRE
    - probe_distance
    linkageType: ''
    returnType: void
    signature: void dns_compress_rollback(dns_compress_t *cctx, unsigned int coff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: VALID_TRANSPORT
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TRANSPORT(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: VALID_TRANSPORT_LIST
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TRANSPORT_LIST(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/transport.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: transport_match
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool transport_match(void *node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/transport.c:84,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:86,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/transport.c:88,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/transport.c:89,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/transport.c:90,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/transport.c:90,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/transport.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - list
    - name
    - type
    - transport
    argTypes:
    - dns_transport_list_t*
    - dns_name_t*
    - dns_transport_type_t
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: list_add
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - dns_fixedname_initname
    - isc_hashmap_add
    - INSIST
    - dns_name_copy
    - dns_name_hash
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t list_add(dns_transport_list_t *list, const dns_name_t
      *name,\n\t const dns_transport_type_t type, dns_transport_t *transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:99,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: dns_transport_get_type
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t dns_transport_get_type(const dns_transport_t *transport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:106,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: dns_transport_get_certfile
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_certfile(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:113,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: dns_transport_get_keyfile
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_keyfile(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:120,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: dns_transport_get_cafile
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_cafile(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:127,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: dns_transport_get_remote_hostname
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_remote_hostname(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:134,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: dns_transport_get_endpoint
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_endpoint(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:141,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: dns_transport_get_mode
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: dns_http_mode_t
    signature: dns_http_mode_t dns_transport_get_mode(const dns_transport_t *transport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/transport.c:149,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/transport.c:152,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/transport.c:153,1
    - Dst: list_add
      Src: /src/bind9/lib/dns/transport.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - name
    - type
    - list
    argTypes:
    - dns_name_t*
    - dns_transport_type_t
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: dns_transport_new
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 8
    functionsReached:
    - list_add
    - isc_mem_get
    - isc_mem_attach
    - isc_refcount_init
    linkageType: ''
    returnType: dns_transport_t
    signature: "dns_transport_t *\ndns_transport_new(const dns_name_t *name, dns_transport_type_t
      type,\n\t\t  dns_transport_list_t *list)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:163,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:164,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:168,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - certfile
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: dns_transport_set_certfile
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_certfile(dns_transport_t *transport, const char
      *certfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:179,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:180,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:184,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - keyfile
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: dns_transport_set_keyfile
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_keyfile(dns_transport_t *transport, const char
      *keyfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:195,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:195,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:196,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:200,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - cafile
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: dns_transport_set_cafile
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_cafile(dns_transport_t *transport, const char
      *cafile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:211,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:212,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:216,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - hostname
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: dns_transport_set_remote_hostname
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: "void dns_transport_set_remote_hostname(dns_transport_t *transport,\n\t\t\t\t
      \ const char *hostname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:227,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:228,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:231,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - endpoint
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: dns_transport_set_endpoint
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_endpoint(dns_transport_t *transport, const char
      *endpoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:242,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - transport
    - mode
    argTypes:
    - dns_transport_t*
    - dns_http_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: dns_transport_set_mode
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_mode(dns_transport_t *transport, dns_http_mode_t
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:251,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - transport
    - tls_versions
    argTypes:
    - dns_transport_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: dns_transport_set_tls_versions
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: "void dns_transport_set_tls_versions(dns_transport_t *transport,\n\t\t\t
      \      const uint32_t tls_versions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:260,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: dns_transport_get_tls_versions
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_transport_get_tls_versions(const dns_transport_t *transport)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:267,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:267,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:268,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:272,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - ciphers
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: dns_transport_set_ciphers
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_ciphers(dns_transport_t *transport, const char
      *ciphers)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:283,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:284,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:288,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - tlsname
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 295
    functionName: dns_transport_set_tlsname
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 7
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_set_tlsname(dns_transport_t *transport, const char
      *tlsname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:299,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: dns_transport_get_ciphers
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_ciphers(const dns_transport_t *transport)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:307,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:307,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:308,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:312,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/transport.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - transport
    - cipher_suites
    argTypes:
    - dns_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: dns_transport_set_cipher_suites
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: "void dns_transport_set_cipher_suites(dns_transport_t *transport,\n\t\t\t\tconst
      char *cipher_suites)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:323,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: dns_transport_get_cipher_suites
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_cipher_suites(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:330,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: dns_transport_get_tlsname
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_get_tlsname(const dns_transport_t *transport)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:338,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - transport
    - prefer
    argTypes:
    - dns_transport_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: dns_transport_set_prefer_server_ciphers
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: "void dns_transport_set_prefer_server_ciphers(dns_transport_t *transport,\n\t\t\t\t\tconst
      bool prefer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:348,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:349,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/transport.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - transport
    - preferp
    argTypes:
    - dns_transport_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: dns_transport_get_prefer_server_ciphers
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: bool
    signature: "bool dns_transport_get_prefer_server_ciphers(const dns_transport_t
      *transport,\n\t\t\t\t\tbool *preferp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:367,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:367,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - transport
    - always_verify_remote
    argTypes:
    - dns_transport_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: dns_transport_set_always_verify_remote
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: "void dns_transport_set_always_verify_remote(dns_transport_t *transport,\n\t\t\t\t
      \      const bool always_verify_remote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:376,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: dns_transport_get_always_verify_remote
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT
    linkageType: ''
    returnType: bool
    signature: bool dns_transport_get_always_verify_remote(dns_transport_t *transport)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:400,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:404,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:405,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:406,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/transport.c:408,1
    - Dst: dns_transport_get_tlsname
      Src: /src/bind9/lib/dns/transport.c:410,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:411,1
    - Dst: isc_tlsctx_cache_find
      Src: /src/bind9/lib/dns/transport.c:419,1
    - Dst: dns_transport_get_remote_hostname
      Src: /src/bind9/lib/dns/transport.c:424,1
    - Dst: dns_transport_get_cafile
      Src: /src/bind9/lib/dns/transport.c:425,1
    - Dst: dns_transport_get_certfile
      Src: /src/bind9/lib/dns/transport.c:426,1
    - Dst: dns_transport_get_keyfile
      Src: /src/bind9/lib/dns/transport.c:427,1
    - Dst: dns_transport_get_always_verify_remote
      Src: /src/bind9/lib/dns/transport.c:429,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/lib/dns/transport.c:439,1
    - Dst: dns_transport_get_tls_versions
      Src: /src/bind9/lib/dns/transport.c:443,1
    - Dst: isc_tlsctx_set_protocols
      Src: /src/bind9/lib/dns/transport.c:445,1
    - Dst: dns_transport_get_ciphers
      Src: /src/bind9/lib/dns/transport.c:447,1
    - Dst: isc_tlsctx_set_cipherlist
      Src: /src/bind9/lib/dns/transport.c:449,1
    - Dst: dns_transport_get_cipher_suites
      Src: /src/bind9/lib/dns/transport.c:451,1
    - Dst: isc_tlsctx_set_cipher_suites
      Src: /src/bind9/lib/dns/transport.c:453,1
    - Dst: dns_transport_get_prefer_server_ciphers
      Src: /src/bind9/lib/dns/transport.c:456,1
    - Dst: isc_tlsctx_prefer_server_ciphers
      Src: /src/bind9/lib/dns/transport.c:459,1
    - Dst: isc_tls_cert_store_create
      Src: /src/bind9/lib/dns/transport.c:478,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:488,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/transport.c:494,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/transport.c:495,1
    - Dst: isc_tlsctx_enable_peer_verification
      Src: /src/bind9/lib/dns/transport.c:506,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:520,1
    - Dst: isc_tlsctx_load_certificate
      Src: /src/bind9/lib/dns/transport.c:522,1
    - Dst: isc_tlsctx_enable_dot_client_alpn
      Src: /src/bind9/lib/dns/transport.c:530,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/lib/dns/transport.c:532,1
    - Dst: isc_tlsctx_cache_add
      Src: /src/bind9/lib/dns/transport.c:538,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:555,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/dns/transport.c:556,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/dns/transport.c:573,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/lib/dns/transport.c:575,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:584,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:593,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/dns/transport.c:602,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/dns/transport.c:613,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 6
    argNames:
    - transport
    - peer
    - tlsctx_cache
    - mctx
    - pctx
    - psess_cache
    argTypes:
    - dns_transport_t*
    - isc_sockaddr_t*
    - isc_tlsctx_cache_t*
    - isc_mem_t*
    - isc_tlsctx_t**
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 617
    functionName: dns_transport_get_tlsctx
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - dns_transport_get_ciphers
    - dns_transport_get_always_verify_remote
    - dns_transport_get_cafile
    - isc_netaddr_format
    - REQUIRE
    - dns_transport_get_cipher_suites
    - isc_tlsctx_cache_find
    - isc_tlsctx_client_session_cache_detach
    - dns_transport_get_remote_hostname
    - isc_tlsctx_enable_peer_verification
    - isc_tlsctx_createclient
    - isc_tlsctx_set_cipher_suites
    - dns_transport_get_keyfile
    - isc_tlsctx_prefer_server_ciphers
    - isc_netaddr_fromsockaddr
    - INSIST
    - VALID_TRANSPORT
    - isc_tlsctx_cache_add
    - dns_transport_get_certfile
    - isc_tls_cert_store_create
    - isc_sockaddr_pf
    - isc_tlsctx_load_certificate
    - isc_tls_cert_store_free
    - isc_tlsctx_client_session_cache_create
    - isc_tlsctx_free
    - dns_transport_get_tls_versions
    - dns_transport_get_tlsname
    - dns_transport_get_prefer_server_ciphers
    - isc_tlsctx_set_protocols
    - isc_tlsctx_enable_dot_client_alpn
    - isc_tlsctx_set_cipherlist
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_transport_get_tlsctx(dns_transport_t *transport,
      const isc_sockaddr_t *peer,\n\t\t\t isc_tlsctx_cache_t *tlsctx_cache, isc_mem_t
      *mctx,\n\t\t\t isc_tlsctx_t **pctx,\n\t\t\t isc_tlsctx_client_session_cache_t
      **psess_cache)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/transport.c:621,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:625,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:628,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:631,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:634,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:637,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:640,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:643,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:647,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/transport.c:650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 651
    functionName: transport_destroy
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_refcount_destroy
    - isc_mem_free
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void transport_destroy(dns_transport_t *transport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:655,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:656,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/transport.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_transport_t*
    - dns_transport_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: dns_transport_attach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_transport_attach(dns_transport_t *source, dns_transport_t
      **targetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:667,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:668,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:668,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/transport.c:673,1
    - Dst: transport_destroy
      Src: /src/bind9/lib/dns/transport.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - transportp
    argTypes:
    - dns_transport_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: dns_transport_detach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - transport_destroy
    - REQUIRE
    - isc_refcount_decrement
    - VALID_TRANSPORT
    linkageType: ''
    returnType: void
    signature: void dns_transport_detach(dns_transport_t **transportp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:685,1
    - Dst: VALID_TRANSPORT_LIST
      Src: /src/bind9/lib/dns/transport.c:685,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:686,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/transport.c:690,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/transport.c:691,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/transport.c:691,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/transport.c:694,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/transport.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - type
    - name
    - list
    argTypes:
    - dns_transport_type_t
    - dns_name_t*
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 699
    functionName: dns_transport_find
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - VALID_TRANSPORT_LIST
    - RWUNLOCK
    - RWLOCK
    - isc_refcount_increment
    - isc_hashmap_find
    - REQUIRE
    - dns_name_hash
    linkageType: ''
    returnType: dns_transport_t
    signature: "dns_transport_t *\ndns_transport_find(const dns_transport_type_t type,
      const dns_name_t *name,\n\t\t   dns_transport_list_t *list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/transport.c:703,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/transport.c:707,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/transport.c:709,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/transport.c:710,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/transport.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 719
    functionName: dns_transport_list_new
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - isc_rwlock_init
    - isc_mem_get
    - isc_refcount_init
    - isc_hashmap_create
    linkageType: ''
    returnType: dns_transport_list_t
    signature: 'dns_transport_list_t *

      dns_transport_list_new(isc_mem_t *mctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:724,1
    - Dst: VALID_TRANSPORT_LIST
      Src: /src/bind9/lib/dns/transport.c:724,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:725,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/transport.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_transport_list_t*
    - dns_transport_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 730
    functionName: dns_transport_list_attach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - VALID_TRANSPORT_LIST
    linkageType: ''
    returnType: void
    signature: "void dns_transport_list_attach(dns_transport_list_t *source,\n\t\t\t
      \ dns_transport_list_t **targetp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/transport.c:734,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/transport.c:745,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/transport.c:746,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/lib/dns/transport.c:748,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/transport.c:751,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/transport.c:752,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/transport.c:754,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/transport.c:755,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/transport.c:757,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/transport.c:758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 759
    functionName: transport_list_destroy
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_destroy
    - dns_transport_detach
    - isc_mem_putanddetach
    - isc_hashmap_iter_delcurrent_next
    - isc_refcount_destroy
    - isc_hashmap_iter_create
    - isc_rwlock_destroy
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    linkageType: ''
    returnType: void
    signature: void transport_list_destroy(dns_transport_list_t *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:765,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:766,1
    - Dst: VALID_TRANSPORT_LIST
      Src: /src/bind9/lib/dns/transport.c:766,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/transport.c:771,1
    - Dst: transport_list_destroy
      Src: /src/bind9/lib/dns/transport.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - listp
    argTypes:
    - dns_transport_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: dns_transport_list_detach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 7
    functionsReached:
    - transport_list_destroy
    - REQUIRE
    - isc_refcount_decrement
    - VALID_TRANSPORT_LIST
    linkageType: ''
    returnType: void
    signature: void dns_transport_list_detach(dns_transport_list_t **listp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/transport.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_transport_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 790
    functionName: dns_transport_totext
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_transport_totext(dns_transport_type_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/db.c:77,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/db.c:79,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/db.c:93,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/db.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 95
    functionName: dns__db_initialize
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    - ISC_LIST_APPEND
    - isc_rwlock_init
    linkageType: ''
    returnType: void
    signature: void dns__db_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/db.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: dns__db_shutdown
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - isc_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void dns__db_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/db.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: impfind
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: dns_dbimplementation_t
    signature: 'dns_dbimplementation_t *

      impfind(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/db.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 167
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (implementations, imp, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:130,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/db.c:130,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/db.c:132,1
    - Dst: impfind
      Src: /src/bind9/lib/dns/db.c:133,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:138,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/db.c:141,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:147,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/db.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - mctx
    - db_type
    - origin
    - type
    - rdclass
    - argc
    - argv
    - dbp
    argTypes:
    - isc_mem_t*
    - char*
    - dns_name_t*
    - dns_dbtype_t
    - dns_rdataclass_t
    - unsigned int
    - char*[]
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 153
    functionName: dns_db_create
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 25
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - isc_log_write
    - REQUIRE
    - fprintf
    - dns_name_isabsolute
    - impfind
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_create(isc_mem_t *mctx, const char *db_type, const
      dns_name_t *origin,\n\t      dns_dbtype_t type, dns_rdataclass_t rdclass, unsigned
      int argc,\n\t      char *argv[], dns_db_t **dbp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: dns__db_destroy
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns__db_destroy(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:172,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 179
    functionName: dns_db_iscache
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 4
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_db_iscache(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:187,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: dns_db_iszone
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 6
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_db_iszone(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:202,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: dns_db_isstub
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_db_isstub(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:217,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: dns_db_issecure
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 12
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_db_issecure(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:232,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 240
    functionName: dns_db_ispersistent
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_db_ispersistent(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:248,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: dns_db_origin
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 13
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_db_origin(dns_db_t *db)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:259,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: dns_db_class
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 10
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_rdataclass_t
    signature: dns_rdataclass_t dns_db_class(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:270,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:271,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/db.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: dns_db_beginload
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    - DNS_CALLBACK_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:285,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:286,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/db.c:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:287,1
    - Dst: call_updatenotify
      Src: /src/bind9/lib/dns/db.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 301
    functionName: dns_db_endload
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - call_updatenotify
    - DNS_DB_VALID
    - REQUIRE
    - DNS_CALLBACK_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:313,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:313,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/db.c:319,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/db.c:320,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/lib/dns/db.c:324,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/db.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - db
    - filename
    - format
    - options
    argTypes:
    - dns_db_t*
    - char*
    - dns_masterformat_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 340
    functionName: dns_db_load
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 12
    functionsReached:
    - dns_rdatacallbacks_init
    - DNS_DB_VALID
    - dns_db_endload
    - dns_db_beginload
    - dns_master_loadfile
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_load(dns_db_t *db, const char *filename, dns_masterformat_t
      format,\n\t    unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:352,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: dns_db_currentversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 18
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_db_currentversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:365,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:365,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:366,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 373
    functionName: dns_db_newversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 18
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_newversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:382,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:384,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:385,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - db
    - source
    - targetp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 390
    functionName: dns_db_attachversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    - ENSURE
    linkageType: ''
    returnType: void
    signature: "void dns_db_attachversion(dns_db_t *db, dns_dbversion_t *source,\n\t\t
      \    dns_dbversion_t **targetp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:399,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:399,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:401,1
    - Dst: call_updatenotify
      Src: /src/bind9/lib/dns/db.c:406,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - db
    - versionp
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 410
    functionName: dns__db_closeversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    - call_updatenotify
    - ENSURE
    linkageType: ''
    returnType: void
    signature: "void dns__db_closeversion(dns_db_t *db, dns_dbversion_t **versionp,\n\t\t
      \    bool commit DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:423,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:423,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: dns__db_findnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_findnode(dns_db_t *db, const dns_name_t *name,
      bool create,\n\t\t dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:445,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:445,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - db
    - name
    - create
    - methods
    - clientinfo
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 456
    functionName: dns__db_findnodeext
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_findnodeext(dns_db_t *db, const dns_name_t *name,
      bool create,\n\t\t    dns_clientinfomethods_t *methods,\n\t\t    dns_clientinfo_t
      *clientinfo,\n\t\t    dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:465,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 470
    functionName: dns__db_findnsec3node
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_findnsec3node(dns_db_t *db, const dns_name_t
      *name, bool create,\n\t\t      dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:483,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:484,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:486,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/db.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:487,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:487,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:488,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:489,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:490,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 10
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 502
    functionName: dns__db_find
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - dns_name_hasbuffer
    - dns_rdataset_isassociated
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n\t     dns_rdatatype_t type, unsigned int options, isc_stdtime_t
      now,\n\t     dns_dbnode_t **nodep, dns_name_t *foundname,\n\t     dns_rdataset_t
      *rdataset,\n\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:516,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:516,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:518,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:519,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/db.c:519,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:520,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:520,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:521,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:522,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:523,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 12
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - methods
    - clientinfo
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_clientinfomethods_t*
    - dns_clientinfo_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 536
    functionName: dns__db_findext
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - dns_name_hasbuffer
    - dns_rdataset_isassociated
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_findext(dns_db_t *db, const dns_name_t *name,
      dns_dbversion_t *version,\n\t\tdns_rdatatype_t type, unsigned int options, isc_stdtime_t
      now,\n\t\tdns_dbnode_t **nodep, dns_name_t *foundname,\n\t\tdns_clientinfomethods_t
      *methods, dns_clientinfo_t *clientinfo,\n\t\tdns_rdataset_t *rdataset,\n\t\tdns_rdataset_t
      *sigrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:550,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:551,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:552,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:553,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/db.c:553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:554,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:555,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 9
    argNames:
    - db
    - name
    - options
    - now
    - nodep
    - foundname
    - dcname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 564
    functionName: dns__db_findzonecut
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - dns_name_hasbuffer
    - dns_rdataset_isassociated
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_findzonecut(dns_db_t *db, const dns_name_t *name,
      unsigned int options,\n\t\t    isc_stdtime_t now, dns_dbnode_t **nodep,\n\t\t
      \   dns_name_t *foundname, dns_name_t *dcname,\n\t\t    dns_rdataset_t *rdataset,\n\t\t
      \   dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:573,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:573,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - db
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 578
    functionName: dns__db_attachnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns__db_attachnode(dns_db_t *db, dns_dbnode_t *source,\n\t\t
      \  dns_dbnode_t **targetp DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:586,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:586,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:587,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 592
    functionName: dns__db_detachnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    - ENSURE
    linkageType: ''
    returnType: void
    signature: void dns__db_detachnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:597,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:597,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - db
    - sourcep
    - targetp
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 603
    functionName: dns_db_transfernode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_db_transfernode(dns_db_t *db, dns_dbnode_t **sourcep,\n\t\t
      \   dns_dbnode_t **targetp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:616,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:616,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:617,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:618,1
    - Dst: dns_db_t*::methods::createiterator
      Src: /src/bind9/lib/dns/db.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - db
    - flags
    - iteratorp
    argTypes:
    - dns_db_t*
    - unsigned int
    - dns_dbiterator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 625
    functionName: dns_db_createiterator
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 14
    functionsReached:
    - dns_db_t*::methods::createiterator
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_createiterator(dns_db_t *db, unsigned int flags,\n\t\t
      \     dns_dbiterator_t **iteratorp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:636,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:636,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:637,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:638,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:638,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:639,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:639,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:640,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:641,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:642,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:643,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 8
    argNames:
    - db
    - node
    - version
    - type
    - covers
    - now
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 649
    functionName: dns__db_findrdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - DNS_DB_VALID
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_findrdataset(dns_db_t *db, dns_dbnode_t *node,
      dns_dbversion_t *version,\n\t\t     dns_rdatatype_t type, dns_rdatatype_t covers,\n\t\t
      \    isc_stdtime_t now, dns_rdataset_t *rdataset,\n\t\t     dns_rdataset_t *sigrdataset
      DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:660,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:660,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - db
    - node
    - version
    - options
    - now
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int
    - isc_stdtime_t
    - dns_rdatasetiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 665
    functionName: dns__db_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_allrdatasets(dns_db_t *db, dns_dbnode_t *node,
      dns_dbversion_t *version,\n\t\t     unsigned int options, isc_stdtime_t now,\n\t\t
      \    dns_rdatasetiter_t **iteratorp DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:676,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:677,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:681,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:683,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:683,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:684,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:684,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:685,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:686,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:687,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:688,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - db
    - node
    - version
    - now
    - rdataset
    - options
    - addedrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 696
    functionName: dns__db_addrdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - DNS_DB_VALID
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_addrdataset(dns_db_t *db, dns_dbnode_t *node,
      dns_dbversion_t *version,\n\t\t    isc_stdtime_t now, dns_rdataset_t *rdataset,\n\t\t
      \   unsigned int options,\n\t\t    dns_rdataset_t *addedrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:708,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:708,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:709,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:711,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:712,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:713,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:714,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:715,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - db
    - node
    - version
    - rdataset
    - options
    - newrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 724
    functionName: dns__db_subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - DNS_DB_VALID
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_subtractrdataset(dns_db_t *db, dns_dbnode_t *node,\n\t\t\t
      dns_dbversion_t *version, dns_rdataset_t *rdataset,\n\t\t\t unsigned int options,\n\t\t\t
      dns_rdataset_t *newrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:735,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:735,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:736,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - db
    - node
    - version
    - type
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 745
    functionName: dns__db_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__db_deleterdataset(dns_db_t *db, dns_dbnode_t *node,\n\t\t
      \      dns_dbversion_t *version, dns_rdatatype_t type,\n\t\t       dns_rdatatype_t
      covers DNS__DB_FLARG)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:755,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:755,1
    - Dst: dns_db_isstub
      Src: /src/bind9/lib/dns/db.c:755,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/db.c:757,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/db.c:757,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/db.c:762,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/db.c:763,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/db.c:769,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/db.c:773,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/db.c:774,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:775,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:777,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/db.c:778,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/db.c:779,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/db.c:780,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/db.c:781,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/db.c:786,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/db.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - db
    - ver
    - serialp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 747
    functionDepth: 3
    functionLinenumber: 747
    functionLinenumberEnd: 791
    functionName: dns_db_getsoaserial
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - dns_db_iszone
    - dns_db_detachnode
    - dns_rdataset_next
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - isc_buffer_forward
    - INSIST
    - isc_buffer_init
    - dns_db_isstub
    - isc_buffer_getuint32
    - dns_rdataset_first
    - REQUIRE
    - dns_rdataset_disassociate
    - isc_buffer_add
    - dns_db_origin
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_getsoaserial(dns_db_t *db, dns_dbversion_t *ver,
      uint32_t *serialp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:795,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db
    - tree
    argTypes:
    - dns_db_t*
    - dns_dbtree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 801
    functionName: dns_db_nodecount
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_db_nodecount(dns_db_t *db, dns_dbtree_t tree)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:805,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 812
    functionName: dns_db_hashsize
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t dns_db_hashsize(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:816,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - loop
    argTypes:
    - dns_db_t*
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 821
    functionName: dns_db_setloop
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_db_setloop(dns_db_t *db, isc_loop_t *loop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:828,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:829,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/db.c:831,1
    - Dst: impfind
      Src: /src/bind9/lib/dns/db.c:832,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:834,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/db.c:838,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/db.c:843,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/db.c:844,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/db.c:845,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - name
    - create
    - driverarg
    - mctx
    - dbimp
    argTypes:
    - char*
    - dns_dbcreatefunc_t
    - void*
    - isc_mem_t*
    - dns_dbimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 851
    functionName: dns_db_register
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - ISC_LIST_APPEND
    - RWUNLOCK
    - RWLOCK
    - ISC_LINK_INIT
    - isc_mem_get
    - REQUIRE
    - impfind
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_register(const char *name, dns_dbcreatefunc_t
      create, void *driverarg,\n\t\tisc_mem_t *mctx, dns_dbimplementation_t **dbimp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:857,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/db.c:861,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/db.c:862,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/db.c:863,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:864,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dbimp
    argTypes:
    - dns_dbimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 866
    functionName: dns_db_unregister
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - isc_mem_putanddetach
    - RWUNLOCK
    - RWLOCK
    - ENSURE
    - REQUIRE
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void dns_db_unregister(dns_dbimplementation_t **dbimp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:870,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:870,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:871,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:871,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 880
    functionName: dns__db_getoriginnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - dns_db_iszone
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns__db_getoriginnode(dns_db_t *db, dns_dbnode_t **nodep
      DNS__DB_FLARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:884,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: dns_db_getrrsetstats
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 4
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_stats_t
    signature: 'dns_stats_t *

      dns_db_getrrsetstats(dns_db_t *db)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:895,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: dns_db_setcachestats
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_setcachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:909,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:910,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - db
    - version
    - hash
    - flags
    - iterations
    - salt
    - salt_length
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_hash_t*
    - uint8_t*
    - uint16_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 919
    functionName: dns_db_getnsec3parameters
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 4
    functionsReached:
    - dns_db_iszone
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_getnsec3parameters(dns_db_t *db, dns_dbversion_t
      *version,\n\t\t\t  dns_hash_t *hash, uint8_t *flags,\n\t\t\t  uint16_t *iterations,
      unsigned char *salt,\n\t\t\t  size_t *salt_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:924,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:924,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:925,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - db
    - version
    - records
    - bytes
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 932
    functionName: dns_db_getsize
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - dns_db_iszone
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_getsize(dns_db_t *db, dns_dbversion_t *version,
      uint64_t *records,\n\t       uint64_t *bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - db
    - rdataset
    - resign
    argTypes:
    - dns_db_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: dns_db_setsigningtime
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset,\n\t\t
      \     isc_stdtime_t resign)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - db
    - resign
    - name
    - typepair
    argTypes:
    - dns_db_t*
    - isc_stdtime_t*
    - dns_name_t*
    - dns_typepair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 951
    functionName: dns_db_getsigningtime
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_getsigningtime(dns_db_t *db, isc_stdtime_t *resign,
      dns_name_t *name,\n\t\t      dns_typepair_t *typepair)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/db.c:955,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/db.c:957,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/db.c:961,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/db.c:963,1
    - Dst: dns_dbonupdatelistener_t*::onupdate
      Src: /src/bind9/lib/dns/db.c:964,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/db.c:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 969
    functionName: call_updatenotify
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - cds_lfht_is_node_deleted
    - dns_dbonupdatelistener_t*::onupdate
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void call_updatenotify(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/db.c:974,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/db.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: updatenotify_free
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void updatenotify_free(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/db.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - _key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 986
    functionName: updatenotify_match
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    linkageType: ''
    returnType: int
    signature: int updatenotify_match(struct cds_lfht_node *ht_node, const void *_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:994,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:995,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/db.c:999,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/db.c:1000,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/db.c:1004,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/db.c:1006,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/db.c:1008,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:1009,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/db.c:1011,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/db.c:1013,1
    - Dst: updatenotify_free
      Src: /src/bind9/lib/dns/db.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - db
    - fn
    - fn_arg
    argTypes:
    - dns_db_t*
    - dns_dbupdate_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 991
    functionDepth: 3
    functionLinenumber: 991
    functionLinenumberEnd: 1018
    functionName: dns_db_updatenotify_register
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - rcu_dereference
    - INSIST
    - updatenotify_free
    - isc_hash32
    - isc_mem_get
    - rcu_read_unlock
    - REQUIRE
    - cds_lfht_add_unique
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void dns_db_updatenotify_register(dns_db_t *db, dns_dbupdate_callback_t
      fn,\n\t\t\t     void *fn_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1023,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/db.c:1027,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/db.c:1030,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/db.c:1032,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:1033,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/db.c:1034,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/db.c:1037,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/db.c:1038,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/db.c:1039,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/db.c:1041,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/db.c:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - db
    - fn
    - fn_arg
    argTypes:
    - dns_db_t*
    - dns_dbupdate_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1020
    functionDepth: 3
    functionLinenumber: 1020
    functionLinenumberEnd: 1044
    functionName: dns_db_updatenotify_unregister
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - rcu_dereference
    - cds_lfht_lookup
    - cds_lfht_del
    - call_rcu
    - cds_lfht_iter_get_node
    - INSIST
    - isc_hash32
    - rcu_read_unlock
    - REQUIRE
    - caa_container_of
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void dns_db_updatenotify_unregister(dns_db_t *db, dns_dbupdate_callback_t
      fn,\n\t\t\t       void *fn_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1048,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1048,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: dns_db_setservestalettl
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_setservestalettl(dns_db_t *db, dns_ttl_t ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1059,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1059,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1066
    functionName: dns_db_getservestalettl
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_getservestalettl(dns_db_t *db, dns_ttl_t *ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1070,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1077
    functionName: dns_db_setservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_setservestalerefresh(dns_db_t *db, uint32_t interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1081,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1081,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1088
    functionName: dns_db_getservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_getservestalerefresh(dns_db_t *db, uint32_t *interval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1092,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:1092,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1100
    functionName: dns_db_setgluecachestats
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - dns_db_iszone
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_setgluecachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1105,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1107,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:1107,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - db
    - version
    - rdataset
    - msg
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1118
    functionName: dns_db_addglue
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_addglue(dns_db_t *db, dns_dbversion_t *version,
      dns_rdataset_t *rdataset,\n\t       dns_message_t *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - db
    - node
    - type
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1125
    functionName: dns_db_locknode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_db_locknode(dns_db_t *db, dns_dbnode_t *node, isc_rwlocktype_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - db
    - node
    - type
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: dns_db_unlocknode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_db_unlocknode(dns_db_t *db, dns_dbnode_t *node, isc_rwlocktype_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - db
    - node
    - data
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1139
    functionName: dns_db_expiredata
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_db_expiredata(dns_db_t *db, dns_dbnode_t *node, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - db
    - node
    - data
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1146
    functionName: dns_db_deletedata
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_db_deletedata(dns_db_t *db, dns_dbnode_t *node, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db
    - node
    - name
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1158
    functionName: dns_db_nodefullname
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_nodefullname(dns_db_t *db, dns_dbnode_t *node,
      dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1162,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1167
    functionName: dns_db_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_db_setmaxrrperset(dns_db_t *db, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1171,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1176
    functionName: dns_db_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - DNS_DB_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_db_setmaxtypepername(dns_db_t *db, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/db.c:1187,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/db.c:1188,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/db.c:1189,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/db.c:1190,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/db.c:1192,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/db.c:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - db
    - name
    - type
    - op
    - limit
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_rdatatype_t
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1178
    functionDepth: 3
    functionLinenumber: 1178
    functionLinenumberEnd: 1198
    functionName: dns__db_logtoomanyrecords
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - dns_rdataclass_format
    - isc_result_totext
    - isc_log_write
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: "void dns__db_logtoomanyrecords(dns_db_t *db, const dns_name_t *name,\n\t\t\t
      \ dns_rdatatype_t type, const char *op,\n\t\t\t  uint32_t limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - b
    argTypes:
    - dns_db_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1200
    functionDepth: 1
    functionLinenumber: 1200
    functionLinenumberEnd: 1209
    functionName: dns_db_getzoneversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_getzoneversion(dns_db_t *db, isc_buffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: VALID_NAMETREE
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NAMETREE(kt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/nametree.c:69,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/nametree.c:72,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/nametree.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - dns_ntnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: destroy_ntnode
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - isc_mem_cput
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_ntnode(dns_ntnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:87,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/nametree.c:89,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/nametree.c:94,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/nametree.c:95,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/nametree.c:98,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/nametree.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - mctx
    - type
    - name
    - ntp
    argTypes:
    - isc_mem_t*
    - dns_nametree_type_t
    - char*
    - dns_nametree_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: dns_nametree_create
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - strlcpy
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_qpmulti_create
    linkageType: ''
    returnType: void
    signature: "void dns_nametree_create(isc_mem_t *mctx, dns_nametree_type_t type,
      const char *name,\n\t\t    dns_nametree_t **ntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/nametree.c:109,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/nametree.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nametree
    argTypes:
    - dns_nametree_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: destroy_nametree
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_nametree(dns_nametree_t *nametree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/nametree.c:122,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/nametree.c:126,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/nametree.c:127,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/nametree.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - name
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: newnode
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - isc_mem_get
    - isc_refcount_init
    - isc_mem_attach
    linkageType: ''
    returnType: dns_ntnode_t
    signature: 'dns_ntnode_t *

      newnode(isc_mem_t *mctx, const dns_name_t *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bits
    - val
    argTypes:
    - unsigned char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: matchbit
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool matchbit(unsigned char *bits, uint32_t val)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:153,1
    - Dst: VALID_NAMETREE
      Src: /src/bind9/lib/dns/nametree.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:154,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nametree.c:156,1
    - Dst: newnode::newnode
      Src: /src/bind9/lib/dns/nametree.c:160,1
    - Dst: newnode::newnode
      Src: /src/bind9/lib/dns/nametree.c:165,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nametree.c:167,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/nametree.c:175,1
    - Dst: matchbit
      Src: /src/bind9/lib/dns/nametree.c:177,1
    - Dst: newnode::newnode
      Src: /src/bind9/lib/dns/nametree.c:188,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/nametree.c:189,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nametree.c:191,1
    - Dst: bits::bits
      Src: /src/bind9/lib/dns/nametree.c:191,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nametree.c:192,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nametree.c:194,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/nametree.c:201,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/nametree.c:204,1
    - Dst: count::count
      Src: /src/bind9/lib/dns/nametree.c:204,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nametree.c:212,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nametree.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - nametree
    - name
    - value
    argTypes:
    - dns_nametree_t*
    - dns_name_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 145
    functionDepth: 12
    functionLinenumber: 145
    functionLinenumberEnd: 215
    functionName: dns_nametree_add
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 8
    functionsReached:
    - UNREACHABLE
    - dns_qpmulti_write
    - memmove
    - count::count
    - isc_mem_cget
    - matchbit
    - INSIST
    - VALID_NAMETREE
    - bits::bits
    - dns_qpmulti_commit
    - dns_qp_deletename
    - REQUIRE
    - dns_qp_insert
    - dns_qp_getname
    - dns_qp_compact
    - newnode::newnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nametree_add(dns_nametree_t *nametree, const dns_name_t
      *name,\n\t\t uint32_t value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:224,1
    - Dst: VALID_NAMETREE
      Src: /src/bind9/lib/dns/nametree.c:224,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:225,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nametree.c:227,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nametree.c:228,1
    - Dst: newnode
      Src: /src/bind9/lib/dns/nametree.c:237,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/nametree.c:239,1
    - Dst: count::count
      Src: /src/bind9/lib/dns/nametree.c:239,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nametree.c:240,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/nametree.c:245,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nametree.c:247,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nametree.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - nametree
    - name
    argTypes:
    - dns_nametree_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 217
    functionDepth: 12
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: dns_nametree_delete
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 3
    functionsReached:
    - UNREACHABLE
    - count::count
    - INSIST
    - VALID_NAMETREE
    - dns_qpmulti_commit
    - dns_qp_deletename
    - REQUIRE
    - dns_qp_insert
    - newnode
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_nametree_delete(dns_nametree_t *nametree, const dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:260,1
    - Dst: VALID_NAMETREE
      Src: /src/bind9/lib/dns/nametree.c:260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:262,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nametree.c:264,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/nametree.c:265,1
    - Dst: dns_ntnode_attach
      Src: /src/bind9/lib/dns/nametree.c:268,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nametree.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - nametree
    - name
    - ntnodep
    argTypes:
    - dns_nametree_t*
    - dns_name_t*
    - dns_ntnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: dns_nametree_find
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 3
    functionsReached:
    - dns_ntnode_attach
    - dns_qpmulti_query
    - VALID_NAMETREE
    - dns_qpread_destroy
    - REQUIRE
    - dns_qp_getname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nametree_find(dns_nametree_t *nametree, const dns_name_t
      *name,\n\t\t  dns_ntnode_t **ntnodep)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nametree.c:283,1
    - Dst: VALID_NAMETREE
      Src: /src/bind9/lib/dns/nametree.c:283,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nametree.c:285,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/nametree.c:286,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nametree.c:290,1
    - Dst: matchbit
      Src: /src/bind9/lib/dns/nametree.c:300,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nametree.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - nametree
    - name
    - found
    - bit
    argTypes:
    - dns_nametree_t*
    - dns_name_t*
    - dns_name_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 275
    functionDepth: 9
    functionLinenumber: 275
    functionLinenumberEnd: 307
    functionName: dns_nametree_covered
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 4
    functionsReached:
    - dns_qpmulti_query
    - matchbit
    - VALID_NAMETREE
    - dns_qp_lookup
    - dns_qpread_destroy
    - REQUIRE
    - dns_name_copy
    linkageType: ''
    returnType: bool
    signature: "bool dns_nametree_covered(dns_nametree_t *nametree, const dns_name_t
      *name,\n\t\t     dns_name_t *found, uint32_t bit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ntnode_ref
      Src: /src/bind9/lib/dns/nametree.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - dns_ntnode_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ntnode_detach
      Src: /src/bind9/lib/dns/nametree.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - dns_ntnode_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/nametree.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/nametree.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: VALID_BADCACHE
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_BADCACHE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:86,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/badcache.c:88,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/badcache.c:89,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/badcache.c:95,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:97,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/badcache.c:99,1
    - Dst: CDS_INIT_LIST_HEAD
      Src: /src/bind9/lib/dns/badcache.c:101,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/badcache.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - loopmgr
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: dns_badcache_new
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 8
    functionsReached:
    - isc_mem_attach
    - cds_lfht_new
    - isc_mem_cget
    - INSIST
    - isc_mem_get
    - REQUIRE
    - isc_loopmgr_nloops
    - CDS_INIT_LIST_HEAD
    linkageType: ''
    returnType: dns_badcache_t
    signature: 'dns_badcache_t *

      dns_badcache_new(isc_mem_t *mctx, isc_loopmgr_t *loopmgr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:112,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:112,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:120,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:121,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/badcache.c:121,1
    - Dst: bcentry_destroy
      Src: /src/bind9/lib/dns/badcache.c:122,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/badcache.c:124,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/badcache.c:124,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/badcache.c:126,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/badcache.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bcp
    argTypes:
    - dns_badcache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: dns_badcache_destroy
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 8
    functionsReached:
    - VALID_BADCACHE
    - cds_lfht_del
    - RUNTIME_CHECK
    - cds_lfht_destroy
    - isc_mem_putanddetach
    - INSIST
    - cds_lfht_for_each_entry
    - REQUIRE
    - isc_mem_cput
    - bcentry_destroy
    linkageType: ''
    returnType: void
    signature: void dns_badcache_destroy(dns_badcache_t **bcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/badcache.c:134,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/badcache.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: bcentry_match
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - dns_name_equal
    linkageType: ''
    returnType: int
    signature: int bcentry_match(struct cds_lfht_node *ht_node, const void *key0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/dns/badcache.c:143,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/badcache.c:144,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/badcache.c:145,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/badcache.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns__bckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: bcentry_hash
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - isc_hash32_hash
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t bcentry_hash(const dns__bckey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/badcache.c:153,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/badcache.c:155,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/badcache.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ht
    - hashval
    - key
    argTypes:
    - struct cds_lfht*
    - uint32_t
    - dns__bckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: bcentry_lookup
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - cds_lfht_entry
    - cds_lfht_iter_get_node
    - cds_lfht_lookup
    linkageType: ''
    returnType: dns_bcentry_t
    signature: 'dns_bcentry_t *

      bcentry_lookup(struct cds_lfht *ht, uint32_t hashval, dns__bckey_t *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/badcache.c:163,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/badcache.c:164,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/badcache.c:169,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/badcache.c:170,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/badcache.c:173,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/badcache.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - loop
    - name
    - type
    - flags
    - expire
    argTypes:
    - isc_loop_t*
    - dns_name_t*
    - dns_rdatatype_t
    - uint32_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 177
    functionName: bcentry_new
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - isc_loop_ref
    - CDS_LIST_HEAD_INIT
    - isc_mem_get
    - dns_name_dup
    - isc_loop_getmctx
    - dns_name_init
    linkageType: ''
    returnType: dns_bcentry_t
    signature: "dns_bcentry_t *\nbcentry_new(isc_loop_t *loop, const dns_name_t *name,\n\t
      \   const dns_rdatatype_t type, const uint32_t flags,\n\t    const isc_stdtime_t
      expire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/badcache.c:181,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/badcache.c:184,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/badcache.c:186,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/badcache.c:187,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/badcache.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: bcentry_destroy
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 1
    functionsReached:
    - caa_container_of
    - dns_name_free
    - isc_mem_put
    - isc_loop_unref
    - isc_loop_getmctx
    linkageType: ''
    returnType: void
    signature: void bcentry_destroy(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/badcache.c:196,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/badcache.c:196,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/badcache.c:198,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/badcache.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: bcentry_evict_async
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - cds_list_del
    - isc_loop
    - call_rcu
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void bcentry_evict_async(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/badcache.c:204,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/badcache.c:205,1
    - Dst: bcentry_evict_async
      Src: /src/bind9/lib/dns/badcache.c:206,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/badcache.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ht
    - bad
    argTypes:
    - struct cds_lfht*
    - dns_bcentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: bcentry_evict
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loop
    - bcentry_evict_async
    - cds_lfht_del
    linkageType: ''
    returnType: void
    signature: void bcentry_evict(struct cds_lfht *ht, dns_bcentry_t *bad)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/badcache.c:216,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ht
    - bad
    - now
    argTypes:
    - struct cds_lfht*
    - dns_bcentry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: bcentry_alive
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - bcentry_evict
    - cds_lfht_is_node_deleted
    linkageType: ''
    returnType: bool
    signature: bool bcentry_alive(struct cds_lfht *ht, dns_bcentry_t *bad, isc_stdtime_t
      now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ht
    - ','
    - iter
    - ','
    - pos
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: cds_lfht_for_each_entry_next
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cds_lfht_for_each_entry_next(ht, iter, pos, member)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ht
    - lru
    - now
    argTypes:
    - struct cds_lfht*
    - struct cds_list_head*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: bcentry_purge
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - bcentry_alive
    linkageType: ''
    returnType: void
    signature: "void bcentry_purge(struct cds_lfht *ht, struct cds_list_head *lru,\n\t
      \     isc_stdtime_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: cds_list_for_each_entry_rcu
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - bcentry_alive
    linkageType: ''
    returnType: void
    signature: void cds_list_for_each_entry_rcu(bad, lru, lru_head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:253,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:254,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/badcache.c:256,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/badcache.c:257,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:260,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:265,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:266,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:267,1
    - Dst: bcentry_hash
      Src: /src/bind9/lib/dns/badcache.c:273,1
    - Dst: bcentry_new
      Src: /src/bind9/lib/dns/badcache.c:276,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/badcache.c:279,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/badcache.c:282,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:284,1
    - Dst: cds_list_add_tail_rcu
      Src: /src/bind9/lib/dns/badcache.c:289,1
    - Dst: bcentry_purge
      Src: /src/bind9/lib/dns/badcache.c:291,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - bc
    - name
    - type
    - flags
    - expire
    argTypes:
    - dns_badcache_t*
    - dns_name_t*
    - dns_rdatatype_t
    - uint32_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 250
    functionDepth: 5
    functionLinenumber: 250
    functionLinenumberEnd: 294
    functionName: dns_badcache_add
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 9
    functionsReached:
    - rcu_dereference
    - VALID_BADCACHE
    - isc_tid
    - bcentry_hash
    - INSIST
    - bcentry_new
    - rcu_read_unlock
    - cds_list_add_tail_rcu
    - bcentry_evict
    - REQUIRE
    - isc_stdtime_now
    - cds_lfht_add_unique
    - isc_loop
    - caa_container_of
    - bcentry_purge
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void dns_badcache_add(dns_badcache_t *bc, const dns_name_t *name,\n\t\t
      dns_rdatatype_t type, uint32_t flags, isc_stdtime_t expire)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:299,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:299,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:300,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:304,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:305,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:306,1
    - Dst: bcentry_hash
      Src: /src/bind9/lib/dns/badcache.c:312,1
    - Dst: bcentry_lookup
      Src: /src/bind9/lib/dns/badcache.c:314,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:316,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/badcache.c:323,1
    - Dst: bcentry_purge
      Src: /src/bind9/lib/dns/badcache.c:325,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - bc
    - name
    - type
    - flagp
    - now
    argTypes:
    - dns_badcache_t*
    - dns_name_t*
    - dns_rdatatype_t
    - uint32_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 330
    functionName: dns_badcache_find
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 7
    functionsReached:
    - rcu_dereference
    - VALID_BADCACHE
    - isc_tid
    - bcentry_hash
    - INSIST
    - bcentry_lookup
    - rcu_read_unlock
    - REQUIRE
    - bcentry_alive
    - bcentry_purge
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_badcache_find(dns_badcache_t *bc, const dns_name_t
      *name,\n\t\t  dns_rdatatype_t type, uint32_t *flagp, isc_stdtime_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:334,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:334,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:336,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:337,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:338,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:343,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:344,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bc
    argTypes:
    - dns_badcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: dns_badcache_flush
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - VALID_BADCACHE
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - REQUIRE
    - bcentry_evict
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_badcache_flush(dns_badcache_t *bc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:352,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:353,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:355,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:357,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:358,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:359,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:363,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/badcache.c:364,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:365,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:370,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bc
    - name
    argTypes:
    - dns_badcache_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 374
    functionName: dns_badcache_flushname
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - VALID_BADCACHE
    - dns_name_equal
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - REQUIRE
    - isc_stdtime_now
    - bcentry_alive
    - bcentry_evict
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_badcache_flushname(dns_badcache_t *bc, const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:378,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:379,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:381,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:383,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:384,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:385,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:389,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/badcache.c:390,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:391,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:396,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bc
    - name
    argTypes:
    - dns_badcache_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 376
    functionDepth: 4
    functionLinenumber: 376
    functionLinenumberEnd: 400
    functionName: dns_badcache_flushtree
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - VALID_BADCACHE
    - dns_name_issubdomain
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - REQUIRE
    - isc_stdtime_now
    - bcentry_alive
    - bcentry_evict
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_badcache_flushtree(dns_badcache_t *bc, const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/badcache.c:407,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/badcache.c:408,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/badcache.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bad
    - now
    - fp
    argTypes:
    - dns_bcentry_t*
    - isc_stdtime_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: bcentry_print
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - fprintf
    linkageType: ''
    returnType: void
    signature: void bcentry_print(dns_bcentry_t *bad, isc_stdtime_t now, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:416,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:418,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:419,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/badcache.c:421,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:423,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:424,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:425,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:428,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:429,1
    - Dst: bcentry_print
      Src: /src/bind9/lib/dns/badcache.c:430,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - bc
    - cachename
    - fp
    argTypes:
    - dns_badcache_t*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 413
    functionDepth: 4
    functionLinenumber: 413
    functionLinenumberEnd: 435
    functionName: dns_badcache_print
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - VALID_BADCACHE
    - INSIST
    - cds_lfht_for_each_entry
    - bcentry_print
    - rcu_read_unlock
    - REQUIRE
    - fprintf
    - isc_stdtime_now
    - bcentry_alive
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_badcache_print(dns_badcache_t *bc, const char *cachename,
      FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/ncache.c:47,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/ncache.c:48,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: atomic_getuint8
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - atomic_load_relaxed
    - isc_buffer_forward
    - isc_buffer_current
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t atomic_getuint8(isc_buffer_t *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:67,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/ncache.c:71,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:72,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:73,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:78,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/ncache.c:80,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:81,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:82,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:89,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - rdataset
    - buffer
    argTypes:
    - dns_rdataset_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 100
    functionName: copy_rdataset
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_putuint16
    - dns_rdataset_count
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t copy_rdataset(dns_rdataset_t *rdataset, isc_buffer_t *buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:78,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/ncache.c:80,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:81,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:82,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:89,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_current
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_putuint16
    - dns_rdata_toregion
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addoptout
      Src: /src/bind9/lib/dns/ncache.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - message
    - cache
    - node
    - covers
    - now
    - minttl
    - maxttl
    - addedrdataset
    argTypes:
    - dns_message_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_ttl_t
    - dns_ttl_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: dns_ncache_add
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - addoptout
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ncache_add(dns_message_t *message, dns_db_t *cache,
      dns_dbnode_t *node,\n\t       dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t
      minttl,\n\t       dns_ttl_t maxttl, dns_rdataset_t *addedrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addoptout
      Src: /src/bind9/lib/dns/ncache.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - message
    - cache
    - node
    - covers
    - now
    - minttl
    - maxttl
    - optout
    - addedrdataset
    argTypes:
    - dns_message_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_ttl_t
    - dns_ttl_t
    - bool
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: dns_ncache_addoptout
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - addoptout
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ncache_addoptout(dns_message_t *message, dns_db_t
      *cache,\n\t\t     dns_dbnode_t *node, dns_rdatatype_t covers,\n\t\t     isc_stdtime_t
      now, dns_ttl_t minttl, dns_ttl_t maxttl,\n\t\t     bool optout, dns_rdataset_t
      *addedrdataset)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:140,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/ncache.c:150,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/ncache.c:151,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:160,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/ncache.c:166,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/ncache.c:190,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:191,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:199,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:203,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ncache.c:205,1
    - Dst: copy_rdataset
      Src: /src/bind9/lib/dns/ncache.c:211,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/ncache.c:220,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:221,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/ncache.c:228,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:230,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:252,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/ncache.c:256,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/ncache.c:257,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/ncache.c:270,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 10
    argNames:
    - message
    - cache
    - node
    - covers
    - now
    - minttl
    - maxttl
    - optout
    - secure
    - addedrdataset
    argTypes:
    - dns_message_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_ttl_t
    - dns_ttl_t
    - bool
    - bool
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 272
    functionName: addoptout
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 2
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - isc_buffer_availableregion
    - REQUIRE
    - dns_rdataset_init
    - dns_db_addrdataset
    - dns_name_toregion
    - copy_rdataset
    - INSIST
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - ISC_LIST_FOREACH
    - isc_buffer_remainingregion
    - dns_db_class
    - ISC_LIST_APPEND
    - isc_buffer_forward
    - isc_buffer_copyregion
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t addoptout(dns_message_t *message, dns_db_t *cache, dns_dbnode_t
      *node,\n\t  dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t minttl,\n\t
      \ dns_ttl_t maxttl, bool optout, bool secure,\n\t  dns_rdataset_t *addedrdataset)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/ncache.c:166,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/ncache.c:190,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:191,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:199,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:203,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ncache.c:205,1
    - Dst: copy_rdataset
      Src: /src/bind9/lib/dns/ncache.c:211,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/ncache.c:220,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:221,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/ncache.c:228,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 235
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - isc_buffer_remainingregion
    - ISC_LIST_APPEND
    - isc_buffer_forward
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - copy_rdataset
    - dns_name_toregion
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, DNS_SECTION_AUTHORITY, name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:291,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:293,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:300,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:302,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:303,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:304,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:305,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:306,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:307,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:308,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:311,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:312,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:313,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:314,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:321,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:322,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:323,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:324,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:325,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:329,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:330,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/dns/ncache.c:333,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/ncache.c:341,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/ncache.c:342,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:351,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:356,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:357,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ncache.c:358,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:364,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/lib/dns/ncache.c:369,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:378,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:380,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:386,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/ncache.c:386,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/ncache.c:394,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 5
    argNames:
    - rdataset
    - cctx
    - target
    - options
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_compress_t*
    - isc_buffer_t*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 399
    functionName: dns_ncache_towire
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - isc_buffer_availableregion
    - REQUIRE
    - dns_compress_rollback
    - dns_rdata_towire
    - dns_rdata_reset
    - dns_name_fromregion
    - dns_rdatatype_isdnssec
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_putuint16
    - dns_name_towire
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    - dns_compress_setpermitted
    - isc_buffer_forward
    - isc_buffer_init
    - isc_buffer_add
    - isc_buffer_putuint32
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ncache_towire(dns_rdataset_t *rdataset, dns_compress_t
      *cctx,\n\t\t  isc_buffer_t *target, unsigned int options,\n\t\t  unsigned int
      *countp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:300,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:302,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:303,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:304,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:305,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:306,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:307,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:308,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:311,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:312,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:313,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:314,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:321,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:322,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:323,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:324,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:325,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:329,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:330,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/dns/ncache.c:333,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/ncache.c:341,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/ncache.c:342,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:351,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:356,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:357,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ncache.c:358,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:364,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/lib/dns/ncache.c:369,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:378,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:380,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:386,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/ncache.c:386,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 387
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 2
    functionsReached:
    - dns_name_fromregion
    - isc_buffer_remainingregion
    - dns_compress_setpermitted
    - dns_rdatatype_isdnssec
    - isc_buffer_forward
    - dns_rdataset_current
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_putuint16
    - dns_name_towire
    - dns_rdata_towire
    - isc_buffer_add
    - isc_buffer_putuint32
    - isc_buffer_getuint16
    - dns_rdata_reset
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: rdataset_first
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_first(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: rdataset_next
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_next(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:451,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 456
    functionName: rdataset_current
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 165
    functionsReached:
    - REQUIRE
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: rdataset_count
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rdataset_count(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/ncache.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: rdataset_settrust
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:507,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/ncache.c:507,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:508,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:509,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:511,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/ncache.c:511,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:512,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/ncache.c:514,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/ncache.c:515,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:518,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:520,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:521,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:522,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:523,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:524,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:525,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:526,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:529,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:530,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:532,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:533,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:534,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:535,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/ncache.c:540,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 4
    argNames:
    - ncacherdataset
    - name
    - type
    - rdataset
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 557
    functionName: dns_ncache_getrdataset
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - isc_buffer_remainingregion
    - isc_buffer_forward
    - dns_rdataset_current
    - isc_buffer_add
    - dns_name_equal
    - dns_rdataset_isassociated
    - INSIST
    - isc_buffer_init
    - atomic_getuint8
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_clone
    - DNS_RDATASET_VALID
    - isc_buffer_getuint16
    - dns_rdataset_init
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ncache_getrdataset(dns_rdataset_t *ncacherdataset,
      dns_name_t *name,\n\t\t       dns_rdatatype_t type, dns_rdataset_t *rdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:518,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:520,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:521,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:522,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:523,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:524,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:525,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:526,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:529,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:530,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:532,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:533,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:534,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 539
    functionName: (&rclone)
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_buffer_remainingregion
    - isc_buffer_forward
    - dns_rdataset_current
    - dns_name_equal
    - INSIST
    - isc_buffer_init
    - atomic_getuint8
    - isc_buffer_add
    - isc_buffer_getuint16
    - dns_name_init
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rclone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:573,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:576,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:577,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/ncache.c:577,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/ncache.c:579,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/ncache.c:580,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:583,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:585,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:586,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:587,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:588,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:589,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:590,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:591,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:592,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:594,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:595,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:596,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:599,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:604,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:605,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:606,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:607,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:611,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:616,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:617,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/ncache.c:619,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:621,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/ncache.c:626,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 4
    argNames:
    - ncacherdataset
    - name
    - covers
    - rdataset
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 643
    functionName: dns_ncache_getsigrdataset
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_rdataset_current
    - atomic_getuint8
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdata_reset
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_rdataset_isassociated
    - dns_name_fromregion
    - INSIST
    - dns_rdataset_clone
    - isc_buffer_add
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    - isc_buffer_forward
    - dns_name_equal
    - isc_buffer_init
    - isc_region_consume
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ncache_getsigrdataset(dns_rdataset_t *ncacherdataset,
      dns_name_t *name,\n\t\t\t  dns_rdatatype_t covers, dns_rdataset_t *rdataset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:583,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:585,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:586,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:587,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:588,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:589,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:590,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:591,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:592,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:594,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:595,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:596,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:599,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:604,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:605,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:606,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:607,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:611,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:616,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:617,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/ncache.c:619,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 625
    functionName: (&rclone)
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_buffer_remainingregion
    - dns_rdata_tostruct
    - dns_rdata_fromregion
    - isc_buffer_forward
    - dns_rdataset_current
    - dns_name_equal
    - INSIST
    - isc_region_consume
    - isc_buffer_init
    - atomic_getuint8
    - isc_buffer_add
    - isc_buffer_getuint16
    - dns_rdata_reset
    - dns_name_init
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rclone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:658,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:659,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:660,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:661,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:662,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/ncache.c:662,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:664,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:665,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:666,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:668,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:669,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:670,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:671,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:672,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:675,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:676,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:677,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:678,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:679,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:688,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:693,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:694,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/ncache.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 3
    argNames:
    - ncacherdataset
    - found
    - rdataset
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 709
    functionName: dns_ncache_current
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 7
    functionsReached:
    - dns_name_fromregion
    - isc_buffer_remainingregion
    - dns_rdata_tostruct
    - dns_rdata_fromregion
    - isc_buffer_forward
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - INSIST
    - isc_buffer_init
    - atomic_getuint8
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_getuint16
    - dns_rdata_reset
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void dns_ncache_current(dns_rdataset_t *ncacherdataset, dns_name_t
      *found,\n\t\t   dns_rdataset_t *rdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: dst__openssl_toresult
    functionSourceFile: /src/bind9/lib/dns/dst_openssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dst__openssl_toresult(fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - funcname
    - ','
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: dst__openssl_toresult2
    functionSourceFile: /src/bind9/lib/dns/dst_openssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dst__openssl_toresult2(funcname, fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - category
    - ','
    - funcname
    - ','
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: dst__openssl_toresult3
    functionSourceFile: /src/bind9/lib/dns/dst_openssl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dst__openssl_toresult3(category, funcname, fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: VALID_RESPONSE
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_RESPONSE(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: VALID_DISPATCH
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DISPATCH(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: VALID_DISPATCHMGR
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DISPATCHMGR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: dns_dispentry_ref
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispentry_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: dns_dispentry_unref
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispentry_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: dns_dispentry_attach
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispentry_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: dns_dispentry_detach
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispentry_detach(ptrp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/dispatch.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 228
    functionName: socktype2str
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_transport_get_type
    linkageType: ''
    returnType: char
    signature: 'char *

      socktype2str(dns_dispentry_t *resp)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - state
    argTypes:
    - dns_dispatchstate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: state2str
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      state2str(dns_dispatchstate_t state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:255,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/dispatch.c:259,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/dispatch.c:260,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/dispatch.c:261,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dispatch.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mgr
    - level
    - fmt
    argTypes:
    - dns_dispatchmgr_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 265
    functionName: mgr_log
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 4
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void mgr_log(dns_dispatchmgr_t *mgr, int level, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/dispatch.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - counter
    argTypes:
    - dns_dispatchmgr_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 18
    functionsReached:
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/dns/dispatch.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - counter
    argTypes:
    - dns_dispatchmgr_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: dec_stats
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_stats_decrement
    linkageType: ''
    returnType: void
    signature: void dec_stats(dns_dispatchmgr_t *mgr, isc_statscounter_t counter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:291,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/dispatch.c:295,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/dispatch.c:296,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/dispatch.c:303,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dispatch.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - disp
    - level
    - fmt
    argTypes:
    - dns_dispatch_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 307
    functionName: dispatch_log
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - isc_log_write
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void dispatch_log(dns_dispatch_t *disp, int level, const char *fmt,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:319,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/dispatch.c:323,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/dispatch.c:324,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/dispatch.c:331,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:333,1
    - Dst: socktype2str
      Src: /src/bind9/lib/dns/dispatch.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - resp
    - level
    - fmt
    argTypes:
    - dns_dispentry_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 335
    functionName: dispentry_log
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - socktype2str
    - dispatch_log
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void dispentry_log(dns_dispentry_t *resp, int level, const char *fmt,
      ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/dispatch.c:352,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/dispatch.c:367,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/dispatch.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - disp
    - resp
    - dest
    - portp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    - isc_sockaddr_t*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 374
    functionName: setup_socket
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - isc_random_uniform
    - isc_sockaddr_pf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setup_socket(dns_dispatch_t *disp, dns_dispentry_t *resp,\n\t
      \    const isc_sockaddr_t *dest, in_port_t *portp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/dns/dispatch.c:380,1
    - Dst: isc_sockaddr_hash_ex
      Src: /src/bind9/lib/dns/dispatch.c:382,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/dispatch.c:383,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/dispatch.c:384,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/dispatch.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dispentry
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: qid_hash
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_hash_ex
    - isc_hash32_hash
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t qid_hash(const dns_dispentry_t *dispentry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/dispatch.c:392,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: qid_match
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_sockaddr_equal
    linkageType: ''
    returnType: int
    signature: int qid_match(struct cds_lfht_node *node, const void *key0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/dispatch.c:401,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: dispentry_destroy_rcu
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dispentry_destroy_rcu(struct rcu_head *rcu_head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:414,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:416,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:421,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:421,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:422,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:422,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:423,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:423,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:425,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:425,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:428,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:428,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/dns/dispatch.c:431,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/dispatch.c:435,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/dispatch.c:439,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:442,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/dispatch.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 406
    functionDepth: 6
    functionLinenumber: 406
    functionLinenumberEnd: 445
    functionName: dispentry_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - dns_dispatch_detach
    - dns_transport_detach
    - ISC_LOG_DEBUG
    - ISC_LINK_LINKED
    - call_rcu
    - isc_tlsctx_cache_detach
    - INSIST
    - dispentry_log
    - dispentry_cancel
    linkageType: ''
    returnType: void
    signature: void dispentry_destroy(dns_dispentry_t *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dispatch.c:459,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/dispatch.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - resp
    - now
    argTypes:
    - dns_dispentry_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 464
    functionName: dispentry_runtime
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_time_isepoch
    - isc_time_microdiff
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dispentry_runtime(dns_dispentry_t *resp, const isc_time_t
      *now)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:496,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:497,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:501,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:501,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:502,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:515,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:515,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:517,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/dns/dispatch.c:529,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/dispatch.c:530,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dispatch.c:536,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:540,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:540,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:542,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:544,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:544,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dispatch.c:554,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dispatch.c:555,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/lib/dns/dispatch.c:556,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:559,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:560,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:560,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:565,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:565,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:579,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:580,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:580,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/dispatch.c:582,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:596,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:598,1
    - Dst: udp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:616,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:620,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:620,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:622,1
    - Dst: dns_dispentry_t*::response
      Src: /src/bind9/lib/dns/dispatch.c:623,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:626,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 480
    functionDepth: 4
    functionLinenumber: 480
    functionLinenumberEnd: 627
    functionName: udp_recv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - udp_dispatch_getnext
    - isc_netaddr_format
    - REQUIRE
    - dispentry_runtime
    - dns_dispentry_t*::response
    - isc_nmhandle_peeraddr
    - dns_dispentry_detach
    - dns_acl_match
    - isc_log_wouldlog
    - isc_tid
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - dns_message_peekheader
    - inc_stats
    - INSIST
    - VALID_DISPATCH
    - isc_sockaddr_equal
    - isc_result_totext
    - isc_buffer_init
    - VALID_RESPONSE
    - dispentry_log
    - isc_buffer_add
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: "void udp_recv(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\t void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - disp
    - respp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 641
    functionName: tcp_recv_oldest
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tcp_recv_oldest(dns_dispatch_t *disp, dns_dispentry_t
      **respp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:654,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:654,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dispatch.c:661,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dispatch.c:662,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/lib/dns/dispatch.c:663,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:665,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:665,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:669,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:669,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:678,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:678,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/dispatch.c:690,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/dispatch.c:693,1
    - Dst: qid_hash
      Src: /src/bind9/lib/dns/dispatch.c:693,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/dispatch.c:696,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/dispatch.c:696,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:713,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:713,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - disp
    - region
    - peer
    - respp
    argTypes:
    - dns_dispatch_t*
    - isc_region_t*
    - isc_sockaddr_t*
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 718
    functionName: tcp_recv_success
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_getport
    - cds_lfht_lookup
    - ISC_LOG_DEBUG
    - dns_message_peekheader
    - cds_lfht_entry
    - cds_lfht_iter_get_node
    - qid_hash
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_add
    - dispatch_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tcp_recv_success(dns_dispatch_t *disp, isc_region_t *region,\n\t\t
      isc_sockaddr_t *peer, dns_dispentry_t **respp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:723,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:724,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:725,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - resps
    - resp
    - result
    argTypes:
    - dns_displist_t*
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 729
    functionName: tcp_recv_add
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_dispentry_ref
    - ISC_LIST_APPEND
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: "void tcp_recv_add(dns_displist_t *resps, dns_dispentry_t *resp,\n\t
      \    isc_result_t result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dispatch.c:737,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - disp
    - resps
    - result
    argTypes:
    - dns_dispatch_t*
    - dns_displist_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 731
    functionDepth: 2
    functionLinenumber: 731
    functionLinenumberEnd: 741
    functionName: tcp_recv_shutdown
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - tcp_recv_add
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: "void tcp_recv_shutdown(dns_dispatch_t *disp, dns_displist_t *resps,\n\t\t
      \ isc_result_t result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dispatch.c:745,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:746,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:748,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:748,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:749,1
    - Dst: response
      Src: /src/bind9/lib/dns/dispatch.c:750,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - resps
    - region
    argTypes:
    - dns_displist_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 753
    functionName: tcp_recv_processall
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_result_totext
    - response
    - dispentry_log
    - dns_dispentry_detach
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void tcp_recv_processall(dns_displist_t *resps, isc_region_t *region)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:779,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:779,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:781,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:781,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:782,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:785,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:785,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:787,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/dns/dispatch.c:789,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:791,1
    - Dst: tcp_recv_oldest
      Src: /src/bind9/lib/dns/dispatch.c:800,1
    - Dst: tcp_recv_success
      Src: /src/bind9/lib/dns/dispatch.c:804,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:812,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:833,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:835,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/dispatch.c:838,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:841,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:843,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:863,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:864,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:864,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:866,1
    - Dst: tcp_recv_shutdown
      Src: /src/bind9/lib/dns/dispatch.c:867,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:870,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:871,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:874,1
    - Dst: tcp_recv_shutdown
      Src: /src/bind9/lib/dns/dispatch.c:875,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:882,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:885,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:886,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:888,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:890,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:894,1
    - Dst: tcp_recv_processall
      Src: /src/bind9/lib/dns/dispatch.c:899,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:901,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 4
    argNames:
    - handle
    - result
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 902
    functionName: tcp_recv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - tcp_recv_processall
    - rcu_read_unlock
    - REQUIRE
    - dispentry_runtime
    - dispatch_log
    - ISC_LIST_HEAD
    - tcp_recv_success
    - isc_nmhandle_peeraddr
    - tcp_recv_oldest
    - tcp_recv_add
    - ISC_LIST_NEXT
    - tcp_recv_shutdown
    - dns_dispatch_detach
    - isc_nmhandle_settimeout
    - isc_tid
    - ISC_LOG_DEBUG
    - rcu_read_lock
    - INSIST
    - VALID_DISPATCH
    - tcp_startrecv
    - isc_result_totext
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: "void tcp_recv(isc_nmhandle_t *handle, isc_result_t result, isc_region_t
      *region,\n\t void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/lib/dns/dispatch.c:914,1
    - Dst: isc_portset_create
      Src: /src/bind9/lib/dns/dispatch.c:916,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/lib/dns/dispatch.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mctx
    - family
    - portsetp
    argTypes:
    - isc_mem_t*
    - int
    - isc_portset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: create_default_portset
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_net_getudpportrange
    - isc_portset_addrange
    - isc_portset_create
    linkageType: ''
    returnType: void
    signature: void create_default_portset(isc_mem_t *mctx, int family, isc_portset_t
      **portsetp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_portset_nports
      Src: /src/bind9/lib/dns/dispatch.c:926,1
    - Dst: isc_portset_nports
      Src: /src/bind9/lib/dns/dispatch.c:927,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:931,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:935,1
    - Dst: isc_portset_isset
      Src: /src/bind9/lib/dns/dispatch.c:939,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:940,1
    - Dst: isc_portset_isset
      Src: /src/bind9/lib/dns/dispatch.c:943,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:944,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:948,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:951,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - mgr
    - v4portset
    - v6portset
    argTypes:
    - dns_dispatchmgr_t*
    - isc_portset_t*
    - isc_portset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 965
    functionName: setavailports
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 3
    functionsReached:
    - isc_mem_cget
    - isc_portset_isset
    - INSIST
    - isc_portset_nports
    - isc_mem_cput
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setavailports(dns_dispatchmgr_t *mgr, isc_portset_t *v4portset,\n\t
      \     isc_portset_t *v6portset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:978,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:979,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:981,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/dispatch.c:984,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dispatch.c:988,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dispatch.c:991,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:993,1
    - Dst: isc_nm_attach
      Src: /src/bind9/lib/dns/dispatch.c:994,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:996,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/dispatch.c:998,1
    - Dst: create_default_portset
      Src: /src/bind9/lib/dns/dispatch.c:1003,1
    - Dst: create_default_portset
      Src: /src/bind9/lib/dns/dispatch.c:1004,1
    - Dst: setavailports
      Src: /src/bind9/lib/dns/dispatch.c:1006,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/lib/dns/dispatch.c:1008,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/lib/dns/dispatch.c:1009,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/dispatch.c:1011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - mctx
    - loopmgr
    - nm
    - mgrp
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - isc_nm_t*
    - dns_dispatchmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 1019
    functionName: dns_dispatchmgr_create
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 17
    functionsReached:
    - setavailports
    - isc_mem_attach
    - cds_lfht_new
    - isc_mem_cget
    - create_default_portset
    - isc_mem_get
    - isc_refcount_init
    - isc_portset_destroy
    - fprintf
    - REQUIRE
    - isc_loopmgr_nloops
    - isc_nm_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatchmgr_create(isc_mem_t *mctx, isc_loopmgr_t
      *loopmgr, isc_nm_t *nm,\n\t\t       dns_dispatchmgr_t **mgrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1029,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1029,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/dispatch.c:1031,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/dispatch.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mgr
    - blackhole
    argTypes:
    - dns_dispatchmgr_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: dns_dispatchmgr_setblackhole
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - dns_acl_attach
    - dns_acl_detach
    - VALID_DISPATCHMGR
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_dispatchmgr_setblackhole(dns_dispatchmgr_t *mgr, dns_acl_t
      *blackhole)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1038,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1040
    functionName: dns_dispatchmgr_getblackhole
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - VALID_DISPATCHMGR
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_dispatchmgr_getblackhole(dns_dispatchmgr_t *mgr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1045,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1045,1
    - Dst: setavailports
      Src: /src/bind9/lib/dns/dispatch.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mgr
    - v4portset
    - v6portset
    argTypes:
    - dns_dispatchmgr_t*
    - isc_portset_t*
    - isc_portset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1047
    functionName: dns_dispatchmgr_setavailports
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 3
    functionsReached:
    - setavailports
    - VALID_DISPATCHMGR
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatchmgr_setavailports(dns_dispatchmgr_t *mgr,
      isc_portset_t *v4portset,\n\t\t\t      isc_portset_t *v6portset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1051,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1051,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/dispatch.c:1053,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dispatch.c:1057,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/dispatch.c:1057,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dispatch.c:1060,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/dispatch.c:1060,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:1062,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/dispatch.c:1065,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/dispatch.c:1069,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:1073,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:1077,1
    - Dst: isc_nm_detach
      Src: /src/bind9/lib/dns/dispatch.c:1081,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1084
    functionName: dispatchmgr_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - isc_stats_detach
    - RUNTIME_CHECK
    - cds_lfht_destroy
    - isc_mem_putanddetach
    - VALID_DISPATCHMGR
    - isc_mem_cput
    - isc_nm_detach
    - REQUIRE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void dispatchmgr_destroy(dns_dispatchmgr_t *mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1088,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1088,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1089,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/dispatch.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - stats
    argTypes:
    - dns_dispatchmgr_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1092
    functionName: dns_dispatchmgr_setstats
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - VALID_DISPATCHMGR
    - REQUIRE
    - isc_stats_attach
    linkageType: ''
    returnType: void
    signature: void dns_dispatchmgr_setstats(dns_dispatchmgr_t *mgr, isc_stats_t *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1096,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1099
    functionName: dns_dispatchmgr_getnetmgr
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - VALID_DISPATCHMGR
    - REQUIRE
    linkageType: ''
    returnType: isc_nm_t
    signature: 'isc_nm_t *

      dns_dispatchmgr_getnetmgr(dns_dispatchmgr_t *mgr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1109,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1110,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:1117,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:1126,1
    - Dst: dns_dispatchmgr_attach
      Src: /src/bind9/lib/dns/dispatch.c:1128,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dispatch.c:1130,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dispatch.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mgr
    - type
    - tid
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_socktype_t
    - isc_tid_t
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1136
    functionName: dispatch_allocate
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - VALID_DISPATCHMGR
    - isc_refcount_init
    - REQUIRE
    - fprintf
    - dns_dispatchmgr_attach
    linkageType: ''
    returnType: void
    signature: "void dispatch_allocate(dns_dispatchmgr_t *mgr, isc_socktype_t type,
      isc_tid_t tid,\n\t\t  dns_dispatch_t **dispp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/lib/dns/dispatch.c:1146,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/lib/dns/dispatch.c:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct dispatch_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1144
    functionDepth: 3
    functionLinenumber: 1144
    functionLinenumberEnd: 1152
    functionName: dispatch_hash
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dispatch_hash(struct dispatch_key *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/dispatch.c:1156,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:1160,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:1162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: dispatch_match
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_sockaddr_equal
    linkageType: ''
    returnType: int
    signature: int dispatch_match(struct cds_lfht_node *node, const void *key0)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1173,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1173,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1174,1
    - Dst: dispatch_allocate
      Src: /src/bind9/lib/dns/dispatch.c:1176,1
    - Dst: dns_transport_attach
      Src: /src/bind9/lib/dns/dispatch.c:1181,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/dispatch.c:1188,1
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/dns/dispatch.c:1189,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/dispatch.c:1190,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1203,1
    - Dst: cds_lfht_add
      Src: /src/bind9/lib/dns/dispatch.c:1204,1
    - Dst: dispatch_hash
      Src: /src/bind9/lib/dns/dispatch.c:1204,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1206,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1209,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1212,1
    - Dst: mgr_log
      Src: /src/bind9/lib/dns/dispatch.c:1215,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 6
    argNames:
    - mgr
    - localaddr
    - destaddr
    - transport
    - options
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatchopt_t
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1165
    functionDepth: 4
    functionLinenumber: 1165
    functionLinenumberEnd: 1223
    functionName: dns_dispatch_createtcp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 7
    functionsReached:
    - isc_sockaddr_setport
    - isc_log_wouldlog
    - isc_sockaddr_pf
    - dns_transport_attach
    - cds_lfht_add
    - isc_tid
    - mgr_log
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - dispatch_hash
    - dispatch_allocate
    - rcu_read_unlock
    - VALID_DISPATCHMGR
    - REQUIRE
    - isc_sockaddr_anyofpf
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatch_createtcp(dns_dispatchmgr_t *mgr, const
      isc_sockaddr_t *localaddr,\n\t\t       const isc_sockaddr_t *destaddr,\n\t\t
      \      dns_transport_t *transport, dns_dispatchopt_t options,\n\t\t       dns_dispatch_t
      **dispp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1234,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1234,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1235,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1236,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1244,1
    - Dst: cds_lfht_for_each_entry_duplicate
      Src: /src/bind9/lib/dns/dispatch.c:1247,1
    - Dst: dispatch_hash
      Src: /src/bind9/lib/dns/dispatch.c:1247,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1250,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1250,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1251,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1258,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:1263,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1266,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:1272,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1279,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1286,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1290,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:1298,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 5
    argNames:
    - mgr
    - destaddr
    - localaddr
    - transport
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1225
    functionDepth: 4
    functionLinenumber: 1225
    functionLinenumberEnd: 1307
    functionName: dns_dispatch_gettcp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - dns_dispatch_detach
    - UNREACHABLE
    - ISC_LIST_EMPTY
    - isc_tid
    - dispatch_hash
    - INSIST
    - rcu_read_unlock
    - VALID_DISPATCHMGR
    - REQUIRE
    - dns_dispatch_attach
    - cds_lfht_for_each_entry_duplicate
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t
      *destaddr,\n\t\t    const isc_sockaddr_t *localaddr, dns_transport_t *transport,\n\t\t
      \   dns_dispatch_t **dispp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1315,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1317,1
    - Dst: dispatch_createudp
      Src: /src/bind9/lib/dns/dispatch.c:1319,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mgr
    - localaddr
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1325
    functionName: dns_dispatch_createudp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 9
    functionsReached:
    - dispatch_createudp
    - VALID_DISPATCHMGR
    - REQUIRE
    - isc_tid
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatch_createudp(dns_dispatchmgr_t *mgr, const
      isc_sockaddr_t *localaddr,\n\t\t       dns_dispatch_t **dispp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/dns/dispatch.c:1337,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/dispatch.c:1337,1
    - Dst: isc_sockaddr_eqaddr
      Src: /src/bind9/lib/dns/dispatch.c:1338,1
    - Dst: isc_nm_checkaddr
      Src: /src/bind9/lib/dns/dispatch.c:1339,1
    - Dst: dispatch_allocate
      Src: /src/bind9/lib/dns/dispatch.c:1345,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1347,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1350,1
    - Dst: mgr_log
      Src: /src/bind9/lib/dns/dispatch.c:1352,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - mgr
    - localaddr
    - tid
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - isc_tid_t
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1369
    functionName: dispatch_createudp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 10
    functionsReached:
    - isc_sockaddr_pf
    - mgr_log
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - dispatch_allocate
    - isc_sockaddr_anyofpf
    - isc_nm_checkaddr
    - isc_sockaddr_eqaddr
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dispatch_createudp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t
      *localaddr,\n\t\t   isc_tid_t tid, dns_dispatch_t **dispp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/dispatch.c:1373,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1377
    functionName: dispatch_destroy_rcu
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dispatch_destroy_rcu(struct rcu_head *rcu_head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1382,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/dispatch.c:1389,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1392,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1393,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1393,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1394,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1394,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1396,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1396,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1399,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1399,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/dns/dispatch.c:1402,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/dispatch.c:1405,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/dispatch.c:1407,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/dispatch.c:1409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - disp
    argTypes:
    - dns_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1379
    functionDepth: 3
    functionLinenumber: 1379
    functionLinenumberEnd: 1410
    functionName: dispatch_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - dns_transport_detach
    - ISC_LIST_EMPTY
    - cds_lfht_del
    - isc_tid
    - ISC_LOG_DEBUG
    - call_rcu
    - INSIST
    - dns_dispatchmgr_detach
    - dispatch_log
    linkageType: ''
    returnType: void
    signature: void dispatch_destroy(dns_dispatch_t *disp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1426,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1427,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1428,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1430,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1433,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1434,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1436,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1437,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/dispatch.c:1443,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:1444,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dispatch.c:1462,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dispatch.c:1465,1
    - Dst: setup_socket
      Src: /src/bind9/lib/dns/dispatch.c:1468,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dispatch.c:1471,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/dispatch.c:1472,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1479,1
    - Dst: isc_random16
      Src: /src/bind9/lib/dns/dispatch.c:1488,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/dispatch.c:1491,1
    - Dst: qid_hash
      Src: /src/bind9/lib/dns/dispatch.c:1491,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dispatch.c:1509,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1510,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:1514,1
    - Dst: dns_transport_attach
      Src: /src/bind9/lib/dns/dispatch.c:1517,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/dispatch.c:1521,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:1524,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/dispatch.c:1528,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1532,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 14
    argNames:
    - disp
    - loop
    - options
    - connect_timeout
    - timeout
    - dest
    - transport
    - tlsctx_cache
    - connected
    - sent
    - response
    - arg
    - idp
    - respp
    argTypes:
    - dns_dispatch_t*
    - isc_loop_t*
    - dns_dispatchopt_t
    - unsigned int
    - unsigned int
    - isc_sockaddr_t*
    - dns_transport_t*
    - isc_tlsctx_cache_t*
    - dispatch_cb_t
    - dispatch_cb_t
    - dispatch_cb_t
    - void*
    - dns_messageid_t*
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1418
    functionDepth: 5
    functionLinenumber: 1418
    functionLinenumberEnd: 1538
    functionName: dns_dispatch_add
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 10
    functionsReached:
    - rcu_read_unlock
    - REQUIRE
    - isc_tlsctx_cache_attach
    - isc_mem_attach
    - dns_transport_attach
    - isc_refcount_init
    - fprintf
    - isc_sockaddr_getport
    - isc_tid
    - inc_stats
    - setup_socket
    - isc_mem_get
    - VALID_DISPATCH
    - cds_lfht_add_unique
    - dns_dispatch_attach
    - isc_random16
    - qid_hash
    - isc_mem_put
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatch_add(dns_dispatch_t *disp, isc_loop_t *loop,\n\t\t
      dns_dispatchopt_t options, unsigned int connect_timeout,\n\t\t unsigned int
      timeout, const isc_sockaddr_t *dest,\n\t\t dns_transport_t *transport, isc_tlsctx_cache_t
      *tlsctx_cache,\n\t\t dispatch_cb_t connected, dispatch_cb_t sent,\n\t\t dispatch_cb_t
      response, void *arg, dns_messageid_t *idp,\n\t\t dns_dispentry_t **respp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1542,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1542,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1543,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1543,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1549,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1549,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:1552,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:1553,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1559,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1559,1
    - Dst: udp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:1562,1
    - Dst: tcp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:1565,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1540
    functionDepth: 4
    functionLinenumber: 1540
    functionLinenumberEnd: 1572
    functionName: dns_dispatch_getnext
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - isc_tid
    - udp_dispatch_getnext
    - ISC_LOG_DEBUG
    - INSIST
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    - dispentry_log
    - dispentry_runtime
    - tcp_dispatch_getnext
    - isc_loop_now
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dispatch_getnext(dns_dispentry_t *resp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1579,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1579,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1580,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1580,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1581,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1581,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1586,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1586,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1587,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1587,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1590,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1590,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1592,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:1596,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1597,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1610,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1610,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/lib/dns/dispatch.c:1612,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1620,1
    - Dst: dec_stats
      Src: /src/bind9/lib/dns/dispatch.c:1623,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/dispatch.c:1625,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1631,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1631,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1632,1
    - Dst: dns_dispentry_t*::response
      Src: /src/bind9/lib/dns/dispatch.c:1633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - resp
    - result
    argTypes:
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1577
    functionDepth: 4
    functionLinenumber: 1577
    functionLinenumberEnd: 1635
    functionName: udp_dispentry_cancel
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - dec_stats
    - isc_tid
    - cds_lfht_del
    - ISC_LOG_DEBUG
    - ISC_LINK_LINKED
    - isc_nm_cancelread
    - isc_result_totext
    - state2str
    - VALID_DISPATCHMGR
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    - dispentry_log
    - ISC_LIST_UNLINK
    - dns_dispentry_t*::response
    linkageType: ''
    returnType: void
    signature: void udp_dispentry_cancel(dns_dispentry_t *resp, isc_result_t result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1642,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1643,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1644,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1649,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1649,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1650,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1650,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1653,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1653,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1655,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:1668,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1671,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:1671,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1673,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1674,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/dns/dispatch.c:1693,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:1694,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1697,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1697,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:1700,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1704,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1704,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/lib/dns/dispatch.c:1707,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1717,1
    - Dst: dec_stats
      Src: /src/bind9/lib/dns/dispatch.c:1720,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/dispatch.c:1722,1
    - Dst: tcp_recv_processall
      Src: /src/bind9/lib/dns/dispatch.c:1736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 2
    argNames:
    - resp
    - result
    argTypes:
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1640
    functionDepth: 5
    functionLinenumber: 1640
    functionLinenumberEnd: 1737
    functionName: tcp_dispentry_cancel
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - tcp_recv_processall
    - state2str
    - VALID_DISPATCHMGR
    - REQUIRE
    - UNREACHABLE
    - dec_stats
    - ISC_LINK_LINKED
    - isc_nm_cancelread
    - tcp_recv_add
    - ISC_LIST_EMPTY
    - isc_nmhandle_settimeout
    - isc_tid
    - ISC_LOG_DEBUG
    - INSIST
    - VALID_DISPATCH
    - tcp_startrecv
    - isc_nmhandle_cleartimeout
    - cds_lfht_del
    - isc_result_totext
    - VALID_RESPONSE
    - dispentry_log
    linkageType: ''
    returnType: void
    signature: void tcp_dispentry_cancel(dns_dispentry_t *resp, isc_result_t result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1741,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1741,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1742,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1742,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1746,1
    - Dst: udp_dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:1749,1
    - Dst: tcp_dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:1752,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1755,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - resp
    - result
    argTypes:
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1739
    functionDepth: 6
    functionLinenumber: 1739
    functionLinenumberEnd: 1758
    functionName: dispentry_cancel
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - tcp_dispentry_cancel
    - rcu_read_lock
    - rcu_read_unlock
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    - udp_dispentry_cancel
    linkageType: ''
    returnType: void
    signature: void dispentry_cancel(dns_dispentry_t *resp, isc_result_t result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1762,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1762,1
    - Dst: dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:1767,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - respp
    argTypes:
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1760
    functionDepth: 7
    functionLinenumber: 1760
    functionLinenumberEnd: 1769
    functionName: dns_dispatch_done
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - dispentry_cancel
    - VALID_RESPONSE
    - dns_dispentry_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_dispatch_done(dns_dispentry_t **respp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1773,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1773,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1775,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1775,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:1777,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:1778,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1779,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1779,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - resp
    argTypes:
    - isc_nmhandle_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1771
    functionDepth: 8
    functionLinenumber: 1771
    functionLinenumberEnd: 1782
    functionName: udp_startrecv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_dispentry_ref
    - isc_nm_read
    - ISC_LOG_DEBUG
    - isc_nmhandle_attach
    - VALID_RESPONSE
    - REQUIRE
    - dispentry_log
    linkageType: ''
    returnType: void
    signature: void udp_startrecv(isc_nmhandle_t *handle, dns_dispentry_t *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1786,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1786,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1787,1
    - Dst: dns_dispatch_ref
      Src: /src/bind9/lib/dns/dispatch.c:1789,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1791,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1791,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1793,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dispatch.c:1793,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1795,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1795,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:1799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - disp
    - resp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1784
    functionDepth: 8
    functionLinenumber: 1784
    functionLinenumberEnd: 1801
    functionName: tcp_startrecv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - isc_time_isepoch
    - isc_nm_read
    - ISC_LOG_DEBUG
    - INSIST
    - dispentry_log
    - VALID_DISPATCH
    - REQUIRE
    - dns_dispatch_ref
    - dispatch_log
    linkageType: ''
    returnType: void
    signature: void tcp_startrecv(dns_dispatch_t *disp, dns_dispentry_t *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1806,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1806,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1807,1
    - Dst: dns_dispentry_t*::connected
      Src: /src/bind9/lib/dns/dispatch.c:1809,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1803
    functionDepth: 4
    functionLinenumber: 1803
    functionLinenumberEnd: 1811
    functionName: resp_connected
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_result_totext
    - dispentry_log
    - dns_dispentry_detach
    - dns_dispentry_t*::connected
    linkageType: ''
    returnType: void
    signature: void resp_connected(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1818,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/dns/dispatch.c:1822,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/dns/dispatch.c:1823,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1825,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1827,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1830,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1832,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1836,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1836,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1838,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1841,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1841,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1842,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dispatch.c:1848,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1849,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:1850,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:1857,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1859,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1859,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:1866,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:1872,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/dns/dispatch.c:1873,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:1875,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:1877,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1883,1
    - Dst: resp_connected
      Src: /src/bind9/lib/dns/dispatch.c:1885,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:1888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1813
    functionDepth: 9
    functionLinenumber: 1813
    functionLinenumberEnd: 1889
    functionName: tcp_connected
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - REQUIRE
    - dispatch_log
    - ISC_LIST_HEAD
    - isc_nmhandle_localaddr
    - isc_nmhandle_peeraddr
    - isc_nmhandle_attach
    - isc_log_wouldlog
    - dns_dispatch_detach
    - isc_nmhandle_settimeout
    - isc_tid
    - ISC_LOG_DEBUG
    - INSIST
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - tcp_startrecv
    - isc_nmhandle_cleartimeout
    - ISC_LIST_APPEND
    - isc_result_totext
    - dispentry_log
    - resp_connected
    linkageType: ''
    returnType: void
    signature: void tcp_connected(isc_nmhandle_t *handle, isc_result_t eresult, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1883,1
    - Dst: resp_connected
      Src: /src/bind9/lib/dns/dispatch.c:1885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1882
    functionDepth: 5
    functionLinenumber: 1882
    functionLinenumberEnd: 1886
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 172
    functionsReached:
    - resp_connected
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (resps, resp, rlink)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1896,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1896,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1899,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1899,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1903,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1906,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1909,1
    - Dst: udp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:1917,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/dispatch.c:1921,1
    - Dst: setup_socket
      Src: /src/bind9/lib/dns/dispatch.c:1925,1
    - Dst: udp_dispatch_connect
      Src: /src/bind9/lib/dns/dispatch.c:1927,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1939,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1939,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1940,1
    - Dst: dns_dispentry_t*::connected
      Src: /src/bind9/lib/dns/dispatch.c:1941,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:1944,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1891
    functionDepth: 9
    functionLinenumber: 1891
    functionLinenumberEnd: 1945
    functionName: udp_connected
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - udp_dispatch_connect
    - UNREACHABLE
    - isc_sockaddr_getport
    - isc_tid
    - udp_startrecv
    - ISC_LOG_DEBUG
    - setup_socket
    - isc_result_totext
    - dispentry_log
    - dns_dispentry_detach
    - REQUIRE
    - dns_dispentry_t*::connected
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void udp_connected(isc_nmhandle_t *handle, isc_result_t eresult, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1949,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1949,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:1951,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:1952,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:1953,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/lib/dns/dispatch.c:1955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - disp
    - resp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1947
    functionDepth: 3
    functionLinenumber: 1947
    functionLinenumberEnd: 1957
    functionName: udp_dispatch_connect
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - dns_dispentry_ref
    - ISC_LIST_APPEND
    - isc_tid
    - isc_nm_udpconnect
    - REQUIRE
    - isc_loop_now
    linkageType: ''
    returnType: void
    signature: void udp_dispatch_connect(dns_dispatch_t *disp, dns_dispentry_t *resp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_get_remote_hostname
      Src: /src/bind9/lib/dns/dispatch.c:1964,1
    - Dst: isc_tls_valid_sni_hostname
      Src: /src/bind9/lib/dns/dispatch.c:1971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1959
    functionDepth: 2
    functionLinenumber: 1959
    functionLinenumberEnd: 1976
    functionName: get_tls_sni_hostname
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - isc_tls_valid_sni_hostname
    - dns_transport_get_remote_hostname
    linkageType: ''
    returnType: char
    signature: 'char *

      get_tls_sni_hostname(dns_dispentry_t *resp)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/dispatch.c:1985,1
    - Dst: dns_transport_get_tlsctx
      Src: /src/bind9/lib/dns/dispatch.c:1991,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1998,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2002,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:2002,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2008,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2009,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2010,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:2015,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:2017,1
    - Dst: dns_dispatch_ref
      Src: /src/bind9/lib/dns/dispatch.c:2020,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2021,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2021,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/lib/dns/dispatch.c:2025,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/lib/dns/dispatch.c:2027,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2036,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2037,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2038,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2043,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2046,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2047,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2047,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/dns/dispatch.c:2053,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:2055,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:2058,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2062,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/dispatch.c:2063,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2067,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 2
    argNames:
    - disp
    - resp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 1978
    functionDepth: 9
    functionLinenumber: 1978
    functionLinenumberEnd: 2071
    functionName: tcp_dispatch_connect
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - isc_async_run
    - REQUIRE
    - dns_dispatch_ref
    - UNREACHABLE
    - isc_nm_streamdnsconnect
    - get_tls_sni_hostname
    - dns_dispentry_ref
    - isc_nmhandle_settimeout
    - dns_transport_get_type
    - isc_tid
    - ISC_LOG_DEBUG
    - INSIST
    - tcp_startrecv
    - isc_nmhandle_cleartimeout
    - ISC_LIST_APPEND
    - dispentry_log
    - dns_transport_get_tlsctx
    - isc_loop_now
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tcp_dispatch_connect(dns_dispatch_t *disp, dns_dispentry_t
      *resp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2075,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2075,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2076,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2076,1
    - Dst: tcp_dispatch_connect
      Src: /src/bind9/lib/dns/dispatch.c:2082,1
    - Dst: udp_dispatch_connect
      Src: /src/bind9/lib/dns/dispatch.c:2085,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2073
    functionDepth: 10
    functionLinenumber: 2073
    functionLinenumberEnd: 2091
    functionName: dns_dispatch_connect
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 10
    functionsReached:
    - udp_dispatch_connect
    - UNREACHABLE
    - tcp_dispatch_connect
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dispatch_connect(dns_dispentry_t *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2097,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2097,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2101,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2101,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2103,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2103,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:2104,1
    - Dst: dns_dispentry_t*::sent
      Src: /src/bind9/lib/dns/dispatch.c:2106,1
    - Dst: dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:2109,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:2112,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/dns/dispatch.c:2113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2093
    functionDepth: 7
    functionLinenumber: 2093
    functionLinenumberEnd: 2114
    functionName: send_done
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - ISC_LOG_DEBUG
    - isc_result_totext
    - dns_dispentry_t*::sent
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    - dispentry_log
    - dns_dispentry_detach
    - dispentry_cancel
    linkageType: ''
    returnType: void
    signature: void send_done(isc_nmhandle_t *handle, isc_result_t result, void *cbarg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2119,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2119,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2122,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2131,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:2132,1
    - Dst: dns_dispatch_ref
      Src: /src/bind9/lib/dns/dispatch.c:2135,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:2136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - disp
    - resp
    - timeout
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2116
    functionDepth: 8
    functionLinenumber: 2116
    functionLinenumberEnd: 2138
    functionName: tcp_dispatch_getnext
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_settimeout
    - ISC_LIST_APPEND
    - isc_nm_read
    - ISC_LOG_DEBUG
    - INSIST
    - dispentry_log
    - dns_dispatch_ref
    linkageType: ''
    returnType: void
    signature: "void tcp_dispatch_getnext(dns_dispatch_t *disp, dns_dispentry_t *resp,\n\t\t
      \    int64_t timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2147,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:2148,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2151,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2151,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2153,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:2154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - resp
    - timeout
    argTypes:
    - dns_dispentry_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2140
    functionDepth: 8
    functionLinenumber: 2140
    functionLinenumberEnd: 2156
    functionName: udp_dispatch_getnext
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - dns_dispentry_ref
    - isc_nmhandle_settimeout
    - isc_nm_read
    - ISC_LOG_DEBUG
    - INSIST
    - dispentry_log
    linkageType: ''
    returnType: void
    signature: void udp_dispatch_getnext(dns_dispentry_t *resp, int64_t timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2160,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2161,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2161,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2165,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2167,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:2167,1
    - Dst: udp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:2170,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2174,1
    - Dst: tcp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:2176,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - resp
    - timeout
    argTypes:
    - dns_dispentry_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2158
    functionDepth: 9
    functionLinenumber: 2158
    functionLinenumberEnd: 2181
    functionName: dns_dispatch_resume
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_tid
    - udp_dispatch_getnext
    - ISC_LOG_DEBUG
    - INSIST
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    - dispentry_log
    - tcp_dispatch_getnext
    linkageType: ''
    returnType: void
    signature: void dns_dispatch_resume(dns_dispentry_t *resp, unsigned int timeout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2185,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2186,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2186,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2191,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2191,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:2194,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:2197,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2200,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2202,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/dns/dispatch.c:2203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - resp
    - r
    argTypes:
    - dns_dispentry_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2183
    functionDepth: 6
    functionLinenumber: 2183
    functionLinenumberEnd: 2204
    functionName: dns_dispatch_send
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - dns_dispentry_ref
    - ISC_LOG_DEBUG
    - isc_nm_send
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    - dispentry_log
    - isc_nmhandle_attach
    linkageType: ''
    returnType: void
    signature: void dns_dispatch_send(dns_dispentry_t *resp, isc_region_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2208,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - disp
    - addrp
    argTypes:
    - dns_dispatch_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2206
    functionDepth: 1
    functionLinenumber: 2206
    functionLinenumberEnd: 2216
    functionName: dns_dispatch_getlocaladdress
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - VALID_DISPATCH
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dispatch_getlocaladdress(dns_dispatch_t *disp, isc_sockaddr_t
      *addrp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2220,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2220,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2221,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2221,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2222,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/dns/dispatch.c:2228,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/dns/dispatch.c:2231,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - resp
    - addrp
    argTypes:
    - dns_dispentry_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2218
    functionDepth: 2
    functionLinenumber: 2218
    functionLinenumberEnd: 2236
    functionName: dns_dispentry_getlocaladdress
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_nmhandle_localaddr
    - VALID_RESPONSE
    - VALID_DISPATCH
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dispentry_getlocaladdress(dns_dispentry_t *resp, isc_sockaddr_t
      *addrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:2240,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dset
    argTypes:
    - dns_dispatchset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2250
    functionName: dns_dispatchset_get
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - INSIST
    - isc_tid
    linkageType: ''
    returnType: dns_dispatch_t
    signature: 'dns_dispatch_t *

      dns_dispatchset_get(dns_dispatchset_t *dset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2260,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2262,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:2266,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:2269,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:2271,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:2275,1
    - Dst: dispatch_createudp
      Src: /src/bind9/lib/dns/dispatch.c:2278,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:2291,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:2293,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:2296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - mctx
    - source
    - dsetp
    - ndisp
    argTypes:
    - isc_mem_t*
    - dns_dispatch_t*
    - dns_dispatchset_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2252
    functionDepth: 4
    functionLinenumber: 2252
    functionLinenumberEnd: 2298
    functionName: dns_dispatchset_create
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - dns_dispatch_detach
    - isc_mem_putanddetach
    - isc_mem_cget
    - isc_mem_get
    - VALID_DISPATCH
    - REQUIRE
    - dispatch_createudp
    - dns_dispatch_attach
    - isc_mem_cput
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dispatchset_create(isc_mem_t *mctx, dns_dispatch_t
      *source,\n\t\t       dns_dispatchset_t **dsetp, uint32_t ndisp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2302,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:2308,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:2310,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:2312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dsetp
    argTypes:
    - dns_dispatchset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2300
    functionDepth: 1
    functionLinenumber: 2300
    functionLinenumberEnd: 2313
    functionName: dns_dispatchset_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - dns_dispatch_detach
    - isc_mem_cput
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns_dispatchset_destroy(dns_dispatchset_t **dsetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2317,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2317,1
    - Dst: isc_nm_xfr_checkperm
      Src: /src/bind9/lib/dns/dispatch.c:2323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - disp
    argTypes:
    - dns_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2315
    functionDepth: 2
    functionLinenumber: 2315
    functionLinenumberEnd: 2324
    functionName: dns_dispatch_checkperm
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_nm_xfr_checkperm
    - VALID_DISPATCH
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dispatch_checkperm(dns_dispatch_t *disp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: VALID_KEY
    functionSourceFile: /src/bind9/lib/dns/dst_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_KEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: VALID_CTX
    functionSourceFile: /src/bind9/lib/dns/dst_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CTX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: DST_RET
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DST_RET(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: openssleddsa_alg_info
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: eddsa_alginfo_t
    signature: 'eddsa_alginfo_t *

      openssleddsa_alg_info(unsigned int key_alg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_new_raw_private_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:95,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:97,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - alginfo
    - private
    - key
    - key_len
    - pkey
    argTypes:
    - eddsa_alginfo_t*
    - int
    - unsigned char*
    - size_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: raw_key_to_ossl
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - dst__openssl_toresult
    - EVP_PKEY_new_raw_private_key
    - EVP_PKEY_new_raw_public_key
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t raw_key_to_ossl(const eddsa_alginfo_t *alginfo, int private,\n\t\tconst
      unsigned char *key, size_t *key_len, EVP_PKEY **pkey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:117,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/openssleddsa_link.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: openssleddsa_createctx
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - isc_buffer_allocate
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_createctx(dst_key_t *key, dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:131,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: openssleddsa_destroyctx
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - isc_buffer_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void openssleddsa_destroyctx(dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:148,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:150,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/dns/openssleddsa_link.c:155,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/openssleddsa_link.c:156,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:157,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:158,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:159,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 164
    functionName: openssleddsa_adddata
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - isc_buffer_length
    - isc_buffer_copyregion
    - isc_buffer_free
    - isc_buffer_allocate
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_adddata(dst_context_t *dctx, const isc_region_t
      *data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/dns/openssleddsa_link.c:173,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:178,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:185,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:187,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:190,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/lib/dns/openssleddsa_link.c:192,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:193,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:193,1
    - Dst: EVP_DigestSign
      Src: /src/bind9/lib/dns/openssleddsa_link.c:196,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:199,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:199,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/openssleddsa_link.c:202,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:206,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: openssleddsa_sign
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - EVP_MD_CTX_free
    - DST_RET
    - EVP_DigestSignInit
    - isc_buffer_availableregion
    - isc_buffer_free
    - REQUIRE
    - dst__openssl_toresult3
    - isc_buffer_add
    - isc_buffer_usedregion
    - EVP_MD_CTX_new
    - EVP_DigestSign
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_sign(dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/dns/openssleddsa_link.c:220,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:224,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:227,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:231,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:234,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/bind9/lib/dns/openssleddsa_link.c:236,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:237,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:237,1
    - Dst: EVP_DigestVerify
      Src: /src/bind9/lib/dns/openssleddsa_link.c:241,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:249,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:252,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:258,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 263
    functionName: openssleddsa_verify
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - EVP_MD_CTX_free
    - dst__openssl_toresult
    - DST_RET
    - EVP_DigestVerify
    - isc_buffer_free
    - REQUIRE
    - dst__openssl_toresult3
    - isc_buffer_usedregion
    - EVP_MD_CTX_new
    - EVP_DigestVerifyInit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:273,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:274,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:275,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/bind9/lib/dns/openssleddsa_link.c:277,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/openssleddsa_link.c:279,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/dns/openssleddsa_link.c:283,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:285,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/openssleddsa_link.c:285,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/lib/dns/openssleddsa_link.c:289,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:291,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/openssleddsa_link.c:291,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 303
    functionName: openssleddsa_generate
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - DST_RET
    - dst__openssl_toresult2
    - UNUSED
    - EVP_PKEY_keygen_init
    - REQUIRE
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_generate(dst_key_t *key, int unused, void
      (*callback)(int))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:307,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:312,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:313,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:316,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:321,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:322,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/openssleddsa_link.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 327
    functionName: openssleddsa_todns
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - EVP_PKEY_get_raw_public_key
    - dst__openssl_toresult
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_todns(const dst_key_t *key, isc_buffer_t
      *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:337,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:339,1
    - Dst: raw_key_to_ossl
      Src: /src/bind9/lib/dns/openssleddsa_link.c:345,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/openssleddsa_link.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 354
    functionName: openssleddsa_fromdns
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - isc_buffer_remainingregion
    - raw_key_to_ossl
    - isc_buffer_forward
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_fromdns(dst_key_t *key, isc_buffer_t *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:358,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:365,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/openssleddsa_link.c:373,1
    - Dst: dst__openssl_keypair_isprivate
      Src: /src/bind9/lib/dns/openssleddsa_link.c:378,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/openssleddsa_link.c:380,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:381,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:384,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:384,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/openssleddsa_link.c:393,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/openssleddsa_link.c:400,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/openssleddsa_link.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - key
    - directory
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 407
    functionName: openssleddsa_tofile
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - dst__openssl_toresult
    - DST_RET
    - dst__privstruct_writefile
    - dst__openssl_keypair_isprivate
    - isc_mem_get
    - strlen
    - REQUIRE
    - isc_mem_put
    - EVP_PKEY_get_raw_private_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_tofile(const dst_key_t *key, const char *directory)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:411,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:420,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/openssleddsa_link.c:423,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:430,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:433,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:439,1
    - Dst: openssleddsa_fromlabel
      Src: /src/bind9/lib/dns/openssleddsa_link.c:459,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/openssleddsa_link.c:464,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:467,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:469,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:473,1
    - Dst: raw_key_to_ossl
      Src: /src/bind9/lib/dns/openssleddsa_link.c:477,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/openssleddsa_link.c:483,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:484,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:494,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:495,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/openssleddsa_link.c:496,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 3
    argNames:
    - key
    - lexer
    - pub
    argTypes:
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 498
    functionName: openssleddsa_parse
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - DST_RET
    - raw_key_to_ossl
    - EVP_PKEY_free
    - isc_safe_memwipe
    - EVP_PKEY_eq
    - dst__privstruct_free
    - REQUIRE
    - dst__privstruct_parse
    - openssleddsa_fromlabel
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t
      *pub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:502,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:506,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:507,1
    - Dst: dst__openssl_fromlabel
      Src: /src/bind9/lib/dns/openssleddsa_link.c:509,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/openssleddsa_link.c:515,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/openssleddsa_link.c:516,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:523,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - key
    - label
    - pin
    argTypes:
    - dst_key_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: openssleddsa_fromlabel
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 1
    functionsReached:
    - openssleddsa_alg_info
    - EVP_PKEY_free
    - UNUSED
    - isc_mem_strdup
    - REQUIRE
    - dst__openssl_fromlabel
    - EVP_PKEY_bits
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_fromlabel(dst_key_t *key, const char *label,
      const char *pin)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/openssleddsa_link.c:575,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:585,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:595,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:603,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:606,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/openssleddsa_link.c:609,1
    - Dst: raw_key_to_ossl
      Src: /src/bind9/lib/dns/openssleddsa_link.c:610,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/bind9/lib/dns/openssleddsa_link.c:618,1
    - Dst: EVP_DigestVerify
      Src: /src/bind9/lib/dns/openssleddsa_link.c:619,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssleddsa_link.c:622,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:627,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/openssleddsa_link.c:630,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/openssleddsa_link.c:632,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 634
    functionName: check_algorithm
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - openssleddsa_alg_info
    - EVP_MD_CTX_create
    - raw_key_to_ossl
    - DST_RET
    - EVP_DigestVerify
    - EVP_PKEY_free
    - INSIST
    - EVP_MD_CTX_destroy
    - ERR_clear_error
    - EVP_DigestVerifyInit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_algorithm(unsigned char algorithm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:638,1
    - Dst: check_algorithm
      Src: /src/bind9/lib/dns/openssleddsa_link.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - funcp
    - algorithm
    argTypes:
    - dst_func_t**
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 645
    functionName: dst__openssleddsa_init
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - check_algorithm
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dst__openssleddsa_init(dst_func_t **funcp, unsigned char algorithm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 487
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: NEXTTOKEN
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTTOKEN(lex, opt, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: BADTOKEN
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BADTOKEN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: STR
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(t)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/skr.c:66,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:69,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:70,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/skr.c:72,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/skr.c:73,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/skr.c:73,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/skr.c:74,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/skr.c:74,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/skr.c:75,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/skr.c:79,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/skr.c:82,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/skr.c:85,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:87,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/skr.c:91,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/skr.c:93,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:96,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/skr.c:100,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:103,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/skr.c:105,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:108,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/skr.c:112,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:114,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:124,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/skr.c:127,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/skr.c:128,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/skr.c:131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 9
    argNames:
    - lex
    - mctx
    - owner
    - origin
    - rdclass
    - buf
    - ttl
    - rdtype
    - rdata
    argTypes:
    - isc_lex_t*
    - isc_mem_t*
    - char*
    - dns_name_t*
    - dns_rdataclass_t
    - isc_buffer_t*
    - dns_ttl_t*
    - dns_rdatatype_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 133
    functionName: parse_rr
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - dns_rdatacallbacks_init
    - dns_name_fromtext
    - dns_fixedname_initname
    - isc_lex_setcomments
    - NEXTTOKEN
    - dns_ttl_fromtext
    - isc_buffer_init
    - strlen
    - dns_rdatatype_fromtext
    - dns_rdata_fromtext
    - isc_buffer_add
    - strcmp
    - dns_rdataclass_fromtext
    - BADTOKEN
    - dns_name_compare
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_rr(isc_lex_t *lex, isc_mem_t *mctx, char *owner,
      dns_name_t *origin,\n\t dns_rdataclass_t rdclass, isc_buffer_t *buf, dns_ttl_t
      *ttl,\n\t dns_rdatatype_t *rdtype, dns_rdata_t **rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:140,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/skr.c:142,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/skr.c:145,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/skr.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mctx
    - inception
    - bp
    argTypes:
    - isc_mem_t*
    - isc_stdtime_t
    - dns_skrbundle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 150
    functionName: skrbundle_create
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - isc_mem_get
    - dns_diff_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void skrbundle_create(isc_mem_t *mctx, isc_stdtime_t inception,\n\t\t
      dns_skrbundle_t **bp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:154,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/skr.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:155,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/skr.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:156,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/skr.c:156,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/skr.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bundle
    - tuple
    argTypes:
    - dns_skrbundle_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: skrbundle_addtuple
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - DNS_SKRBUNDLE_VALID
    - dns_diff_append
    - DNS_DIFF_VALID
    - REQUIRE
    - DNS_DIFFTUPLE_VALID
    linkageType: ''
    returnType: void
    signature: void skrbundle_addtuple(dns_skrbundle_t *bundle, dns_difftuple_t **tuple)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:166,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/skr.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:167,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/skr.c:167,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/skr.c:169,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/skr.c:175,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/skr.c:177,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/skr.c:187,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/skr.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - bundle
    - key
    - covering_type
    - sigrdata
    argTypes:
    - dns_skrbundle_t*
    - dst_key_t*
    - dns_rdatatype_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 195
    functionName: dns_skrbundle_getsig
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - DNS_SKRBUNDLE_VALID
    - INSIST
    - DNS_DIFF_VALID
    - dst_key_id
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_rdata_clone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_skrbundle_getsig(dns_skrbundle_t *bundle, dst_key_t
      *key,\n\t\t     dns_rdatatype_t covering_type, dns_rdata_t *sigrdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/skr.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/skr.c:207,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/skr.c:209,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/skr.c:210,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/skr.c:213,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/skr.c:221,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/skr.c:223,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/skr.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - mctx
    - filename
    - origin
    - rdclass
    - skrp
    argTypes:
    - isc_mem_t*
    - char*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_skr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 226
    functionName: dns_skr_create
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - UNUSED
    - isc_mem_get
    - isc_refcount_init
    - isc_time_now
    - isc_mem_strdup
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: "void dns_skr_create(isc_mem_t *mctx, const char *filename, dns_name_t
      *origin,\n\t       dns_rdataclass_t rdclass, dns_skr_t **skrp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:230,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:231,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/skr.c:231,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/skr.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - skr
    - bundlep
    argTypes:
    - dns_skr_t*
    - dns_skrbundle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: addbundle
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - DNS_SKR_VALID
    - DNS_SKRBUNDLE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void addbundle(dns_skr_t *skr, dns_skrbundle_t **bundlep)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:249,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:249,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/skr.c:251,1
    - Dst: memset
      Src: /src/bind9/lib/dns/skr.c:252,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/dns/skr.c:256,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/skr.c:257,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/skr.c:259,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/skr.c:261,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/skr.c:262,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:266,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:268,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:275,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:278,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:278,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:280,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:280,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:282,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:282,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:284,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:288,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:288,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:290,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:290,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:292,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:296,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:296,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:298,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:300,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:300,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:305,1
    - Dst: addbundle
      Src: /src/bind9/lib/dns/skr.c:310,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/skr.c:314,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:314,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:315,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/skr.c:315,1
    - Dst: skrbundle_create
      Src: /src/bind9/lib/dns/skr.c:317,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:323,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:323,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/skr.c:332,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/skr.c:333,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/skr.c:334,1
    - Dst: parse_rr
      Src: /src/bind9/lib/dns/skr.c:335,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:335,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/skr.c:339,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/skr.c:341,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/skr.c:344,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/skr.c:345,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/skr.c:346,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/skr.c:356,1
    - Dst: skrbundle_addtuple
      Src: /src/bind9/lib/dns/skr.c:359,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/skr.c:360,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/skr.c:362,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:367,1
    - Dst: addbundle
      Src: /src/bind9/lib/dns/skr.c:373,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/skr.c:378,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/skr.c:379,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/skr.c:381,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/skr.c:382,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/skr.c:386,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 6
    argNames:
    - mctx
    - filename
    - origin
    - rdclass
    - dnskeyttl
    - skrp
    argTypes:
    - isc_mem_t*
    - char*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_ttl_t
    - dns_skr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 388
    functionName: dns_skr_read
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - memset
    - isc_log_write
    - REQUIRE
    - isc_lex_getsourceline
    - isc_lex_create
    - isc_mem_put
    - STR
    - dns_time32_fromtext
    - skrbundle_addtuple
    - addbundle
    - dns_difftuple_create
    - ISC_LOG_DEBUG
    - INSIST
    - isc_lex_setspecials
    - parse_rr
    - isc_mem_get
    - DNS_SKR_VALID
    - isc_lex_openfile
    - isc_lex_gettoken
    - isc_lex_destroy
    - skrbundle_create
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - strcmp
    - sscanf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_skr_read(isc_mem_t *mctx, const char *filename, dns_name_t
      *origin,\n\t     dns_rdataclass_t rdclass, dns_ttl_t dnskeyttl, dns_skr_t **skrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:392,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:392,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/skr.c:394,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/skr.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - skr
    - time
    - sigval
    argTypes:
    - dns_skr_t*
    - isc_stdtime_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: dns_skr_lookup
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_NEXT
    - DNS_SKR_VALID
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: dns_skrbundle_t
    signature: 'dns_skrbundle_t *

      dns_skr_lookup(dns_skr_t *skr, isc_stdtime_t time, uint32_t sigval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:409,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:410,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/skr.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_skr_t*
    - dns_skr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: dns_skr_attach
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - DNS_SKR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_skr_attach(dns_skr_t *source, dns_skr_t **targetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:418,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:418,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/skr.c:423,1
    - Dst: dns_skr_destroy
      Src: /src/bind9/lib/dns/skr.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - skrp
    argTypes:
    - dns_skr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 426
    functionName: dns_skr_detach
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - dns_skr_destroy
    - DNS_SKR_VALID
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_skr_detach(dns_skr_t **skrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:430,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:430,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/skr.c:432,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/skr.c:433,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/skr.c:434,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/skr.c:435,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/skr.c:437,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/skr.c:437,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/skr.c:439,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/skr.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - skr
    argTypes:
    - dns_skr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: dns_skr_destroy
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    - isc_mem_free
    - isc_mem_putanddetach
    - INSIST
    - DNS_SKR_VALID
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_diff_clear
    linkageType: ''
    returnType: void
    signature: void dns_skr_destroy(dns_skr_t *skr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 488
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/dyndb.c:62,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/dyndb.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: dns__dyndb_initialize
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    - isc_mutex_init
    linkageType: ''
    returnType: void
    signature: void dns__dyndb_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/dyndb.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: dns__dyndb_shutdown
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 0
    functionsReached:
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns__dyndb_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dyndb.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: impfind
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: dyndb_implementation_t
    signature: 'dyndb_implementation_t *

      impfind(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dyndb.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 175
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dyndb_implementations, imp, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:88,1
    - Dst: uv_dlsym
      Src: /src/bind9/lib/dns/dyndb.c:90,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/dns/dyndb.c:92,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - handle
    - filename
    - symbol_name
    - symbolp
    argTypes:
    - uv_lib_t*
    - char*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: load_symbol
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - uv_dlerror
    - isc_log_write
    - REQUIRE
    - uv_dlsym
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_symbol(uv_lib_t *handle, const char *filename, const
      char *symbol_name,\n\t    void **symbolp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:121,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:123,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dyndb.c:127,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dyndb.c:129,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dyndb.c:132,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dyndb.c:134,1
    - Dst: uv_dlopen
      Src: /src/bind9/lib/dns/dyndb.c:136,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/dns/dyndb.c:138,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:142,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:147,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:150,1
    - Dst: load_symbol
      Src: /src/bind9/lib/dns/dyndb.c:150,1
    - Dst: version_func
      Src: /src/bind9/lib/dns/dyndb.c:153,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:157,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:161,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:164,1
    - Dst: load_symbol
      Src: /src/bind9/lib/dns/dyndb.c:164,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:166,1
    - Dst: load_symbol
      Src: /src/bind9/lib/dns/dyndb.c:166,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:174,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dyndb.c:178,1
    - Dst: unload_library
      Src: /src/bind9/lib/dns/dyndb.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - mctx
    - filename
    - instname
    - impp
    argTypes:
    - isc_mem_t*
    - char*
    - char*
    - dyndb_implementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 183
    functionName: load_library
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - uv_dlopen
    - unload_library
    - ISC_LINK_INIT
    - isc_result_totext
    - isc_mem_get
    - CHECK
    - isc_log_write
    - version_func
    - isc_mem_strdup
    - REQUIRE
    - uv_dlerror
    - load_symbol
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_library(isc_mem_t *mctx, const char *filename, const
      char *instname,\n\t     dyndb_implementation_t **impp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:189,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dyndb.c:199,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dyndb.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - impp
    argTypes:
    - dyndb_implementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: unload_library
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_free
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void unload_library(dyndb_implementation_t **impp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:210,1
    - Dst: DNS_DYNDBCTX_VALID
      Src: /src/bind9/lib/dns/dyndb.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:211,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dyndb.c:213,1
    - Dst: impfind
      Src: /src/bind9/lib/dns/dyndb.c:216,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:217,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:220,1
    - Dst: load_library
      Src: /src/bind9/lib/dns/dyndb.c:220,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:221,1
    - Dst: dyndb_implementation_t*::register_func
      Src: /src/bind9/lib/dns/dyndb.c:221,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dyndb.c:224,1
    - Dst: unload_library
      Src: /src/bind9/lib/dns/dyndb.c:230,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dyndb.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 7
    argNames:
    - libname
    - name
    - parameters
    - file
    - line
    - mctx
    - dctx
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - unsigned long
    - isc_mem_t*
    - dns_dyndbctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 236
    functionName: dns_dyndb_load
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - unload_library
    - LOCK
    - ISC_LIST_APPEND
    - DNS_DYNDBCTX_VALID
    - UNLOCK
    - dyndb_implementation_t*::register_func
    - CHECK
    - REQUIRE
    - load_library
    - impfind
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dyndb_load(const char *libname, const char *name,
      const char *parameters,\n\t       const char *file, unsigned long line, isc_mem_t
      *mctx,\n\t       const dns_dyndbctx_t *dctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dyndb.c:243,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/dyndb.c:244,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/dyndb.c:246,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dyndb.c:247,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:248,1
    - Dst: dyndb_implementation_t*::destroy_func
      Src: /src/bind9/lib/dns/dyndb.c:251,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/dyndb.c:252,1
    - Dst: unload_library
      Src: /src/bind9/lib/dns/dyndb.c:253,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dyndb.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: dns_dyndb_cleanup
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - dyndb_implementation_t*::destroy_func
    - unload_library
    - LOCK
    - ISC_LIST_PREV
    - ENSURE
    - UNLOCK
    - isc_log_write
    - ISC_LIST_UNLINK
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: void
    signature: void dns_dyndb_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:265,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dyndb.c:267,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/dyndb.c:274,1
    - Dst: dns_zonemgr_attach
      Src: /src/bind9/lib/dns/dyndb.c:277,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dyndb.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - mctx
    - hashinit
    - view
    - zmgr
    - loopmgr
    - dctxp
    argTypes:
    - isc_mem_t*
    - void*
    - dns_view_t*
    - dns_zonemgr_t*
    - isc_loopmgr_t*
    - dns_dyndbctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 284
    functionName: dns_dyndb_createctx
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - dns_view_attach
    - isc_mem_get
    - dns_zonemgr_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_dyndb_createctx(isc_mem_t *mctx, const void *hashinit, dns_view_t
      *view,\n\t\t    dns_zonemgr_t *zmgr, isc_loopmgr_t *loopmgr,\n\t\t    dns_dyndbctx_t
      **dctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:290,1
    - Dst: DNS_DYNDBCTX_VALID
      Src: /src/bind9/lib/dns/dyndb.c:290,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/dyndb.c:298,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/lib/dns/dyndb.c:301,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dyndb.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dctxp
    argTypes:
    - dns_dyndbctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 306
    functionName: dns_dyndb_destroyctx
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - isc_mem_putanddetach
    - DNS_DYNDBCTX_VALID
    - REQUIRE
    - dns_zonemgr_detach
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void dns_dyndb_destroyctx(dns_dyndbctx_t **dctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DNS_STATE_VALID
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_STATE_VALID(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 490
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: FAIL
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAIL(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: FAILC
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILC(code, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: FAILN
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILN(code, name, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - type
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: FAILNT
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILNT(code, name, type, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: FAILS
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILS(code, msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/update.c:211,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/update.c:215,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/update.c:216,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/update.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - callback
    - zone
    - level
    - fmt
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: update_log
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 9
    functionsReached:
    - va_start
    - va_end
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void update_log(dns_update_log_t *callback, dns_zone_t *zone, int
      level,\n\t   const char *fmt, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:239,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:240,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/update.c:245,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:246,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/update.c:248,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tuple
    - db
    - ver
    - diff
    argTypes:
    - dns_difftuple_t**
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 261
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 5
    functionsReached:
    - dns_diff_appendminimal
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    - dns_diff_apply
    - dns_diff_init
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t
      *ver,\n\t     dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/update.c:268,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/update.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - db
    - ver
    - diff
    - op
    - name
    - ttl
    - rdata
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - dns_diffop_t
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: update_one_rr
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 3
    functionsReached:
    - dns_difftuple_create
    - do_one_tuple
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t
      *diff,\n\t      dns_diffop_t op, dns_name_t *name, dns_ttl_t ttl,\n\t      dns_rdata_t
      *rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - rdataset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 331
    functionName: foreach_node_rr_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t foreach_node_rr_action(void *data, dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:347,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/update.c:355,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/update.c:363,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:367,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/update.c:372,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - action
    - action_data
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - rrset_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 378
    functionName: foreach_rrset
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 4
    functionsReached:
    - dns_db_findnode
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t foreach_rrset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t      rrset_func *action, void *action_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/update.c:363,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 371
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/dns/update.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - rr_action
    - rr_action_data
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - rr_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 395
    functionName: foreach_node_rr
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t foreach_node_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t\trr_func *rr_action, void *rr_action_data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: foreach_node_rr
      Src: /src/bind9/lib/dns/update.c:415,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/update.c:423,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:425,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:434,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:435,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:447,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:458,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:460,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 7
    argNames:
    - db
    - ver
    - name
    - type
    - covers
    - rr_action
    - rr_action_data
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - rr_func*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 463
    functionName: foreach_rr
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 7
    functionsReached:
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_findnsec3node
    - foreach_node_rr
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t foreach_rr(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t   dns_rdatatype_t type, dns_rdatatype_t covers, rr_func *rr_action,\n\t
      \  void *rr_action_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:482,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: rrset_exists_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rrset_exists_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rr
      Src: /src/bind9/lib/dns/update.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - db
    - ver
    - name
    - type
    - covers
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 518
    functionName: rrset_exists
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 4
    functionsReached:
    - foreach_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rrset_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t     dns_rdatatype_t type, dns_rdatatype_t covers, bool *exists)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/update.c:531,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:532,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/update.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - type
    - visible
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 557
    functionName: rrset_visible
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_init
    - dns_fixedname_name
    - dns_db_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rrset_visible(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t      dns_rdatatype_t type, bool *visible)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:565,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: name_exists_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t name_exists_action(void *data, dns_rdataset_t *rrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/dns/update.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - ver
    - name
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: name_exists
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 2
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t name_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t    bool *exists)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/update.c:604,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/update.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 614
    functionName: temp_order
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    - dns_rdata_casecompare
    linkageType: ''
    returnType: int
    signature: int temp_order(const void *av, const void *bv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:643,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: true_p
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool true_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: rrsig_p
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool rrsig_p(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 672
    functionName: delete_if_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t delete_if_action(void *data, rr_t *rr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rr
      Src: /src/bind9/lib/dns/update.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - predicate
    - db
    - ver
    - name
    - type
    - covers
    - update_rr
    - diff
    argTypes:
    - rr_predicate*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - dns_rdata_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 693
    functionName: delete_if
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 3
    functionsReached:
    - foreach_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_if(rr_predicate *predicate, dns_db_t *db, dns_dbversion_t
      *ver,\n\t  dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers,\n\t
      \ dns_rdata_t *update_rr, dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/update.c:709,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/update.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - dns_diff_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: namelist_append_name
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_diff_append
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: void namelist_append_name(dns_diff_t *list, dns_name_t *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/update.c:722,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:724,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/update.c:724,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/update.c:726,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/update.c:727,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:730,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/update.c:730,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:731,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/update.c:732,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:735,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/update.c:742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - db
    - name
    - affected
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 745
    functionName: namelist_append_subdomain
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    - namelist_append_name
    - dns_fixedname_initname
    - dns_dbiterator_next
    - CHECK
    - dns_dbiterator_seek
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t namelist_append_subdomain(dns_db_t *db, dns_name_t *name,\n\t\t\t
      \ dns_diff_t *affected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: is_non_nsec_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t is_non_nsec_action(void *data, dns_rdataset_t *rrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/dns/update.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - ver
    - name
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 778
    functionName: non_nsec_rrset_exists
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - foreach_rrset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t non_nsec_rrset_exists(dns_db_t *db, dns_dbversion_t *ver,
      dns_name_t *name,\n\t\t      bool *exists)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/update.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 790
    functionName: name_order
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    linkageType: ''
    returnType: int
    signature: int name_order(const void *av, const void *bv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:796,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/update.c:796,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:799,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:800,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:803,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/update.c:804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: uniqify_name_list
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - CHECK
    - dns_diff_sort
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t uniqify_name_list(dns_diff_t *list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/update.c:816,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:817,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/update.c:820,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:824,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:834,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/update.c:836,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:850,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:858,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 6
    argNames:
    - db
    - ver
    - name
    - flag
    - cut
    - unsecure
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 861
    functionName: is_active
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 8
    functionsReached:
    - dns_fixedname_init
    - SET_IF_NOT_NULL
    - dns_fixedname_name
    - dns_db_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t is_active(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name, bool *flag,\n\t  bool *cut, bool *unsecure)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/update.c:877,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:879,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/update.c:879,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:881,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/update.c:881,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/update.c:886,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/update.c:888,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:895,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/update.c:895,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:897,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/update.c:897,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:901,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:907,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/update.c:907,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:908,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:916,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/update.c:916,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:918,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:918,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/update.c:923,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:924,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:931,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/update.c:942,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 7
    argNames:
    - log
    - zone
    - db
    - ver
    - oldname
    - newname
    - forward
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 946
    functionName: next_active
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_last
    - dns_db_find
    - dns_fixedname_initname
    - dns_dbiterator_pause
    - dns_dbiterator_next
    - dns_dbiterator_prev
    - update_log
    - dns_name_equal
    - dns_dbiterator_first
    - dns_dbiterator_seek
    - CHECK
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - rrset_exists
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t next_active(dns_update_log_t *log, dns_zone_t *zone,
      dns_db_t *db,\n\t    dns_dbversion_t *ver, dns_name_t *oldname, dns_name_t *newname,\n\t
      \   bool forward)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/update.c:964,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:969,1
    - Dst: next_active
      Src: /src/bind9/lib/dns/update.c:969,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:974,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:974,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/update.c:975,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:976,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/update.c:976,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:977,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:982,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:982,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/update.c:987,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:989,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/update.c:989,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:990,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 7
    argNames:
    - log
    - zone
    - db
    - ver
    - name
    - nsecttl
    - diff
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_ttl_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 997
    functionName: add_nsec
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_db_findnode
    - next_active
    - dns_difftuple_create
    - do_one_tuple
    - dns_fixedname_initname
    - INSIST
    - delete_if
    - CHECK
    - dns_db_detachnode
    - dns_nsec_buildrdata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_nsec(dns_update_log_t *log, dns_zone_t *zone, dns_db_t
      *db,\n\t dns_dbversion_t *ver, dns_name_t *name, dns_ttl_t nsecttl,\n\t dns_diff_t
      *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/update.c:1013,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/update.c:1013,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/update.c:1014,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1016,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/update.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - db
    - ver
    - name
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1019
    functionName: add_placeholder_nsec
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_class
    - dns_difftuple_create
    - do_one_tuple
    - CHECK
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_placeholder_nsec(dns_db_t *db, dns_dbversion_t *ver,
      dns_name_t *name,\n\t\t     dns_diff_t *diff)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/update.c:1027,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/update.c:1032,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/update.c:1034,1
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/update.c:1035,1
    - Dst: dns_zone_getkeystores
      Src: /src/bind9/lib/dns/update.c:1036,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/update.c:1038,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/update.c:1039,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/update.c:1039,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/update.c:1042,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1052,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:1053,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/lib/dns/update.c:1059,1
    - Dst: dst_key_setinactive
      Src: /src/bind9/lib/dns/update.c:1060,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1067,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:1068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - zone
    - mctx
    - maxkeys
    - keys
    - nkeys
    argTypes:
    - dns_zone_t*
    - isc_mem_t*
    - unsigned int
    - dst_key_t**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1021
    functionDepth: 4
    functionLinenumber: 1021
    functionLinenumberEnd: 1073
    functionName: find_zone_keys
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_unlock_keyfiles
    - dns_zone_lock_keyfiles
    - dst_key_setinactive
    - dns_dnsseckey_destroy
    - dns_zone_getkasp
    - dns_zone_getkeystores
    - isc_stdtime_now
    - dns_zone_getorigin
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - dns_dnssec_findmatchingkeys
    - dns_dnssec_keyactive
    - dns_zone_getkeydirectory
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_zone_keys(dns_zone_t *zone, isc_mem_t *mctx, unsigned
      int maxkeys,\n\t       dst_key_t **keys, unsigned int *nkeys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1052,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:1053,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/lib/dns/update.c:1059,1
    - Dst: dst_key_setinactive
      Src: /src/bind9/lib/dns/update.c:1060,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1067,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:1068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1069
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 176
    functionsReached:
    - dns_dnsseckey_destroy
    - dns_dnssec_keyactive
    - dst_key_setinactive
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, k, link)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/update.c:1085,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/update.c:1088,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/update.c:1099,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:1102,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/update.c:1103,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1107,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/update.c:1107,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1109,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:1109,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1111,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:1111,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1113,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1129,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1132,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/update.c:1146,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1148,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/update.c:1152,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1154,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1159,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1162,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1166,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/update.c:1180,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/update.c:1188,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/update.c:1194,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1195,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1196,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1202,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1203,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1206,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/update.c:1215,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1220,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/update.c:1222,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1224,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1226,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/update.c:1226,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1229,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/update.c:1229,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1236,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1236,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/update.c:1238,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/update.c:1239,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/update.c:1243,1
    - Dst: ID
      Src: /src/bind9/lib/dns/update.c:1244,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/update.c:1245,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1250,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/update.c:1257,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1258,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1261,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 97
    argCount: 12
    argNames:
    - log
    - zone
    - db
    - ver
    - name
    - type
    - diff
    - keys
    - nkeys
    - now
    - inception
    - expire
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_diff_t*
    - dst_key_t**
    - unsigned int
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1078
    functionDepth: 4
    functionLinenumber: 1078
    functionLinenumberEnd: 1264
    functionName: add_sigs
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_sign
    - dns_db_findrdataset
    - dns_rdatatype_iskeymaterial
    - dns_rdataset_disassociate
    - dns_kasp_offlineksk
    - dst_key_have_ksk_and_zsk
    - KSK
    - dns_rdataset_init
    - dst_key_inactive
    - dns_rdata_reset
    - dst_key_is_signing
    - dns_db_findnode
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_dnssecsignstats_increment
    - ALG
    - ID
    - dns_skrbundle_getsig
    - dns_zone_getskrbundle
    - dst_key_isprivate
    - dst_key_getbool
    - update_one_rr
    - REVOKE
    - dns_zone_getdnssecsignstats
    - update_log
    - dns_zone_getkasp
    - isc_buffer_init
    - CHECK
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_sigs(dns_update_log_t *log, dns_zone_t *zone, dns_db_t
      *db,\n\t dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type,\n\t dns_diff_t
      *diff, dst_key_t **keys, unsigned int nkeys,\n\t isc_stdtime_t now, isc_stdtime_t
      inception, isc_stdtime_t expire)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1116
    functionName: REVOKE
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVOKE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1117
    functionName: KSK
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KSK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1118
    functionName: ID
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 358
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1119
    functionName: ALG
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:1280,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:1282,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:1289,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1292,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:1303,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/update.c:1304,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/update.c:1305,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/update.c:1308,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1310,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1311,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1320,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1330,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/update.c:1333,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1338,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1342,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - db
    - ver
    - name
    - diff
    - keys
    - nkeys
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_diff_t*
    - dst_key_t**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1345
    functionName: del_keysigs
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_findnode
    - RUNTIME_CHECK
    - dst_key_isprivate
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdata_reset
    - dst_key_id
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - update_one_rr
    - dns_rdataset_init
    - dst_key_inactive
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t del_keysigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t    dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:1303,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/update.c:1304,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/update.c:1305,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/update.c:1308,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1310,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1311,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1320,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1330,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/update.c:1333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1337
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dst_key_isprivate
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dst_key_id
    - update_one_rr
    - dns_rdata_reset
    - dst_key_inactive
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:1358,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/update.c:1367,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/update.c:1377,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1379,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1390,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1398,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/update.c:1405,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 13
    argNames:
    - log
    - zone
    - db
    - ver
    - name
    - cut
    - diff
    - keys
    - nkeys
    - now
    - inception
    - expire
    - sigs
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool
    - dns_diff_t*
    - dst_key_t**
    - unsigned int
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1411
    functionName: add_exposed_sigs
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - add_sigs
    - dns_db_findnode
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    - rrset_exists
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_exposed_sigs(dns_update_log_t *log, dns_zone_t *zone,
      dns_db_t *db,\n\t\t dns_dbversion_t *ver, dns_name_t *name, bool cut,\n\t\t
      dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys,\n\t\t isc_stdtime_t
      now, isc_stdtime_t inception,\n\t\t isc_stdtime_t expire, unsigned int *sigs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/update.c:1377,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1379,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1390,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1404
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - add_sigs
    - dns_rdataset_disassociate
    - rrset_exists
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_update_signaturesinc
      Src: /src/bind9/lib/dns/update.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - log
    - zone
    - db
    - oldver
    - newver
    - diff
    - sigvalidityinterval
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1424
    functionDepth: 1
    functionLinenumber: 1424
    functionLinenumberEnd: 1430
    functionName: dns_update_signatures
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached:
    - dns_update_signaturesinc
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_update_signatures(dns_update_log_t *log, dns_zone_t
      *zone, dns_db_t *db,\n\t\t      dns_dbversion_t *oldver, dns_dbversion_t *newver,\n\t\t
      \     dns_diff_t *diff, uint32_t sigvalidityinterval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/dns/update.c:1461,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/update.c:1462,1
    - Dst: dns_kasp_sigjitter
      Src: /src/bind9/lib/dns/update.c:1465,1
    - Dst: dns_kasp_sigvalidity
      Src: /src/bind9/lib/dns/update.c:1466,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1467,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/update.c:1476,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/update.c:1478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1457
    functionDepth: 4
    functionLinenumber: 1457
    functionLinenumberEnd: 1482
    functionName: dns__jitter_expire
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_getsigvalidityinterval
    - INSIST
    - dns_zone_getkasp
    - dns_kasp_sigjitter
    - dns_kasp_sigvalidity
    - isc_random_uniform
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns__jitter_expire(dns_zone_t *zone)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/dns/update.c:1500,1
    - Dst: dns_zone_getsignatures
      Src: /src/bind9/lib/dns/update.c:1502,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/update.c:1508,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1511,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1512,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1513,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1514,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1515,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1516,1
    - Dst: find_zone_keys
      Src: /src/bind9/lib/dns/update.c:1520,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1523,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1527,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/update.c:1533,1
    - Dst: dns__jitter_expire
      Src: /src/bind9/lib/dns/update.c:1536,1
    - Dst: dns_zone_getkeyvalidityinterval
      Src: /src/bind9/lib/dns/update.c:1538,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1549,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:1549,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/update.c:1549,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:1550,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1551,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:1551,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1554,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/update.c:1554,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:1555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1556,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/update.c:1556,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/update.c:1557,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1558,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1559,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1566,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/update.c:1566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/update.c:1573,1
    - Dst: DNS_STATE_VALID
      Src: /src/bind9/lib/dns/update.c:1573,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/update.c:1580,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:1589,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1592,1
    - Dst: del_keysigs
      Src: /src/bind9/lib/dns/update.c:1616,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1621,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1621,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1631,1
    - Dst: rrset_visible
      Src: /src/bind9/lib/dns/update.c:1631,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1635,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1643,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1643,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1654,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/update.c:1657,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1658,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1660,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1669,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1671,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1671,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1678,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1679,1
    - Dst: non_nsec_rrset_exists
      Src: /src/bind9/lib/dns/update.c:1679,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1682,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1682,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1687,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1687,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1693,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/dns/update.c:1693,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1700,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1700,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1710,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/update.c:1715,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1718,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/update.c:1718,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1723,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/update.c:1723,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1739,1
    - Dst: next_active
      Src: /src/bind9/lib/dns/update.c:1739,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:1741,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1749,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1754,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1754,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1761,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1761,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1767,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1767,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1769,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1769,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1781,1
    - Dst: namelist_append_subdomain
      Src: /src/bind9/lib/dns/update.c:1781,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1784,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1786,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1786,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1788,1
    - Dst: uniqify_name_list
      Src: /src/bind9/lib/dns/update.c:1788,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1801,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1805,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/update.c:1805,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1809,1
    - Dst: is_active
      Src: /src/bind9/lib/dns/update.c:1809,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1815,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1815,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1818,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1818,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1831,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/update.c:1831,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1832,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1832,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1836,1
    - Dst: add_placeholder_nsec
      Src: /src/bind9/lib/dns/update.c:1836,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1841,1
    - Dst: add_exposed_sigs
      Src: /src/bind9/lib/dns/update.c:1841,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1849,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1850,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1855,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1862,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1863,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1863,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1885,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/update.c:1885,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1896,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1897,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1898,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1901,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1901,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1908,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1910,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1910,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1915,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1915,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:1923,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1925,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1926,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1931,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1938,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1939,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1940,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1942,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1943,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1944,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1947,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1947,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1948,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1948,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1949,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1949,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1952,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1952,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1957,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1957,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:1960,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:1961,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1963,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/update.c:1963,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/update.c:1970,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/update.c:1981,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:1985,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1988,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1988,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1995,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1995,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2001,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:2001,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2003,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:2003,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2016,1
    - Dst: namelist_append_subdomain
      Src: /src/bind9/lib/dns/update.c:2016,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:2021,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/update.c:2023,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:2030,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2034,1
    - Dst: is_active
      Src: /src/bind9/lib/dns/update.c:2034,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2038,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:2038,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2041,1
    - Dst: dns_nsec3_delnsec3sx
      Src: /src/bind9/lib/dns/update.c:2041,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2045,1
    - Dst: add_exposed_sigs
      Src: /src/bind9/lib/dns/update.c:2045,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2051,1
    - Dst: dns_nsec3_addnsec3sx
      Src: /src/bind9/lib/dns/update.c:2051,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:2056,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:2057,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:2062,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:2070,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:2071,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:2072,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:2075,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:2075,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:2082,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2084,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:2084,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:2089,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:2089,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2097,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:2099,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:2100,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:2105,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:2109,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:2110,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:2111,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:2113,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:2114,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:2115,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:2118,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:2118,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:2119,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:2119,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:2120,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:2120,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2123,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:2128,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2131,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2132,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2133,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2135,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2136,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2137,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/update.c:2140,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/update.c:2146,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 351
    argCount: 8
    argNames:
    - log
    - zone
    - db
    - oldver
    - newver
    - diff
    - sigvalidityinterval
    - statep
    argTypes:
    - dns_update_log_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - uint32_t
    - dns_update_state_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 1484
    functionDepth: 5
    functionLinenumber: 1484
    functionLinenumberEnd: 2150
    functionName: dns_update_signaturesinc
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached:
    - uniqify_name_list
    - dns_private_chains
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdatatype_iskeymaterial
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - REQUIRE
    - ISC_LIST_APPENDLIST
    - dns_rdataset_init
    - dns_diff_init
    - rrset_visible
    - dns_rdata_tostruct
    - UNREACHABLE
    - ISC_LIST_HEAD
    - dns_db_findnode
    - isc_mem_put
    - dns_fixedname_initname
    - ISC_MIN
    - is_active
    - dns_nsec3_delnsec3sx
    - delete_if
    - isc_stdtime_now
    - name_exists
    - dns_db_origin
    - find_zone_keys
    - rrset_exists
    - ISC_LIST_NEXT
    - dns_diff_appendminimal
    - ISC_LIST_EMPTY
    - add_placeholder_nsec
    - next_active
    - ISC_LOG_DEBUG
    - INSIST
    - isc_mem_get
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - del_keysigs
    - add_sigs
    - non_nsec_rrset_exists
    - dns_nsec3_addnsec3sx
    - ISC_LIST_APPEND
    - namelist_append_subdomain
    - dns_zone_getprivatetype
    - namelist_append_name
    - dst_key_free
    - update_log
    - dns_zone_getkeyvalidityinterval
    - dns_name_equal
    - add_exposed_sigs
    - dns_zone_getsignatures
    - CHECK
    - dns_diff_sort
    - add_nsec
    - dns_db_detachnode
    - dns__jitter_expire
    - DNS_STATE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_update_signaturesinc(dns_update_log_t *log, dns_zone_t
      *zone, dns_db_t *db,\n\t\t\t dns_dbversion_t *oldver, dns_dbversion_t *newver,\n\t\t\t
      dns_diff_t *diff, uint32_t sigvalidityinterval,\n\t\t\t dns_update_state_t **statep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/bind9/lib/dns/update.c:2154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - when
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2160
    functionName: epoch_to_yyyymmdd
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - localtime_r
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t epoch_to_yyyymmdd(time_t when)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/update.c:2170,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/update.c:2173,1
    - Dst: epoch_to_yyyymmdd
      Src: /src/bind9/lib/dns/update.c:2174,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - serial
    - method
    argTypes:
    - uint32_t
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2185
    functionName: dns__update_soaserial
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - epoch_to_yyyymmdd
    - isc_stdtime_now
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns__update_soaserial(uint32_t serial, dns_updatemethod_t
      method)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns__update_soaserial
      Src: /src/bind9/lib/dns/update.c:2190,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/update.c:2197,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/update.c:2205,1
    - Dst: dns__update_soaserial
      Src: /src/bind9/lib/dns/update.c:2209,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2214,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:2217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - serial
    - method
    - used
    argTypes:
    - uint32_t
    - dns_updatemethod_t
    - dns_updatemethod_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2220
    functionName: dns_update_soaserial
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 14
    functionsReached:
    - SET_IF_NOT_NULL
    - UNREACHABLE
    - isc_serial_gt
    - dns__update_soaserial
    linkageType: ''
    returnType: uint32_t
    signature: "uint32_t dns_update_soaserial(uint32_t serial, dns_updatemethod_t
      method,\n\t\t     dns_updatemethod_t *used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: VALID_VALIDATOR
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_VALIDATOR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: NEEDNODATA
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDNODATA(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: NEEDNOQNAME
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDNOQNAME(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: NEEDNOWILDCARD
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDNOWILDCARD(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: FOUNDNODATA
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOUNDNODATA(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: FOUNDNOQNAME
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOUNDNOQNAME(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: FOUNDNOWILDCARD
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOUNDNOWILDCARD(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: FOUNDCLOSEST
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOUNDCLOSEST(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: FOUNDOPTOUT
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOUNDOPTOUT(val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: CANCELING
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CANCELING(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: CANCELED
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CANCELED(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: OFFLOADED
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OFFLOADED(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: COMPLETE
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPLETE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: NEGATIVE
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: NXDOMAIN
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NXDOMAIN(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: MAXVALIDATIONS
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAXVALIDATIONS(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: MAXVALIDATIONFAILS
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAXVALIDATIONFAILS(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:175,1
    - Dst: dns_rdataset_expire
      Src: /src/bind9/lib/dns/validator.c:176,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:178,1
    - Dst: dns_rdataset_expire
      Src: /src/bind9/lib/dns/validator.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: expire_rdatasets
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_expire
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void expire_rdatasets(dns_validator_t *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:194,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:195,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:197,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:198,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:200,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: disassociate_rdatasets
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void disassociate_rdatasets(dns_validator_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:211,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:211,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/validator.c:213,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/validator.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - val
    - where
    argTypes:
    - dns_validator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: markanswer
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - validator_log
    - dns_rdataset_settrust
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t markanswer(dns_validator_t *val, const char *where)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/validator.c:227,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/validator.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: marksecure
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 3
    functionsReached:
    - dns_rdataset_settrust
    linkageType: ''
    returnType: void
    signature: void marksecure(dns_validator_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPLETE
      Src: /src/bind9/lib/dns/validator.c:240,1
    - Dst: dns_ede_copy
      Src: /src/bind9/lib/dns/validator.c:247,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/validator.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 250
    functionName: validator_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - COMPLETE
    - dns_ede_copy
    linkageType: ''
    returnType: void
    signature: void validator_done(dns_validator_t *val, isc_result_t result)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:273,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:275,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:277,1
    - Dst: dns_ncache_getrdataset
      Src: /src/bind9/lib/dns/validator.c:279,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:289,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:292,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:295,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/validator.c:296,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:298,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/validator.c:306,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/validator.c:307,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/validator.c:308,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:308,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:309,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:311,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:313,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/validator.c:316,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/validator.c:317,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:318,1
    - Dst: isc_base32hexnp_decoderegion
      Src: /src/bind9/lib/dns/validator.c:319,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:321,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:326,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:327,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/validator.c:331,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/validator.c:334,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:337,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/validator.c:339,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:341,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:350,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:352,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:355,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:357,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:361,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 3
    argNames:
    - name
    - rdataset
    - dbresult
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 364
    functionName: isdelegation
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_nsec_typepresent
    - dns_ncache_getrdataset
    - dns_rdataset_current
    - dns_name_getlabel
    - isc_iterated_hash
    - memcmp
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - REQUIRE
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_fixedname_init
    - isc_base32hexnp_decoderegion
    - dns_nsec3_typepresent
    - INSIST
    - dns_fixedname_name
    - dns_name_downcase
    - dns_rdataset_clone
    - isc_buffer_init
    - isc_buffer_usedlength
    - isc_region_consume
    - dns_ncache_current
    linkageType: ''
    returnType: bool
    signature: "bool isdelegation(dns_name_t *name, dns_rdataset_t *rdataset,\n\t
      \    isc_result_t dbresult)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:311,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:313,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/validator.c:316,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/validator.c:317,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:318,1
    - Dst: isc_base32hexnp_decoderegion
      Src: /src/bind9/lib/dns/validator.c:319,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:321,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:326,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:327,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/validator.c:331,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/validator.c:334,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:337,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/validator.c:339,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:341,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:350,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:352,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:355,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:357,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:361,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 362
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - isc_base32hexnp_decoderegion
    - dns_rdataset_current
    - dns_nsec3_typepresent
    - dns_name_getlabel
    - isc_buffer_init
    - isc_iterated_hash
    - memcmp
    - dns_rdataset_disassociate
    - isc_buffer_usedlength
    - isc_region_consume
    - dns_ncache_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:326,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:327,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/validator.c:331,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/validator.c:334,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:337,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/validator.c:339,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:341,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:350,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:352,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:355,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:357,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 360
    functionName: (&set)
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_nsec3_typepresent
    - isc_iterated_hash
    - memcmp
    - dns_rdataset_disassociate
    - isc_buffer_usedlength
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&set)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: select_signing_key
      Src: /src/bind9/lib/dns/validator.c:374,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: resume_answer_with_key
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - select_signing_key
    - validate_async_run
    linkageType: ''
    returnType: void
    signature: void resume_answer_with_key(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resume_answer
      Src: /src/bind9/lib/dns/validator.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: resume_answer_with_key_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - resume_answer
    linkageType: ''
    returnType: void
    signature: void resume_answer_with_key_done(void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/validator.c:411,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/validator.c:414,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:416,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:417,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:420,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:420,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/validator.c:422,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:424,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:424,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:437,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:437,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:441,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:449,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:452,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:456,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:456,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:458,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:469,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:472,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:472,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:474,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/validator.c:481,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:482,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:483,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 484
    functionName: fetch_callback_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - dns_validator_detach
    - ISC_LOG_DEBUG
    - validator_log
    - dns_db_detach
    - validate_async_run
    - dns_resolver_freefresp
    - validate_async_done
    - dns_rdataset_isassociated
    - validate_helper_run
    - isc_result_totext
    - dns_rdataset_disassociate
    - dns_trust_totext
    - dns_db_detachnode
    - CANCELED
    - CANCELING
    - proveunsecure
    linkageType: ''
    returnType: void
    signature: void fetch_callback_dnskey(void *arg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/validator.c:507,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/validator.c:510,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:512,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:513,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:516,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:516,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/validator.c:518,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:520,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:520,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:533,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:533,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:535,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:537,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:547,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:547,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:549,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:550,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:553,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:553,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:555,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:569,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:578,1
    - Dst: isdelegation
      Src: /src/bind9/lib/dns/validator.c:582,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:590,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:599,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:602,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:602,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:604,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/validator.c:611,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:612,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:613,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 614
    functionName: fetch_callback_ds
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - dns_validator_detach
    - isdelegation
    - ISC_LOG_DEBUG
    - validator_log
    - dns_db_detach
    - validate_async_run
    - dns_resolver_freefresp
    - validate_async_done
    - dns_rdataset_isassociated
    - isc_result_totext
    - dns_rdataset_disassociate
    - dns_trust_totext
    - dns_db_detachnode
    - CANCELED
    - markanswer
    - CANCELING
    - proveunsecure
    linkageType: ''
    returnType: void
    signature: void fetch_callback_ds(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:629,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:629,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:634,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:634,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:636,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:636,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:637,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:642,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:645,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:648,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:648,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:650,1
    - Dst: expire_rdatasets
      Src: /src/bind9/lib/dns/validator.c:652,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:653,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:664,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:665,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:666,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 668
    functionName: validator_callback_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_validator_detach
    - create_fetch
    - expire_rdatasets
    - ISC_LOG_DEBUG
    - validator_log
    - validate_async_run
    - dns_validator_shutdown
    - isc_result_totext
    - validate_helper_run
    - validate_async_done
    - dns_trust_totext
    - CANCELED
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validator_callback_dnskey(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:683,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:683,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:688,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:688,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:692,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:692,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:696,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:698,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/validator.c:701,1
    - Dst: isdelegation
      Src: /src/bind9/lib/dns/validator.c:702,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:704,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:706,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:708,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:711,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:711,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:713,1
    - Dst: expire_rdatasets
      Src: /src/bind9/lib/dns/validator.c:715,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:716,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:726,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:727,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:728,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:729,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 675
    functionDepth: 5
    functionLinenumber: 675
    functionLinenumberEnd: 730
    functionName: validator_callback_ds
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_validator_detach
    - create_fetch
    - expire_rdatasets
    - ISC_LOG_DEBUG
    - validator_log
    - NEGATIVE
    - validate_async_run
    - dns_validator_shutdown
    - dns_fixedname_name
    - proveunsecure
    - isc_result_totext
    - validate_async_done
    - dns_trust_totext
    - CANCELED
    - markanswer
    - CANCELING
    - isdelegation
    linkageType: ''
    returnType: void
    signature: void validator_callback_ds(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:744,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:748,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:748,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:753,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:753,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:755,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:755,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:756,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:757,1
    - Dst: expire_rdatasets
      Src: /src/bind9/lib/dns/validator.c:760,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:762,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:762,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:764,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:769,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:770,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:771,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:772,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 773
    functionName: validator_callback_cname
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_validator_detach
    - expire_rdatasets
    - ISC_LOG_DEBUG
    - validator_log
    - dns_validator_shutdown
    - INSIST
    - isc_result_totext
    - validate_async_done
    - dns_trust_totext
    - CANCELED
    - CANCELING
    - proveunsecure
    linkageType: ''
    returnType: void
    signature: void validator_callback_cname(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:793,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:793,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:798,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:798,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:801,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:805,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:805,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:806,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:806,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:807,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:814,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:825,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:826,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:835,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:843,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:850,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:852,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:852,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:854,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:864,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:870,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:871,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:872,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:873,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 874
    functionName: validator_callback_nsec
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - NEEDNOQNAME
    - NEEDNODATA
    - dns_name_countlabels
    - dns_validator_detach
    - ISC_LOG_DEBUG
    - validator_log
    - dns_nsec_noexistnodata
    - dns_validator_shutdown
    - dns_fixedname_name
    - isc_result_totext
    - validate_async_done
    - validate_nx
    - FOUNDNODATA
    - CANCELED
    - FOUNDNOQNAME
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validator_callback_nsec(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:895,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:898,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/validator.c:899,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:916,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - val
    - name
    - type
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 919
    functionName: view_find
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - disassociate_rdatasets
    - dns_fixedname_initname
    - dns_view_find
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t view_find(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:932,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:942,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:942,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - val
    - name
    - type
    - rdataset
    - sigrdataset
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 949
    functionName: check_deadlock
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - validator_log
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: "bool check_deadlock(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t
      type,\n\t       dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:960,1
    - Dst: check_deadlock
      Src: /src/bind9/lib/dns/validator.c:962,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:963,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:963,1
    - Dst: validator_logcreate
      Src: /src/bind9/lib/dns/validator.c:976,1
    - Dst: dns_validator_ref
      Src: /src/bind9/lib/dns/validator.c:978,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/validator.c:979,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - val
    - name
    - type
    - callback
    - caller
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdatatype_t
    - isc_job_cb
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 988
    functionName: create_fetch
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_validator_detach
    - ISC_LOG_DEBUG
    - validator_log
    - disassociate_rdatasets
    - dns_resolver_createfetch
    - check_deadlock
    - validator_logcreate
    - dns_validator_ref
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_fetch(dns_validator_t *val, dns_name_t *name,
      dns_rdatatype_t type,\n\t     isc_job_cb callback, const char *caller)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1001,1
    - Dst: check_deadlock
      Src: /src/bind9/lib/dns/validator.c:1005,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1006,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1006,1
    - Dst: validator_logcreate
      Src: /src/bind9/lib/dns/validator.c:1015,1
    - Dst: dns_validator_create
      Src: /src/bind9/lib/dns/validator.c:1016,1
    - Dst: dns_validator_attach
      Src: /src/bind9/lib/dns/validator.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - val
    - name
    - type
    - rdataset
    - sigrdataset
    - cb
    - caller
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    - isc_job_cb
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1025
    functionName: create_validator
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - validator_log
    - dns_rdataset_isassociated
    - check_deadlock
    - validator_logcreate
    - dns_validator_attach
    - dns_validator_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_validator(dns_validator_t *val, dns_name_t *name,
      dns_rdatatype_t type,\n\t\t dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t\t
      isc_job_cb cb, const char *caller)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:1044,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1046,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:1048,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:1054,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1060,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1061,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/dns/validator.c:1065,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/validator.c:1070,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/validator.c:1071,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1075,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - val
    - rdataset
    argTypes:
    - dns_validator_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1087
    functionName: select_signing_key
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_iszonekey
    - dns_dnssec_keyfromrdata
    - dns_rdataset_next
    - dst_key_free
    - dns_rdataset_current
    - dst_region_computeid
    - dns_rdataset_first
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t select_signing_key(dns_validator_t *val, dns_rdataset_t
      *rdataset)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/validator.c:1106,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/validator.c:1127,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1145,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1145,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:1154,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1161,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:1162,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:1169,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1188,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1188,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:1190,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1195,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1198,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1200,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1201,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:1204,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:1212,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1238,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1241,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1243,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1244,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1092
    functionDepth: 3
    functionLinenumber: 1092
    functionLinenumberEnd: 1248
    functionName: seek_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - DNS_TRUST_ANSWER
    - create_fetch
    - ISC_LOG_DEBUG
    - validator_log
    - DNS_TRUST_PENDING
    - dns_rdataset_isassociated
    - validate_helper_run
    - dns_rdatatype_atparent
    - dns_name_fullcompare
    - create_validator
    - view_find
    - dns_trust_totext
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t seek_dnskey(dns_validator_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/validator.c:1257,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/validator.c:1258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1259
    functionName: compute_keytag
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dst_region_computeid
    - dns_rdata_toregion
    linkageType: ''
    returnType: dns_keytag_t
    signature: dns_keytag_t compute_keytag(dns_rdata_t *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/validator.c:1264,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/validator.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1273
    functionName: over_max_validations
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_counter_used
    - isc_counter_getlimit
    linkageType: ''
    returnType: bool
    signature: bool over_max_validations(dns_validator_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_increment
      Src: /src/bind9/lib/dns/validator.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1281
    functionName: consume_validation
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_counter_increment
    linkageType: ''
    returnType: void
    signature: void consume_validation(dns_validator_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/validator.c:1286,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/validator.c:1286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1294
    functionName: over_max_fails
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_counter_used
    - isc_counter_getlimit
    linkageType: ''
    returnType: bool
    signature: bool over_max_fails(dns_validator_t *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_increment
      Src: /src/bind9/lib/dns/validator.c:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 2
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: consume_validation_fail
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_counter_increment
    linkageType: ''
    returnType: void
    signature: void consume_validation_fail(dns_validator_t *val)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1325,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1326,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1327,1
    - Dst: compute_keytag
      Src: /src/bind9/lib/dns/validator.c:1328,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1334,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1335,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1336,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1340,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1354,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1364,1
    - Dst: dns_view_istrusted
      Src: /src/bind9/lib/dns/validator.c:1365,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1367,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1368,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1371,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1383,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1389,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1392,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1393,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1394,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1397,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1405,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1307
    functionDepth: 4
    functionLinenumber: 1307
    functionLinenumberEnd: 1413
    functionName: selfsigned_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - consume_validation
    - compute_keytag
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - consume_validation_fail
    - RUNTIME_CHECK
    - dns_dnssec_verify
    - dns_rdataset_current
    - dns_view_untrust
    - dns_name_equal
    - DNS_TRUST_PENDING
    - over_max_validations
    - over_max_fails
    - dns_view_istrusted
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t selfsigned_dnskey(dns_validator_t *val)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1325,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1326,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1327,1
    - Dst: compute_keytag
      Src: /src/bind9/lib/dns/validator.c:1328,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1334,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1335,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1336,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1340,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1354,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1364,1
    - Dst: dns_view_istrusted
      Src: /src/bind9/lib/dns/validator.c:1365,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1367,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1368,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1371,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1383,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1389,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1392,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1393,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1394,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1397,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1405,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1410
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - consume_validation
    - compute_keytag
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - consume_validation_fail
    - RUNTIME_CHECK
    - dns_dnssec_verify
    - dns_rdataset_current
    - dns_view_untrust
    - dns_name_equal
    - DNS_TRUST_PENDING
    - over_max_validations
    - over_max_fails
    - dns_view_istrusted
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1334,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1335,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1336,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1340,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1354,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1364,1
    - Dst: dns_view_istrusted
      Src: /src/bind9/lib/dns/validator.c:1365,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1367,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1368,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1371,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1383,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1389,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1392,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1393,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1394,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1397,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1405,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1409
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - consume_validation
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - consume_validation_fail
    - RUNTIME_CHECK
    - dns_dnssec_verify
    - dns_rdataset_current
    - dns_view_untrust
    - dns_name_equal
    - DNS_TRUST_PENDING
    - over_max_validations
    - over_max_fails
    - dns_view_istrusted
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (sigrdataset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:1433,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1434,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1438,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1449,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1454,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1457,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1459,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1459,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1461,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1464,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:1472,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:1473,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:1474,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/validator.c:1475,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:1488,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1495,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1498,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1499,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1503,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 4
    argNames:
    - val
    - key
    - rdata
    - keyid
    argTypes:
    - dns_validator_t*
    - dst_key_t*
    - dns_rdata_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1424
    functionDepth: 4
    functionLinenumber: 1424
    functionLinenumberEnd: 1507
    functionName: verify
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 27
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - consume_validation
    - consume_validation_fail
    - dns_dnssec_verify
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - validator_log
    - validator_addede
    - dns_name_equal
    - isc_result_totext
    - over_max_validations
    - dns_fixedname_name
    - over_max_fails
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verify(dns_validator_t *val, dst_key_t *key, dns_rdata_t
      *rdata,\n       uint16_t keyid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1538,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1539,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1547,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1547,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:1549,1
    - Dst: validate_answer_iter_done
      Src: /src/bind9/lib/dns/validator.c:1554,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1560,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1562
    functionName: validate_answer_iter_start
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - validator_log
    - validate_async_run
    - INSIST
    - validate_answer_iter_done
    - dns_rdataset_first
    - validator_cancel_finish
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_answer_iter_start(dns_validator_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1570,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1571,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:1577,1
    - Dst: validate_answer_iter_done
      Src: /src/bind9/lib/dns/validator.c:1581,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1586
    functionName: validate_answer_iter_next
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - validate_async_run
    - validate_answer_iter_done
    - validator_cancel_finish
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_answer_iter_next(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:1599,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1599,1
    - Dst: verify
      Src: /src/bind9/lib/dns/validator.c:1602,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1612,1
    - Dst: select_signing_key
      Src: /src/bind9/lib/dns/validator.c:1619,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1624,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1626,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1629,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1594
    functionDepth: 4
    functionLinenumber: 1594
    functionLinenumberEnd: 1630
    functionName: validate_answer_signing_key
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - select_signing_key
    - dst_key_free
    - verify
    - validate_async_run
    - INSIST
    - CANCELED
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_answer_signing_key(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1637,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1638,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:1642,1
    - Dst: validate_answer_finish
      Src: /src/bind9/lib/dns/validator.c:1646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1647
    functionName: validate_answer_signing_key_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validator_cancel_finish
    - validate_answer_finish
    - CANCELING
    - validate_helper_run
    linkageType: ''
    returnType: void
    signature: void validate_answer_signing_key_done(void *arg)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1655,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1656,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/validator.c:1661,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1663,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/validator.c:1665,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1668,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:1677,1
    - Dst: seek_dnskey
      Src: /src/bind9/lib/dns/validator.c:1691,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:1713,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1717,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1721,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1649
    functionDepth: 4
    functionLinenumber: 1649
    functionLinenumberEnd: 1722
    functionName: validate_answer_process
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - seek_dnskey
    - dns_resolver_algorithm_supported
    - validate_async_run
    - dns_rdataset_current
    - validate_async_done
    - validate_helper_run
    - isc_mem_get
    - validator_cancel_finish
    - dns_rdata_reset
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_answer_process(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/lib/dns/validator.c:1730,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1736,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1740,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1746,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1746,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1747,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1750,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1750,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1751,1
    - Dst: MAXVALIDATIONS
      Src: /src/bind9/lib/dns/validator.c:1754,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1755,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1755,1
    - Dst: MAXVALIDATIONFAILS
      Src: /src/bind9/lib/dns/validator.c:1757,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1758,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1758,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1762,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1763,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1766,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:1772,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1774,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1774,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1776,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1780,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1780,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:1782,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1783,1
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:1788,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1789,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1789,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1791,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1795,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1795,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1796,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1797,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1724
    functionDepth: 2
    functionLinenumber: 1724
    functionLinenumberEnd: 1798
    functionName: validate_answer_finish
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - NEEDNOQNAME
    - dst_key_free
    - ISC_LOG_DEBUG
    - validator_log
    - marksecure
    - validate_async_run
    - validate_async_done
    - isc_result_totext
    - dns_rdataset_disassociate
    - MAXVALIDATIONS
    - validate_nx
    - MAXVALIDATIONFAILS
    - dns_rdataset_trimttl
    linkageType: ''
    returnType: void
    signature: void validate_answer_finish(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1803,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1803,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1805,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1806,1
    - Dst: validate_extendederror
      Src: /src/bind9/lib/dns/validator.c:1811,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1814,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1816
    functionName: validate_answer_iter_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - ISC_LOG_DEBUG
    - validator_log
    - validate_async_done
    - isc_result_totext
    - validate_extendederror
    linkageType: ''
    returnType: void
    signature: void validate_answer_iter_done(dns_validator_t *val, isc_result_t result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_answer_iter_start
      Src: /src/bind9/lib/dns/validator.c:1823,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1818
    functionDepth: 2
    functionLinenumber: 1818
    functionLinenumberEnd: 1824
    functionName: resume_answer
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - validate_answer_iter_start
    linkageType: ''
    returnType: void
    signature: void resume_answer(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validate_answer_iter_start
      Src: /src/bind9/lib/dns/validator.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1831
    functionName: validate_answer
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validate_answer_iter_start
    linkageType: ''
    returnType: void
    signature: void validate_answer(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/validator.c:1835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - cb
    argTypes:
    - dns_validator_t*
    - isc_job_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1837
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1837
    functionName: validate_async_run
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 10
    functionsReached:
    - isc_async_run
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_async_run(dns_validator_t *val, isc_job_cb cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_helper_run
      Src: /src/bind9/lib/dns/validator.c:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - val
    - cb
    argTypes:
    - dns_validator_t*
    - isc_job_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1839
    functionDepth: 2
    functionLinenumber: 1839
    functionLinenumberEnd: 1844
    functionName: validate_helper_run
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 5
    functionsReached:
    - isc_helper_run
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_helper_run(dns_validator_t *val, isc_job_cb cb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1852,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1852,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:1854,1
    - Dst: validator_done
      Src: /src/bind9/lib/dns/validator.c:1862,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:1863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1846
    functionDepth: 4
    functionLinenumber: 1846
    functionLinenumberEnd: 1865
    functionName: validate_async_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 9
    functionsReached:
    - dns_validator_detach
    - validator_done
    - ISC_LOG_DEBUG
    - validator_log
    - proveunsecure
    linkageType: ''
    returnType: void
    signature: void validate_async_done(dns_validator_t *val, isc_result_t result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/validator.c:1878,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1881,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1882,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1883,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1888,1
    - Dst: verify
      Src: /src/bind9/lib/dns/validator.c:1897,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1904,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - val
    - keyrdata
    - keyid
    - algorithm
    argTypes:
    - dns_validator_t*
    - dns_rdata_t*
    - uint16_t
    - dns_secalg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1871
    functionDepth: 3
    functionLinenumber: 1871
    functionLinenumberEnd: 1908
    functionName: check_signer
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_keyfromrdata
    - verify
    - dst_key_free
    - RUNTIME_CHECK
    - dns_rdataset_current
    - DNS_RDATASET_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_signer(dns_validator_t *val, dns_rdata_t *keyrdata,
      uint16_t keyid,\n\t     dns_secalg_t algorithm)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:1927,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1934,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:1935,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:1940,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:1956,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:1973,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1974,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - val
    - tname
    - resp
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1923
    functionDepth: 3
    functionLinenumber: 1923
    functionLinenumberEnd: 1987
    functionName: get_dsset
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - DNS_TRUST_ANSWER
    - create_fetch
    - ISC_LOG_DEBUG
    - validator_log
    - DNS_TRUST_PENDING
    - disassociate_rdatasets
    - create_validator
    - view_find
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_dsset(dns_validator_t *val, dns_name_t *tname, isc_result_t
      *resp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:1997,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1998,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1998,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2004,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2004,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2006,1
    - Dst: validate_extendederror
      Src: /src/bind9/lib/dns/validator.c:2007,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2012,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2020,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:2023,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1989
    functionDepth: 5
    functionLinenumber: 1989
    functionLinenumberEnd: 2024
    functionName: validate_dnskey_dsset_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - validator_log
    - marksecure
    - validate_async_done
    - validate_extendederror
    - dns_rdataset_disassociate
    - markanswer
    linkageType: ''
    returnType: void
    signature: void validate_dnskey_dsset_done(dns_validator_t *val, isc_result_t
      result)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/validator.c:2036,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2037,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2038,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2039,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:2045,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:2076,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/validator.c:2090,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2093,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2093,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2101,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:2105,1
    - Dst: check_signer
      Src: /src/bind9/lib/dns/validator.c:2122,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2124,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2124,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2026
    functionDepth: 4
    functionLinenumber: 2026
    functionLinenumberEnd: 2131
    functionName: validate_dnskey_dsset
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_resolver_ds_digest_supported
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_resolver_algorithm_supported
    - validator_log
    - dns_rdataset_current
    - dns_dnssec_matchdskey
    - check_signer
    - dns_rdata_reset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_dnskey_dsset(dns_validator_t *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:2140,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2140,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2143,1
    - Dst: validate_dnskey_dsset
      Src: /src/bind9/lib/dns/validator.c:2148,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:2151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2136
    functionDepth: 5
    functionLinenumber: 2136
    functionLinenumberEnd: 2152
    functionName: validate_dnskey_dsset_next
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - validate_async_run
    - CANCELED
    - validate_dnskey_dsset
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_dnskey_dsset_next(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2160,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:2161,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:2176,1
    - Dst: validate_dnskey_dsset_done
      Src: /src/bind9/lib/dns/validator.c:2180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2154
    functionDepth: 6
    functionLinenumber: 2154
    functionLinenumberEnd: 2182
    functionName: validate_dnskey_dsset_next_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validator_cancel_finish
    - validate_dnskey_dsset_done
    - CANCELING
    - validate_helper_run
    linkageType: ''
    returnType: void
    signature: void validate_dnskey_dsset_next_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:2188,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2188,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2191,1
    - Dst: validate_dnskey_dsset
      Src: /src/bind9/lib/dns/validator.c:2196,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:2198,1
    - Dst: validate_dnskey_dsset_done
      Src: /src/bind9/lib/dns/validator.c:2204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2184
    functionDepth: 6
    functionLinenumber: 2184
    functionLinenumberEnd: 2205
    functionName: validate_dnskey_dsset_first
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validate_helper_run
    - validate_dnskey_dsset_done
    - dns_rdataset_first
    - CANCELED
    - validate_dnskey_dsset
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_dnskey_dsset_first(dns_validator_t *val)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:2214,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2214,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/validator.c:2224,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/validator.c:2226,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/validator.c:2229,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:2243,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2245,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2245,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2248,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2248,1
    - Dst: get_dsset
      Src: /src/bind9/lib/dns/validator.c:2258,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:2268,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2271,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/validator.c:2290,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2292,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2293,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2294,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:2296,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:2302,1
    - Dst: validate_dnskey_dsset_first
      Src: /src/bind9/lib/dns/validator.c:2319,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2325,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:2327,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2328
      start: 2207
    functionDepth: 7
    functionLinenumber: 2207
    functionLinenumberEnd: 2328
    functionName: validate_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_keynode_dsset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - get_dsset
    - markanswer
    - dns_rdata_tostruct
    - validator_log
    - dns_resolver_algorithm_supported
    - dns_keytable_find
    - dns_resolver_ds_digest_supported
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - validate_dnskey_dsset_first
    - INSIST
    - DNS_RDATASET_FOREACH
    - validate_async_done
    - CANCELED
    - dns_name_equal
    - dns_keynode_detach
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_dnskey(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2345,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2347,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2348,1
    - Dst: dns_message_firstname
      Src: /src/bind9/lib/dns/validator.c:2352,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/validator.c:2356,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2357,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:2358,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2360,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:2362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - val
    - namep
    - rdatasetp
    argTypes:
    - dns_validator_t*
    - dns_name_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2335
    functionDepth: 4
    functionLinenumber: 2335
    functionLinenumberEnd: 2366
    functionName: val_rdataset_first
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_message_currentname
    - ISC_LIST_HEAD
    - INSIST
    - dns_rdataset_first
    - REQUIRE
    - dns_message_firstname
    - dns_ncache_current
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t val_rdataset_first(dns_validator_t *val, dns_name_t **namep,\n\t\t
      \  dns_rdataset_t **rdatasetp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2375,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2379,1
    - Dst: dns_message_nextname
      Src: /src/bind9/lib/dns/validator.c:2382,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/validator.c:2385,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2387,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:2388,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2393,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2394,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:2396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - val
    - namep
    - rdatasetp
    argTypes:
    - dns_validator_t*
    - dns_name_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2368
    functionDepth: 4
    functionLinenumber: 2368
    functionLinenumberEnd: 2400
    functionName: val_rdataset_next
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_message_currentname
    - ISC_LIST_HEAD
    - dns_rdataset_next
    - dns_ncache_current
    - dns_message_nextname
    - INSIST
    - dns_rdataset_disassociate
    - REQUIRE
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t val_rdataset_next(dns_validator_t *val, dns_name_t **namep,\n\t\t
      \ dns_rdataset_t **rdatasetp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/validator.c:2419,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:2420,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2421,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2423,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2424,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2424,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:2429,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2430,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2430,1
    - Dst: val_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2440,1
    - Dst: val_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2442,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2451,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2451,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2452,1
    - Dst: FOUNDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2452,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2453,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2461,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2467,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2470,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2471,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2477,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2477,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2478,1
    - Dst: FOUNDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2478,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2479,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2488,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2494,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2497,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2498,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2506,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2507,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 65
    argCount: 3
    argNames:
    - val
    - type
    - zonename
    argTypes:
    - dns_validator_t*
    - dns_rdatatype_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2410
    functionDepth: 5
    functionLinenumber: 2410
    functionLinenumberEnd: 2510
    functionName: checkwildcard
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - FOUNDNODATA
    - dns_name_countlabels
    - NEEDNODATA
    - NEEDNOQNAME
    - ISC_LOG_DEBUG
    - validator_log
    - dns_nsec_noexistnodata
    - dns_fixedname_name
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - val_rdataset_next
    - val_rdataset_first
    - dns_name_format
    - dns_nsec3_noexistnodata
    - FOUNDNOWILDCARD
    - dns_rdataset_init
    - NEEDNOWILDCARD
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t checkwildcard(dns_validator_t *val, dns_rdatatype_t type,\n\t
      \     dns_name_t *zonename)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/validator.c:2528,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:2529,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2530,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2531,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2532,1
    - Dst: val_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2542,1
    - Dst: val_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2544,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2552,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2557,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2558,1
    - Dst: POST
      Src: /src/bind9/lib/dns/validator.c:2566,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2568,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2569,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2570,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2579,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2579,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:2582,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2582,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2584,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2584,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:2587,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2587,1
    - Dst: val_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2595,1
    - Dst: val_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2597,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2612,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2624,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2630,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2634,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2640,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2641,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2651,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2672,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2673,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2674,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/validator.c:2675,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/validator.c:2678,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2679,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2680,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2690,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:2690,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2691,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2691,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2691,1
    - Dst: checkwildcard
      Src: /src/bind9/lib/dns/validator.c:2693,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2695,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2696,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:2701,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2702,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 117
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2517
    functionDepth: 6
    functionLinenumber: 2517
    functionLinenumberEnd: 2705
    functionName: findnsec3proofs
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - NEEDNOQNAME
    - dns_rdataset_disassociate
    - FOUNDNODATA
    - FOUNDCLOSEST
    - dns_rdataset_init
    - dns_name_countlabels
    - dns_name_issubdomain
    - dns_fixedname_initname
    - validator_log
    - dns_rdataset_isassociated
    - dns_name_format
    - dns_name_copy
    - dns_name_concatenate
    - FOUNDNOQNAME
    - NEEDNODATA
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - val_rdataset_next
    - dns_nsec3_noexistnodata
    - NEEDNOWILDCARD
    - checkwildcard
    - val_rdataset_first
    - POST
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t findnsec3proofs(dns_validator_t *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:2733,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2737,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2741,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/validator.c:2742,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:2748,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - val
    - name
    - rdataset
    - sigrdataset
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2716
    functionDepth: 3
    functionLinenumber: 2716
    functionLinenumberEnd: 2757
    functionName: validate_neg_rrset
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_nsec_typepresent
    - dns_rdataset_current
    - dns_name_equal
    - create_validator
    - dns_rdataset_first
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t validate_neg_rrset(dns_validator_t *val, dns_name_t *name,\n\t\t
      \  dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_firstname
      Src: /src/bind9/lib/dns/validator.c:2769,1
    - Dst: dns_message_nextname
      Src: /src/bind9/lib/dns/validator.c:2775,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/validator.c:2780,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2782,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2786,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2790,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2796,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2798,1
    - Dst: validate_neg_rrset
      Src: /src/bind9/lib/dns/validator.c:2807,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - val
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2762
    functionDepth: 4
    functionLinenumber: 2762
    functionLinenumberEnd: 2818
    functionName: validate_authority
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_message_currentname
    - ISC_LIST_HEAD
    - validate_neg_rrset
    - dns_message_nextname
    - dns_message_firstname
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_authority(dns_validator_t *val, bool resume)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2829,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2831,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2835,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:2839,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2841,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:2843,1
    - Dst: dns_ncache_getsigrdataset
      Src: /src/bind9/lib/dns/validator.c:2849,1
    - Dst: validate_neg_rrset
      Src: /src/bind9/lib/dns/validator.c:2856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - val
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2823
    functionDepth: 4
    functionLinenumber: 2823
    functionLinenumberEnd: 2868
    functionName: validate_ncache
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_ncache_getsigrdataset
    - dns_rdataset_next
    - validate_neg_rrset
    - dns_fixedname_initname
    - disassociate_rdatasets
    - dns_rdataset_first
    - dns_ncache_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_ncache(dns_validator_t *val, bool resume)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2888,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2888,1
    - Dst: validate_ncache
      Src: /src/bind9/lib/dns/validator.c:2892,1
    - Dst: validate_authority
      Src: /src/bind9/lib/dns/validator.c:2894,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2905,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2905,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2905,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2906,1
    - Dst: findnsec3proofs
      Src: /src/bind9/lib/dns/validator.c:2907,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2909,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2909,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2911,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2916,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:2916,1
    - Dst: FOUNDOPTOUT
      Src: /src/bind9/lib/dns/validator.c:2916,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2918,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2918,1
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:2920,1
    - Dst: FOUNDOPTOUT
      Src: /src/bind9/lib/dns/validator.c:2922,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2923,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2924,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2926,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2926,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2929,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2932,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2932,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2934,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2938,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2938,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2942,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2942,1
    - Dst: findnsec3proofs
      Src: /src/bind9/lib/dns/validator.c:2943,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2945,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2945,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2947,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2955,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:2955,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2956,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2956,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2956,1
    - Dst: checkwildcard
      Src: /src/bind9/lib/dns/validator.c:2958,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2964,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2964,1
    - Dst: FOUNDOPTOUT
      Src: /src/bind9/lib/dns/validator.c:2964,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2965,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2965,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2965,1
    - Dst: FOUNDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2966,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:2966,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2971,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2971,1
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:2974,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:2985,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 70
    argCount: 2
    argNames:
    - val
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2883
    functionDepth: 7
    functionLinenumber: 2883
    functionLinenumberEnd: 2986
    functionName: validate_nx
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - NEEDNOQNAME
    - FOUNDNODATA
    - markanswer
    - FOUNDCLOSEST
    - FOUNDNOWILDCARD
    - dns_name_countlabels
    - validator_log
    - FOUNDNOQNAME
    - NEEDNODATA
    - FOUNDOPTOUT
    - ISC_LOG_DEBUG
    - marksecure
    - dns_fixedname_name
    - NEEDNOWILDCARD
    - proveunsecure
    - validate_ncache
    - checkwildcard
    - validate_authority
    - findnsec3proofs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_nx(dns_validator_t *val, bool resume)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2996,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2997,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:3000,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3001,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3010
      start: 2991
    functionDepth: 1
    functionLinenumber: 2991
    functionLinenumberEnd: 3010
    functionName: check_ds_private
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_next
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_rdataset_first
    linkageType: ''
    returnType: bool
    signature: bool check_ds_private(dns_rdataset_t *rdataset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:3032,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3033,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3034,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/validator.c:3060,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3068,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3070,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:3079,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:3081,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3105,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3106,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - val
    - name
    - dsrdataset
    - dnskeyset
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3016
    functionDepth: 2
    functionLinenumber: 3016
    functionLinenumberEnd: 3114
    functionName: check_ds_algs
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_resolver_ds_digest_supported
    - RUNTIME_CHECK
    - dns_resolver_algorithm_supported
    - validator_log
    - dns_rdataset_current
    - dns_dnssec_matchdskey
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool check_ds_algs(dns_validator_t *val, dns_name_t *name,\n\t      dns_rdataset_t
      *dsrdataset, dns_rdataset_t *dnskeyset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:3032,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3033,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3034,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/validator.c:3060,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3068,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3070,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:3079,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:3081,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3025
    functionDepth: 2
    functionLinenumber: 3025
    functionLinenumberEnd: 3087
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 4
    functionsReached:
    - dns_rdata_tostruct
    - dns_resolver_ds_digest_supported
    - RUNTIME_CHECK
    - dns_resolver_algorithm_supported
    - dns_rdataset_current
    - dns_dnssec_matchdskey
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (dsrdataset)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:3135,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:3136,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3138,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:3139,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/validator.c:3141,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3144,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3145,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3145,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:3148,1
    - Dst: check_ds_private
      Src: /src/bind9/lib/dns/validator.c:3159,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3160,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3162,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:3165,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3168,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:3169,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:3181,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3192,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3192,1
    - Dst: check_ds_algs
      Src: /src/bind9/lib/dns/validator.c:3198,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3199,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3200,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3203,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3213,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:3228,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:3244,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:3245,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3247,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3264,1
    - Dst: dns_view_findzonecut
      Src: /src/bind9/lib/dns/validator.c:3265,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:3268,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3270,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3281,1
    - Dst: isdelegation
      Src: /src/bind9/lib/dns/validator.c:3288,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3289,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3301,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:3308,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:3309,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3317,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3332,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:3343,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:3344,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3346,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 116
    argCount: 2
    argNames:
    - val
    - resp
    argTypes:
    - dns_validator_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3130
    functionDepth: 5
    functionLinenumber: 3130
    functionLinenumberEnd: 3368
    functionName: seek_ds
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_disassociate
    - view_find
    - isdelegation
    - markanswer
    - dns_name_countlabels
    - create_fetch
    - check_ds_private
    - dns_fixedname_initname
    - validator_log
    - dns_rdataset_isassociated
    - dns_name_format
    - dns_name_copy
    - DNS_TRUST_ANSWER
    - dns_view_findzonecut
    - ISC_LOG_DEBUG
    - create_validator
    - dns_rdataset_clone
    - dns_name_split
    - DNS_TRUST_PENDING
    - dns_name_equal
    - check_ds_algs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t seek_ds(dns_validator_t *val, isc_result_t *resp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:3392,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3395,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:3402,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3408,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/validator.c:3410,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/lib/dns/validator.c:3413,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3415,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3415,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3416,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3427,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3429,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3429,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:3440,1
    - Dst: check_ds_private
      Src: /src/bind9/lib/dns/validator.c:3448,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3449,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3451,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:3454,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3457,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:3458,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:3469,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3479,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3479,1
    - Dst: check_ds_algs
      Src: /src/bind9/lib/dns/validator.c:3485,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3486,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3488,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3489,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3492,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3503,1
    - Dst: seek_ds
      Src: /src/bind9/lib/dns/validator.c:3506,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3512,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3517,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3517,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:3518,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:3523,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 4
    argNames:
    - val
    - have_ds
    - have_dnskey
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3386
    functionDepth: 6
    functionLinenumber: 3386
    functionLinenumberEnd: 3526
    functionName: proveunsecure
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 6
    functionsReached:
    - dns_rdataset_disassociate
    - view_find
    - markanswer
    - dns_name_countlabels
    - create_fetch
    - check_ds_private
    - dns_fixedname_initname
    - validator_log
    - dns_rdataset_isassociated
    - disassociate_rdatasets
    - dns_name_format
    - dns_name_copy
    - dns_keytable_finddeepestmatch
    - ISC_LOG_DEBUG
    - INSIST
    - dns_fixedname_name
    - dns_rdataset_clone
    - dns_name_getlabelsequence
    - isc_result_totext
    - seek_ds
    - check_ds_algs
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t proveunsecure(dns_validator_t *val, bool have_ds, bool
      have_dnskey,\n\t      bool resume)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:3545,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:3545,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3550,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3550,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3557,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3557,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3560,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3560,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3561,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3561,1
    - Dst: selfsigned_dnskey
      Src: /src/bind9/lib/dns/validator.c:3563,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3568,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3571,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/validator.c:3574,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3581,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3581,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3582,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3582,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:3585,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3587,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3595,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3595,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:3606,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/validator.c:3607,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3611,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3611,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/validator.c:3615,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:3622,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/validator.c:3624,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:3628,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3629
      start: 3540
    functionDepth: 8
    functionLinenumber: 3540
    functionLinenumberEnd: 3629
    functionName: validator_start
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - selfsigned_dnskey
    - UNREACHABLE
    - ISC_LOG_DEBUG
    - validator_log
    - validate_async_run
    - NEGATIVE
    - NXDOMAIN
    - INSIST
    - dns_rdataset_isassociated
    - validate_async_done
    - validate_nx
    - CANCELED
    - CANCELING
    - proveunsecure
    linkageType: ''
    returnType: void
    signature: void validator_start(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3647,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/validator.c:3649,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/validator.c:3654,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3656,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/validator.c:3665,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/dns/validator.c:3672,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/validator.c:3674,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/validator.c:3675,1
    - Dst: dns_message_attach
      Src: /src/bind9/lib/dns/validator.c:3677,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3681,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3685,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3689,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3692,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3695,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3696,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3697,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3698,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/validator.c:3699,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/validator.c:3700,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/validator.c:3701,1
    - Dst: dns_validator_ref
      Src: /src/bind9/lib/dns/validator.c:3705,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3706,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 16
    argNames:
    - view
    - name
    - type
    - rdataset
    - sigrdataset
    - message
    - options
    - loop
    - cb
    - arg
    - nvalidations
    - nfails
    - qc
    - gqc
    - edectx
    - validatorp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_message_t*
    - unsigned int
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_counter_t*
    - isc_counter_t*
    - isc_counter_t*
    - isc_counter_t*
    - dns_edectx_t*
    - dns_validator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3712
      start: 3631
    functionDepth: 3
    functionLinenumber: 3631
    functionLinenumberEnd: 3712
    functionName: dns_validator_create
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - dns_view_attach
    - isc_tid
    - isc_loop_ref
    - validate_async_run
    - isc_mem_get
    - isc_refcount_init
    - dns_ede_init
    - dns_message_attach
    - REQUIRE
    - isc_stdtime_now
    - dns_fixedname_init
    - dns_view_getsecroots
    - isc_counter_attach
    - dns_validator_ref
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_validator_create(dns_view_t *view, dns_name_t *name,
      dns_rdatatype_t type,\n\t\t     dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t\t
      \    dns_message_t *message, unsigned int options,\n\t\t     isc_loop_t *loop,
      isc_job_cb cb, void *arg,\n\t\t     isc_counter_t *nvalidations, isc_counter_t
      *nfails,\n\t\t     isc_counter_t *qc, isc_counter_t *gqc,\n\t\t     dns_edectx_t
      *edectx, dns_validator_t **validatorp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3716,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3716,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3717,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3717,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3719,1
    - Dst: dns_validator_ref
      Src: /src/bind9/lib/dns/validator.c:3722,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3724
      start: 3714
    functionDepth: 3
    functionLinenumber: 3714
    functionLinenumberEnd: 3724
    functionName: dns_validator_send
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - validate_async_run
    - VALID_VALIDATOR
    - INSIST
    - REQUIRE
    - dns_validator_ref
    linkageType: ''
    returnType: void
    signature: void dns_validator_send(dns_validator_t *val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3728,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3728,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:3730,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:3730,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/validator.c:3732,1
    - Dst: dns_validator_cancel
      Src: /src/bind9/lib/dns/validator.c:3735,1
    - Dst: COMPLETE
      Src: /src/bind9/lib/dns/validator.c:3737,1
    - Dst: validator_done
      Src: /src/bind9/lib/dns/validator.c:3739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - validator
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3726
    functionDepth: 4
    functionLinenumber: 3726
    functionLinenumberEnd: 3743
    functionName: validator_cancel_finish
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 5
    functionsReached:
    - validator_done
    - ISC_LOG_DEBUG
    - validator_log
    - dns_validator_cancel
    - CANCELED
    - COMPLETE
    - dns_resolver_cancelfetch
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validator_cancel_finish(dns_validator_t *validator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3747,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3747,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3748,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3748,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3750,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3750,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/validator.c:3752,1
    - Dst: OFFLOADED
      Src: /src/bind9/lib/dns/validator.c:3754,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:3755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - validator
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3745
    functionDepth: 5
    functionLinenumber: 3745
    functionLinenumberEnd: 3757
    functionName: dns_validator_cancel
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - validator_cancel_finish
    - isc_tid
    - ISC_LOG_DEBUG
    - validator_log
    - OFFLOADED
    - VALID_VALIDATOR
    - REQUIRE
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void dns_validator_cancel(dns_validator_t *validator)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3763,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3764,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:3768,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/validator.c:3771,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:3773,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3774,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3775,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/validator.c:3779,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/validator.c:3782,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3785,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3788,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3791,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3794,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/dns/validator.c:3797,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/validator.c:3799,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/validator.c:3800,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/validator.c:3802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3803
      start: 3759
    functionDepth: 4
    functionLinenumber: 3759
    functionLinenumberEnd: 3803
    functionName: destroy_validator
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_view_detach
    - dst_key_free
    - isc_counter_detach
    - dns_rdataset_isassociated
    - disassociate_rdatasets
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_ede_invalidate
    - isc_loop_detach
    - isc_mem_put
    - dns_message_detach
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: void destroy_validator(dns_validator_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3807,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3807,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3808,1
    - Dst: COMPLETE
      Src: /src/bind9/lib/dns/validator.c:3808,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3809,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3809,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3811,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3805
    functionDepth: 1
    functionLinenumber: 3805
    functionLinenumberEnd: 3821
    functionName: dns_validator_shutdown
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 4
    functionsReached:
    - isc_tid
    - ISC_LOG_DEBUG
    - validator_log
    - VALID_VALIDATOR
    - REQUIRE
    - COMPLETE
    linkageType: ''
    returnType: void
    signature: void dns_validator_shutdown(dns_validator_t *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/validator.c:3831,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/validator.c:3845,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/validator.c:3846,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3859,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/validator.c:3860,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/validator.c:3861,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/validator.c:3865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - val
    - category
    - module
    - level
    - fmt
    - ap
    argTypes:
    - dns_validator_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3869
      start: 3823
    functionDepth: 2
    functionLinenumber: 3823
    functionLinenumberEnd: 3869
    functionName: validator_logv
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - vsnprintf
    - strcmp
    - dns_rdatatype_format
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: "void validator_logv(dns_validator_t *val, isc_logcategory_t category,\n\t
      \      isc_logmodule_t module, int level, const char *fmt, va_list ap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/validator.c:3875,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/validator.c:3879,1
    - Dst: validator_logv
      Src: /src/bind9/lib/dns/validator.c:3881,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/validator.c:3883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - val
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3884
      start: 3871
    functionDepth: 3
    functionLinenumber: 3871
    functionLinenumberEnd: 3884
    functionName: validator_log
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 30
    functionsReached:
    - va_start
    - va_end
    - validator_logv
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void validator_log(void *val, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3893,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/validator.c:3894,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3895,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - val
    - name
    - type
    - caller
    - operation
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdatatype_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3897
      start: 3886
    functionDepth: 4
    functionLinenumber: 3886
    functionLinenumberEnd: 3897
    functionName: validator_logcreate
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_name_format
    - validator_log
    - dns_rdatatype_format
    - ISC_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: "void validator_logcreate(dns_validator_t *val, dns_name_t *name,\n\t\t
      \   dns_rdatatype_t type, const char *caller,\n\t\t    const char *operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3901,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3901,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:3907,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/validator.c:3910,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:3911,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/validator.c:3914,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:3915,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/validator.c:3916,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:3917,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/validator.c:3919,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - val
    - code
    - extra
    argTypes:
    - dns_validator_t*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3899
    functionDepth: 3
    functionLinenumber: 3899
    functionLinenumberEnd: 3920
    functionName: validator_addede
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - dns_name_totext
    - isc_buffer_putstr
    - VALID_VALIDATOR
    - isc_buffer_init
    - REQUIRE
    - isc_buffer_putuint8
    - dns_ede_add
    - dns_rdatatype_totext
    linkageType: ''
    returnType: void
    signature: void validator_addede(dns_validator_t *val, uint16_t code, const char
      *extra)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3928,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3928,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:3930,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/validator.c:3937,1
    - Dst: dns_secalg_totext
      Src: /src/bind9/lib/dns/validator.c:3938,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:3939,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:3940,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/validator.c:3944,1
    - Dst: dns_dsdigest_totext
      Src: /src/bind9/lib/dns/validator.c:3945,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:3946,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:3947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3922
    functionDepth: 4
    functionLinenumber: 3922
    functionLinenumberEnd: 3949
    functionName: validate_extendederror
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - isc_buffer_clear
    - dns_secalg_totext
    - validator_addede
    - VALID_VALIDATOR
    - isc_buffer_init
    - REQUIRE
    - isc_buffer_putuint8
    - dns_dsdigest_totext
    linkageType: ''
    returnType: void
    signature: void validate_extendederror(dns_validator_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: CASESET
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASESET(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: CASEFULLYLOWER
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASEFULLYLOWER(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: NONEXISTENT
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NONEXISTENT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: NEGATIVE
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: peek_uint16
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: peek_uint16(buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: get_uint16
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_uint16(buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: put_uint16
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_uint16(buffer, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: compare_rdata
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    linkageType: ''
    returnType: int
    signature: int compare_rdata(const void *p1, const void *p2)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:171,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:172,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:174,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:178,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdataslab.c:186,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:191,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:195,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdataslab.c:212,1
    - Dst: ISC_OVERFLOW_MUL
      Src: /src/bind9/lib/dns/rdataslab.c:212,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:213,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataslab.c:218,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:223,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataslab.c:224,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataslab.c:225,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:226,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataslab.c:227,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/rdataslab.c:244,1
    - Dst: compare_rdata
      Src: /src/bind9/lib/dns/rdataslab.c:257,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/rdataslab.c:286,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:299,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:304,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:314,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:316,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:327,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:335,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - maxrrperset
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 337
    functionName: makeslab
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - memmove
    - dns_rdataset_next
    - dns_rdataset_getheader
    - RUNTIME_CHECK
    - put_uint16
    - ISC_OVERFLOW_MUL
    - dns_rdataset_current
    - INSIST
    - dns_rdatatype_issingleton
    - isc_mem_get
    - qsort
    - compare_rdata
    - dns_rdataset_first
    - isc_mem_put
    - dns_rdataset_count
    - dns_rdataslab_size
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t makeslab(dns_rdataset_t *rdataset, isc_mem_t *mctx, isc_region_t
      *region,\n\t uint32_t maxrrperset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeslab
      Src: /src/bind9/lib/dns/rdataslab.c:344,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdataslab.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - maxrrperset
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: dns_rdataslab_fromrdataset
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_VALUE
    - makeslab
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset,
      isc_mem_t *mctx,\n\t\t\t   isc_region_t *region, uint32_t maxrrperset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:362,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:366,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:369,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 377
    functionName: dns_rdataslab_size
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 1
    functionsReached:
    - get_uint16
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdataslab_size(dns_slabheader_t *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:381,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 387
    functionName: dns_rdataslab_count
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - get_uint16
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdataslab_count(dns_slabheader_t *header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:401,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdataslab.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - current
    - rdclass
    - type
    - rdata
    argTypes:
    - unsigned char**
    - dns_rdataclass_t
    - dns_rdatatype_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 418
    functionName: rdata_from_slabitem
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - get_uint16
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: "void rdata_from_slabitem(unsigned char **current, dns_rdataclass_t
      rdclass,\n\t\t    dns_rdatatype_t type, dns_rdata_t *rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:432,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - current
    - type
    - rdata
    argTypes:
    - unsigned char**
    - dns_rdatatype_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 437
    functionName: rdata_to_slabitem
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - memmove
    - put_uint16
    linkageType: ''
    returnType: void
    signature: "void rdata_to_slabitem(unsigned char **current, dns_rdatatype_t type,\n\t\t
      \ dns_rdata_t *rdata)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:456,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:457,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:460,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:463,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:465,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataslab.c:481,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataslab.c:484,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:485,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataslab.c:493,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataslab.c:496,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:497,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:509,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/rdataslab.c:561,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:572,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:574,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:578,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:596,1
    - Dst: rdata_to_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:601,1
    - Dst: rdata_to_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:607,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:611,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataslab.c:616,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataslab.c:617,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 91
    argCount: 8
    argNames:
    - oheader
    - nheader
    - mctx
    - rdclass
    - type
    - flags
    - maxrrperset
    - theaderp
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    - isc_mem_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - uint32_t
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 620
    functionName: dns_rdataslab_merge
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_compare
    - memmove
    - isc_mem_cget
    - put_uint16
    - INSIST
    - dns_rdatatype_issingleton
    - isc_mem_get
    - isc_mem_cput
    - REQUIRE
    - rdata_to_slabitem
    - get_uint16
    - rdata_from_slabitem
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataslab_merge(dns_slabheader_t *oheader, dns_slabheader_t
      *nheader,\n\t\t    isc_mem_t *mctx, dns_rdataclass_t rdclass,\n\t\t    dns_rdatatype_t
      type, unsigned int flags,\n\t\t    uint32_t maxrrperset, dns_slabheader_t **theaderp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:634,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:635,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:638,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:641,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:643,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataslab.c:646,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataslab.c:649,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:650,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataslab.c:663,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataslab.c:668,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:669,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:674,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:728,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:729,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:735,1
    - Dst: rdata_to_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:742,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:746,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataslab.c:751,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataslab.c:752,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 7
    argNames:
    - oheader
    - sheader
    - mctx
    - rdclass
    - type
    - flags
    - theaderp
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    - isc_mem_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 755
    functionName: dns_rdataslab_subtract
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_compare
    - memmove
    - isc_mem_cget
    - put_uint16
    - INSIST
    - isc_mem_get
    - isc_mem_cput
    - REQUIRE
    - rdata_to_slabitem
    - get_uint16
    - rdata_from_slabitem
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataslab_subtract(dns_slabheader_t *oheader, dns_slabheader_t
      *sheader,\n\t\t       isc_mem_t *mctx, dns_rdataclass_t rdclass,\n\t\t       dns_rdatatype_t
      type, unsigned int flags,\n\t\t       dns_slabheader_t **theaderp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:763,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:766,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:775,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:776,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdataslab.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - slab1
    - slab2
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 788
    functionName: dns_rdataslab_equal
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - memcmp
    - get_uint16
    linkageType: ''
    returnType: bool
    signature: bool dns_rdataslab_equal(dns_slabheader_t *slab1, dns_slabheader_t
      *slab2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:797,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:800,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:812,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:813,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - slab1
    - slab2
    - rdclass
    - type
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 819
    functionName: dns_rdataslab_equalx
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - get_uint16
    - rdata_from_slabitem
    linkageType: ''
    returnType: bool
    signature: "bool dns_rdataslab_equalx(dns_slabheader_t *slab1, dns_slabheader_t
      *slab2,\n\t\t     dns_rdataclass_t rdclass, dns_rdatatype_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 824
    functionName: dns_slabheader_raw
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      dns_slabheader_raw(dns_slabheader_t *header)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/rdataslab.c:835,1
    - Dst: isupper
      Src: /src/bind9/lib/dns/rdataslab.c:838,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/rdataslab.c:843,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/rdataslab.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - header
    - name
    argTypes:
    - dns_slabheader_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 848
    functionName: dns_slabheader_setownercase
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - DNS_SLABHEADER_SETATTR
    - isupper
    - memset
    linkageType: ''
    returnType: void
    signature: void dns_slabheader_setownercase(dns_slabheader_t *header, const dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASESET
      Src: /src/bind9/lib/dns/rdataslab.c:852,1
    - Dst: DNS_SLABHEADER_GETATTR
      Src: /src/bind9/lib/dns/rdataslab.c:853,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/rdataslab.c:856,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: dns_slabheader_copycase
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - CASESET
    - memmove
    - DNS_SLABHEADER_GETATTR
    - DNS_SLABHEADER_SETATTR
    linkageType: ''
    returnType: void
    signature: void dns_slabheader_copycase(dns_slabheader_t *dest, dns_slabheader_t
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:863,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdataslab.c:870,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdataslab.c:871,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/dns/rdataslab.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - h
    - db
    - node
    argTypes:
    - dns_slabheader_t*
    - dns_db_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 876
    functionName: dns_slabheader_reset
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - atomic_init
    - ISC_LINK_INIT
    - STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: void dns_slabheader_reset(dns_slabheader_t *h, dns_db_t *db, dns_dbnode_t
      *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:882,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/rdataslab.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - db
    - node
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 888
    functionName: dns_slabheader_new
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - dns_slabheader_reset
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      dns_slabheader_new(dns_db_t *db, dns_dbnode_t *node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_deletedata
      Src: /src/bind9/lib/dns/rdataslab.c:899,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/rdataslab.c:901,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:904,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - headerp
    argTypes:
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 908
    functionName: dns_slabheader_destroy
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_db_deletedata
    - dns_rdataslab_size
    - isc_mem_put
    - NONEXISTENT
    linkageType: ''
    returnType: void
    signature: void dns_slabheader_destroy(dns_slabheader_t **headerp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdataslab.c:917,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdataslab.c:918,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:923,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:925,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:930,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:932,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - mctx
    - proofp
    argTypes:
    - isc_mem_t*
    - dns_slabheader_proof_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 935
    functionName: dns_slabheader_freeproof
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - isc_mem_put
    - dns_rdataslab_size
    - dns_name_dynamic
    linkageType: ''
    returnType: void
    signature: void dns_slabheader_freeproof(isc_mem_t *mctx, dns_slabheader_proof_t
      **proofp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/rdataslab.c:943,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/rdataslab.c:944,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/rdataslab.c:945,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdataslab.c:946,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdataslab.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 962
    functionName: dns_slabheader_top
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - DNS_TYPEPAIR_COVERS
    - NEGATIVE
    - DNS_TYPEPAIR_VALUE
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      dns_slabheader_top(dns_slabheader_t *header)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peek_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 997
    functionName: rdataset_first
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 46
    functionsReached:
    - peek_uint16
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_first(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peek_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1017
    functionName: rdataset_next
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 16
    functionsReached:
    - peek_uint16
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_next(dns_rdataset_t *rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:1027,1
    - Dst: peek_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:1033,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdataslab.c:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1048
    functionName: rdataset_current
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 193
    functionsReached:
    - peek_uint16
    - REQUIRE
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:1056,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:1057,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdataslab.c:1057,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1063
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 22
    functionsReached:
    - ISC_LINK_INIT
    - dns__db_attachnode
    - ISC_LINK_LINKED
    - INSIST
    linkageType: ''
    returnType: void
    signature: void rdataset_clone(dns_rdataset_t *source, dns_rdataset_t *target
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1074
    functionName: rdataset_count
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 13
    functionsReached:
    - get_uint16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rdataset_count(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:1089,1
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:1107,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdataslab.c:1126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - rdataset
    - name
    - nsec
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1129
    functionName: rdataset_getnoqname
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 1
    functionsReached:
    - dns__db_attachnode
    - dns_name_clone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdataset_getnoqname(dns_rdataset_t *rdataset, dns_name_t
      *name,\n\t\t    dns_rdataset_t *nsec,\n\t\t    dns_rdataset_t *nsecsig DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:1144,1
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:1162,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdataslab.c:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - rdataset
    - name
    - nsec
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1184
    functionName: rdataset_getclosest
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 1
    functionsReached:
    - dns__db_attachnode
    - dns_name_clone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdataset_getclosest(dns_rdataset_t *rdataset, dns_name_t
      *name,\n\t\t    dns_rdataset_t *nsec,\n\t\t    dns_rdataset_t *nsecsig DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:1188,1
    - Dst: dns_db_locknode
      Src: /src/bind9/lib/dns/rdataslab.c:1190,1
    - Dst: dns_db_unlocknode
      Src: /src/bind9/lib/dns/rdataslab.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1193
    functionName: rdataset_settrust
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 2
    functionsReached:
    - dns_db_locknode
    - dns_db_unlocknode
    - dns_rdataset_getheader
    linkageType: ''
    returnType: void
    signature: void rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:1204,1
    - Dst: dns_db_locknode
      Src: /src/bind9/lib/dns/rdataslab.c:1206,1
    - Dst: DNS_SLABHEADER_CLRATTR
      Src: /src/bind9/lib/dns/rdataslab.c:1207,1
    - Dst: dns_db_unlocknode
      Src: /src/bind9/lib/dns/rdataslab.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1209
    functionName: rdataset_clearprefetch
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 1
    functionsReached:
    - dns_db_locknode
    - dns_db_unlocknode
    - dns_rdataset_getheader
    - DNS_SLABHEADER_CLRATTR
    linkageType: ''
    returnType: void
    signature: void rdataset_clearprefetch(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:1213,1
    - Dst: DNS_SLABHEADER_CLRATTR
      Src: /src/bind9/lib/dns/rdataslab.c:1215,1
    - Dst: dns_db_locknode
      Src: /src/bind9/lib/dns/rdataslab.c:1217,1
    - Dst: dns_slabheader_setownercase
      Src: /src/bind9/lib/dns/rdataslab.c:1218,1
    - Dst: dns_db_unlocknode
      Src: /src/bind9/lib/dns/rdataslab.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1220
    functionName: rdataset_setownercase
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 4
    functionsReached:
    - dns_rdataset_getheader
    - DNS_SLABHEADER_CLRATTR
    - dns_slabheader_setownercase
    - dns_db_locknode
    - dns_db_unlocknode
    linkageType: ''
    returnType: void
    signature: void rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t
      *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:1224,1
    - Dst: CASEFULLYLOWER
      Src: /src/bind9/lib/dns/rdataslab.c:1228,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/rdataslab.c:1229,1
    - Dst: dns_db_locknode
      Src: /src/bind9/lib/dns/rdataslab.c:1233,1
    - Dst: CASESET
      Src: /src/bind9/lib/dns/rdataslab.c:1234,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/lib/dns/rdataslab.c:1243,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rdataslab.c:1244,1
    - Dst: dns_db_unlocknode
      Src: /src/bind9/lib/dns/rdataslab.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1222
    functionDepth: 2
    functionLinenumber: 1222
    functionLinenumberEnd: 1248
    functionName: rdataset_getownercase
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 4
    functionsReached:
    - isc_ascii_lowercopy
    - isc_ascii_toupper
    - dns_rdataset_getheader
    - CASESET
    - dns_db_locknode
    - isc_ascii_tolower
    - dns_db_unlocknode
    - CASEFULLYLOWER
    linkageType: ''
    returnType: void
    signature: void rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionName: rdataset_getheader
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      rdataset_getheader(const dns_rdataset_t *rdataset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataslab_equalx
      Src: /src/bind9/lib/dns/rdataslab.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - rdataset1
    - rdataset2
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1256
    functionDepth: 3
    functionLinenumber: 1256
    functionLinenumberEnd: 1270
    functionName: rdataset_equals
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_equalx
    linkageType: ''
    returnType: bool
    signature: "bool rdataset_equals(const dns_rdataset_t *rdataset1,\n\t\tconst dns_rdataset_t
      *rdataset2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - gb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: REGION_TO_GBUFFER
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGION_TO_GBUFFER(r, gb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gb
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: GBUFFER_TO_REGION
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GBUFFER_TO_REGION(gb, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/gssapictx.c:109,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/gssapictx.c:113,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/gssapictx.c:114,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/gssapictx.c:115,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/gssapictx.c:119,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:121,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/gssapictx.c:122,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/gssapictx.c:123,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapictx.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - name
    - buffer
    - gbuffer
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - gss_buffer_desc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: name_to_gbuffer
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - dns_name_countlabels
    - dns_name_getlabelsequence
    - REGION_TO_GBUFFER
    - RUNTIME_CHECK
    - isc_buffer_putuint8
    - dns_name_isabsolute
    - isc_buffer_usedregion
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void name_to_gbuffer(const dns_name_t *name, isc_buffer_t *buffer,\n\t\tgss_buffer_desc
      *gbuffer)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gss_inquire_cred
      Src: /src/bind9/lib/dns/gssapictx.c:136,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:138,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:139,1
    - Dst: gss_display_name
      Src: /src/bind9/lib/dns/gssapictx.c:143,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:145,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:146,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:161,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:167,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:169,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:170,1
    - Dst: gss_release_name
      Src: /src/bind9/lib/dns/gssapictx.c:176,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:178,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - cred
    argTypes:
    - gss_cred_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 181
    functionName: log_cred
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - gss_error_tostring
    - gss_display_name
    - gss_log
    - gss_release_buffer
    - gss_release_name
    - gss_inquire_cred
    linkageType: ''
    returnType: void
    signature: void log_cred(const gss_cred_id_t cred)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/gssapictx.c:200,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:201,1
    - Dst: krb5_init_context
      Src: /src/bind9/lib/dns/gssapictx.c:208,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:209,1
    - Dst: krb5_get_default_realm
      Src: /src/bind9/lib/dns/gssapictx.c:212,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:213,1
    - Dst: krb5_free_context
      Src: /src/bind9/lib/dns/gssapictx.c:214,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:217,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:219,1
    - Dst: krb5_free_context
      Src: /src/bind9/lib/dns/gssapictx.c:223,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/gssapictx.c:226,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:227,1
    - Dst: krb5_free_context
      Src: /src/bind9/lib/dns/gssapictx.c:231,1
    - Dst: krb5_free_context
      Src: /src/bind9/lib/dns/gssapictx.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - gss_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 235
    functionName: check_config
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - krb5_init_context
    - gss_log
    - krb5_free_context
    - strchr
    - krb5_get_default_realm
    - strcasecmp
    - strncasecmp
    linkageType: ''
    returnType: void
    signature: void check_config(const char *gss_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gss_create_empty_oid_set
      Src: /src/bind9/lib/dns/gssapictx.c:241,1
    - Dst: gss_add_oid_set_member
      Src: /src/bind9/lib/dns/gssapictx.c:246,1
    - Dst: gss_add_oid_set_member
      Src: /src/bind9/lib/dns/gssapictx.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:258,1
    - Dst: gss_release_oid_set
      Src: /src/bind9/lib/dns/gssapictx.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - minor
    - mech_oid_set
    argTypes:
    - OM_uint32*
    - gss_OID_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 261
    functionName: mech_oid_set_create
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - gss_create_empty_oid_set
    - gss_add_oid_set_member
    - REQUIRE
    - gss_release_oid_set
    linkageType: ''
    returnType: OM_uint32
    signature: OM_uint32 mech_oid_set_create(OM_uint32 *minor, gss_OID_set *mech_oid_set)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:267,1
    - Dst: gss_release_oid_set
      Src: /src/bind9/lib/dns/gssapictx.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mech_oid_set
    argTypes:
    - gss_OID_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: mech_oid_set_release
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - gss_release_oid_set
    linkageType: ''
    returnType: void
    signature: void mech_oid_set_release(gss_OID_set *mech_oid_set)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:284,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:296,1
    - Dst: name_to_gbuffer
      Src: /src/bind9/lib/dns/gssapictx.c:297,1
    - Dst: gss_import_name
      Src: /src/bind9/lib/dns/gssapictx.c:298,1
    - Dst: check_config
      Src: /src/bind9/lib/dns/gssapictx.c:300,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:302,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:303,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:313,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:317,1
    - Dst: mech_oid_set_create
      Src: /src/bind9/lib/dns/gssapictx.c:326,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:328,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:329,1
    - Dst: gss_acquire_cred
      Src: /src/bind9/lib/dns/gssapictx.c:333,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:337,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:340,1
    - Dst: check_config
      Src: /src/bind9/lib/dns/gssapictx.c:342,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:348,1
    - Dst: log_cred
      Src: /src/bind9/lib/dns/gssapictx.c:352,1
    - Dst: mech_oid_set_release
      Src: /src/bind9/lib/dns/gssapictx.c:356,1
    - Dst: gss_release_name
      Src: /src/bind9/lib/dns/gssapictx.c:359,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:361,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:362,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - name
    - initiate
    - cred
    argTypes:
    - dns_name_t*
    - bool
    - dns_gss_cred_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 368
    functionName: dst_gssapi_acquirecred
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached:
    - gss_error_tostring
    - gss_log
    - gss_release_name
    - log_cred
    - isc_buffer_init
    - gss_acquire_cred
    - gss_import_name
    - mech_oid_set_release
    - REQUIRE
    - mech_oid_set_create
    - check_config
    - name_to_gbuffer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_acquirecred(const dns_name_t *name, bool initiate,\n\t\t
      \      dns_gss_cred_id_t *cred)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:385,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/gssapictx.c:386,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:388,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/gssapictx.c:389,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/gssapictx.c:390,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:397,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:404,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:416,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:422,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/gssapictx.c:434,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/gssapictx.c:435,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/gssapictx.c:441,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/gssapictx.c:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - signer
    - name
    - realm
    - subdomain
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 447
    functionName: dst_gssapi_identitymatchesrealmkrb5
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - strcmp
    - dns_name_issubdomain
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - strchr
    - dns_name_equal
    - isc_buffer_init
    - dns_name_fromstring
    - isc_buffer_putuint8
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer,\n\t\t\t\t
      \   const dns_name_t *name,\n\t\t\t\t    const dns_name_t *realm, bool subdomain)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:464,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/gssapictx.c:465,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:467,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/gssapictx.c:468,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/gssapictx.c:469,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:476,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:480,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:504,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/gssapictx.c:516,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/gssapictx.c:517,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/gssapictx.c:522,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/gssapictx.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 4
    argNames:
    - signer
    - name
    - realm
    - subdomain
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 528
    functionName: dst_gssapi_identitymatchesrealmms
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - strcmp
    - dns_name_issubdomain
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - strchr
    - dns_name_equal
    - isc_buffer_init
    - dns_name_fromstring
    - isc_buffer_putuint8
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool dst_gssapi_identitymatchesrealmms(const dns_name_t *signer,\n\t\t\t\t
      \ const dns_name_t *name,\n\t\t\t\t  const dns_name_t *realm, bool subdomain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:535,1
    - Dst: gss_release_cred
      Src: /src/bind9/lib/dns/gssapictx.c:537,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:540,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cred
    argTypes:
    - dns_gss_cred_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 546
    functionName: dst_gssapi_releasecred
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - gss_error_tostring
    - gss_release_cred
    - gss_log
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_gssapi_releasecred(dns_gss_cred_id_t *cred)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:564,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/gssapictx.c:566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - mctx
    - major
    - minor
    - err_message
    argTypes:
    - isc_mem_t*
    - uint32_t
    - uint32_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 568
    functionName: gss_err_message
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - gss_error_tostring
    - isc_mem_strdup
    linkageType: ''
    returnType: void
    signature: "void gss_err_message(isc_mem_t *mctx, uint32_t major, uint32_t minor,\n\t\tchar
      **err_message)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:584,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:585,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:587,1
    - Dst: name_to_gbuffer
      Src: /src/bind9/lib/dns/gssapictx.c:588,1
    - Dst: gss_import_name
      Src: /src/bind9/lib/dns/gssapictx.c:591,1
    - Dst: gss_err_message
      Src: /src/bind9/lib/dns/gssapictx.c:593,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapictx.c:600,1
    - Dst: gss_init_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:612,1
    - Dst: gss_err_message
      Src: /src/bind9/lib/dns/gssapictx.c:618,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:620,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:623,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapictx.c:639,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/gssapictx.c:640,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapictx.c:640,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:651,1
    - Dst: gss_release_name
      Src: /src/bind9/lib/dns/gssapictx.c:653,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 6
    argNames:
    - name
    - intoken
    - outtoken
    - gssctx
    - mctx
    - err_message
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - isc_buffer_t*
    - dns_gss_ctx_id_t*
    - isc_mem_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 655
    functionName: dst_gssapi_initctx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - REGION_TO_GBUFFER
    - gss_log
    - gss_release_buffer
    - GBUFFER_TO_REGION
    - RETERR
    - gss_release_name
    - isc_buffer_copyregion
    - isc_buffer_init
    - gss_import_name
    - gss_init_sec_context
    - REQUIRE
    - gss_err_message
    - name_to_gbuffer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t
      *intoken,\n\t\t   isc_buffer_t *outtoken, dns_gss_ctx_id_t *gssctx,\n\t\t   isc_mem_t
      *mctx, char **err_message)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:672,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapictx.c:674,1
    - Dst: gsskrb5_register_acceptor_identity
      Src: /src/bind9/lib/dns/gssapictx.c:684,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:686,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:690,1
    - Dst: getenv
      Src: /src/bind9/lib/dns/gssapictx.c:698,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:699,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gssapictx.c:703,1
    - Dst: malloc
      Src: /src/bind9/lib/dns/gssapictx.c:704,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gssapictx.c:708,1
    - Dst: putenv
      Src: /src/bind9/lib/dns/gssapictx.c:709,1
    - Dst: log_cred
      Src: /src/bind9/lib/dns/gssapictx.c:716,1
    - Dst: gss_accept_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:718,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:742,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:743,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:745,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/gssapictx.c:751,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapictx.c:753,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/gssapictx.c:754,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapictx.c:754,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:755,1
    - Dst: gss_display_name
      Src: /src/bind9/lib/dns/gssapictx.c:759,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:761,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:762,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/gssapictx.c:764,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:779,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapictx.c:782,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:783,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/gssapictx.c:784,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/gssapictx.c:786,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/gssapictx.c:786,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:789,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:791,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:792,1
    - Dst: gss_release_name
      Src: /src/bind9/lib/dns/gssapictx.c:804,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:806,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:807,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 91
    argCount: 7
    argNames:
    - cred
    - gssapi_keytab
    - intoken
    - outtoken
    - ctxout
    - principal
    - mctx
    argTypes:
    - dns_gss_cred_id_t
    - char*
    - isc_region_t*
    - isc_buffer_t**
    - dns_gss_ctx_id_t*
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 813
    functionName: dst_gssapi_acceptctx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - REGION_TO_GBUFFER
    - gss_log
    - gss_release_name
    - GBUFFER_TO_REGION
    - gsskrb5_register_acceptor_identity
    - snprintf
    - REQUIRE
    - isc_buffer_allocate
    - gss_error_tostring
    - gss_display_name
    - malloc
    - gss_accept_sec_context
    - putenv
    - dns_name_fromtext
    - gss_release_buffer
    - RETERR
    - strlen
    - getenv
    - log_cred
    - isc_buffer_copyregion
    - isc_buffer_init
    - isc_buffer_add
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_acceptctx(dns_gss_cred_id_t cred, const char
      *gssapi_keytab,\n\t\t     isc_region_t *intoken, isc_buffer_t **outtoken,\n\t\t
      \    dns_gss_ctx_id_t *ctxout, dns_name_t *principal,\n\t\t     isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:820,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:822,1
    - Dst: gss_delete_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:825,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:829,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mctx
    - gssctx
    argTypes:
    - isc_mem_t*
    - dns_gss_ctx_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 833
    functionName: dst_gssapi_deletectx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached:
    - gss_error_tostring
    - gss_log
    - gss_delete_sec_context
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_gssapi_deletectx(isc_mem_t *mctx, dns_gss_ctx_id_t
      *gssctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_display_status
      Src: /src/bind9/lib/dns/gssapictx.c:843,1
    - Dst: gss_display_status
      Src: /src/bind9/lib/dns/gssapictx.c:848,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gssapictx.c:851,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:855,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - major
    - minor
    - buf
    - buflen
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 861
    functionName: gss_error_tostring
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 8
    functionsReached:
    - snprintf
    - gss_display_status
    - gss_release_buffer
    linkageType: ''
    returnType: char
    signature: 'char *

      gss_error_tostring(uint32_t major, uint32_t minor, char *buf, size_t buflen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:868,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:870,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:871,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - name
    - initiate
    - cred
    argTypes:
    - dns_name_t*
    - bool
    - dns_gss_cred_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 875
    functionName: dst_gssapi_acquirecred
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_acquirecred(const dns_name_t *name, bool initiate,\n\t\t
      \      dns_gss_cred_id_t *cred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:881,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:882,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:883,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - signer
    - name
    - realm
    - subdomain
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 887
    functionName: dst_gssapi_identitymatchesrealmkrb5
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool dst_gssapi_identitymatchesrealmkrb5(const dns_name_t *signer,\n\t\t\t\t
      \   const dns_name_t *name,\n\t\t\t\t    const dns_name_t *realm, bool subdomain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:893,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:894,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:895,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - signer
    - name
    - realm
    - subdomain
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: dst_gssapi_identitymatchesrealmms
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: "bool dst_gssapi_identitymatchesrealmms(const dns_name_t *signer,\n\t\t\t\t
      \ const dns_name_t *name,\n\t\t\t\t  const dns_name_t *realm, bool subdomain)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cred
    argTypes:
    - dns_gss_cred_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: dst_gssapi_releasecred
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_gssapi_releasecred(dns_gss_cred_id_t *cred)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:912,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:913,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:914,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:915,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:916,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - name
    - intoken
    - outtoken
    - gssctx
    - mctx
    - err_message
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - isc_buffer_t*
    - dns_gss_ctx_id_t*
    - isc_mem_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 920
    functionName: dst_gssapi_initctx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_initctx(const dns_name_t *name, isc_buffer_t
      *intoken,\n\t\t   isc_buffer_t *outtoken, dns_gss_ctx_id_t *gssctx,\n\t\t   isc_mem_t
      *mctx, char **err_message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:927,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:928,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:929,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:930,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:931,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:932,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - cred
    - gssapi_keytab
    - intoken
    - outtoken
    - ctxout
    - principal
    - mctx
    argTypes:
    - dns_gss_cred_id_t
    - char*
    - isc_region_t*
    - isc_buffer_t**
    - dns_gss_ctx_id_t*
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 936
    functionName: dst_gssapi_acceptctx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_acceptctx(dns_gss_cred_id_t cred, const char
      *gssapi_keytab,\n\t\t     isc_region_t *intoken, isc_buffer_t **outtoken,\n\t\t
      \    dns_gss_ctx_id_t *ctxout, dns_name_t *principal,\n\t\t     isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:940,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - gssctx
    argTypes:
    - isc_mem_t*
    - dns_gss_ctx_id_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 943
    functionName: dst_gssapi_deletectx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_gssapi_deletectx(isc_mem_t *mctx, dns_gss_ctx_id_t
      *gssctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gssapictx.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - major
    - minor
    - buf
    - buflen
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 951
    functionName: gss_error_tostring
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 8
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      gss_error_tostring(uint32_t major, uint32_t minor, char *buf, size_t buflen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/gssapictx.c:959,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/gssapictx.c:960,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/gssapictx.c:961,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/gssapictx.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: gss_log
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 9
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void gss_log(int level, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:104,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - initial
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 113
    functionName: hash_divisor
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_log_wouldlog
    linkageType: ''
    returnType: int
    signature: int hash_divisor(unsigned int initial)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ts
    - now
    argTypes:
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: delta_rrl_time
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int delta_rrl_time(isc_stdtime_t ts, isc_stdtime_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delta_rrl_time
      Src: /src/bind9/lib/dns/rrl.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rrl
    - e
    - now
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: get_age
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - delta_rrl_time
    linkageType: ''
    returnType: int
    signature: int get_age(const dns_rrl_t *rrl, const dns_rrl_entry_t *e, isc_stdtime_t
      now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/rrl.c:178,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rrl.c:180,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/rrl.c:181,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - rrl
    - e
    - now
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 204
    functionName: set_age
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_TAIL
    - ISC_LINK_LINKED
    - isc_log_write
    - ISC_LIST_PREV
    linkageType: ''
    returnType: void
    signature: void set_age(dns_rrl_t *rrl, dns_rrl_entry_t *e, isc_stdtime_t now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:226,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:231,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rrl.c:239,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:239,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rrl.c:247,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/rrl.c:248,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/rrl.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - rrl
    - newsize
    argTypes:
    - dns_rrl_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 254
    functionName: expand_entries
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - ISC_LIST_INITANDAPPEND
    - ISC_LINK_INIT
    - isc_log_write
    - STRUCT_FLEX_SIZE
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t expand_entries(dns_rrl_t *rrl, int newsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rrl.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hash
    - hval
    argTypes:
    - dns_rrl_hash_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: get_bin
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - INSIST
    linkageType: ''
    returnType: dns_rrl_bin_t
    signature: 'dns_rrl_bin_t *

      get_bin(dns_rrl_hash_t *hash, unsigned int hval)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rrl.c:271,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rrl.c:272,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rrl.c:276,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rrl
    argTypes:
    - dns_rrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 279
    functionName: free_old_hash
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - ISC_LINK_INIT
    - STRUCT_FLEX_SIZE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void free_old_hash(dns_rrl_t *rrl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free_old_hash
      Src: /src/bind9/lib/dns/rrl.c:288,1
    - Dst: hash_divisor
      Src: /src/bind9/lib/dns/rrl.c:300,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rrl.c:303,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:304,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:310,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - rrl
    - now
    argTypes:
    - dns_rrl_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 329
    functionName: expand_rrl_hash
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - hash_divisor
    - free_old_hash
    - isc_mem_cget
    - isc_log_write
    - STRUCT_FLEX_SIZE
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t expand_rrl_hash(dns_rrl_t *rrl, isc_stdtime_t now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/rrl.c:336,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/rrl.c:338,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/rrl.c:340,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/rrl.c:341,1
    - Dst: delta_rrl_time
      Src: /src/bind9/lib/dns/rrl.c:353,1
    - Dst: expand_rrl_hash
      Src: /src/bind9/lib/dns/rrl.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - rrl
    - e
    - probes
    - now
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 362
    functionName: ref_entry
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - ISC_LIST_HEAD
    - ISC_LIST_PREV
    - expand_rrl_hash
    - ISC_LIST_UNLINK
    - delta_rrl_time
    linkageType: ''
    returnType: void
    signature: void ref_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e, int probes, isc_stdtime_t
      now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rrl.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dns_rrl_key_t*
    - dns_rrl_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: key_cmp
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool key_cmp(const dns_rrl_key_t *a, const dns_rrl_key_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_rrl_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: hash_key
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_key(const dns_rrl_key_t *key)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/rrl.c:400,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/rrl.c:420,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rrl.c:430,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rrl.c:431,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/rrl.c:440,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/rrl.c:442,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rrl.c:453,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 8
    argNames:
    - rrl
    - key
    - client_addr
    - zone
    - qtype
    - qname
    - qclass
    - rtype
    argTypes:
    - dns_rrl_t*
    - dns_rrl_key_t*
    - isc_sockaddr_t*
    - dns_zone_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_rdataclass_t
    - dns_rrl_rtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 460
    functionName: make_key
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - dns_fixedname_initname
    - dns_zone_getorigin
    - dns_name_concatenate
    - dns_name_hash
    linkageType: ''
    returnType: void
    signature: "void make_key(const dns_rrl_t *rrl, dns_rrl_key_t *key,\n\t const
      isc_sockaddr_t *client_addr, dns_zone_t *zone,\n\t dns_rdatatype_t qtype, const
      dns_name_t *qname,\n\t dns_rdataclass_t qclass, dns_rrl_rtype_t rtype)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rrl.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - rrl
    - rtype
    argTypes:
    - dns_rrl_t*
    - dns_rrl_rtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 480
    functionName: get_rate
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: dns_rrl_rate_t
    signature: 'dns_rrl_rate_t *

      get_rate(dns_rrl_t *rrl, dns_rrl_rtype_t rtype)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_rate
      Src: /src/bind9/lib/dns/rrl.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - rrl
    - e
    - age
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: response_balance
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - get_rate
    linkageType: ''
    returnType: int
    signature: int response_balance(dns_rrl_t *rrl, const dns_rrl_entry_t *e, int
      age)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: make_key
      Src: /src/bind9/lib/dns/rrl.c:515,1
    - Dst: hash_key
      Src: /src/bind9/lib/dns/rrl.c:516,1
    - Dst: get_bin
      Src: /src/bind9/lib/dns/rrl.c:521,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rrl.c:523,1
    - Dst: key_cmp
      Src: /src/bind9/lib/dns/rrl.c:524,1
    - Dst: ref_entry
      Src: /src/bind9/lib/dns/rrl.c:525,1
    - Dst: get_bin
      Src: /src/bind9/lib/dns/rrl.c:535,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rrl.c:536,1
    - Dst: key_cmp
      Src: /src/bind9/lib/dns/rrl.c:537,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/rrl.c:538,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/rrl.c:539,1
    - Dst: ref_entry
      Src: /src/bind9/lib/dns/rrl.c:541,1
    - Dst: delta_rrl_time
      Src: /src/bind9/lib/dns/rrl.c:549,1
    - Dst: free_old_hash
      Src: /src/bind9/lib/dns/rrl.c:551,1
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/rrl.c:566,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rrl.c:568,1
    - Dst: get_age
      Src: /src/bind9/lib/dns/rrl.c:571,1
    - Dst: response_balance
      Src: /src/bind9/lib/dns/rrl.c:576,1
    - Dst: expand_entries
      Src: /src/bind9/lib/dns/rrl.c:582,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rrl.c:582,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/rrl.c:583,1
    - Dst: log_end
      Src: /src/bind9/lib/dns/rrl.c:586,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rrl.c:588,1
    - Dst: get_bin
      Src: /src/bind9/lib/dns/rrl.c:594,1
    - Dst: hash_key
      Src: /src/bind9/lib/dns/rrl.c:594,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/rrl.c:595,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/rrl.c:597,1
    - Dst: ref_entry
      Src: /src/bind9/lib/dns/rrl.c:601,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 11
    argNames:
    - rrl
    - client_addr
    - zone
    - qclass
    - qtype
    - qname
    - rtype
    - now
    - create
    - log_buf
    - log_buf_len
    argTypes:
    - dns_rrl_t*
    - isc_sockaddr_t*
    - dns_zone_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - dns_name_t*
    - dns_rrl_rtype_t
    - isc_stdtime_t
    - bool
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 603
    functionName: get_entry
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_TAIL
    - ISC_LIST_PREPEND
    - key_cmp
    - ref_entry
    - free_old_hash
    - ISC_LIST_FOREACH_REV
    - ISC_LINK_LINKED
    - ISC_MIN
    - response_balance
    - make_key
    - hash_key
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - delta_rrl_time
    - get_bin
    - expand_entries
    - get_age
    - log_end
    linkageType: ''
    returnType: dns_rrl_entry_t
    signature: "dns_rrl_entry_t *\nget_entry(dns_rrl_t *rrl, const isc_sockaddr_t
      *client_addr, dns_zone_t *zone,\n\t  dns_rdataclass_t qclass, dns_rdatatype_t
      qtype,\n\t  const dns_name_t *qname, dns_rrl_rtype_t rtype, isc_stdtime_t now,\n\t
      \ bool create, char *log_buf, unsigned int log_buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rrl.c:613,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:616,1
    - Dst: hash_key
      Src: /src/bind9/lib/dns/rrl.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - e
    - age
    - action
    argTypes:
    - dns_rrl_entry_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: debit_log
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - hash_key
    - isc_log_write
    - snprintf
    linkageType: ''
    returnType: void
    signature: void debit_log(const dns_rrl_entry_t *e, int age, const char *action)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: get_rate
      Src: /src/bind9/lib/dns/rrl.c:633,1
    - Dst: get_entry
      Src: /src/bind9/lib/dns/rrl.c:643,1
    - Dst: get_age
      Src: /src/bind9/lib/dns/rrl.c:647,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:659,1
    - Dst: get_age
      Src: /src/bind9/lib/dns/rrl.c:677,1
    - Dst: set_age
      Src: /src/bind9/lib/dns/rrl.c:709,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:715,1
    - Dst: debit_log
      Src: /src/bind9/lib/dns/rrl.c:716,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:735,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:749,1
    - Dst: debit_log
      Src: /src/bind9/lib/dns/rrl.c:750,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:758,1
    - Dst: debit_log
      Src: /src/bind9/lib/dns/rrl.c:759,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 8
    argNames:
    - rrl
    - e
    - qps
    - scale
    - client_addr
    - now
    - log_buf
    - log_buf_len
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - double
    - double
    - isc_sockaddr_t*
    - isc_stdtime_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 621
    functionDepth: 6
    functionLinenumber: 621
    functionLinenumberEnd: 762
    functionName: debit_rrl_entry
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - get_entry
    - get_rate
    - isc_log_write
    - debit_log
    - set_age
    - get_age
    - isc_log_wouldlog
    linkageType: ''
    returnType: dns_rrl_result_t
    signature: "dns_rrl_result_t debit_rrl_entry(dns_rrl_t *rrl, dns_rrl_entry_t *e,
      double qps, double scale,\n\t\tconst isc_sockaddr_t *client_addr, isc_stdtime_t
      now,\n\t\tchar *log_buf, unsigned int log_buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rrl
    - e
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 773
    functionName: get_qname
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_rrl_qname_buf_t
    signature: 'dns_rrl_qname_buf_t *

      get_qname(dns_rrl_t *rrl, const dns_rrl_entry_t *e)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_qname
      Src: /src/bind9/lib/dns/rrl.c:779,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/rrl.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rrl
    - e
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 784
    functionName: free_qname
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - get_qname
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: void free_qname(dns_rrl_t *rrl, dns_rrl_entry_t *e)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rrl.c:790,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rrl.c:797,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rrl.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - lb
    - str
    - str_len
    argTypes:
    - isc_buffer_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 799
    functionName: add_log_str
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void add_log_str(isc_buffer_t *lb, const char *str, unsigned int str_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - eb
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 802
    functionName: ADD_LOG_CSTR
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_LOG_CSTR(eb, s)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/rrl.c:815,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rrl.c:825,1
    - Dst: add_log_str
      Src: /src/bind9/lib/dns/rrl.c:828,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rrl.c:828,1
    - Dst: add_log_str
      Src: /src/bind9/lib/dns/rrl.c:831,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rrl.c:831,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:838,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:841,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rrl.c:844,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:851,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:854,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:857,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:861,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rrl.c:863,1
    - Dst: add_log_str
      Src: /src/bind9/lib/dns/rrl.c:864,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rrl.c:864,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:865,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:869,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rrl.c:872,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:876,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:878,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rrl.c:881,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rrl.c:883,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rrl.c:885,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rrl.c:886,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rrl.c:888,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/rrl.c:892,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:894,1
    - Dst: add_log_str
      Src: /src/bind9/lib/dns/rrl.c:896,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rrl.c:896,1
    - Dst: get_qname
      Src: /src/bind9/lib/dns/rrl.c:903,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/rrl.c:905,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/rrl.c:910,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/rrl.c:912,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rrl.c:914,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rrl.c:918,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rrl.c:924,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/rrl.c:925,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rrl.c:926,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rrl.c:930,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:933,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rrl.c:934,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:937,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:940,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/rrl.c:941,1
    - Dst: ADD_LOG_CSTR
      Src: /src/bind9/lib/dns/rrl.c:943,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rrl.c:944,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rrl.c:947,1
    - Dst: add_log_str
      Src: /src/bind9/lib/dns/rrl.c:949,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rrl.c:949,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rrl.c:955,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 115
    argCount: 11
    argNames:
    - rrl
    - e
    - str1
    - str2
    - plural
    - qname
    - save_qname
    - rrl_result
    - resp_result
    - log_buf
    - log_buf_len
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - char*
    - char*
    - bool
    - dns_name_t*
    - bool
    - dns_rrl_result_t
    - isc_result_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 806
    functionDepth: 3
    functionLinenumber: 806
    functionLinenumberEnd: 956
    functionName: make_log_buf
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - memmove
    - memset
    - dns_rdataclass_totext
    - isc_netaddr_totext
    - snprintf
    - get_qname
    - UNREACHABLE
    - ISC_LINK_INIT
    - dns_fixedname_init
    - dns_name_copy
    - dns_fixedname_name
    - strlen
    - isc_mem_get
    - ADD_LOG_CSTR
    - ISC_LIST_UNLINK
    - dns_name_isabsolute
    - ISC_LIST_TAIL
    - dns_rdatatype_totext
    - add_log_str
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_usedlength
    - ISC_MAX
    linkageType: ''
    returnType: void
    signature: "void make_log_buf(dns_rrl_t *rrl, dns_rrl_entry_t *e, const char *str1,\n\t
      \    const char *str2, bool plural, const dns_name_t *qname,\n\t     bool save_qname,
      dns_rrl_result_t rrl_result,\n\t     isc_result_t resp_result, char *log_buf,\n\t
      \    unsigned int log_buf_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_log_buf
      Src: /src/bind9/lib/dns/rrl.c:962,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:967,1
    - Dst: free_qname
      Src: /src/bind9/lib/dns/rrl.c:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - rrl
    - e
    - early
    - log_buf
    - log_buf_len
    argTypes:
    - dns_rrl_t*
    - dns_rrl_entry_t*
    - bool
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 958
    functionDepth: 4
    functionLinenumber: 958
    functionLinenumberEnd: 973
    functionName: log_end
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - free_qname
    - make_log_buf
    linkageType: ''
    returnType: void
    signature: "void log_end(dns_rrl_t *rrl, dns_rrl_entry_t *e, bool early, char
      *log_buf,\n\tunsigned int log_buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/rrl.c:984,1
    - Dst: get_age
      Src: /src/bind9/lib/dns/rrl.c:989,1
    - Dst: response_balance
      Src: /src/bind9/lib/dns/rrl.c:991,1
    - Dst: log_end
      Src: /src/bind9/lib/dns/rrl.c:997,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/rrl.c:1006,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rrl.c:1011,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - rrl
    - now
    - limit
    - log_buf
    - log_buf_len
    argTypes:
    - dns_rrl_t*
    - isc_stdtime_t
    - int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 978
    functionDepth: 5
    functionLinenumber: 978
    functionLinenumberEnd: 1015
    functionName: log_stops
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREV
    - INSIST
    - response_balance
    - get_age
    - log_end
    linkageType: ''
    returnType: void
    signature: "void log_stops(dns_rrl_t *rrl, isc_stdtime_t now, int limit, char
      *log_buf,\n\t  unsigned int log_buf_len)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rrl.c:1035,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/rrl.c:1039,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/rrl.c:1040,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rrl.c:1047,1
    - Dst: delta_rrl_time
      Src: /src/bind9/lib/dns/rrl.c:1057,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:1063,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:1064,1
    - Dst: log_stops
      Src: /src/bind9/lib/dns/rrl.c:1086,1
    - Dst: get_entry
      Src: /src/bind9/lib/dns/rrl.c:1095,1
    - Dst: set_age
      Src: /src/bind9/lib/dns/rrl.c:1101,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rrl.c:1104,1
    - Dst: get_entry
      Src: /src/bind9/lib/dns/rrl.c:1129,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rrl.c:1132,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:1136,1
    - Dst: make_log_buf
      Src: /src/bind9/lib/dns/rrl.c:1141,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:1144,1
    - Dst: debit_rrl_entry
      Src: /src/bind9/lib/dns/rrl.c:1148,1
    - Dst: get_entry
      Src: /src/bind9/lib/dns/rrl.c:1163,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rrl.c:1167,1
    - Dst: debit_rrl_entry
      Src: /src/bind9/lib/dns/rrl.c:1170,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:1176,1
    - Dst: make_log_buf
      Src: /src/bind9/lib/dns/rrl.c:1177,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:1182,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rrl.c:1191,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:1199,1
    - Dst: make_log_buf
      Src: /src/bind9/lib/dns/rrl.c:1201,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rrl.c:1217,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:1220,1
    - Dst: make_log_buf
      Src: /src/bind9/lib/dns/rrl.c:1228,1
    - Dst: free_qname
      Src: /src/bind9/lib/dns/rrl.c:1241,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rrl.c:1243,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 121
    argCount: 12
    argNames:
    - view
    - zone
    - client_addr
    - is_tcp
    - qclass
    - qtype
    - qname
    - resp_result
    - now
    - wouldlog
    - log_buf
    - log_buf_len
    argTypes:
    - dns_view_t*
    - dns_zone_t*
    - isc_sockaddr_t*
    - bool
    - dns_rdataclass_t
    - dns_rdatatype_t
    - dns_name_t*
    - isc_result_t
    - isc_stdtime_t
    - bool
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1020
    functionDepth: 7
    functionLinenumber: 1020
    functionLinenumberEnd: 1247
    functionName: dns_rrl
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 2
    functionsReached:
    - make_log_buf
    - delta_rrl_time
    - LOCK
    - isc_netaddr_fromsockaddr
    - get_entry
    - log_stops
    - INSIST
    - UNLOCK
    - debit_rrl_entry
    - free_qname
    - isc_log_write
    - dns_acl_match
    - set_age
    - isc_log_wouldlog
    linkageType: ''
    returnType: dns_rrl_result_t
    signature: "dns_rrl_result_t dns_rrl(dns_view_t *view, dns_zone_t *zone, const
      isc_sockaddr_t *client_addr,\n\tbool is_tcp, dns_rdataclass_t qclass, dns_rdatatype_t
      qtype,\n\tconst dns_name_t *qname, isc_result_t resp_result, isc_stdtime_t now,\n\tbool
      wouldlog, char *log_buf, unsigned int log_buf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: log_stops
      Src: /src/bind9/lib/dns/rrl.c:1267,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rrl.c:1274,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/rrl.c:1278,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/rrl.c:1281,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rrl.c:1283,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/rrl.c:1284,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rrl.c:1285,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:1286,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rrl.c:1291,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:1291,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rrl.c:1296,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:1296,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/rrl.c:1299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1249
    functionDepth: 6
    functionLinenumber: 1249
    functionLinenumberEnd: 1300
    functionName: dns_rrl_view_destroy
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - isc_mem_putanddetach
    - log_stops
    - ISC_LIST_UNLINK
    - STRUCT_FLEX_SIZE
    - ISC_LIST_FOREACH
    - isc_mem_put
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns_rrl_view_destroy(dns_view_t *view)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rrl.c:1309,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/rrl.c:1311,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/rrl.c:1313,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/rrl.c:1314,1
    - Dst: expand_entries
      Src: /src/bind9/lib/dns/rrl.c:1318,1
    - Dst: dns_rrl_view_destroy
      Src: /src/bind9/lib/dns/rrl.c:1320,1
    - Dst: expand_rrl_hash
      Src: /src/bind9/lib/dns/rrl.c:1323,1
    - Dst: dns_rrl_view_destroy
      Src: /src/bind9/lib/dns/rrl.c:1325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - rrlp
    - view
    - min_entries
    argTypes:
    - dns_rrl_t**
    - dns_view_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1302
    functionDepth: 7
    functionLinenumber: 1302
    functionLinenumberEnd: 1331
    functionName: dns_rrl_init
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - expand_rrl_hash
    - isc_mem_get
    - isc_stdtime_now
    - dns_rrl_view_destroy
    - expand_entries
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rrl_init(dns_rrl_t **rrlp, dns_view_t *view, int min_entries)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: STRONG_RWLOCK_CHECK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRONG_RWLOCK_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: NODE_INITLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_INITLOCK(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: NODE_DESTROYLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_DESTROYLOCK(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - t
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: NODE_LOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_LOCK(l, t, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: NODE_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_UNLOCK(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: NODE_RDLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_RDLOCK(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: NODE_WRLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_WRLOCK(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: NODE_FORCEUPGRADE
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NODE_FORCEUPGRADE(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: TREE_INITLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_INITLOCK(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: TREE_DESTROYLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_DESTROYLOCK(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - t
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: TREE_LOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_LOCK(l, t, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: TREE_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_UNLOCK(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: TREE_RDLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_RDLOCK(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: TREE_WRLOCK
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_WRLOCK(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - tp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: TREE_FORCEUPGRADE
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TREE_FORCEUPGRADE(l, tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - db
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: IS_STUB
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_STUB(db)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - db
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: IS_CACHE
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CACHE(db)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:122,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:124,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:126,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:128,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:130,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:132,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:134,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:136,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:138,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:140,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:142,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:144,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:146,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:148,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:150,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:152,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/db_p.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 158
    functionName: prio_type
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached:
    - DNS_SIGTYPE
    linkageType: ''
    returnType: bool
    signature: bool prio_type(dns_typepair_t type)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ds.c:46,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ds.c:47,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ds.c:49,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/dns/ds.c:51,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/ds.c:75,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/ds.c:78,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/ds.c:79,1
    - Dst: isc_md_new
      Src: /src/bind9/lib/dns/ds.c:81,1
    - Dst: isc_md_init
      Src: /src/bind9/lib/dns/ds.c:83,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/ds.c:88,1
    - Dst: isc_md_update
      Src: /src/bind9/lib/dns/ds.c:90,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/ds.c:95,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ds.c:96,1
    - Dst: isc_md_update
      Src: /src/bind9/lib/dns/ds.c:98,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ds.c:117,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ds.c:118,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ds.c:119,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/ds.c:120,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ds.c:126,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ds.c:133,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ds.c:134,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ds.c:140,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ds.c:141,1
    - Dst: isc_md_get_size
      Src: /src/bind9/lib/dns/ds.c:155,1
    - Dst: isc_md_final
      Src: /src/bind9/lib/dns/ds.c:161,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/ds.c:170,1
    - Dst: isc_md_free
      Src: /src/bind9/lib/dns/ds.c:176,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 111
    argCount: 6
    argNames:
    - owner
    - key
    - digest_type
    - digest
    - len
    - dsrdata
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    - dns_dsdigest_t
    - unsigned char*
    - size_t
    - dns_rdata_ds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 178
    functionName: dns_ds_fromkeyrdata
    functionSourceFile: /src/bind9/lib/dns/ds.c
    functionUses: 4
    functionsReached:
    - dns_name_fromregion
    - UNREACHABLE
    - isc_md_init
    - memmove
    - dns_fixedname_initname
    - INSIST
    - dns_name_downcase
    - isc_md_update
    - dst_ds_digest_supported
    - dns_name_toregion
    - isc_md_get_size
    - REQUIRE
    - dst_region_computeid
    - isc_region_consume
    - isc_md_final
    - isc_md_free
    - dns_rdata_toregion
    - isc_md_new
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ds_fromkeyrdata(const dns_name_t *owner, dns_rdata_t
      *key,\n\t\t    dns_dsdigest_t digest_type, unsigned char *digest,\n\t\t    size_t
      len, dns_rdata_ds_t *dsrdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/ds.c:189,1
    - Dst: memset
      Src: /src/bind9/lib/dns/ds.c:194,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ds.c:195,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/ds.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - owner
    - key
    - digest_type
    - buffer
    - len
    - rdata
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    - dns_dsdigest_t
    - unsigned char*
    - size_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: dns_ds_buildrdata
    functionSourceFile: /src/bind9/lib/dns/ds.c
    functionUses: 14
    functionsReached:
    - isc_buffer_init
    - dns_ds_fromkeyrdata
    - memset
    - dns_rdata_fromstruct
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ds_buildrdata(dns_name_t *owner, dns_rdata_t *key,\n\t\t
      \ dns_dsdigest_t digest_type, unsigned char *buffer, size_t len,\n\t\t  dns_rdata_t
      *rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 513
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: VALID_XFRIN
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_XFRIN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: VALID_XFRIN_WORK
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_XFRIN_WORK(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:295,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/xfrin.c:298,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:301,1
    - Dst: dns_zone_makedb
      Src: /src/bind9/lib/dns/xfrin.c:301,1
    - Dst: dns_zone_rpz_enable_db
      Src: /src/bind9/lib/dns/xfrin.c:303,1
    - Dst: dns_zone_catz_enable_db
      Src: /src/bind9/lib/dns/xfrin.c:304,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/xfrin.c:306,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:307,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/xfrin.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: axfr_init
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_db_detach
    - dns_zone_makedb
    - dns_db_beginload
    - CHECK
    - dns_zone_rpz_enable_db
    - atomic_store
    - dns_zone_catz_enable_db
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t axfr_init(dns_xfrin_t *xfr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:327,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/dns/xfrin.c:327,1
    - Dst: dns_diff_size
      Src: /src/bind9/lib/dns/xfrin.c:328,1
    - Dst: dns_diff_is_boundary
      Src: /src/bind9/lib/dns/xfrin.c:329,1
    - Dst: axfr_apply
      Src: /src/bind9/lib/dns/xfrin.c:336,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:337,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/xfrin.c:340,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/xfrin.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - xfr
    - op
    - name
    - ttl
    - rdata
    argTypes:
    - dns_xfrin_t*
    - dns_diffop_t
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 346
    functionName: axfr_putdata
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_diff_is_boundary
    - dns_difftuple_create
    - dns_diff_append
    - CHECK
    - dns_diff_size
    - axfr_apply
    - dns_zone_checknames
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t axfr_putdata(dns_xfrin_t *xfr, dns_diffop_t op, dns_name_t
      *name, dns_ttl_t ttl,\n\t     dns_rdata_t *rdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:354,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:357,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:357,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:362,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:367,1
    - Dst: dns_diff_load
      Src: /src/bind9/lib/dns/xfrin.c:367,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/dns/xfrin.c:369,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 379
    functionName: axfr_apply
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - VALID_XFRIN
    - dns_diff_load
    - dns_db_getsize
    - CHECK
    - REQUIRE
    - atomic_load
    - VALID_XFRIN_WORK
    - dns_diff_clear
    linkageType: ''
    returnType: void
    signature: void axfr_apply(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:387,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:387,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:388,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:388,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:390,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:395,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:395,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:396,1
    - Dst: dns_zone_verifydb
      Src: /src/bind9/lib/dns/xfrin.c:396,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:397,1
    - Dst: axfr_finalize
      Src: /src/bind9/lib/dns/xfrin.c:397,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:399,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:405,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:408,1
    - Dst: xfrin_end
      Src: /src/bind9/lib/dns/xfrin.c:409,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:412,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 416
    functionName: axfr_apply_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_zone_verifydb
    - axfr_finalize
    - VALID_XFRIN
    - isc_mem_put
    - dns_db_endload
    - xfrin_fail
    - CHECK
    - REQUIRE
    - atomic_load
    - VALID_XFRIN_WORK
    - xfrin_end
    - dns_xfrin_detach
    linkageType: ''
    returnType: void
    signature: void axfr_apply_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:420,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:422,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:426,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: axfr_commit
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_work_enqueue
    - REQUIRE
    - dns_xfrin_ref
    linkageType: ''
    returnType: void
    signature: void axfr_commit(dns_xfrin_t *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIBDNS_XFRIN_AXFR_FINALIZE_BEGIN
      Src: /src/bind9/lib/dns/xfrin.c:436,1
    - Dst: dns_zone_replacedb
      Src: /src/bind9/lib/dns/xfrin.c:437,1
    - Dst: LIBDNS_XFRIN_AXFR_FINALIZE_END
      Src: /src/bind9/lib/dns/xfrin.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: axfr_finalize
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - LIBDNS_XFRIN_AXFR_FINALIZE_END
    - LIBDNS_XFRIN_AXFR_FINALIZE_BEGIN
    - dns_zone_replacedb
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t axfr_finalize(dns_xfrin_t *xfr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:459,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:464,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:465,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/dns/xfrin.c:467,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:469,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/xfrin.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 476
    functionName: ixfr_init
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - xfrin_log
    - dns_journal_open
    - dns_zone_getjournal
    - INSIST
    - CHECK
    - atomic_store
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_init(dns_xfrin_t *xfr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:489,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/dns/xfrin.c:489,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/xfrin.c:492,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/xfrin.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - xfr
    - op
    - name
    - ttl
    - rdata
    argTypes:
    - dns_xfrin_t*
    - dns_diffop_t
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 498
    functionName: ixfr_putdata
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - CHECK
    - dns_diff_append
    - dns_difftuple_create
    - dns_zone_checknames
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ixfr_putdata(dns_xfrin_t *xfr, dns_diffop_t op, dns_name_t
      *name, dns_ttl_t ttl,\n\t     dns_rdata_t *rdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:505,1
    - Dst: dns_journal_begin_transaction
      Src: /src/bind9/lib/dns/xfrin.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 5
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: ixfr_begin_transaction
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_journal_begin_transaction
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_begin_transaction(dns_xfrin_t *xfr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:515,1
    - Dst: dns_zone_verifydb
      Src: /src/bind9/lib/dns/xfrin.c:515,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:518,1
    - Dst: dns_journal_commit
      Src: /src/bind9/lib/dns/xfrin.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 511
    functionDepth: 7
    functionLinenumber: 511
    functionLinenumberEnd: 522
    functionName: ixfr_end_transaction
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_zone_verifydb
    - CHECK
    - dns_journal_commit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_end_transaction(dns_xfrin_t *xfr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:529,1
    - Dst: ixfr_begin_transaction
      Src: /src/bind9/lib/dns/xfrin.c:529,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:531,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/xfrin.c:531,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/dns/xfrin.c:533,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:540,1
    - Dst: dns_journal_writediff
      Src: /src/bind9/lib/dns/xfrin.c:540,1
    - Dst: ixfr_end_transaction
      Src: /src/bind9/lib/dns/xfrin.c:543,1
    - Dst: ixfr_end_transaction
      Src: /src/bind9/lib/dns/xfrin.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - xfr
    - data
    argTypes:
    - dns_xfrin_t*
    - ixfr_apply_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 524
    functionDepth: 8
    functionLinenumber: 524
    functionLinenumberEnd: 551
    functionName: ixfr_apply_one
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_journal_writediff
    - ixfr_begin_transaction
    - dns_db_getsize
    - ixfr_end_transaction
    - CHECK
    - dns_diff_apply
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_apply_one(dns_xfrin_t *xfr, ixfr_apply_data_t *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:559,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:559,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:560,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:560,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/dns/xfrin.c:566,1
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/dns/xfrin.c:568,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:570,1
    - Dst: __cds_wfcq_for_each_blocking_safe
      Src: /src/bind9/lib/dns/xfrin.c:573,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/xfrin.c:575,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:577,1
    - Dst: ixfr_apply_one
      Src: /src/bind9/lib/dns/xfrin.c:584,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:588,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:589,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 553
    functionDepth: 9
    functionLinenumber: 553
    functionLinenumberEnd: 593
    functionName: ixfr_apply
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - __cds_wfcq_splice_blocking
    - VALID_XFRIN
    - isc_mem_put
    - __cds_wfcq_for_each_blocking_safe
    - INSIST
    - ixfr_apply_one
    - REQUIRE
    - atomic_load
    - VALID_XFRIN_WORK
    - dns_diff_clear
    - caa_container_of
    - __cds_wfcq_init
    linkageType: ''
    returnType: void
    signature: void ixfr_apply(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:598,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:601,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:601,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:605,1
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/dns/xfrin.c:614,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:615,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:622,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:625,1
    - Dst: dns_zone_markdirty
      Src: /src/bind9/lib/dns/xfrin.c:626,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:628,1
    - Dst: xfrin_end
      Src: /src/bind9/lib/dns/xfrin.c:629,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:632,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:634,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 638
    functionName: ixfr_apply_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - cds_wfcq_empty
    - VALID_XFRIN
    - isc_mem_put
    - xfrin_fail
    - isc_work_enqueue
    - dns_xfrin_detach
    - dns_zone_markdirty
    - REQUIRE
    - atomic_load
    - VALID_XFRIN_WORK
    - xfrin_end
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ixfr_apply_done(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:646,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/dns/xfrin.c:649,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:652,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/xfrin.c:652,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/xfrin.c:655,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/dns/xfrin.c:657,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:659,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:663,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:667,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 675
    functionName: ixfr_commit
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - cds_wfcq_node_init
    - isc_work_enqueue
    - isc_mem_get
    - CHECK
    - cds_wfcq_enqueue
    - dns_xfrin_ref
    - ISC_LIST_MOVE
    - dns_diff_init
    - dns_db_newversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_commit(dns_xfrin_t *xfr)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:691,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/xfrin.c:694,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/xfrin.c:697,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:698,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/xfrin.c:710,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/xfrin.c:713,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:714,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:714,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:721,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:724,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:729,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:730,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/xfrin.c:731,1
    - Dst: dns_zone_isforced
      Src: /src/bind9/lib/dns/xfrin.c:732,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:734,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:734,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:741,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:752,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:761,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:762,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/xfrin.c:764,1
    - Dst: dns_zone_isforced
      Src: /src/bind9/lib/dns/xfrin.c:765,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:772,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:772,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/xfrin.c:781,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/xfrin.c:783,1
    - Dst: memcpy
      Src: /src/bind9/lib/dns/xfrin.c:784,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:786,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:796,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:798,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:798,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:800,1
    - Dst: ixfr_init
      Src: /src/bind9/lib/dns/xfrin.c:800,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:801,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:803,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:803,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:805,1
    - Dst: axfr_init
      Src: /src/bind9/lib/dns/xfrin.c:805,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:806,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:811,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:812,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:812,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:813,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:818,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:819,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:823,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:823,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:827,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:828,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:828,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:829,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:834,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:835,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:837,1
    - Dst: ixfr_commit
      Src: /src/bind9/lib/dns/xfrin.c:837,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:838,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:841,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:848,1
    - Dst: ixfr_commit
      Src: /src/bind9/lib/dns/xfrin.c:848,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:849,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/xfrin.c:854,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:859,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:859,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:872,1
    - Dst: axfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:872,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/xfrin.c:878,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:879,1
    - Dst: axfr_commit
      Src: /src/bind9/lib/dns/xfrin.c:885,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:886,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/xfrin.c:895,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 148
    argCount: 4
    argNames:
    - xfr
    - name
    - ttl
    - rdata
    argTypes:
    - dns_xfrin_t*
    - dns_name_t*
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 686
    functionDepth: 6
    functionLinenumber: 686
    functionLinenumberEnd: 900
    functionName: xfr_rr
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - DNS_SERIAL_GT
    - axfr_init
    - axfr_putdata
    - ixfr_commit
    - dns_zone_isforced
    - UNREACHABLE
    - ixfr_init
    - isc_mem_allocate
    - dns_name_format
    - dns_rdatatype_format
    - dns_name_iswildcard
    - axfr_commit
    - atomic_store_relaxed
    - ISC_LOG_DEBUG
    - xfrin_log
    - dns_rdatatype_ismeta
    - atomic_fetch_add_relaxed
    - dns_soa_getserial
    - INSIST
    - atomic_load
    - memcpy
    - dns_rdata_compare
    - ixfr_putdata
    - isc_mem_free
    - dns_name_equal
    - atomic_load_relaxed
    - CHECK
    - atomic_store
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfr_rr(dns_xfrin_t *xfr, dns_name_t *name, uint32_t ttl,
      dns_rdata_t *rdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/xfrin.c:909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:914,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:915,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/xfrin.c:915,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:916,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:917,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:917,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:919,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/xfrin.c:921,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:924,1
    - Dst: xfrin_create
      Src: /src/bind9/lib/dns/xfrin.c:927,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/xfrin.c:927,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/xfrin.c:933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 11
    argNames:
    - zone
    - xfrtype
    - ixfr_maxdiffs
    - primaryaddr
    - sourceaddr
    - tsigkey
    - soa_transport_type
    - transport
    - tlsctx_cache
    - mctx
    - xfrp
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - uint32_t
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_tsigkey_t*
    - dns_transport_type_t
    - dns_transport_t*
    - isc_tlsctx_cache_t*
    - isc_mem_t*
    - dns_xfrin_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 937
    functionName: dns_xfrin_create
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - xfrin_create
    - isc_sockaddr_getport
    - dns_zone_getview
    - dns_db_detach
    - dns_zone_getdb
    - dns_zone_getloop
    - REQUIRE
    - dns_zone_getorigin
    - dns_zone_getclass
    linkageType: ''
    returnType: void
    signature: "void dns_xfrin_create(dns_zone_t *zone, dns_rdatatype_t xfrtype,\n\t\t
      uint32_t ixfr_maxdiffs, const isc_sockaddr_t *primaryaddr,\n\t\t const isc_sockaddr_t
      *sourceaddr, dns_tsigkey_t *tsigkey,\n\t\t dns_transport_type_t soa_transport_type,\n\t\t
      dns_transport_t *transport, isc_tlsctx_cache_t *tlsctx_cache,\n\t\t isc_mem_t
      *mctx, dns_xfrin_t **xfrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:943,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:944,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:945,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:949,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - xfr
    - done
    argTypes:
    - dns_xfrin_t*
    - dns_xfrindone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 956
    functionName: dns_xfrin_start
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - xfrin_start
    - xfrin_fail
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_xfrin_start(dns_xfrin_t *xfr, dns_xfrindone_t done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:960,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:960,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 963
    functionName: xfrin_timedout
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - xfrin_fail
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void xfrin_timedout(void *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:967,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:967,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: xfrin_idledout
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - xfrin_fail
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void xfrin_idledout(void *xfr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:976,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:976,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:978,1
    - Dst: dns_zone_getminxfrratebytesin
      Src: /src/bind9/lib/dns/xfrin.c:979,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:983,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:984,1
    - Dst: dns_zone_getminxfrratesecondsin
      Src: /src/bind9/lib/dns/xfrin.c:993,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 996
    functionName: xfrin_minratecheck
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - VALID_XFRIN
    - xfrin_fail
    - atomic_store_relaxed
    - dns_zone_getminxfrratesecondsin
    - isc_timer_stop
    - atomic_load_relaxed
    - dns_zone_getminxfrratebytesin
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void xfrin_minratecheck(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1000,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1000,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: dns_xfrin_getstarttime
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - atomic_load_relaxed
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t dns_xfrin_getstarttime(dns_xfrin_t *xfr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1010,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1010,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1011,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1012,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1014,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1017,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - xfr
    - statestr
    - is_first_data_received
    - is_ixfr
    argTypes:
    - dns_xfrin_t*
    - char**
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1048
    functionName: dns_xfrin_getstate
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - atomic_load
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_xfrin_getstate(const dns_xfrin_t *xfr, const char **statestr,\n\t\t
      \  bool *is_first_data_received, bool *is_ixfr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1052,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1052,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1055
    functionName: dns_xfrin_getendserial
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - atomic_load_relaxed
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_xfrin_getendserial(dns_xfrin_t *xfr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1060,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1060,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1061,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1063,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:1070,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1071,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/xfrin.c:1072,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1074,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1078,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1078,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1079,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1079,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1080,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1080,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - xfr
    - nmsgp
    - nrecsp
    - nbytesp
    - ratep
    argTypes:
    - dns_xfrin_t*
    - unsigned int*
    - unsigned int*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1057
    functionDepth: 3
    functionLinenumber: 1057
    functionLinenumberEnd: 1082
    functionName: dns_xfrin_getstats
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - SET_IF_NOT_NULL
    - VALID_XFRIN
    - atomic_load_relaxed
    - isc_time_now
    - REQUIRE
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: "void dns_xfrin_getstats(dns_xfrin_t *xfr, unsigned int *nmsgp, unsigned
      int *nrecsp,\n\t\t   uint64_t *nbytesp, uint64_t *ratep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1086,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1089
    functionName: dns_xfrin_getsourceaddr
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      dns_xfrin_getsourceaddr(const dns_xfrin_t *xfr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1093,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1096
    functionName: dns_xfrin_getprimaryaddr
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      dns_xfrin_getprimaryaddr(const dns_xfrin_t *xfr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1100,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1100,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/xfrin.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1107
    functionName: dns_xfrin_gettransporttype
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - dns_transport_get_type
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t dns_xfrin_gettransporttype(const dns_xfrin_t *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1111,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1111,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1114
    functionName: dns_xfrin_getsoatransporttype
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - atomic_load_relaxed
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t dns_xfrin_getsoatransporttype(dns_xfrin_t *xfr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1118,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1118,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/xfrin.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1125
    functionName: dns_xfrin_gettsigkeyname
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - dst_key_name
    - VALID_XFRIN
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_xfrin_gettsigkeyname(const dns_xfrin_t *xfr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1131,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1131,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1133,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1135
    functionName: xfrin_shutdown
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - xfrin_fail
    - VALID_XFRIN
    - REQUIRE
    - dns_xfrin_detach
    linkageType: ''
    returnType: void
    signature: void xfrin_shutdown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1139,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1139,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/xfrin.c:1141,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1142,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/xfrin.c:1143,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1147
    functionName: dns_xfrin_shutdown
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - VALID_XFRIN
    - xfrin_fail
    - isc_async_run
    - dns_xfrin_ref
    - REQUIRE
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void dns_xfrin_shutdown(dns_xfrin_t *xfr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/xfrin.c:1158,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/xfrin.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1155
    functionDepth: 8
    functionLinenumber: 1155
    functionLinenumberEnd: 1163
    functionName: xfrin_cancelio
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    - dns_dispatch_done
    linkageType: ''
    returnType: void
    signature: void xfrin_cancelio(dns_xfrin_t *xfr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1167,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1167,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1169,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:1172,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:1175,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1179,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:1183,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:1187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1189
    functionName: xfrin_reset
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - VALID_XFRIN
    - dns_db_endload
    - dns_journal_destroy
    - xfrin_log
    - isc_buffer_free
    - REQUIRE
    - dns_diff_clear
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void xfrin_reset(dns_xfrin_t *xfr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1193,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1193,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1195,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/xfrin.c:1198,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1202,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1203,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1204,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:1215,1
    - Dst: xfrin_end
      Src: /src/bind9/lib/dns/xfrin.c:1217,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - xfr
    - result
    - msg
    argTypes:
    - dns_xfrin_t*
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1191
    functionDepth: 9
    functionLinenumber: 1191
    functionLinenumberEnd: 1221
    functionName: xfrin_fail
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 8
    functionsReached:
    - VALID_XFRIN
    - xfrin_log
    - xfrin_cancelio
    - isc_result_totext
    - dns_xfrin_ref
    - atomic_load
    - REQUIRE
    - atomic_compare_exchange_strong
    - xfrin_end
    - dns_xfrin_detach
    linkageType: ''
    returnType: void
    signature: void xfrin_fail(dns_xfrin_t *xfr, isc_result_t result, const char *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:1234,1
    - Dst: dns_zone_getmaxrecords
      Src: /src/bind9/lib/dns/xfrin.c:1240,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/xfrin.c:1250,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/xfrin.c:1251,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/xfrin.c:1252,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/xfrin.c:1253,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:1253,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/xfrin.c:1254,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/dns/xfrin.c:1256,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1258,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/xfrin.c:1261,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/xfrin.c:1264,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1267,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1269,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1272,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:1272,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/xfrin.c:1275,1
    - Dst: dns_transport_attach
      Src: /src/bind9/lib/dns/xfrin.c:1279,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/xfrin.c:1282,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1284,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/xfrin.c:1284,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/xfrin.c:1284,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/xfrin.c:1285,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/xfrin.c:1290,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/xfrin.c:1293,1
    - Dst: dns_zone_name
      Src: /src/bind9/lib/dns/xfrin.c:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 15
    argNames:
    - mctx
    - zone
    - db
    - loop
    - zonename
    - rdclass
    - reqtype
    - ixfr_maxdiffs
    - primaryaddr
    - sourceaddr
    - tsigkey
    - soa_transport_type
    - transport
    - tlsctx_cache
    - xfrp
    argTypes:
    - isc_mem_t*
    - dns_zone_t*
    - dns_db_t*
    - isc_loop_t*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - uint32_t
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_tsigkey_t*
    - dns_transport_type_t
    - dns_transport_t*
    - isc_tlsctx_cache_t*
    - dns_xfrin_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1223
    functionDepth: 3
    functionLinenumber: 1223
    functionLinenumberEnd: 1298
    functionName: xfrin_create
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_zone_getmaxrecords
    - dns_name_dup
    - dns_diff_init
    - dns_zone_iattach
    - isc_tlsctx_cache_attach
    - isc_mem_attach
    - dns_transport_attach
    - isc_time_now
    - dns_view_weakattach
    - isc_loop_attach
    - __cds_wfcq_init
    - isc_sockaddr_setport
    - dns_zone_getview
    - dns_zone_name
    - dns_db_attach
    - INSIST
    - isc_mem_get
    - isc_sockaddr_pf
    - dns_tsigkey_attach
    - isc_buffer_init
    - atomic_init
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void xfrin_create(isc_mem_t *mctx, dns_zone_t *zone, dns_db_t *db,
      isc_loop_t *loop,\n\t     dns_name_t *zonename, dns_rdataclass_t rdclass,\n\t
      \    dns_rdatatype_t reqtype, uint32_t ixfr_maxdiffs,\n\t     const isc_sockaddr_t
      *primaryaddr,\n\t     const isc_sockaddr_t *sourceaddr, dns_tsigkey_t *tsigkey,\n\t
      \    dns_transport_type_t soa_transport_type,\n\t     dns_transport_t *transport,
      isc_tlsctx_cache_t *tlsctx_cache,\n\t     dns_xfrin_t **xfrp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1306,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:1309,1
    - Dst: dns_view_getdispatchmgr
      Src: /src/bind9/lib/dns/xfrin.c:1311,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/xfrin.c:1318,1
    - Dst: dns_dispatchmgr_getnetmgr
      Src: /src/bind9/lib/dns/xfrin.c:1318,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/lib/dns/xfrin.c:1319,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/xfrin.c:1322,1
    - Dst: LIBDNS_XFRIN_START
      Src: /src/bind9/lib/dns/xfrin.c:1327,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1338,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1343,1
    - Dst: dns_xfrin_gettransporttype
      Src: /src/bind9/lib/dns/xfrin.c:1344,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1353,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/xfrin.c:1353,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/xfrin.c:1361,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:1361,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:1364,1
    - Dst: dns_zone_getmaxxfrin
      Src: /src/bind9/lib/dns/xfrin.c:1364,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:1365,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/xfrin.c:1369,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:1369,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:1372,1
    - Dst: dns_zone_getidlein
      Src: /src/bind9/lib/dns/xfrin.c:1372,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:1373,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/xfrin.c:1377,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:1377,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:1380,1
    - Dst: dns_zone_getminxfrratesecondsin
      Src: /src/bind9/lib/dns/xfrin.c:1380,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:1382,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1388,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/xfrin.c:1388,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:1393,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1300
    functionDepth: 11
    functionLinenumber: 1300
    functionLinenumberEnd: 1397
    functionName: xfrin_start
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_dispatch_connect
    - isc_nm_getprimariestimeout
    - dns_xfrin_ref
    - dns_dispatch_createtcp
    - dns_xfrin_gettransporttype
    - dns_xfrin_detach
    - dns_dispatchmgr_getnetmgr
    - dns_zone_getminxfrratesecondsin
    - dns_dispatchmgr_detach
    - dns_zone_getloop
    - dns_dispatch_add
    - dns_view_getdispatchmgr
    - isc_interval_set
    - isc_timer_create
    - atomic_store_relaxed
    - dns_zone_getmaxxfrin
    - LIBDNS_XFRIN_START
    - isc_timer_start
    - atomic_load
    - dns_zone_getidlein
    - xfrin_cancelio
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfrin_start(dns_xfrin_t *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/xfrin.c:1406,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1407,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/dns/xfrin.c:1407,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1408,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1408,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1409,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1409,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1410,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1410,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1411,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1411,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1412,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/dns/xfrin.c:1412,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/xfrin.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - msg
    - mctx
    - buf
    argTypes:
    - dns_message_t*
    - isc_mem_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1417
    functionName: render
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - CHECK
    - dns_message_renderbegin
    - dns_compress_init
    - dns_message_renderend
    - dns_message_rendersection
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t render(dns_message_t *msg, isc_mem_t *mctx, isc_buffer_t
      *buf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1431,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1431,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1433,1
    - Dst: LIBDNS_XFRIN_CONNECTED
      Src: /src/bind9/lib/dns/xfrin.c:1437,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1440,1
    - Dst: dns_dispatch_checkperm
      Src: /src/bind9/lib/dns/xfrin.c:1444,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1446,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/lib/dns/xfrin.c:1450,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:1452,1
    - Dst: dns_unreachcache_remove
      Src: /src/bind9/lib/dns/xfrin.c:1453,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/xfrin.c:1458,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/xfrin.c:1458,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/xfrin.c:1464,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1465,1
    - Dst: xfrin_send_request
      Src: /src/bind9/lib/dns/xfrin.c:1468,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1470,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/lib/dns/xfrin.c:1489,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:1491,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/lib/dns/xfrin.c:1492,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1503,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - result
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1422
    functionDepth: 10
    functionLinenumber: 1422
    functionLinenumberEnd: 1504
    functionName: xfrin_connect_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_checkperm
    - dns_zone_getview
    - xfrin_fail
    - VALID_XFRIN
    - dns_zone_getmgr
    - isc_sockaddr_format
    - xfrin_log
    - xfrin_send_request
    - dns_xfrin_detach
    - dns_unreachcache_add
    - dns_unreachcache_remove
    - REQUIRE
    - atomic_load
    - dst_key_name
    - LIBDNS_XFRIN_CONNECTED
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: "void xfrin_connect_done(isc_result_t result, isc_region_t *region
      ISC_ATTR_UNUSED,\n\t\t   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1517,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/xfrin.c:1519,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/xfrin.c:1520,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/xfrin.c:1522,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/xfrin.c:1526,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/xfrin.c:1528,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/xfrin.c:1529,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/xfrin.c:1531,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/xfrin.c:1532,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/xfrin.c:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - tuple
    - msg
    - target
    argTypes:
    - dns_difftuple_t*
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1536
    functionName: tuple2msgname
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - dns_name_clone
    - dns_message_gettemprdataset
    - dns_message_gettempname
    - REQUIRE
    - dns_rdata_clone
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: void tuple2msgname(dns_difftuple_t *tuple, dns_message_t *msg, dns_name_t
      **target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_UNREACHABLE
      Src: /src/bind9/lib/dns/xfrin.c:1548,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1550
    functionName: request_type
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - ISC_UNREACHABLE
    linkageType: ''
    returnType: char
    signature: 'char *

      request_type(dns_xfrin_t *xfr)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1562,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1569,1
    - Dst: dns_message_buildopt
      Src: /src/bind9/lib/dns/xfrin.c:1575,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/dns/xfrin.c:1581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - message
    - udpsize
    - reqnsid
    - reqexpire
    argTypes:
    - dns_message_t*
    - uint16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1582
    functionName: add_opt
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - dns_message_buildopt
    - dns_message_setopt
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_opt(dns_message_t *message, uint16_t udpsize, bool
      reqnsid,\n\tbool reqexpire)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getrequestexpire
      Src: /src/bind9/lib/dns/xfrin.c:1599,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/dns/xfrin.c:1600,1
    - Dst: LIBDNS_XFRIN_RECV_SEND_REQUEST
      Src: /src/bind9/lib/dns/xfrin.c:1602,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/xfrin.c:1605,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1607,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/xfrin.c:1607,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/xfrin.c:1610,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/xfrin.c:1611,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/xfrin.c:1614,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/xfrin.c:1615,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/xfrin.c:1616,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/xfrin.c:1619,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/xfrin.c:1624,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1625,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/xfrin.c:1625,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:1627,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1629,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1629,1
    - Dst: tuple2msgname
      Src: /src/bind9/lib/dns/xfrin.c:1633,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/xfrin.c:1634,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1636,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/xfrin.c:1636,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/xfrin.c:1643,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/xfrin.c:1644,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/xfrin.c:1647,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/xfrin.c:1648,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/xfrin.c:1649,1
    - Dst: dns_peer_getrequestexpire
      Src: /src/bind9/lib/dns/xfrin.c:1650,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1655,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/xfrin.c:1655,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1658,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1659,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1660,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1661,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:1661,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1667,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1670,1
    - Dst: render
      Src: /src/bind9/lib/dns/xfrin.c:1670,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:1676,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1682,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/xfrin.c:1682,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/xfrin.c:1684,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1685,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1687,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/lib/dns/xfrin.c:1688,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1689,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1689,1
    - Dst: request_type
      Src: /src/bind9/lib/dns/xfrin.c:1690,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:1693,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/xfrin.c:1695,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:1698,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1587
    functionDepth: 7
    functionLinenumber: 1587
    functionLinenumberEnd: 1702
    functionName: xfrin_send_request
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - LIBDNS_XFRIN_RECV_SEND_REQUEST
    - dns_db_getsoaserial
    - dns_peer_getsupportedns
    - dns_view_getudpsize
    - dns_dispatch_send
    - dns_xfrin_ref
    - dns_message_gettempname
    - isc_buffer_usedregion
    - dns_peer_getrequestnsid
    - request_type
    - tuple2msgname
    - dns_difftuple_free
    - dns_peer_getudpsize
    - dns_message_gettemprdataset
    - isc_time_now
    - dns_message_create
    - dns_peer_getrequestexpire
    - dst_context_destroy
    - dns_db_currentversion
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - xfrin_log
    - atomic_store_relaxed
    - dns_message_addname
    - dns_soa_getserial
    - INSIST
    - isc_buffer_free
    - dns_zone_getrequestexpire
    - dns_message_detach
    - dns_db_createsoatuple
    - ISC_LIST_APPEND
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - dns_rdataset_makequestion
    - dns_name_clone
    - CHECK
    - dns_peerlist_peerbyaddr
    - add_opt
    - render
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfrin_send_request(dns_xfrin_t *xfr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/xfrin.c:1708,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1710,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1710,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1712,1
    - Dst: LIBDNS_XFRIN_SENT
      Src: /src/bind9/lib/dns/xfrin.c:1716,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1718,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1720,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1720,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1724,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - result
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1704
    functionDepth: 10
    functionLinenumber: 1704
    functionLinenumberEnd: 1728
    functionName: xfrin_send_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - VALID_XFRIN
    - LIBDNS_XFRIN_SENT
    - xfrin_fail
    - ISC_LOG_DEBUG
    - xfrin_log
    - UNUSED
    - CHECK
    - REQUIRE
    - atomic_load
    - dns_xfrin_detach
    linkageType: ''
    returnType: void
    signature: void xfrin_send_done(isc_result_t result, isc_region_t *region, void
      *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/xfrin.c:1738,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:1740,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/xfrin.c:1741,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/xfrin.c:1742,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/xfrin.c:1743,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/xfrin.c:1744,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/xfrin.c:1745,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/xfrin.c:1750,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/xfrin.c:1753,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/xfrin.c:1755,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1755,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - xfr
    - msg
    argTypes:
    - dns_xfrin_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1730
    functionDepth: 3
    functionLinenumber: 1730
    functionLinenumberEnd: 1760
    functionName: get_edns_expire
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_buffer_forward
    - dns_rdataset_current
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_getuint32
    - dns_rdataset_first
    - isc_buffer_add
    - dns_zone_log
    - isc_buffer_getuint16
    linkageType: ''
    returnType: void
    signature: void get_edns_expire(dns_xfrin_t *xfr, dns_message_t *msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIBDNS_XFRIN_DONE_CALLBACK_BEGIN
      Src: /src/bind9/lib/dns/xfrin.c:1766,1
    - Dst: LIBDNS_XFRIN_DONE_CALLBACK_END
      Src: /src/bind9/lib/dns/xfrin.c:1770,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:1773,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1776,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1777,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1780,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1781,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1784,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - xfr
    - result
    argTypes:
    - dns_xfrin_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1762
    functionDepth: 2
    functionLinenumber: 1762
    functionLinenumberEnd: 1791
    functionName: xfrin_end
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 3
    functionsReached:
    - isc_timer_destroy
    - isc_timer_stop
    - LIBDNS_XFRIN_DONE_CALLBACK_BEGIN
    - LIBDNS_XFRIN_DONE_CALLBACK_END
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void xfrin_end(dns_xfrin_t *xfr, isc_result_t result)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1800,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1800,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1802,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1807,1
    - Dst: LIBDNS_XFRIN_RECV_START
      Src: /src/bind9/lib/dns/xfrin.c:1809,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1811,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1813,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1813,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/xfrin.c:1815,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1818,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/xfrin.c:1818,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/dns/xfrin.c:1819,1
    - Dst: dns_message_setclass
      Src: /src/bind9/lib/dns/xfrin.c:1824,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1826,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/xfrin.c:1828,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/xfrin.c:1829,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/xfrin.c:1831,1
    - Dst: dns_message_logpacketfrom
      Src: /src/bind9/lib/dns/xfrin.c:1834,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1837,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1839,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1839,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1840,1
    - Dst: LIBDNS_XFRIN_RECV_PARSED
      Src: /src/bind9/lib/dns/xfrin.c:1843,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1850,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1851,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:1854,1
    - Dst: xfrin_reset
      Src: /src/bind9/lib/dns/xfrin.c:1855,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/lib/dns/xfrin.c:1860,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1879,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1879,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1880,1
    - Dst: LIBDNS_XFRIN_RECV_TRY_AXFR
      Src: /src/bind9/lib/dns/xfrin.c:1882,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:1883,1
    - Dst: xfrin_reset
      Src: /src/bind9/lib/dns/xfrin.c:1884,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:1886,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:1888,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1890,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1892,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1904,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1910,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1911,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1914,1
    - Dst: LIBDNS_XFRIN_RECV_QUESTION
      Src: /src/bind9/lib/dns/xfrin.c:1922,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/xfrin.c:1924,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1925,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/xfrin.c:1930,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1931,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1933,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1939,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1953,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1956,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1956,1
    - Dst: dns_message_checksig
      Src: /src/bind9/lib/dns/xfrin.c:1968,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1970,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1970,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1971,1
    - Dst: LIBDNS_XFRIN_RECV_ANSWER
      Src: /src/bind9/lib/dns/xfrin.c:1976,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/xfrin.c:1978,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:1981,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1982,1
    - Dst: xfr_rr
      Src: /src/bind9/lib/dns/xfrin.c:1982,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1991,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1991,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/xfrin.c:2000,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:2010,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2016,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/xfrin.c:2016,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/xfrin.c:2017,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2020,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2021,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2032,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2033,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2038,1
    - Dst: get_edns_expire
      Src: /src/bind9/lib/dns/xfrin.c:2043,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2046,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:2049,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2050,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:2050,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:2055,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:2056,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:2057,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:2058,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:2064,1
    - Dst: dns_dispatch_getnext
      Src: /src/bind9/lib/dns/xfrin.c:2065,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:2071,1
    - Dst: dns_zone_getidlein
      Src: /src/bind9/lib/dns/xfrin.c:2071,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:2072,1
    - Dst: LIBDNS_XFRIN_READ
      Src: /src/bind9/lib/dns/xfrin.c:2075,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:2081,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:2085,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:2087,1
    - Dst: LIBDNS_XFRIN_RECV_DONE
      Src: /src/bind9/lib/dns/xfrin.c:2088,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 186
    argCount: 3
    argNames:
    - result
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 1793
    functionDepth: 12
    functionLinenumber: 1793
    functionLinenumberEnd: 2089
    functionName: xfrin_recv_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - LIBDNS_XFRIN_RECV_TRY_AXFR
    - dns_message_parse
    - dns_message_gettsig
    - dns_rdataset_current
    - REQUIRE
    - dns_xfrin_detach
    - dns_message_gettsigkey
    - ISC_LIST_HEAD
    - LIBDNS_XFRIN_READ
    - LIBDNS_XFRIN_RECV_QUESTION
    - LIBDNS_XFRIN_RECV_START
    - get_edns_expire
    - LIBDNS_XFRIN_RECV_DONE
    - dns_message_create
    - dns_dispatch_getnext
    - isc_interval_set
    - xfrin_fail
    - ISC_LOG_DEBUG
    - xfrin_log
    - xfr_rr
    - INSIST
    - atomic_fetch_add_relaxed
    - isc_buffer_free
    - isc_timer_start
    - ISC_LIST_FOREACH
    - atomic_load
    - dns_message_checksig
    - dns_message_setquerytsig
    - dns_message_detach
    - dns_zone_getidlein
    - dns_result_fromrcode
    - xfrin_start
    - VALID_XFRIN
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - isc_timer_stop
    - xfrin_cancelio
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_init
    - atomic_load_relaxed
    - CHECK
    - dns_message_logpacketfrom
    - LIBDNS_XFRIN_RECV_PARSED
    - xfrin_reset
    - isc_buffer_add
    - atomic_store
    - dns_message_setclass
    - LIBDNS_XFRIN_RECV_ANSWER
    linkageType: ''
    returnType: void
    signature: void xfrin_recv_done(isc_result_t result, isc_region_t *region, void
      *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIBDNS_XFRIN_RECV_QUESTION
      Src: /src/bind9/lib/dns/xfrin.c:1922,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/xfrin.c:1924,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1925,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/xfrin.c:1930,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1931,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1933,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1944
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - xfrin_log
    - dns_name_equal
    - LIBDNS_XFRIN_RECV_QUESTION
    - INSIST
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_QUESTION, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIBDNS_XFRIN_RECV_ANSWER
      Src: /src/bind9/lib/dns/xfrin.c:1976,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/xfrin.c:1978,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:1981,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1982,1
    - Dst: xfr_rr
      Src: /src/bind9/lib/dns/xfrin.c:1982,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1991,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1975
    functionDepth: 7
    functionLinenumber: 1975
    functionLinenumberEnd: 1998
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - ISC_LOG_DEBUG
    - xfr_rr
    - xfrin_log
    - dns_rdataset_current
    - CHECK
    - ISC_LIST_FOREACH
    - LIBDNS_XFRIN_RECV_ANSWER
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_ANSWER, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:1981,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1982,1
    - Dst: xfr_rr
      Src: /src/bind9/lib/dns/xfrin.c:1982,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1991,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1979
    functionDepth: 7
    functionLinenumber: 1979
    functionLinenumberEnd: 1996
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 4
    functionsReached:
    - ISC_LOG_DEBUG
    - xfrin_log
    - xfr_rr
    - dns_rdataset_current
    - CHECK
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rds)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:2094,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:2098,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:2098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:2101,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2101,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2103,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2110,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:2111,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2117,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/xfrin.c:2118,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2122,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/xfrin.c:2126,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2129,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2133,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2134,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2135,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2137,1
    - Dst: __cds_wfcq_for_each_blocking_safe
      Src: /src/bind9/lib/dns/xfrin.c:2142,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/xfrin.c:2145,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:2147,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:2148,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:2152,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:2154,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/xfrin.c:2157,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/xfrin.c:2161,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:2165,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/xfrin.c:2169,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:2173,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/xfrin.c:2177,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/xfrin.c:2181,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:2185,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/xfrin.c:2189,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/xfrin.c:2195,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/xfrin.c:2197,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2200,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:2200,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/xfrin.c:2204,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/xfrin.c:2208,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/xfrin.c:2212,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/xfrin.c:2216,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2219,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2220,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2221,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/xfrin.c:2223,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/xfrin.c:2225,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2091
    functionDepth: 9
    functionLinenumber: 2091
    functionLinenumberEnd: 2226
    functionName: xfrin_destroy
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_name_free
    - __cds_wfcq_for_each_blocking_safe
    - snprintf
    - REQUIRE
    - isc_loop_detach
    - dns_view_weakdetach
    - caa_container_of
    - dns_tsigkey_detach
    - dns_db_endload
    - dns_db_detach
    - isc_time_now
    - dns_zone_gettype
    - dns_zone_log
    - dst_context_destroy
    - dns_journal_destroy
    - xfrin_log
    - ISC_LOG_DEBUG
    - isc_tlsctx_cache_detach
    - INSIST
    - isc_buffer_free
    - atomic_load
    - dns_diff_clear
    - isc_time_microdiff
    - dns_transport_detach
    - VALID_XFRIN
    - isc_mem_free
    - xfrin_cancelio
    - dns_zone_idetach
    - isc_result_totext
    - atomic_load_relaxed
    - isc_mem_put
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void xfrin_destroy(dns_xfrin_t *xfr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/xfrin.c:2239,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/xfrin.c:2243,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/xfrin.c:2245,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/xfrin.c:2246,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/xfrin.c:2247,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/xfrin.c:2249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - xfr
    - level
    - fmt
    argTypes:
    - dns_xfrin_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2233
    functionDepth: 3
    functionLinenumber: 2233
    functionLinenumberEnd: 2252
    functionName: xfrin_log
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 12
    functionsReached:
    - va_end
    - isc_sockaddr_format
    - va_start
    - isc_log_write
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void xfrin_log(dns_xfrin_t *xfr, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: INSIST
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 626
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSIST(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: STR_EXPAND
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_EXPAND(tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tok
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: STR
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(tok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:186,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:187,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/gen.c:188,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/gen.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: HASH
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - strlen
    - tolower
    - INSIST
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t HASH(char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/bind9/lib/dns/gen.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - dir
    argTypes:
    - char*
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: start_directory
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - opendir
    linkageType: ''
    returnType: bool
    signature: bool start_directory(const char *path, isc_dir_t *dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readdir
      Src: /src/bind9/lib/dns/gen.c:213,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:218,1
    - Dst: strerror
      Src: /src/bind9/lib/dns/gen.c:220,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - dir
    argTypes:
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 231
    functionName: next_file
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - readdir
    - strerror
    - fprintf
    - exit
    linkageType: ''
    returnType: bool
    signature: bool next_file(isc_dir_t *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closedir
      Src: /src/bind9/lib/dns/gen.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dir
    argTypes:
    - isc_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: end_directory
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - closedir
    linkageType: ''
    returnType: void
    signature: void end_directory(isc_dir_t *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/gen.c:258,1
    - Dst: islower
      Src: /src/bind9/lib/dns/gen.c:261,1
    - Dst: toupper
      Src: /src/bind9/lib/dns/gen.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 265
    functionName: upper
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 9
    functionsReached:
    - toupper
    - islower
    - memset
    linkageType: ''
    returnType: char
    signature: 'char *

      upper(char *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:272,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - buf
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 278
    functionName: funname
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - strlen
    - INSIST
    linkageType: ''
    returnType: char
    signature: 'char *

      funname(const char *s, char *buf)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:296,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:297,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:302,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:304,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:306,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:307,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:311,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:316,1
    - Dst: funname
      Src: /src/bind9/lib/dns/gen.c:317,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:320,1
    - Dst: funname
      Src: /src/bind9/lib/dns/gen.c:322,1
    - Dst: funname
      Src: /src/bind9/lib/dns/gen.c:323,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:325,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:330,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:332,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:334,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:335,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:339,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:341,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:345,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:347,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:349,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 6
    argNames:
    - name
    - function
    - args
    - tsw
    - csw
    - res
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 351
    functionName: doswitch
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - funname
    - printf
    linkageType: ''
    returnType: void
    signature: "void doswitch(const char *name, const char *function, const char *args,\n\t
      const char *tsw, const char *csw, const char *res)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:360,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:360,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:365,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:366,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:369,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:375,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:376,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:383,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:384,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:385,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:388,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:391,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:395,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:404,1
    - Dst: upper
      Src: /src/bind9/lib/dns/gen.c:405,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:406,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:410,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:411,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:415,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:418,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:419,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:421,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:424,1
    - Dst: HASH
      Src: /src/bind9/lib/dns/gen.c:427,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 3
    argNames:
    - type
    - typebuf
    - attr
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 429
    functionName: insert_into_typenames
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - strncpy
    - exit
    - INSIST
    - upper
    - strlen
    - HASH
    - snprintf
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void insert_into_typenames(int type, const char *typebuf, const char
      *attr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/dns/gen.c:434,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:439,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:439,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:440,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:440,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:441,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:441,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:443,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:446,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:447,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:454,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:457,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/gen.c:460,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:463,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:475,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:475,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:480,1
    - Dst: malloc
      Src: /src/bind9/lib/dns/gen.c:496,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:498,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:499,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:502,1
    - Dst: free
      Src: /src/bind9/lib/dns/gen.c:513,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 5
    argNames:
    - rdclass
    - classbuf
    - type
    - typebuf
    - dirbuf
    argTypes:
    - unsigned int
    - char*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 523
    functionName: add
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 359
    functionsReached:
    - strncpy
    - strncmp
    - malloc
    - insert_into_typenames
    - INSIST
    - exit
    - strlen
    - fprintf
    - free
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void add(unsigned int rdclass, const char *classbuf, int type, const
      char *typebuf,\n    const char *dirbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: start_directory
      Src: /src/bind9/lib/dns/gen.c:534,1
    - Dst: next_file
      Src: /src/bind9/lib/dns/gen.c:538,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/gen.c:539,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:548,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:550,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:551,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:555,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:557,1
    - Dst: add
      Src: /src/bind9/lib/dns/gen.c:559,1
    - Dst: end_directory
      Src: /src/bind9/lib/dns/gen.c:562,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - rdclass
    - classbuf
    - dirbuf
    - filetype
    argTypes:
    - unsigned int
    - char*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 563
    functionName: sd
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 1
    functionsReached:
    - end_directory
    - INSIST
    - exit
    - start_directory
    - add
    - snprintf
    - next_file
    - fprintf
    - strcmp
    - sscanf
    linkageType: ''
    returnType: void
    signature: "void sd(unsigned int rdclass, const char *classbuf, const char *dirbuf,\n
      \  char filetype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: ttnam_cmp
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ttnam_cmp(const void *va, const void *vb)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/bind9/lib/dns/gen.c:601,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:636,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:640,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:641,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:643,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:644,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:656,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:660,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:661,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:663,1
    - Dst: start_directory
      Src: /src/bind9/lib/dns/gen.c:663,1
    - Dst: next_file
      Src: /src/bind9/lib/dns/gen.c:665,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/gen.c:666,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:676,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:678,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:679,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:679,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:683,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:685,1
    - Dst: sd
      Src: /src/bind9/lib/dns/gen.c:687,1
    - Dst: end_directory
      Src: /src/bind9/lib/dns/gen.c:689,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:690,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:691,1
    - Dst: sd
      Src: /src/bind9/lib/dns/gen.c:692,1
    - Dst: getenv
      Src: /src/bind9/lib/dns/gen.c:694,1
    - Dst: strtoull
      Src: /src/bind9/lib/dns/gen.c:697,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:701,1
    - Dst: strerror
      Src: /src/bind9/lib/dns/gen.c:704,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:705,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:708,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:713,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:716,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:720,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:723,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:729,1
    - Dst: time
      Src: /src/bind9/lib/dns/gen.c:733,1
    - Dst: gmtime_r
      Src: /src/bind9/lib/dns/gen.c:737,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:740,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:742,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:744,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:747,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:751,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:755,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:757,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:758,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:759,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:762,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:766,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:768,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:770,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:772,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:774,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:776,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:778,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:780,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:782,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:784,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:786,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:789,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:791,1
    - Dst: doswitch
      Src: /src/bind9/lib/dns/gen.c:793,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:814,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:815,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:816,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:817,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:818,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:819,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:820,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:821,1
    - Dst: insert_into_typenames
      Src: /src/bind9/lib/dns/gen.c:822,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/gen.c:828,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:840,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:841,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:842,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:845,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:847,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:848,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:849,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:850,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:851,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:853,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:855,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:864,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:872,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:879,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:881,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:883,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:884,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:886,1
    - Dst: upper
      Src: /src/bind9/lib/dns/gen.c:887,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:889,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:891,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:892,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:903,1
    - Dst: upper
      Src: /src/bind9/lib/dns/gen.c:905,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:907,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:911,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:913,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:914,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:919,1
    - Dst: funname
      Src: /src/bind9/lib/dns/gen.c:920,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:925,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:926,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:927,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:928,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:929,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:931,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:933,1
    - Dst: funname
      Src: /src/bind9/lib/dns/gen.c:938,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:939,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:941,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:946,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:948,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:950,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:952,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:954,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:960,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:962,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:964,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:965,1
    - Dst: PRINTCLASS
      Src: /src/bind9/lib/dns/gen.c:981,1
    - Dst: PRINTCLASS
      Src: /src/bind9/lib/dns/gen.c:983,1
    - Dst: PRINTCLASS
      Src: /src/bind9/lib/dns/gen.c:985,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:990,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/gen.c:993,1
    - Dst: fgets
      Src: /src/bind9/lib/dns/gen.c:994,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:995,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/gen.c:997,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:1001,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/gen.c:1003,1
    - Dst: fgets
      Src: /src/bind9/lib/dns/gen.c:1004,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:1005,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/gen.c:1007,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/gen.c:1011,1
    - Dst: fgets
      Src: /src/bind9/lib/dns/gen.c:1012,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:1013,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/gen.c:1015,1
    - Dst: printf
      Src: /src/bind9/lib/dns/gen.c:1020,1
    - Dst: ferror
      Src: /src/bind9/lib/dns/gen.c:1025,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:1026,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 271
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 1030
    functionName: main
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 78
    functionsReached:
    - insert_into_typenames
    - snprintf
    - printf
    - funname
    - ferror
    - strerror
    - fprintf
    - next_file
    - getopt
    - qsort
    - fopen
    - end_directory
    - INSIST
    - fclose
    - strlen
    - fgets
    - strtoull
    - time
    - getenv
    - PRINTCLASS
    - gmtime_r
    - doswitch
    - exit
    - upper
    - start_directory
    - sd
    - strcmp
    - sscanf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 978
    functionName: PRINTCLASS
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTCLASS(name, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: DST_AS_STR
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DST_AS_STR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: NEXTTOKEN
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTTOKEN(lex, opt, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: NEXTTOKEN_OR_EOF
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTTOKEN_OR_EOF(lex, opt, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: READLINE
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READLINE(lex, opt, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: BADTOKEN
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BADTOKEN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: CHECKALG
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKALG(alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/dst_api.c:201,1
    - Dst: dst__hmacmd5_init
      Src: /src/bind9/lib/dns/dst_api.c:203,1
    - Dst: dst__hmacsha1_init
      Src: /src/bind9/lib/dns/dst_api.c:204,1
    - Dst: dst__hmacsha224_init
      Src: /src/bind9/lib/dns/dst_api.c:205,1
    - Dst: dst__hmacsha256_init
      Src: /src/bind9/lib/dns/dst_api.c:206,1
    - Dst: dst__hmacsha384_init
      Src: /src/bind9/lib/dns/dst_api.c:207,1
    - Dst: dst__hmacsha512_init
      Src: /src/bind9/lib/dns/dst_api.c:208,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:211,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:212,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:214,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:215,1
    - Dst: dst__opensslecdsa_init
      Src: /src/bind9/lib/dns/dst_api.c:216,1
    - Dst: dst__opensslecdsa_init
      Src: /src/bind9/lib/dns/dst_api.c:217,1
    - Dst: dst__openssleddsa_init
      Src: /src/bind9/lib/dns/dst_api.c:218,1
    - Dst: dst__openssleddsa_init
      Src: /src/bind9/lib/dns/dst_api.c:220,1
    - Dst: dst__gssapi_init
      Src: /src/bind9/lib/dns/dst_api.c:224,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:230,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 238
    functionName: dst__lib_initialize
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst__hmacsha1_init
    - dst__hmacmd5_init
    - dst__opensslrsa_init
    - dst__hmacsha384_init
    - dst__gssapi_init
    - dst__openssleddsa_init
    - dst__hmacsha512_init
    - dst__opensslecdsa_init
    - isc_mem_create
    - dst__hmacsha224_init
    - dst__hmacsha256_init
    linkageType: ''
    returnType: void
    signature: void dst__lib_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/dst_api.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: dst__lib_shutdown
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    linkageType: ''
    returnType: void
    signature: void dst__lib_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: dst_algorithm_supported
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dst_algorithm_supported(unsigned int alg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:272,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:274,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:283,1
    - Dst: dst_key_attach
      Src: /src/bind9/lib/dns/dst_api.c:289,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dst_api.c:290,1
    - Dst: dst_key_t*::func::createctx
      Src: /src/bind9/lib/dns/dst_api.c:291,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:294,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dst_api.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - key
    - mctx
    - category
    - useforsigning
    - dctxp
    argTypes:
    - dst_key_t*
    - isc_mem_t*
    - isc_logcategory_t
    - bool
    - dst_context_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 302
    functionName: dst_context_create
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 8
    functionsReached:
    - isc_mem_attach
    - dst_key_free
    - dst_key_t*::func::createctx
    - isc_mem_putanddetach
    - isc_mem_get
    - REQUIRE
    - dst_key_attach
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_context_create(dst_key_t *key, isc_mem_t *mctx, isc_logcategory_t
      category,\n\t\t   bool useforsigning, dst_context_t **dctxp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:308,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:308,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:312,1
    - Dst: dst_context_t*::key::func::destroyctx
      Src: /src/bind9/lib/dns/dst_api.c:313,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:315,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dst_api.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dctxp
    argTypes:
    - dst_context_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: dst_context_destroy
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - dst_key_free
    - isc_mem_putanddetach
    - INSIST
    - REQUIRE
    - dst_context_t*::key::func::destroyctx
    - VALID_CTX
    linkageType: ''
    returnType: void
    signature: void dst_context_destroy(dst_context_t **dctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:323,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:324,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:325,1
    - Dst: dst_context_t*::key::func::adddata
      Src: /src/bind9/lib/dns/dst_api.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: dst_context_adddata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - dst_context_t*::key::func::adddata
    - VALID_CTX
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_context_adddata(dst_context_t *dctx, const isc_region_t
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:334,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:335,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:338,1
    - Dst: dst_key_t*::func::isprivate
      Src: /src/bind9/lib/dns/dst_api.c:346,1
    - Dst: dst_key_t*::func::sign
      Src: /src/bind9/lib/dns/dst_api.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 351
    functionName: dst_context_sign
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 5
    functionsReached:
    - dst_key_t*::func::sign
    - CHECKALG
    - dst_key_t*::func::isprivate
    - REQUIRE
    - VALID_CTX
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_context_sign(dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:355,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:356,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:358,1
    - Dst: dst_context_t*::key::func::verify
      Src: /src/bind9/lib/dns/dst_api.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: dst_context_verify
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - CHECKALG
    - VALID_CTX
    - REQUIRE
    - dst_context_t*::key::func::verify
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_context_verify(dst_context_t *dctx, isc_region_t *sig)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:374,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:375,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:378,1
    - Dst: write_public_key
      Src: /src/bind9/lib/dns/dst_api.c:385,1
    - Dst: write_key_state
      Src: /src/bind9/lib/dns/dst_api.c:392,1
    - Dst: dst_key_t*::func::tofile
      Src: /src/bind9/lib/dns/dst_api.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - key
    - type
    - directory
    argTypes:
    - dst_key_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 404
    functionName: dst_key_tofile
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - write_key_state
    - CHECKALG
    - dst_key_t*::func::tofile
    - REQUIRE
    - write_public_key
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_tofile(const dst_key_t *key, int type, const char
      *directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:408,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 411
    functionName: dst_key_setexternal
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setexternal(dst_key_t *key, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:415,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: dst_key_isexternal
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_isexternal(dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:422,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:422,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:424,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 427
    functionName: dst_key_setmodified
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setmodified(dst_key_t *key, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:433,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:433,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:435,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: dst_key_ismodified
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_ismodified(const dst_key_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:448,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:452,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:454,1
    - Dst: buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:456,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:458,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dst_api.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - name
    - id
    - alg
    - type
    - directory
    - mctx
    - buf
    argTypes:
    - dns_name_t*
    - dns_keytag_t
    - unsigned int
    - int
    - char*
    - isc_mem_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 466
    functionName: dst_key_getfilename
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - CHECKALG
    - REQUIRE
    - isc_buffer_putuint8
    - dns_name_isabsolute
    - buildfilename
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_getfilename(dns_name_t *name, dns_keytag_t id,
      unsigned int alg,\n\t\t    int type, const char *directory, isc_mem_t *mctx,\n\t\t
      \   isc_buffer_t *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:476,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:476,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:478,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:479,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:481,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:485,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/dst_api.c:486,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/lib/dns/dst_api.c:491,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:496,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dst_api.c:501,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:513,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 7
    argNames:
    - name
    - id
    - alg
    - type
    - directory
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - dns_keytag_t
    - unsigned int
    - int
    - char*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 517
    functionName: dst_key_fromfile
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 8
    functionsReached:
    - dst_key_free
    - dst_key_fromnamedfile
    - CHECKALG
    - dns_name_equal
    - isc_buffer_init
    - REQUIRE
    - dst_key_getfilename
    - dns_name_isabsolute
    - computeid
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_fromfile(dns_name_t *name, dns_keytag_t id, unsigned
      int alg, int type,\n\t\t const char *directory, isc_mem_t *mctx, dst_key_t **keyp)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:528,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:530,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:531,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:538,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:540,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:542,1
    - Dst: addsuffix
      Src: /src/bind9/lib/dns/dst_api.c:543,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:545,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:547,1
    - Dst: dst_key_read_public
      Src: /src/bind9/lib/dns/dst_api.c:547,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:548,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:554,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:556,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:558,1
    - Dst: addsuffix
      Src: /src/bind9/lib/dns/dst_api.c:559,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:561,1
    - Dst: dst_key_read_state
      Src: /src/bind9/lib/dns/dst_api.c:566,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:573,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:579,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:579,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:586,1
    - Dst: algorithm_status
      Src: /src/bind9/lib/dns/dst_api.c:586,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:588,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:594,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:597,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:599,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:601,1
    - Dst: addsuffix
      Src: /src/bind9/lib/dns/dst_api.c:602,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:604,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/dst_api.c:606,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:607,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/dst_api.c:607,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:608,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:610,1
    - Dst: func::parse
      Src: /src/bind9/lib/dns/dst_api.c:610,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:611,1
    - Dst: dst_key_read_state
      Src: /src/bind9/lib/dns/dst_api.c:615,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:622,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:625,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:625,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:628,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dst_api.c:634,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:641,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:644,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:647,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:650,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:653,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 101
    argCount: 5
    argNames:
    - filename
    - dirname
    - type
    - mctx
    - keyp
    argTypes:
    - char*
    - char*
    - int
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 656
    functionName: dst_key_fromnamedfile
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - dst_key_read_state
    - algorithm_status
    - dst_key_free
    - isc_mem_put
    - get_key_struct
    - RETERR
    - INSIST
    - computeid
    - func::parse
    - isc_mem_get
    - strlen
    - isc_lex_openfile
    - REQUIRE
    - isc_mem_strdup
    - isc_lex_create
    - dst_key_read_public
    - addsuffix
    - isc_lex_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_fromnamedfile(const char *filename, const char
      *dirname, int type,\n\t\t      isc_mem_t *mctx, dst_key_t **keyp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:660,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:660,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:661,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:663,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:669,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dst_api.c:672,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dst_api.c:673,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dst_api.c:674,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/dst_api.c:675,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:678,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dst_api.c:681,1
    - Dst: dst_key_t*::func::todns
      Src: /src/bind9/lib/dns/dst_api.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - key
    - target
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 690
    functionName: dst_key_todns
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - dst_algorithm_tosecalg
    - CHECKALG
    - isc_buffer_putuint16
    - REQUIRE
    - isc_buffer_putuint8
    - dst_key_t*::func::todns
    - VALID_KEY
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_todns(const dst_key_t *key, isc_buffer_t *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dst_api.c:702,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/dst_api.c:704,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/dst_api.c:707,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/dst_api.c:708,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/dst_api.c:709,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dst_api.c:711,1
    - Dst: dst_region_computerid
      Src: /src/bind9/lib/dns/dst_api.c:712,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/dst_api.c:715,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/dst_api.c:718,1
    - Dst: frombuffer
      Src: /src/bind9/lib/dns/dst_api.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - name
    - rdclass
    - source
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - dns_rdataclass_t
    - isc_buffer_t*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 732
    functionName: dst_key_fromdns
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - isc_buffer_remaininglength
    - dst_region_computeid
    - frombuffer
    - isc_buffer_getuint8
    - dst_region_computerid
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_fromdns(const dns_name_t *name, dns_rdataclass_t
      rdclass,\n\t\tisc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: frombuffer
      Src: /src/bind9/lib/dns/dst_api.c:741,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:747,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 8
    argNames:
    - name
    - alg
    - flags
    - protocol
    - rdclass
    - source
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - isc_buffer_t*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 755
    functionName: dst_key_frombuffer
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - frombuffer
    - computeid
    - dst_key_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_frombuffer(const dns_name_t *name, unsigned int
      alg, unsigned int flags,\n\t\t   unsigned int protocol, dns_rdataclass_t rdclass,\n\t\t
      \  isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:759,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:759,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:760,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:762,1
    - Dst: dst_key_t*::func::todns
      Src: /src/bind9/lib/dns/dst_api.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - target
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 769
    functionName: dst_key_tobuffer
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - dst_key_t*::func::todns
    - CHECKALG
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_tobuffer(const dst_key_t *key, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: dst_key_getgssctx
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: dns_gss_ctx_id_t
    signature: dns_gss_ctx_id_t dst_key_getgssctx(const dst_key_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:784,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:785,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:787,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dst_api.c:795,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:797,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/dst_api.c:797,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - name
    - gssctx
    - mctx
    - keyp
    - intoken
    argTypes:
    - dns_name_t*
    - dns_gss_ctx_id_t
    - isc_mem_t*
    - dst_key_t**
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 778
    functionDepth: 3
    functionLinenumber: 778
    functionLinenumberEnd: 808
    functionName: dst_key_fromgssapi
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_free
    - get_key_struct
    - RETERR
    - isc_buffer_copyregion
    - isc_buffer_allocate
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_fromgssapi(const dns_name_t *name, dns_gss_ctx_id_t
      gssctx,\n\t\t   isc_mem_t *mctx, dst_key_t **keyp, isc_region_t *intoken)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mkstemp
      Src: /src/bind9/lib/dns/dst_api.c:813,1
    - Dst: fchmod
      Src: /src/bind9/lib/dns/dst_api.c:818,1
    - Dst: isc_os_umask
      Src: /src/bind9/lib/dns/dst_api.c:818,1
    - Dst: fdopen
      Src: /src/bind9/lib/dns/dst_api.c:822,1
    - Dst: close
      Src: /src/bind9/lib/dns/dst_api.c:829,1
    - Dst: unlink
      Src: /src/bind9/lib/dns/dst_api.c:830,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - tmpname
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 832
    functionName: dst_key_open
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - mkstemp
    - close
    - fchmod
    - isc_os_umask
    - fdopen
    - unlink
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      dst_key_open(char *tmpname, mode_t mode)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/lib/dns/dst_api.c:836,1
    - Dst: ferror
      Src: /src/bind9/lib/dns/dst_api.c:836,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:837,1
    - Dst: rename
      Src: /src/bind9/lib/dns/dst_api.c:840,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:841,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/dst_api.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tmpname
    - fp
    - filename
    argTypes:
    - char*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 852
    functionName: dst_key_close
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - rename
    - dst_key_cleanup
    - fclose
    - ferror
    - fflush
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_close(char *tmpname, FILE *fp, char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftruncate
      Src: /src/bind9/lib/dns/dst_api.c:856,1
    - Dst: fileno
      Src: /src/bind9/lib/dns/dst_api.c:856,1
    - Dst: unlink
      Src: /src/bind9/lib/dns/dst_api.c:864,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/dst_api.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tmpname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 868
    functionName: dst_key_cleanup
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - ftruncate
    - fclose
    - unlink
    - fileno
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_cleanup(char *tmpname, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:878,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:878,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:879,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:880,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:881,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:883,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:885,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:890,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 9
    argNames:
    - name
    - alg
    - bits
    - flags
    - protocol
    - rdclass
    - data
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - void*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 898
    functionName: dst_key_buildinternal
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_free
    - get_key_struct
    - CHECKALG
    - REQUIRE
    - dns_name_isabsolute
    - computeid
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_buildinternal(const dns_name_t *name, unsigned
      int alg,\n\t\t      unsigned int bits, unsigned int flags,\n\t\t      unsigned
      int protocol, dns_rdataclass_t rdclass,\n\t\t      void *data, isc_mem_t *mctx,
      dst_key_t **keyp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:908,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:908,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:910,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:911,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:913,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:915,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:918,1
    - Dst: dst_key_t*::func::fromlabel
      Src: /src/bind9/lib/dns/dst_api.c:922,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:924,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:928,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:930,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 9
    argNames:
    - name
    - alg
    - flags
    - protocol
    - rdclass
    - label
    - pin
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - char*
    - char*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 936
    functionName: dst_key_fromlabel
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_free
    - get_key_struct
    - CHECKALG
    - REQUIRE
    - dns_name_isabsolute
    - computeid
    - dst_key_t*::func::fromlabel
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_fromlabel(const dns_name_t *name, int alg, unsigned
      int flags,\n\t\t  unsigned int protocol, dns_rdataclass_t rdclass,\n\t\t  const
      char *label, const char *pin, isc_mem_t *mctx,\n\t\t  dst_key_t **keyp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:946,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:946,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:947,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:948,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:950,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:952,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dst_api.c:956,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:966,1
    - Dst: dst_key_t*::func::generate
      Src: /src/bind9/lib/dns/dst_api.c:970,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:972,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:976,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:978,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 10
    argNames:
    - name
    - alg
    - bits
    - param
    - flags
    - protocol
    - rdclass
    - label
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - char*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 938
    functionDepth: 4
    functionLinenumber: 938
    functionLinenumberEnd: 984
    functionName: dst_key_generate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - dst_key_free
    - get_key_struct
    - CHECKALG
    - isc_mem_strdup
    - REQUIRE
    - dns_name_isabsolute
    - computeid
    - dst_key_t*::func::generate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_generate(const dns_name_t *name, unsigned int
      alg, unsigned int bits,\n\t\t unsigned int param, unsigned int flags, unsigned
      int protocol,\n\t\t dns_rdataclass_t rdclass, const char *label, isc_mem_t *mctx,\n\t\t
      dst_key_t **keyp, void (*callback)(int))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:988,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:988,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:989,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:990,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:992,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:994,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - key
    - type
    - valuep
    argTypes:
    - dst_key_t*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1001
    functionName: dst_key_getbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_getbool(const dst_key_t *key, int type, bool *valuep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1005,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1005,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1006,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1008,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - type
    - value
    argTypes:
    - dst_key_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1014
    functionName: dst_key_setbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setbool(dst_key_t *key, int type, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1018,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1018,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1019,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1021,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1025
    functionName: dst_key_unsetbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_unsetbool(dst_key_t *key, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1029,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1029,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1030,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1031,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1033,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1035,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - key
    - type
    - valuep
    argTypes:
    - dst_key_t*
    - int
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1042
    functionName: dst_key_getnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_getnum(const dst_key_t *key, int type, uint32_t
      *valuep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1046,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1046,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1047,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1049,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - type
    - value
    argTypes:
    - dst_key_t*
    - int
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1055
    functionName: dst_key_setnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setnum(dst_key_t *key, int type, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1059,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1059,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1060,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1062,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1065,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1066
    functionName: dst_key_unsetnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_unsetnum(dst_key_t *key, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1070,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1071,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1072,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1074,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1076,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - key
    - type
    - timep
    argTypes:
    - dst_key_t*
    - int
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1082
    functionName: dst_key_gettime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 10
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_gettime(const dst_key_t *key, int type, isc_stdtime_t
      *timep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1086,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1086,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1087,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1089,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - type
    - when
    argTypes:
    - dst_key_t*
    - int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1095
    functionName: dst_key_settime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 8
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_settime(dst_key_t *key, int type, isc_stdtime_t when)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1099,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1100,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1102,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1106
    functionName: dst_key_unsettime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_unsettime(dst_key_t *key, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1110,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1112,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1114,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1116,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - key
    - type
    - statep
    argTypes:
    - dst_key_t*
    - int
    - dst_key_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1123
    functionName: dst_key_getstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_getstate(const dst_key_t *key, int type, dst_key_state_t
      *statep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1127,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1128,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1130,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - type
    - state
    argTypes:
    - dst_key_t*
    - int
    - dst_key_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: dst_key_setstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setstate(dst_key_t *key, int type, dst_key_state_t state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1140,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1140,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1141,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1143,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1147
    functionName: dst_key_unsetstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - isc_mutex_unlock
    - isc_mutex_lock
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_unsetstate(dst_key_t *key, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1151,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - majorp
    - minorp
    argTypes:
    - dst_key_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1157
    functionName: dst_key_getprivateformat
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_getprivateformat(const dst_key_t *key, int *majorp,
      int *minorp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1161,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - major
    - minor
    argTypes:
    - dst_key_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1164
    functionName: dst_key_setprivateformat
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setprivateformat(dst_key_t *key, int major, int minor)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1170,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1171,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1171,1
    - Dst: compare
      Src: /src/bind9/lib/dns/dst_api.c:1198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - key1
    - key2
    - match_revoked_key
    argTypes:
    - dst_key_t*
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1202
    functionName: comparekeys
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - compare
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: "bool comparekeys(const dst_key_t *key1, const dst_key_t *key2,\n\t
      \   bool match_revoked_key,\n\t    bool (*compare)(const dst_key_t *key1, const
      dst_key_t *key2))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1215,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:1216,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/lib/dns/dst_api.c:1223,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1226,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:1227,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/lib/dns/dst_api.c:1234,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1237,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dst_api.c:1240,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1244,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dst_api.c:1247,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/dst_api.c:1250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1251
    functionName: pub_compare
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - isc_buffer_subtract
    - memmove
    - dst_key_todns
    - isc_buffer_init
    - isc_buffer_usedregion
    linkageType: ''
    returnType: bool
    signature: bool pub_compare(const dst_key_t *key1, const dst_key_t *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comparekeys
      Src: /src/bind9/lib/dns/dst_api.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1256
    functionName: dst_key_compare
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - comparekeys
    linkageType: ''
    returnType: bool
    signature: bool dst_key_compare(const dst_key_t *key1, const dst_key_t *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: comparekeys
      Src: /src/bind9/lib/dns/dst_api.c:1261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key1
    - key2
    - match_revoked_key
    argTypes:
    - dst_key_t*
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1258
    functionDepth: 2
    functionLinenumber: 1258
    functionLinenumberEnd: 1262
    functionName: dst_key_pubcompare
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - comparekeys
    linkageType: ''
    returnType: bool
    signature: "bool dst_key_pubcompare(const dst_key_t *key1, const dst_key_t *key2,\n\t\t
      \  bool match_revoked_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1267,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1267,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/dst_api.c:1269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dst_key_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1264
    functionDepth: 1
    functionLinenumber: 1264
    functionLinenumberEnd: 1271
    functionName: dst_key_attach
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_attach(dst_key_t *source, dst_key_t **target)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1275,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1275,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/dst_api.c:1279,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1280,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1283,1
    - Dst: dst_key_t*::func::destroy
      Src: /src/bind9/lib/dns/dst_api.c:1284,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dst_api.c:1287,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dst_api.c:1290,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/dst_api.c:1292,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:1293,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dst_api.c:1295,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1297,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/dst_api.c:1298,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dst_api.c:1299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - keyp
    argTypes:
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1273
    functionDepth: 3
    functionLinenumber: 1273
    functionLinenumberEnd: 1301
    functionName: dst_key_free
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 56
    functionsReached:
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - isc_refcount_decrement
    - INSIST
    - dst_key_t*::func::destroy
    - isc_buffer_free
    - isc_safe_memwipe
    - REQUIRE
    - isc_mem_put
    - isc_refcount_destroy
    - isc_mutex_destroy
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_free(dst_key_t **keyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1305,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1305,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1306,1
    - Dst: dst_key_t*::func::isprivate
      Src: /src/bind9/lib/dns/dst_api.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1308
    functionName: dst_key_isprivate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 9
    functionsReached:
    - dst_key_t*::func::isprivate
    - INSIST
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_isprivate(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1313,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1313,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1314,1
    - Dst: buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - key
    - type
    - directory
    - out
    argTypes:
    - dst_key_t*
    - int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1320
    functionName: dst_key_buildfilename
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - buildfilename
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_buildfilename(const dst_key_t *key, int type,
      const char *directory,\n\t\t      isc_buffer_t *out)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1324,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1325,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/dst_api.c:1353,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/dst_api.c:1356,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/dst_api.c:1359,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/dst_api.c:1362,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/dst_api.c:1365,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/dst_api.c:1368,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - key
    - n
    argTypes:
    - dst_key_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1322
    functionDepth: 2
    functionLinenumber: 1322
    functionLinenumberEnd: 1377
    functionName: dst_key_sigsize
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_KEY
    - isc_md_type_get_size
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_sigsize(const dst_key_t *key, unsigned int *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1384,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1384,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:1386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - dst_key_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1387
    functionName: dst_key_setflags
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - computeid
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_setflags(dst_key_t *key, uint32_t flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_api.c:1393,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dst_api.c:1395,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dst_api.c:1395,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/dst_api.c:1396,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dst_api.c:1397,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dst_api.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - cp
    - size
    argTypes:
    - dst_key_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1389
    functionDepth: 3
    functionLinenumber: 1389
    functionLinenumberEnd: 1398
    functionName: dst_key_format
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 15
    functionsReached:
    - dst_key_alg
    - dst_key_id
    - snprintf
    - dst_algorithm_format
    - dns_name_format
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: void dst_key_format(const dst_key_t *key, char *cp, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1404,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1404,1
    - Dst: dst_key_t*::func::dump
      Src: /src/bind9/lib/dns/dst_api.c:1409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - key
    - mctx
    - buffer
    - length
    argTypes:
    - dst_key_t*
    - isc_mem_t*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1410
    functionName: dst_key_dump
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_t*::func::dump
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_dump(dst_key_t *key, isc_mem_t *mctx, char **buffer,
      int *length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1419,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:1429,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:1435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 8
    argNames:
    - name
    - alg
    - flags
    - protocol
    - rdclass
    - mctx
    - keystr
    - keyp
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - isc_mem_t*
    - char*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1412
    functionDepth: 4
    functionLinenumber: 1412
    functionLinenumberEnd: 1439
    functionName: dst_key_restore
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - get_key_struct
    - dst_key_free
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_restore(dns_name_t *name, unsigned int alg, unsigned
      int flags,\n\t\tunsigned int protocol, dns_rdataclass_t rdclass,\n\t\tisc_mem_t
      *mctx, const char *keystr, dst_key_t **keyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:1454,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:1456,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/dst_api.c:1466,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/dst_api.c:1467,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dst_api.c:1469,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dst_api.c:1470,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/dst_api.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - name
    - alg
    - flags
    - protocol
    - bits
    - rdclass
    - ttl
    - mctx
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - dns_ttl_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1476
    functionName: get_key_struct
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_mem_get
    - isc_refcount_init
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: dst_key_t
    signature: "dst_key_t *\nget_key_struct(const dns_name_t *name, unsigned int alg,
      unsigned int flags,\n\t       unsigned int protocol, unsigned int bits,\n\t
      \      dns_rdataclass_t rdclass, dns_ttl_t ttl, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1480,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1483
    functionName: dst_key_inactive
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_inactive(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1487,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - inactive
    argTypes:
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1490
    functionName: dst_key_setinactive
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setinactive(dst_key_t *key, bool inactive)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/dst_api.c:1520,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dst_api.c:1522,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/dns/dst_api.c:1526,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/dst_api.c:1527,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/dst_api.c:1529,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1535,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1537,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1543,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1543,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1544,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dst_api.c:1547,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1548,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1548,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:1548,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1548,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dst_api.c:1549,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:1549,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1549,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1550,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dst_api.c:1550,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1556,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1559,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1563,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1565,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1569,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1572,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1574,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1578,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_api.c:1581,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1581,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_api.c:1583,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1583,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1586,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1596,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1597,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/lib/dns/dst_api.c:1603,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dst_api.c:1603,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dst_api.c:1609,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1613,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 4
    argNames:
    - filename
    - type
    - mctx
    - keyp
    argTypes:
    - char*
    - int
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1495
    functionDepth: 4
    functionLinenumber: 1495
    functionLinenumberEnd: 1616
    functionName: dst_key_read_public
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - memset
    - BADTOKEN
    - dst_key_fromdns
    - isc_lex_create
    - isc_lex_setcomments
    - NEXTTOKEN
    - dns_ttl_fromtext
    - dns_fixedname_init
    - dns_rdataclass_fromtext
    - strcasecmp
    - dst_key_setttl
    - dns_name_fromtext
    - dns_fixedname_name
    - isc_lex_setspecials
    - strlen
    - dns_rdata_fromtext
    - isc_lex_openfile
    - isc_lex_destroy
    - isc_buffer_init
    - isc_buffer_add
    - strcmp
    - DST_AS_STR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_key_read_public(const char *filename, int type, isc_mem_t
      *mctx,\n\t\t    dst_key_t **keyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_api.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s
    - tags
    - ntags
    argTypes:
    - char*
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1626
    functionName: find_metadata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int find_metadata(const char *s, const char *tags[], int ntags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_metadata
      Src: /src/bind9/lib/dns/dst_api.c:1630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1631
    functionName: find_numericdata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - find_metadata
    linkageType: ''
    returnType: int
    signature: int find_numericdata(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_metadata
      Src: /src/bind9/lib/dns/dst_api.c:1635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1636
    functionName: find_booleandata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - find_metadata
    linkageType: ''
    returnType: int
    signature: int find_booleandata(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_metadata
      Src: /src/bind9/lib/dns/dst_api.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1641
    functionName: find_timingdata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - find_metadata
    linkageType: ''
    returnType: int
    signature: int find_timingdata(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_metadata
      Src: /src/bind9/lib/dns/dst_api.c:1645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1646
    functionName: find_keystatedata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - find_metadata
    linkageType: ''
    returnType: int
    signature: int find_keystatedata(const char *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_api.c:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - state
    argTypes:
    - char*
    - dst_key_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1657
    functionName: keystate_fromtext
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keystate_fromtext(const char *s, dst_key_state_t *state)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/dst_api.c:1669,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/dst_api.c:1670,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/dst_api.c:1672,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1680,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1685,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1687,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1687,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1689,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1692,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_api.c:1694,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1696,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1699,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1704,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1706,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1706,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1708,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1711,1
    - Dst: dst_key_size
      Src: /src/bind9/lib/dns/dst_api.c:1713,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1715,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1718,1
    - Dst: NEXTTOKEN_OR_EOF
      Src: /src/bind9/lib/dns/dst_api.c:1726,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1731,1
    - Dst: find_numericdata
      Src: /src/bind9/lib/dns/dst_api.c:1735,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1735,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1737,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1739,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1741,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/dst_api.c:1744,1
    - Dst: find_booleandata
      Src: /src/bind9/lib/dns/dst_api.c:1749,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1749,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1751,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1753,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1755,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1758,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1758,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/dst_api.c:1759,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1760,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1760,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/dst_api.c:1761,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1763,1
    - Dst: find_timingdata
      Src: /src/bind9/lib/dns/dst_api.c:1769,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1769,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1773,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1775,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1777,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1780,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1780,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dst_api.c:1785,1
    - Dst: find_keystatedata
      Src: /src/bind9/lib/dns/dst_api.c:1790,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1790,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1794,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1796,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1798,1
    - Dst: keystate_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1801,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1801,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/dst_api.c:1806,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1811,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1819,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 107
    argCount: 3
    argNames:
    - filename
    - mctx
    - keyp
    argTypes:
    - char*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1662
    functionDepth: 3
    functionLinenumber: 1662
    functionLinenumberEnd: 1822
    functionName: dst_key_read_state
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - find_booleandata
    - keystate_fromtext
    - BADTOKEN
    - dst_key_setbool
    - dst_key_settime
    - isc_lex_create
    - dst_key_setnum
    - isc_lex_setcomments
    - NEXTTOKEN
    - dns_time32_fromtext
    - find_numericdata
    - READLINE
    - dst_key_alg
    - INSIST
    - isc_lex_openfile
    - NEXTTOKEN_OR_EOF
    - find_keystatedata
    - find_timingdata
    - isc_lex_destroy
    - dst_key_setstate
    - dst_key_size
    - strcmp
    - DST_AS_STR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_read_state(const char *filename, isc_mem_t *mctx,
      dst_key_t **keyp)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1826,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1849
    functionName: issymmetric
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool issymmetric(const dst_key_t *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dst_api.c:1859,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - key
    - type
    - tag
    - stream
    argTypes:
    - dst_key_t*
    - int
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1854
    functionDepth: 2
    functionLinenumber: 1854
    functionLinenumberEnd: 1864
    functionName: printbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_getbool
    - fprintf
    linkageType: ''
    returnType: void
    signature: void printbool(const dst_key_t *key, int type, const char *tag, FILE
      *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/dst_api.c:1874,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - key
    - type
    - tag
    - stream
    argTypes:
    - dst_key_t*
    - int
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 1879
    functionName: printnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_getnum
    - fprintf
    linkageType: ''
    returnType: void
    signature: void printnum(const dst_key_t *key, int type, const char *tag, FILE
      *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:1893,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/dst_api.c:1898,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1899,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/dst_api.c:1900,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1905,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1906,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - key
    - type
    - tag
    - stream
    argTypes:
    - dst_key_t*
    - int
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1911
    functionName: printtime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - isc_stdtime_tostring
    - dst_key_gettime
    - isc_buffer_init
    - fprintf
    - isc_buffer_usedregion
    - dns_time32_totext
    linkageType: ''
    returnType: void
    signature: void printtime(const dst_key_t *key, int type, const char *tag, FILE
      *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:1921,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - key
    - type
    - tag
    - stream
    argTypes:
    - dst_key_t*
    - int
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1916
    functionDepth: 2
    functionLinenumber: 1916
    functionLinenumberEnd: 1926
    functionName: printstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dst_key_getstate
    linkageType: ''
    returnType: void
    signature: void printstate(const dst_key_t *key, int type, const char *tag, FILE
      *stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1940,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1940,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1945,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1946,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1951,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1952,1
    - Dst: issymmetric
      Src: /src/bind9/lib/dns/dst_api.c:1958,1
    - Dst: dst_key_open
      Src: /src/bind9/lib/dns/dst_api.c:1962,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1969,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/dst_api.c:1970,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:1972,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/dst_api.c:1974,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1976,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1977,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1979,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1980,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1981,1
    - Dst: printbool
      Src: /src/bind9/lib/dns/dst_api.c:1983,1
    - Dst: printbool
      Src: /src/bind9/lib/dns/dst_api.c:1984,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1986,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1987,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1988,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1989,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1990,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1991,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1992,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1993,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1994,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1995,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1997,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1998,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2000,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2001,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2002,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2003,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:2005,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:2006,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:2007,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:2008,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:2009,1
    - Dst: dst_key_close
      Src: /src/bind9/lib/dns/dst_api.c:2012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 53
    argCount: 3
    argNames:
    - key
    - type
    - directory
    argTypes:
    - dst_key_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1931
    functionDepth: 3
    functionLinenumber: 1931
    functionLinenumberEnd: 2013
    functionName: write_key_state
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_close
    - dst_key_cleanup
    - dns_name_print
    - issymmetric
    - fputc
    - printbool
    - isc_buffer_init
    - dst_key_open
    - printnum
    - printtime
    - REQUIRE
    - dst_key_buildfilename
    - fprintf
    - printstate
    - VALID_KEY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t write_key_state(const dst_key_t *key, int type, const
      char *directory)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2031,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2031,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2033,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2034,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2035,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:2037,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2042,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dst_api.c:2043,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/dst_api.c:2045,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/dst_api.c:2050,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2058,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:2059,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2064,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:2065,1
    - Dst: issymmetric
      Src: /src/bind9/lib/dns/dst_api.c:2072,1
    - Dst: dst_key_open
      Src: /src/bind9/lib/dns/dst_api.c:2075,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2082,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/dst_api.c:2088,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:2090,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/dst_api.c:2092,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2094,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2095,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2096,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2097,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2098,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2099,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2100,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:2101,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/dst_api.c:2105,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:2107,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2109,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2112,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2115,1
    - Dst: fwrite
      Src: /src/bind9/lib/dns/dst_api.c:2116,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:2117,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2121,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2123,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2126,1
    - Dst: fwrite
      Src: /src/bind9/lib/dns/dst_api.c:2127,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:2128,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/dst_api.c:2131,1
    - Dst: dst_key_close
      Src: /src/bind9/lib/dns/dst_api.c:2133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 3
    argNames:
    - key
    - type
    - directory
    argTypes:
    - dst_key_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2018
    functionDepth: 3
    functionLinenumber: 2018
    functionLinenumberEnd: 2134
    functionName: write_public_key
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_todns
    - dst_key_close
    - dst_key_cleanup
    - dns_name_print
    - issymmetric
    - dns_rdataclass_totext
    - fputc
    - isc_buffer_init
    - dns_rdata_totext
    - dst_key_open
    - printtime
    - fwrite
    - REQUIRE
    - dst_key_buildfilename
    - fprintf
    - isc_buffer_usedregion
    - VALID_KEY
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t write_public_key(const dst_key_t *key, int type, const
      char *directory)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2143,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:2157,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2157,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dst_api.c:2160,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2161,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2162,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dst_api.c:2164,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:2167,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dst_api.c:2170,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/dst_api.c:2171,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/dst_api.c:2176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - name
    - id
    - alg
    - type
    - directory
    - out
    argTypes:
    - dns_name_t*
    - dns_keytag_t
    - unsigned int
    - unsigned int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2177
    functionName: buildfilename
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - isc_buffer_putstr
    - strlen
    - REQUIRE
    - dns_name_tofilenametext
    - isc_buffer_printf
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t buildfilename(dns_name_t *name, dns_keytag_t id, unsigned
      int alg,\n\t      unsigned int type, const char *directory, isc_buffer_t *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2186,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:2187,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2192,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dst_api.c:2193,1
    - Dst: dst_region_computerid
      Src: /src/bind9/lib/dns/dst_api.c:2194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2179
    functionDepth: 3
    functionLinenumber: 2179
    functionLinenumberEnd: 2196
    functionName: computeid
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 19
    functionsReached:
    - dst_key_todns
    - isc_buffer_init
    - dst_region_computeid
    - isc_buffer_usedregion
    - dst_region_computerid
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t computeid(dst_key_t *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2205,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:2205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2208,1
    - Dst: dst_algorithm_fromprivatedns
      Src: /src/bind9/lib/dns/dst_api.c:2212,1
    - Dst: dst_algorithm_fromprivateoid
      Src: /src/bind9/lib/dns/dst_api.c:2220,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:2226,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/dst_api.c:2228,1
    - Dst: algorithm_status
      Src: /src/bind9/lib/dns/dst_api.c:2229,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:2231,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:2235,1
    - Dst: dst_key_t*::func::fromdns
      Src: /src/bind9/lib/dns/dst_api.c:2239,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:2241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 8
    argNames:
    - name
    - alg
    - flags
    - protocol
    - rdclass
    - source
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - dns_rdataclass_t
    - isc_buffer_t*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2198
    functionDepth: 4
    functionLinenumber: 2198
    functionLinenumberEnd: 2248
    functionName: frombuffer
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - algorithm_status
    - dst_key_free
    - dst_key_t*::func::fromdns
    - get_key_struct
    - isc_buffer_remaininglength
    - dst_algorithm_fromprivateoid
    - dst_algorithm_fromprivatedns
    - REQUIRE
    - dns_name_isabsolute
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t frombuffer(const dns_name_t *name, unsigned int alg,
      unsigned int flags,\n\t   unsigned int protocol, dns_rdataclass_t rdclass,\n\t
      \  isc_buffer_t *source, isc_mem_t *mctx, dst_key_t **keyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/dst_api.c:2252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2256
    functionName: algorithm_status
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - dst_algorithm_supported
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t algorithm_status(unsigned int alg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2261,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:2266,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:2268,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dst_api.c:2273,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dst_api.c:2275,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - filename
    - len
    - odirname
    - ofilename
    - suffix
    argTypes:
    - char*
    - int
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2285
    functionName: addsuffix
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - strcmp
    - strlen
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t addsuffix(char *filename, int len, const char *odirname,
      const char *ofilename,\n\t  const char *suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2289,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2287
    functionDepth: 1
    functionLinenumber: 2287
    functionLinenumberEnd: 2291
    functionName: dst_key_tkeytoken
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: isc_buffer_t
    signature: 'isc_buffer_t *

      dst_key_tkeytoken(const dst_key_t *key)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2305,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2305,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2342,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2356,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2298
    functionDepth: 2
    functionLinenumber: 2298
    functionLinenumberEnd: 2365
    functionName: dst_key_is_unused
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_getstate
    - dst_key_gettime
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_is_unused(const dst_key_t *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dst_api.c:2373,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dst_api.c:2377,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dst_api.c:2383,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dst_api.c:2387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - key
    - ksk
    - zsk
    argTypes:
    - dst_key_t*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2367
    functionDepth: 2
    functionLinenumber: 2367
    functionLinenumberEnd: 2392
    functionName: dst_key_role
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_getbool
    - dst_key_flags
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_role(dst_key_t *key, bool *ksk, bool *zsk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2404,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2404,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2406,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - key
    - now
    - publish
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2396
    functionDepth: 2
    functionLinenumber: 2396
    functionLinenumberEnd: 2428
    functionName: dst_key_is_published
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - dst_key_getstate
    - dst_key_gettime
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: "bool dst_key_is_published(dst_key_t *key, isc_stdtime_t now,\n\t\t
      \    isc_stdtime_t *publish)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2438,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2438,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2440,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2445,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/dst_api.c:2450,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2457,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2474,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2430
    functionDepth: 3
    functionLinenumber: 2430
    functionLinenumberEnd: 2487
    functionName: dst_key_is_active
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dst_key_role
    - dst_key_getstate
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_is_active(dst_key_t *key, isc_stdtime_t now)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2498,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2498,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2500,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2505,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/dst_api.c:2511,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2518,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2530,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - key
    - role
    - now
    - active
    argTypes:
    - dst_key_t*
    - int
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2489
    functionDepth: 3
    functionLinenumber: 2489
    functionLinenumberEnd: 2543
    functionName: dst_key_is_signing
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - dst_key_gettime
    - dst_key_role
    - dst_key_getstate
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: "bool dst_key_is_signing(dst_key_t *key, int role, isc_stdtime_t now,\n\t\t
      \  isc_stdtime_t *active)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2551,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2551,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - key
    - now
    - revoke
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2545
    functionDepth: 2
    functionLinenumber: 2545
    functionLinenumberEnd: 2560
    functionName: dst_key_is_revoked
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - dst_key_gettime
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_is_revoked(dst_key_t *key, isc_stdtime_t now, isc_stdtime_t
      *revoke)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2569,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2569,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/dst_api.c:2571,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2576,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - key
    - now
    - remove
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2562
    functionDepth: 3
    functionLinenumber: 2562
    functionLinenumberEnd: 2598
    functionName: dst_key_is_removed
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - dst_key_gettime
    - dst_key_getstate
    - dst_key_is_unused
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_is_removed(dst_key_t *key, isc_stdtime_t now, isc_stdtime_t
      *remove)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2605,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2605,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2600
    functionDepth: 2
    functionLinenumber: 2600
    functionLinenumberEnd: 2612
    functionName: dst_key_goal
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_getstate
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: dst_key_state_t
    signature: dst_key_state_t dst_key_goal(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2616,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2614
    functionDepth: 1
    functionLinenumber: 2614
    functionLinenumberEnd: 2619
    functionName: dst_key_haskasp
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_haskasp(dst_key_t *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2629,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2630,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2630,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2633,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dst_api.c:2635,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/dst_api.c:2637,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/dst_api.c:2642,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/dst_api.c:2644,1
    - Dst: dst_key_unsetnum
      Src: /src/bind9/lib/dns/dst_api.c:2646,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dst_api.c:2651,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/dst_api.c:2653,1
    - Dst: dst_key_unsetbool
      Src: /src/bind9/lib/dns/dst_api.c:2655,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2660,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/dst_api.c:2662,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/lib/dns/dst_api.c:2664,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/dst_api.c:2668,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/dst_api.c:2668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2621
    functionDepth: 2
    functionLinenumber: 2621
    functionLinenumberEnd: 2669
    functionName: dst_key_copy_metadata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_setbool
    - dst_key_settime
    - dst_key_gettime
    - dst_key_getnum
    - dst_key_setnum
    - dst_key_unsettime
    - dst_key_setstate
    - dst_key_ismodified
    - dst_key_getstate
    - dst_key_unsetstate
    - dst_key_setmodified
    - dst_key_getbool
    - dst_key_unsetbool
    - REQUIRE
    - dst_key_unsetnum
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_copy_metadata(dst_key_t *to, dst_key_t *from)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - alg
    argTypes:
    - dst_algorithm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2689
    functionName: dst_hmac_algorithm_totext
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      dst_hmac_algorithm_totext(dst_algorithm_t alg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dst_alg
    argTypes:
    - dst_algorithm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: dst_algorithm_tosecalg
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: dns_secalg_t
    signature: dns_secalg_t dst_algorithm_tosecalg(dst_algorithm_t dst_alg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/dst_api.c:2723,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/dst_api.c:2726,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dst_api.c:2739,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dst_api.c:2744,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2720
    functionDepth: 1
    functionLinenumber: 2720
    functionLinenumberEnd: 2756
    functionName: dst_algorithm_fromprivatedns
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dns_fixedname_initname
    - dns_name_equal
    - dns_name_fromwire
    linkageType: ''
    returnType: dst_algorithm_t
    signature: dst_algorithm_t dst_algorithm_fromprivatedns(isc_buffer_t *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dst_api.c:2762,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dst_api.c:2770,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dst_api.c:2776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2758
    functionDepth: 2
    functionLinenumber: 2758
    functionLinenumberEnd: 2783
    functionName: dst_algorithm_fromprivateoid
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - isc_buffer_remainingregion
    - memcmp
    linkageType: ''
    returnType: dst_algorithm_t
    signature: dst_algorithm_t dst_algorithm_fromprivateoid(isc_buffer_t *buffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2791,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dst_api.c:2792,1
    - Dst: dst_algorithm_fromprivatedns
      Src: /src/bind9/lib/dns/dst_api.c:2793,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2795,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dst_api.c:2796,1
    - Dst: dst_algorithm_fromprivateoid
      Src: /src/bind9/lib/dns/dst_api.c:2797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - algorithm
    - data
    - length
    argTypes:
    - dns_secalg_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2785
    functionDepth: 3
    functionLinenumber: 2785
    functionLinenumberEnd: 2801
    functionName: dst_algorithm_fromdata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 10
    functionsReached:
    - isc_buffer_init
    - dst_algorithm_fromprivateoid
    - dst_algorithm_fromprivatedns
    - isc_buffer_add
    linkageType: ''
    returnType: dst_algorithm_t
    signature: "dst_algorithm_t dst_algorithm_fromdata(dns_secalg_t algorithm, unsigned
      char *data,\n\t\t       unsigned int length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatasetiter.c:56,1
    - Dst: DNS_RDATASETITER_VALID
      Src: /src/bind9/lib/dns/rdatasetiter.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatasetiter.c:57,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdatasetiter.c:57,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatasetiter.c:58,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rdatasetiter.c:58,1
    - Dst: dns_rdatasetiter_t*::methods::current
      Src: /src/bind9/lib/dns/rdatasetiter.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_rdatasetiter_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: dns__rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/rdatasetiter.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASETITER_VALID
    - dns_rdataset_isassociated
    - REQUIRE
    - DNS_RDATASET_VALID
    - dns_rdatasetiter_t*::methods::current
    linkageType: ''
    returnType: void
    signature: "void dns__rdatasetiter_current(dns_rdatasetiter_t *iterator,\n\t\t\t
      \ dns_rdataset_t *rdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 531
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: NONEXISTENT
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NONEXISTENT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: IGNORE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IGNORE(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: RESIGN
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESIGN(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: OPTOUT
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTOUT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: STATCOUNT
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATCOUNT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: HEADERNODE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEADERNODE(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qpdb
    - ','
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: QPDBITER_ORIGIN_NODE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPDBITER_ORIGIN_NODE(qpdb, iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qpdb
    - ','
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: QPDBITER_NSEC_ORIGIN_NODE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPDBITER_NSEC_ORIGIN_NODE(qpdb, iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qpdb
    - ','
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: QPDBITER_NSEC3_ORIGIN_NODE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPDBITER_NSEC3_ORIGIN_NODE(qpdb, iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qpdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: VALID_QPZONE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_QPZONE(qpdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: qpzonedb_ref
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpzonedb_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: qpzonedb_unref
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpzonedb_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: qpzonedb_attach
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpzonedb_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: qpzonedb_detach
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpzonedb_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: qpznode_ref
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpznode_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: qpznode_unref
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpznode_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: qpznode_attach
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpznode_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: qpznode_detach
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpznode_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/qpzone.c:415,1
    - Dst: NODE_INITLOCK
      Src: /src/bind9/lib/dns/qpzone.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 418
    functionName: dns__qpzone_initialize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - NODE_INITLOCK
    linkageType: ''
    returnType: void
    signature: void dns__qpzone_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/qpzone.c:422,1
    - Dst: NODE_DESTROYLOCK
      Src: /src/bind9/lib/dns/qpzone.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: dns__qpzone_shutdown
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - NODE_DESTROYLOCK
    linkageType: ''
    returnType: void
    signature: void dns__qpzone_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: qpzone_get_lock
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_rwlock_t
    signature: 'isc_rwlock_t *

      qpzone_get_lock(qpznode_t *node)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/qpzone.c:434,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/qpzone.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 4
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: qpzone_get_locknum
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - ARRAY_SIZE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t qpzone_get_locknum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: resign_sooner
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_SIGTYPE
    linkageType: ''
    returnType: bool
    signature: bool resign_sooner(void *v1, void *v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - what
    - idx
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 460
    functionName: set_index
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_index(void *what, unsigned int idx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:467,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:468,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:470,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:471,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:474,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:475,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:477,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:478,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/qpzone.c:481,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/qpzone.c:482,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/qpzone.c:483,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/qpzone.c:484,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpzone.c:486,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - mctx
    - glue
    argTypes:
    - isc_mem_t*
    - dns_glue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 492
    functionName: free_glue
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - dns_rdataset_isassociated
    - dns_rdataset_invalidate
    - dns_rdataset_disassociate
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_glue(isc_mem_t *mctx, dns_glue_t *glue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:496,1
    - Dst: free_glue
      Src: /src/bind9/lib/dns/qpzone.c:503,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - gluelistp
    argTypes:
    - dns_gluelist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: destroy_gluelist
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - free_glue
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_gluelist(dns_gluelist_t **gluelistp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qpzone.c:510,1
    - Dst: destroy_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: free_gluelist_rcu
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - destroy_gluelist
    linkageType: ''
    returnType: void
    signature: void free_gluelist_rcu(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cds_wfs_pop_all
      Src: /src/bind9/lib/dns/qpzone.c:517,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qpzone.c:520,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qpzone.c:523,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:524,1
    - Dst: rcu_cmpxchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:526,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qpzone.c:528,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qpzone.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glue_stack
    argTypes:
    - struct cds_wfs_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 531
    functionName: cleanup_gluelists
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - rcu_cmpxchg_pointer
    - rcu_xchg_pointer
    - call_rcu
    - rcu_read_unlock
    - __cds_wfs_pop_all
    - caa_container_of
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void cleanup_gluelists(struct cds_wfs_stack *glue_stack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qpzone.c:523,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:524,1
    - Dst: rcu_cmpxchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:526,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qpzone.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 529
    functionName: cds_wfs_for_each_blocking_safe
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - rcu_cmpxchg_pointer
    - rcu_xchg_pointer
    - call_rcu
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void cds_wfs_for_each_blocking_safe(head, node, next)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qpzone.c:535,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpzone.c:537,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpzone.c:538,1
    - Dst: qpz_heap_detach
      Src: /src/bind9/lib/dns/qpzone.c:541,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/qpzone.c:544,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/qpzone.c:548,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpzone.c:551,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:552,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:553,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:559,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/qpzone.c:559,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 563
    functionName: free_db_rcu
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_stats_detach
    - dns_name_dynamic
    - isc_mem_putanddetach
    - dns_name_free
    - cds_lfht_destroy
    - qpz_heap_detach
    - INSIST
    - isc_loop_detach
    - isc_rwlock_destroy
    - isc_refcount_destroy
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void free_db_rcu(struct rcu_head *rcu_head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:567,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/qpzone.c:569,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:571,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:572,1
    - Dst: cds_wfs_destroy
      Src: /src/bind9/lib/dns/qpzone.c:573,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpzone.c:574,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:575,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/qpzone.c:578,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpzone.c:581,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/qpzone.c:582,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/qpzone.c:584,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpzone.c:586,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpzone.c:587,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qpzone.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - qpdb
    argTypes:
    - qpzonedb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 590
    functionName: qpzone_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - strlcpy
    - ISC_LOG_DEBUG
    - cds_wfs_destroy
    - call_rcu
    - dns_qpmulti_destroy
    - isc_log_write
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_rwlock_destroy
    - isc_mem_put
    - isc_refcount_destroy
    - dns_name_format
    - isc_refcount_decrementz
    linkageType: ''
    returnType: void
    signature: void qpzone_destroy(qpzonedb_t *qpdb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:597,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:600,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:603,1
    - Dst: cleanup_gluelists
      Src: /src/bind9/lib/dns/qpzone.c:612,1
    - Dst: qpzonedb_detach
      Src: /src/bind9/lib/dns/qpzone.c:615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 616
    functionName: qpdb_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpzonedb_detach
    - qpznode_detach
    - cleanup_gluelists
    linkageType: ''
    returnType: void
    signature: void qpdb_destroy(dns_db_t *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:620,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:622,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/qpzone.c:625,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/qpzone.c:626,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 630
    functionName: new_qpz_heap
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_mem_get
    - ISC_REFCOUNT_INITIALIZER
    - isc_heap_create
    linkageType: ''
    returnType: qpz_heap_t
    signature: 'qpz_heap_t *

      new_qpz_heap(isc_mem_t *mctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: get_heap_lock
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - HEADERNODE
    linkageType: ''
    returnType: isc_mutex_t
    signature: 'isc_mutex_t *

      get_heap_lock(dns_slabheader_t *header)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/qpzone.c:659,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/qpzone.c:660,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qpheap
    argTypes:
    - qpz_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 662
    functionName: qpz_heap_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_heap_destroy
    - isc_mutex_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void qpz_heap_destroy(qpz_heap_t *qpheap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:666,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:671,1
    - Dst: qpzone_get_locknum
      Src: /src/bind9/lib/dns/qpzone.c:672,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:675,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpzone.c:676,1
    - Dst: qpz_heap_ref
      Src: /src/bind9/lib/dns/qpzone.c:677,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpzone.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - qpdb
    - name
    - nspace
    argTypes:
    - qpzonedb_t*
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 664
    functionDepth: 5
    functionLinenumber: 664
    functionLinenumberEnd: 684
    functionName: new_qpznode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - qpz_heap_ref
    - isc_mem_get
    - qpzone_get_locknum
    - fprintf
    - ISC_REFCOUNT_INITIALIZER
    - dns_name_dup
    linkageType: ''
    returnType: qpznode_t
    signature: 'qpznode_t *

      new_qpznode(qpzonedb_t *qpdb, const dns_name_t *name, dns_namespace_t nspace)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:689,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:696,1
    - Dst: cds_wfs_init
      Src: /src/bind9/lib/dns/qpzone.c:699,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/qpzone.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mctx
    - serial
    - references
    - writer
    argTypes:
    - isc_mem_t*
    - uint32_t
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 703
    functionName: allocate_version
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_REFCOUNT_INITIALIZER
    - cds_wfs_init
    - isc_rwlock_init
    linkageType: ''
    returnType: qpz_version_t
    signature: "qpz_version_t *\nallocate_version(isc_mem_t *mctx, uint32_t serial,
      unsigned int references,\n\t\t bool writer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:714,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:718,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:723,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/qpzone.c:731,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/qpzone.c:733,1
    - Dst: new_qpz_heap
      Src: /src/bind9/lib/dns/qpzone.c:735,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:742,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpzone.c:747,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/qpzone.c:749,1
    - Dst: allocate_version
      Src: /src/bind9/lib/dns/qpzone.c:754,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:757,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:770,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:773,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:774,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:780,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:782,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:783,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:790,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:792,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:793,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:795,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 8
    argNames:
    - mctx
    - origin
    - type
    - rdclass
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    - dbp
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_dbtype_t
    - dns_rdataclass_t
    - unsigned int
    - char**
    - void*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 705
    functionDepth: 11
    functionLinenumber: 705
    functionLinenumberEnd: 809
    functionName: dns__qpzone_create
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_LIST_PREPEND
    - new_qpz_heap
    - cds_lfht_new
    - isc_rwlock_init
    - INSIST
    - isc_mem_get
    - allocate_version
    - dns_qpmulti_commit
    - new_qpznode
    - dns_qp_insert
    - dns_qpmulti_create
    - ISC_REFCOUNT_INITIALIZER
    - dns_name_dup
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__qpzone_create(isc_mem_t *mctx, const dns_name_t
      *origin, dns_dbtype_t type,\n\t\t   dns_rdataclass_t rdclass, unsigned int argc
      ISC_ATTR_UNUSED,\n\t\t   char **argv ISC_ATTR_UNUSED, void *driverarg ISC_ATTR_UNUSED,\n\t\t
      \  dns_db_t **dbp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/qpzone.c:821,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpzone.c:823,1
    - Dst: qpzonedb_ref
      Src: /src/bind9/lib/dns/qpzone.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qpdb
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 832
    functionName: qpznode_erefs_increment
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - fprintf
    - qpzonedb_ref
    linkageType: ''
    returnType: void
    signature: void qpznode_erefs_increment(qpzonedb_t *qpdb, qpznode_t *node DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_ref
      Src: /src/bind9/lib/dns/qpzone.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qpdb
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: qpznode_acquire
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_ref
    linkageType: ''
    returnType: void
    signature: void qpznode_acquire(qpzonedb_t *qpdb, qpznode_t *node DNS__DB_FLARG)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:850,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:865,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:867,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:873,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:884,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:892,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:909,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:936,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:937,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - node
    - least_serial
    argTypes:
    - qpznode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 840
    functionDepth: 3
    functionLinenumber: 840
    functionLinenumberEnd: 956
    functionName: clean_zone_node
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_slabheader_destroy
    - REQUIRE
    - INSIST
    - IGNORE
    linkageType: ''
    returnType: void
    signature: void clean_zone_node(qpznode_t *node, uint32_t least_serial)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qpzone.c:965,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpzone.c:968,1
    - Dst: qpzonedb_unref
      Src: /src/bind9/lib/dns/qpzone.c:975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qpdb
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 978
    functionName: qpznode_erefs_decrement
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_refcount_decrement
    - qpzonedb_unref
    linkageType: ''
    returnType: bool
    signature: bool qpznode_erefs_decrement(qpzonedb_t *qpdb, qpznode_t *node DNS__DB_FLARG)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:995,1
    - Dst: qpznode_erefs_decrement
      Src: /src/bind9/lib/dns/qpzone.c:997,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1023,1
    - Dst: NODE_FORCEUPGRADE
      Src: /src/bind9/lib/dns/qpzone.c:1025,1
    - Dst: qpznode_erefs_decrement
      Src: /src/bind9/lib/dns/qpzone.c:1026,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1037,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1039,1
    - Dst: clean_zone_node
      Src: /src/bind9/lib/dns/qpzone.c:1041,1
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:1045,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - qpdb
    - node
    - least_serial
    - nlocktypep DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - uint32_t
    - isc_rwlocktype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 992
    functionDepth: 4
    functionLinenumber: 992
    functionLinenumberEnd: 1046
    functionName: qpznode_release
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - qpzone_get_lock
    - qpznode_unref
    - NODE_FORCEUPGRADE
    - clean_zone_node
    - qpznode_erefs_decrement
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void qpznode_release(qpzonedb_t *qpdb, qpznode_t *node, uint32_t least_serial,\n\t\tisc_rwlocktype_t
      *nlocktypep DNS__DB_FLARG)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1057,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:1061,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpzone.c:1062,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/qpzone.c:1066,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qpzone.c:1070,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpzone.c:1074,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1093,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 4
    argNames:
    - qpdb
    - node
    - header
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - dns_slabheader_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1099
    functionName: bindrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - OPTOUT
    - dns_slabheader_raw
    - atomic_fetch_add_relaxed
    - INSIST
    - RESIGN
    - DNS_TYPEPAIR_COVERS
    linkageType: ''
    returnType: void
    signature: "void bindrdataset(qpzonedb_t *qpdb, qpznode_t *node, dns_slabheader_t
      *header,\n\t     dns_rdataset_t *rdataset DNS__DB_FLARG)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1117,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1118,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1123,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:1125,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpzone.c:1140,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/qpzone.c:1149,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/qpzone.c:1152,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1154,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/qpzone.c:1155,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/qpzone.c:1158,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qpzone.c:1167,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1185,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - db
    - version
    argTypes:
    - dns_db_t*
    - qpz_version_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1186
    functionName: setnsec3parameters
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - NODE_UNLOCK
    - memmove
    - dns_slabheader_raw
    - dns_rdata_reset
    - NODE_RDLOCK
    - qpzone_get_lock
    - IGNORE
    - INSIST
    - dns_nsec3_supportedhash
    - NONEXISTENT
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void setnsec3parameters(dns_db_t *db, qpz_version_t *version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1201,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1203,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - version
    - cleanup_list
    argTypes:
    - qpz_version_t*
    - qpz_changedlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1207
    functionName: cleanup_nondirty
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void cleanup_nondirty(qpz_version_t *version, qpz_changedlist_t *cleanup_list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:1220,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/qpzone.c:1221,1
    - Dst: dns_dnssec_haszonekey
      Src: /src/bind9/lib/dns/qpzone.c:1224,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:1225,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:1231,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:1232,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/qpzone.c:1233,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:1237,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:1239,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:1241,1
    - Dst: setnsec3parameters
      Src: /src/bind9/lib/dns/qpzone.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - db
    - version
    - origin
    argTypes:
    - dns_db_t*
    - qpz_version_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1253
    functionName: setsecure
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_isassociated
    - setnsec3parameters
    - dns_rdataset_disassociate
    - dns_dnssec_haszonekey
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void setsecure(dns_db_t *db, qpz_version_t *version, dns_dbnode_t *origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1260,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1260,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1262,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qpzone.c:1264,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1268
    functionName: currentversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 19
    functionsReached:
    - VALID_QPZONE
    - RWUNLOCK
    - RWLOCK
    - isc_refcount_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void currentversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1276,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1276,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1277,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qpzone.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - db
    - source
    - targetp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1282
    functionName: attachversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 3
    functionsReached:
    - isc_refcount_increment
    - VALID_QPZONE
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void attachversion(dns_db_t *db, dns_dbversion_t *source,\n\t      dns_dbversion_t
      **targetp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1289,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1289,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1290,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1291,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1293,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1294,1
    - Dst: allocate_version
      Src: /src/bind9/lib/dns/qpzone.c:1295,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qpzone.c:1305,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1319
    functionName: newversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 21
    functionsReached:
    - VALID_QPZONE
    - memmove
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - allocate_version
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t newversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1324,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/qpzone.c:1324,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1326,1
    - Dst: get_heap_lock
      Src: /src/bind9/lib/dns/qpzone.c:1326,1
    - Dst: isc_heap_insert
      Src: /src/bind9/lib/dns/qpzone.c:1327,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1327,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1328,1
    - Dst: get_heap_lock
      Src: /src/bind9/lib/dns/qpzone.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - newheader
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1321
    functionDepth: 4
    functionLinenumber: 1321
    functionLinenumberEnd: 1329
    functionName: resigninsert
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_heap_insert
    - LOCK
    - ISC_LINK_LINKED
    - get_heap_lock
    - UNLOCK
    - REQUIRE
    - HEADERNODE
    linkageType: ''
    returnType: void
    signature: void resigninsert(dns_slabheader_t *newheader)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1338,1
    - Dst: get_heap_lock
      Src: /src/bind9/lib/dns/qpzone.c:1338,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/qpzone.c:1339,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1339,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1340,1
    - Dst: get_heap_lock
      Src: /src/bind9/lib/dns/qpzone.c:1340,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:1343,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1343,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:1344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - qpdb
    - version
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpz_version_t*
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1331
    functionDepth: 4
    functionLinenumber: 1331
    functionLinenumberEnd: 1345
    functionName: resigndelete
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_APPEND
    - get_heap_lock
    - isc_heap_delete
    - UNLOCK
    - qpznode_acquire
    - HEADERNODE
    linkageType: ''
    returnType: void
    signature: "void resigndelete(qpzonedb_t *qpdb, qpz_version_t *version,\n\t     dns_slabheader_t
      *header DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - qpdb
    - version
    - cleanup_list
    argTypes:
    - qpzonedb_t*
    - qpz_version_t*
    - qpz_changedlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1353
    functionName: make_least_version
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: "void make_least_version(qpzonedb_t *qpdb, qpz_version_t *version,\n\t\t
      \  qpz_changedlist_t *cleanup_list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:1367,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:1375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - node
    - serial
    argTypes:
    - qpznode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1384
    functionName: rollback_node
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_SLABHEADER_SETATTR
    linkageType: ''
    returnType: void
    signature: void rollback_node(qpznode_t *node, uint32_t serial)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1398,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1398,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1400,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qpzone.c:1402,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1407,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1408,1
    - Dst: setsecure
      Src: /src/bind9/lib/dns/qpzone.c:1415,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1418,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1425,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qpzone.c:1432,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/qpzone.c:1435,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1438,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1438,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1441,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1444,1
    - Dst: make_least_version
      Src: /src/bind9/lib/dns/qpzone.c:1449,1
    - Dst: cleanup_nondirty
      Src: /src/bind9/lib/dns/qpzone.c:1465,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/qpzone.c:1474,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1493,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/qpzone.c:1493,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:1495,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1498,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1504,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1506,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/qpzone.c:1523,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1528,1
    - Dst: make_least_version
      Src: /src/bind9/lib/dns/qpzone.c:1537,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/qpzone.c:1544,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1549,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1549,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1551,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1554,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1557,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1558,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1558,1
    - Dst: cleanup_gluelists
      Src: /src/bind9/lib/dns/qpzone.c:1559,1
    - Dst: cds_wfs_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1560,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1561,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:1562,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1573,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1575,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1575,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1576,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1577,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:1578,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:1580,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1580,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1582,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1585,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1595,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1597,1
    - Dst: rollback_node
      Src: /src/bind9/lib/dns/qpzone.c:1599,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:1601,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1604,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:1606,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 106
    argCount: 3
    argNames:
    - db
    - versionp
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1386
    functionDepth: 5
    functionLinenumber: 1386
    functionLinenumberEnd: 1610
    functionName: closeversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 43
    functionsReached:
    - ISC_LIST_PREPEND
    - make_least_version
    - VALID_QPZONE
    - NODE_WRLOCK
    - qpznode_release
    - REQUIRE
    - ISC_LIST_APPENDLIST
    - cleanup_nondirty
    - setsecure
    - isc_refcount_increment0
    - RWUNLOCK
    - cds_wfs_destroy
    - cleanup_gluelists
    - IGNORE
    - ISC_LIST_INIT
    - isc_rwlock_destroy
    - NODE_UNLOCK
    - ISC_LIST_EMPTY
    - RWLOCK
    - INSIST
    - ISC_LIST_UNLINK
    - resigninsert
    - isc_refcount_current
    - ISC_LIST_PREV
    - qpzone_get_lock
    - isc_refcount_decrement
    - rollback_node
    - isc_mem_put
    - HEADERNODE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: "void closeversion(dns_db_t *db, dns_dbversion_t **versionp,\n\t     bool
      commit DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1573,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1575,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1575,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1576,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1577,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:1578,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:1580,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:1580,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1569
    functionDepth: 5
    functionLinenumber: 1569
    functionLinenumberEnd: 1583
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 183
    functionsReached:
    - NODE_UNLOCK
    - NODE_WRLOCK
    - qpzone_get_lock
    - IGNORE
    - qpznode_release
    - ISC_LIST_UNLINK
    - resigninsert
    - HEADERNODE
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (resigned_list, header, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1595,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1597,1
    - Dst: rollback_node
      Src: /src/bind9/lib/dns/qpzone.c:1599,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:1601,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1604,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:1606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1590
    functionDepth: 5
    functionLinenumber: 1590
    functionLinenumberEnd: 1607
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 183
    functionsReached:
    - NODE_UNLOCK
    - NODE_WRLOCK
    - qpzone_get_lock
    - rollback_node
    - qpznode_release
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (cleanup_list, changed, link)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1629,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1630,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1631,1
    - Dst: currentversion
      Src: /src/bind9/lib/dns/qpzone.c:1634,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1639,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1640,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpzone.c:1642,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:1644,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1652,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:1653,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1687,1
    - Dst: closeversion
      Src: /src/bind9/lib/dns/qpzone.c:1690,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 8
    argNames:
    - db
    - dbnode
    - dbversion
    - type
    - covers
    - ISC_ATTR_UNUSED
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1612
    functionDepth: 1
    functionLinenumber: 1612
    functionLinenumberEnd: 1699
    functionName: qpzone_findrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_VALUE
    - NODE_UNLOCK
    - VALID_QPZONE
    - closeversion
    - qpzone_get_lock
    - INSIST
    - NODE_RDLOCK
    - currentversion
    - IGNORE
    - REQUIRE
    - DNS_SIGTYPE
    - NONEXISTENT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_findrdataset(dns_db_t *db, dns_dbnode_t *dbnode,\n\t\t
      \   dns_dbversion_t *dbversion, dns_rdatatype_t type,\n\t\t    dns_rdatatype_t
      covers, isc_stdtime_t now ISC_ATTR_UNUSED,\n\t\t    dns_rdataset_t *rdataset,\n\t\t
      \   dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:1705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - qpdb
    - node
    - type
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1706
    functionName: delegating_type
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - IS_STUB
    linkageType: ''
    returnType: bool
    signature: bool delegating_type(qpzonedb_t *qpdb, qpznode_t *node, dns_typepair_t
      type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:1717,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:1723,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:1724,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1725,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:1727,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:1732,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1739,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:1740,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:1741,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1742,1
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:1743,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:1758,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:1759,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:1760,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - loadctx
    - name
    - type
    - covers
    - nodep
    argTypes:
    - qpz_load_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - qpznode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1708
    functionDepth: 11
    functionLinenumber: 1708
    functionLinenumberEnd: 1764
    functionName: loading_addnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - qpznode_unref
    - new_qpznode
    - dns_qp_insert
    - qpznode_detach
    - dns_qp_getname
    linkageType: ''
    returnType: void
    signature: "void loading_addnode(qpz_load_t *loadctx, const dns_name_t *name,\n\t\tdns_rdatatype_t
      type, dns_rdatatype_t covers,\n\t\tqpznode_t **nodep)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:1780,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1783,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:1785,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1801,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:1803,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpzone.c:1811,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - node
    - serial
    argTypes:
    - qpznode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1766
    functionDepth: 2
    functionLinenumber: 1766
    functionLinenumberEnd: 1830
    functionName: cname_and_other
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - prio_type
    - NONEXISTENT
    - IGNORE
    linkageType: ''
    returnType: bool
    signature: bool cname_and_other(qpznode_t *node, uint32_t serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:1838,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1840,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1841,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/qpzone.c:1844,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - header
    - DNS__DB_FLARG
    argTypes:
    - dns_slabheader_t*
    - qpz_version_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1849
    functionName: add_changed
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - ISC_LIST_INITANDAPPEND
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: qpz_changed_t
    signature: 'qpz_changed_t *

      add_changed(dns_slabheader_t *header, qpz_version_t *version DNS__DB_FLARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/qpzone.c:1853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - header
    - namelen
    argTypes:
    - dns_slabheader_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1851
    functionDepth: 2
    functionLinenumber: 1851
    functionLinenumberEnd: 1855
    functionName: recordsize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t recordsize(dns_slabheader_t *header, unsigned int namelen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:1860,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1864,1
    - Dst: dns_rdataslab_count
      Src: /src/bind9/lib/dns/qpzone.c:1866,1
    - Dst: recordsize
      Src: /src/bind9/lib/dns/qpzone.c:1867,1
    - Dst: dns_rdataslab_count
      Src: /src/bind9/lib/dns/qpzone.c:1869,1
    - Dst: recordsize
      Src: /src/bind9/lib/dns/qpzone.c:1870,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - add
    - version
    - header
    - namelen
    argTypes:
    - bool
    - qpz_version_t*
    - dns_slabheader_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1857
    functionDepth: 3
    functionLinenumber: 1857
    functionLinenumberEnd: 1873
    functionName: maybe_update_recordsandsize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_count
    - RWLOCK
    - RWUNLOCK
    - NONEXISTENT
    - recordsize
    linkageType: ''
    returnType: void
    signature: "void maybe_update_recordsandsize(bool add, qpz_version_t *version,\n\t\t\t
      \   dns_slabheader_t *header, unsigned int namelen)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1890,1
    - Dst: add_changed
      Src: /src/bind9/lib/dns/qpzone.c:1900,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpzone.c:1908,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1923,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:1932,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1934,1
    - Dst: dns_rdataslab_merge
      Src: /src/bind9/lib/dns/qpzone.c:1949,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1964,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpzone.c:1966,1
    - Dst: dns_slabheader_copycase
      Src: /src/bind9/lib/dns/qpzone.c:1969,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1970,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1971,1
    - Dst: resign_sooner
      Src: /src/bind9/lib/dns/qpzone.c:1972,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpzone.c:1980,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1985,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1990,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1993,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:1994,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:2010,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:2012,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2014,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:2015,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:2031,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:2041,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:2042,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2046,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:2047,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2060,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2061,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:2082,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2086,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpzone.c:2088,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:2104,1
    - Dst: cname_and_other
      Src: /src/bind9/lib/dns/qpzone.c:2109,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 141
    argCount: 9
    argNames:
    - qpdb
    - node
    - nodename
    - version
    - newheader
    - options
    - loading
    - addedrdataset
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - dns_name_t*
    - qpz_version_t*
    - dns_slabheader_t*
    - unsigned int
    - bool
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 1875
    functionDepth: 5
    functionLinenumber: 1875
    functionLinenumberEnd: 2119
    functionName: add
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 362
    functionsReached:
    - add_changed
    - maybe_update_recordsandsize
    - dns_slabheader_copycase
    - dns_slabheader_reset
    - RESIGN
    - cname_and_other
    - dns_slabheader_destroy
    - resign_sooner
    - INSIST
    - IGNORE
    - prio_type
    - REQUIRE
    - dns_rdataslab_merge
    - resigninsert
    - NONEXISTENT
    - dns__db_logtoomanyrecords
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add(qpzonedb_t *qpdb, qpznode_t *node, const dns_name_t
      *nodename,\n    qpz_version_t *version, dns_slabheader_t *newheader, unsigned
      int options,\n    bool loading, dns_rdataset_t *addedrdataset,\n    isc_stdtime_t
      now ISC_ATTR_UNUSED DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2129,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2130,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2131,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2133,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:2136,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2138,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:2139,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:2140,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2141,1
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:2142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - qpdb
    - qp
    - name
    - nspace
    argTypes:
    - qpzonedb_t*
    - dns_qp_t*
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2121
    functionDepth: 11
    functionLinenumber: 2121
    functionLinenumberEnd: 2146
    functionName: wildcardmagic
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - INSIST
    - qpznode_unref
    - new_qpznode
    - dns_qp_insert
    - dns_qp_getname
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void wildcardmagic(qpzonedb_t *qpdb, dns_qp_t *qp, const dns_name_t
      *name,\n\t      dns_namespace_t nspace)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2154,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2155,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2156,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2159,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/qpzone.c:2160,1
    - Dst: wildcardmagic
      Src: /src/bind9/lib/dns/qpzone.c:2161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - qpdb
    - qp
    - name
    - nspace
    argTypes:
    - qpzonedb_t*
    - dns_qp_t*
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2148
    functionDepth: 12
    functionLinenumber: 2148
    functionLinenumberEnd: 2166
    functionName: addwildcards
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - wildcardmagic
    - dns_name_iswildcard
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void addwildcards(qpzonedb_t *qpdb, dns_qp_t *qp, const dns_name_t
      *name,\n\t     dns_namespace_t nspace)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2180,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/qpzone.c:2186,1
    - Dst: addwildcards
      Src: /src/bind9/lib/dns/qpzone.c:2194,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/qpzone.c:2197,1
    - Dst: wildcardmagic
      Src: /src/bind9/lib/dns/qpzone.c:2212,1
    - Dst: loading_addnode
      Src: /src/bind9/lib/dns/qpzone.c:2216,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpzone.c:2217,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpzone.c:2221,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpzone.c:2229,1
    - Dst: dns_slabheader_setownercase
      Src: /src/bind9/lib/dns/qpzone.c:2236,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:2239,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:2241,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2246,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2247,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpzone.c:2248,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2250,1
    - Dst: delegating_type
      Src: /src/bind9/lib/dns/qpzone.c:2253,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - arg
    - name
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2168
    functionDepth: 13
    functionLinenumber: 2168
    functionLinenumberEnd: 2261
    functionName: loading_addrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_fromrdataset
    - NODE_UNLOCK
    - NODE_WRLOCK
    - loading_addnode
    - addwildcards
    - dns_slabheader_reset
    - dns_name_equal
    - qpzone_get_lock
    - dns_slabheader_setownercase
    - DNS_SLABHEADER_SETATTR
    - wildcardmagic
    - add
    - REQUIRE
    - dns_time64_from32
    - delegating_type
    - dns_name_iswildcard
    - dns__db_logtoomanyrecords
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t loading_addrdataset(void *arg, const dns_name_t *name,\n\t\t
      \   dns_rdataset_t *rdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2263
    functionDepth: 7
    functionLinenumber: 2263
    functionLinenumberEnd: 2269
    functionName: loading_setup
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: void loading_setup(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/qpzone.c:2277,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:2278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2271
    functionDepth: 10
    functionLinenumber: 2271
    functionLinenumberEnd: 2280
    functionName: loading_commit
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_commit
    - dns_qp_compact
    linkageType: ''
    returnType: void
    signature: void loading_commit(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2288,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:2288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2289,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2289,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:2291,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2294,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2296,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2282
    functionDepth: 1
    functionLinenumber: 2282
    functionLinenumberEnd: 2308
    functionName: beginload
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 5
    functionsReached:
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    - RWUNLOCK
    - RWLOCK
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t beginload(dns_db_t *db, dns_rdatacallbacks_t *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2315,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2316,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:2316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2318,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2319,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2324,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2331,1
    - Dst: setsecure
      Src: /src/bind9/lib/dns/qpzone.c:2332,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2334,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:2342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2310
    functionDepth: 3
    functionLinenumber: 2310
    functionLinenumberEnd: 2345
    functionName: endload
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 7
    functionsReached:
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    - RWUNLOCK
    - RWLOCK
    - setsecure
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2354,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2354,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2356,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2361
      start: 2347
    functionDepth: 1
    functionLinenumber: 2347
    functionLinenumberEnd: 2361
    functionName: issecure
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 14
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - VALID_QPZONE
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool issecure(dns_db_t *db)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2373,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2373,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2374,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2386,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qpzone.c:2387,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 7
    argNames:
    - db
    - dbversion
    - hash
    - flags
    - iterations
    - salt
    - salt_length
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_hash_t*
    - uint8_t*
    - uint16_t*
    - unsigned char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2403
    functionName: getnsec3parameters
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 4
    functionsReached:
    - memmove
    - VALID_QPZONE
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getnsec3parameters(dns_db_t *db, dns_dbversion_t *dbversion,
      dns_hash_t *hash,\n\t\t   uint8_t *flags, uint16_t *iterations, unsigned char
      *salt,\n\t\t   size_t *salt_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2414,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2414,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2415,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2417,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2422,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2423,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2425,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2426,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - db
    - dbversion
    - records
    - xfrsize
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - uint64_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2405
    functionDepth: 1
    functionLinenumber: 2405
    functionLinenumberEnd: 2430
    functionName: getsize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 7
    functionsReached:
    - SET_IF_NOT_NULL
    - VALID_QPZONE
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getsize(dns_db_t *db, dns_dbversion_t *dbversion, uint64_t
      *records,\n\tuint64_t *xfrsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2439,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2440,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2441,1
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/qpzone.c:2443,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2445,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2445,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2446,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:2456,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2461,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2461,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2462,1
    - Dst: get_heap_lock
      Src: /src/bind9/lib/dns/qpzone.c:2462,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/qpzone.c:2464,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2464,1
    - Dst: resign_sooner
      Src: /src/bind9/lib/dns/qpzone.c:2467,1
    - Dst: isc_heap_increased
      Src: /src/bind9/lib/dns/qpzone.c:2468,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2468,1
    - Dst: resign_sooner
      Src: /src/bind9/lib/dns/qpzone.c:2470,1
    - Dst: isc_heap_decreased
      Src: /src/bind9/lib/dns/qpzone.c:2471,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2471,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2474,1
    - Dst: get_heap_lock
      Src: /src/bind9/lib/dns/qpzone.c:2474,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:2476,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:2477,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - db
    - rdataset
    - resign
    argTypes:
    - dns_db_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2432
    functionDepth: 5
    functionLinenumber: 2432
    functionLinenumberEnd: 2481
    functionName: setsigningtime
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - VALID_QPZONE
    - NODE_WRLOCK
    - dns_rdataset_getheader
    - isc_heap_increased
    - resign_sooner
    - UNLOCK
    - REQUIRE
    - dns_time64_from32
    - LOCK
    - get_heap_lock
    - isc_heap_decreased
    - NODE_UNLOCK
    - INSIST
    - isc_heap_delete
    - resigninsert
    - qpzone_get_lock
    - DNS_SLABHEADER_SETATTR
    - RESIGN
    - HEADERNODE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setsigningtime(dns_db_t *db, dns_rdataset_t *rdataset,
      isc_stdtime_t resign)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2492,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2492,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2493,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2494,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2495,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2497,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/qpzone.c:2498,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2500,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2503,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2503,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2504,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2507,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2509,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/qpzone.c:2510,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2512,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2512,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2513,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2514,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2516,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2516,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2521,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:2524,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpzone.c:2524,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2528,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - db
    - resign
    - foundname
    - typepair
    argTypes:
    - dns_db_t*
    - isc_stdtime_t*
    - dns_name_t*
    - dns_typepair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2483
    functionDepth: 3
    functionLinenumber: 2483
    functionLinenumberEnd: 2532
    functionName: getsigningtime
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 2
    functionsReached:
    - NODE_UNLOCK
    - VALID_QPZONE
    - LOCK
    - qpzone_get_lock
    - UNLOCK
    - isc_heap_element
    - NODE_RDLOCK
    - REQUIRE
    - RESIGN
    - dns_name_copy
    - HEADERNODE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getsigningtime(dns_db_t *db, isc_stdtime_t *resign, dns_name_t
      *foundname,\n\t       dns_typepair_t *typepair)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2538,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2538,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2539,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:2539,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2540,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/qpzone.c:2542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2534
    functionDepth: 2
    functionLinenumber: 2534
    functionLinenumberEnd: 2544
    functionName: setgluecachestats
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - VALID_QPZONE
    - IS_STUB
    - REQUIRE
    - isc_stats_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setgluecachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:2557,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/qpzone.c:2559,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:2563,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/qpzone.c:2566,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:2570,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:2571,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2572,1
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:2573,1
    - Dst: addwildcards
      Src: /src/bind9/lib/dns/qpzone.c:2576,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/qpzone.c:2577,1
    - Dst: wildcardmagic
      Src: /src/bind9/lib/dns/qpzone.c:2578,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2583,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/qpzone.c:2588,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:2589,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/qpzone.c:2591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - qpdb
    - name
    - create
    - nsec3
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - dns_name_t*
    - bool
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2546
    functionDepth: 13
    functionLinenumber: 2546
    functionLinenumberEnd: 2597
    functionName: findnodeintree
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - addwildcards
    - INSIST
    - qpznode_unref
    - wildcardmagic
    - dns_qpmulti_commit
    - dns_qpread_destroy
    - new_qpznode
    - dns_qp_insert
    - dns_name_iswildcard
    - dns_qp_getname
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnodeintree(qpzonedb_t *qpdb, const dns_name_t *name,
      bool create,\n\t       bool nsec3, dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2604,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2604,1
    - Dst: findnodeintree
      Src: /src/bind9/lib/dns/qpzone.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2599
    functionDepth: 14
    functionLinenumber: 2599
    functionLinenumberEnd: 2608
    functionName: qpzone_findnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - findnodeintree
    - VALID_QPZONE
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_findnode(dns_db_t *db, const dns_name_t *name,
      bool create,\n\t\tdns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2615,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2615,1
    - Dst: findnodeintree
      Src: /src/bind9/lib/dns/qpzone.c:2617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2610
    functionDepth: 14
    functionLinenumber: 2610
    functionLinenumberEnd: 2619
    functionName: qpzone_findnsec3node
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - findnodeintree
    - VALID_QPZONE
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_findnsec3node(dns_db_t *db, const dns_name_t *name,
      bool create,\n\t\t     dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2630,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/qpzone.c:2641,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/qpzone.c:2644,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2645,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/qpzone.c:2649,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/qpzone.c:2654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - header
    - search
    argTypes:
    - dns_slabheader_t*
    - qpz_search_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2621
    functionDepth: 1
    functionLinenumber: 2621
    functionLinenumberEnd: 2657
    functionName: matchparams
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - INSIST
    - memcmp
    - REQUIRE
    - dns_rdata_reset
    - dns_rdata_fromregion
    linkageType: ''
    returnType: bool
    signature: bool matchparams(dns_slabheader_t *header, qpz_search_t *search)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2667,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2668,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2669,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/qpzone.c:2686,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:2687,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2700,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2701,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:2702,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:2705,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - search
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - qpz_search_t*
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2659
    functionDepth: 1
    functionLinenumber: 2659
    functionLinenumberEnd: 2716
    functionName: qpzone_setup_delegation
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - qpzone_get_lock
    - NODE_RDLOCK
    - dns_fixedname_name
    - REQUIRE
    - dns_name_copy
    - bindrdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_setup_delegation(qpz_search_t *search, dns_dbnode_t
      **nodep,\n\t\t\tdns_name_t *foundname, dns_rdataset_t *rdataset,\n\t\t\tdns_rdataset_t
      *sigrdataset DNS__DB_FLARG)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:2730,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpzone.c:2735,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2737,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2741,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:2747,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:2749,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2761,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/qpzone.c:2767,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:2770,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:2776,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - search
    - it
    - direction
    - nextname
    argTypes:
    - qpz_search_t*
    - dns_qpiter_t*
    - direction_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2726
    functionDepth: 6
    functionLinenumber: 2726
    functionLinenumberEnd: 2782
    functionName: step
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - dns_fixedname_initname
    - dns_qpiter_next
    - NODE_RDLOCK
    - qpzone_get_lock
    - IGNORE
    - dns_qpiter_current
    - dns_qpiter_prev
    - dns_name_copy
    - NONEXISTENT
    linkageType: ''
    returnType: bool
    signature: "bool step(qpz_search_t *search, dns_qpiter_t *it, direction_t direction,\n
      \    dns_name_t *nextname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:2787,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/qpzone.c:2797,1
    - Dst: step
      Src: /src/bind9/lib/dns/qpzone.c:2802,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:2803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - search
    - it
    - current
    argTypes:
    - qpz_search_t*
    - dns_qpiter_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2784
    functionDepth: 7
    functionLinenumber: 2784
    functionLinenumberEnd: 2804
    functionName: activeempty
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_qpiter_next
    - step
    linkageType: ''
    returnType: bool
    signature: bool activeempty(qpz_search_t *search, dns_qpiter_t *it, const dns_name_t
      *current)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2821,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2822,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2823,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:2824,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:2825,1
    - Dst: step
      Src: /src/bind9/lib/dns/qpzone.c:2839,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/qpzone.c:2843,1
    - Dst: step
      Src: /src/bind9/lib/dns/qpzone.c:2845,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/qpzone.c:2853,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2858,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2859,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:2862,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:2863,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2871,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2872,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/qpzone.c:2873,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - search
    - qname
    - wname
    argTypes:
    - qpz_search_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2806
    functionDepth: 7
    functionLinenumber: 2806
    functionLinenumberEnd: 2876
    functionName: wildcard_blocked
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_qpiter_next
    - dns_name_equal
    - step
    - dns_name_clone
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: "bool wildcard_blocked(qpz_search_t *search, const dns_name_t *qname,\n\t\t
      dns_name_t *wname)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpzone.c:2893,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpzone.c:2899,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2901,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2902,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:2912,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:2912,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2920,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:2925,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/qpzone.c:2931,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:2937,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2946,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2947,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:2952,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:2953,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2958,1
    - Dst: activeempty
      Src: /src/bind9/lib/dns/qpzone.c:2960,1
    - Dst: wildcard_blocked
      Src: /src/bind9/lib/dns/qpzone.c:2962,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 4
    argNames:
    - search
    - nodep
    - qname
    - nspace
    argTypes:
    - qpz_search_t*
    - qpznode_t**
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2878
    functionDepth: 9
    functionLinenumber: 2878
    functionLinenumberEnd: 2999
    functionName: find_wildcard
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - activeempty
    - dns_fixedname_initname
    - dns_name_concatenate
    - NODE_RDLOCK
    - qpzone_get_lock
    - IGNORE
    - wildcard_blocked
    - dns_qp_lookup
    - dns_qpchain_length
    - dns_qpchain_node
    - NONEXISTENT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_wildcard(qpz_search_t *search, qpznode_t **nodep,
      const dns_name_t *qname,\n\t      dns_namespace_t nspace)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3011,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3012,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3015,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/qpzone.c:3020,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3029,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3031,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3040,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpzone.c:3045,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3056,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3063,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpzone.c:3076,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/qpzone.c:3079,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/qpzone.c:3085,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 6
    argNames:
    - type
    - search
    - name
    - nodep
    - nit
    - firstp
    argTypes:
    - dns_rdatatype_t
    - qpz_search_t*
    - dns_name_t*
    - qpznode_t**
    - dns_qpiter_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3087
      start: 3004
    functionDepth: 9
    functionLinenumber: 3004
    functionLinenumberEnd: 3087
    functionName: previous_closest_nsec
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - INSIST
    - isc_result_totext
    - dns_qp_lookup
    - isc_log_write
    - dns_qpread_destroy
    - REQUIRE
    - dns_qpiter_current
    - dns_qpiter_prev
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t previous_closest_nsec(dns_rdatatype_t type, qpz_search_t
      *search,\n\t\t      dns_name_t *name, qpznode_t **nodep, dns_qpiter_t *nit,\n\t\t
      \     bool *firstp)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:3105,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3107,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3114,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpzone.c:3122,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3130,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3131,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:3141,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:3143,1
    - Dst: matchparams
      Src: /src/bind9/lib/dns/qpzone.c:3173,1
    - Dst: previous_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3178,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3193,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:3195,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3200,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3203,1
    - Dst: previous_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3216,1
    - Dst: previous_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3232,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3236,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3242,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 7
    argNames:
    - search
    - nodep
    - foundname
    - rdataset
    - sigrdataset
    - nsec3
    - DNS__DB_FLARG
    argTypes:
    - qpz_search_t*
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3094
    functionDepth: 10
    functionLinenumber: 3094
    functionLinenumberEnd: 3260
    functionName: find_closest_nsec
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - dns_qpiter_prev
    - dns_fixedname_initname
    - matchparams
    - NODE_RDLOCK
    - qpzone_get_lock
    - IGNORE
    - qpznode_acquire
    - previous_closest_nsec
    - dns_qpiter_current
    - DNS_SIGTYPE
    - dns_name_copy
    - bindrdataset
    - NONEXISTENT
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_closest_nsec(qpz_search_t *search, dns_dbnode_t
      **nodep,\n\t\t  dns_name_t *foundname, dns_rdataset_t *rdataset,\n\t\t  dns_rdataset_t
      *sigrdataset, bool nsec3,\n\t\t  bool secure DNS__DB_FLARG)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3271,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3273,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3282,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:3286,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:3288,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3300,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:3304,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:3319,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:3339,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/qpzone.c:3364,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3365,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3383,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - node
    - DNS__DB_FLARG
    argTypes:
    - qpznode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3386
      start: 3262
    functionDepth: 2
    functionLinenumber: 3262
    functionLinenumberEnd: 3386
    functionName: qpzone_check_zonecut
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - dns_name_copy
    - NODE_RDLOCK
    - qpzone_get_lock
    - IGNORE
    - dns_fixedname_name
    - DNS_SIGTYPE
    - qpznode_acquire
    - IS_STUB
    - NONEXISTENT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t qpzone_check_zonecut(qpznode_t *node, void *arg DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/qpzone.c:3413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - search
    - db
    - version
    - options
    argTypes:
    - qpz_search_t*
    - qpzonedb_t*
    - qpz_version_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3388
    functionDepth: 1
    functionLinenumber: 3388
    functionLinenumberEnd: 3414
    functionName: qpz_search_init
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_init
    linkageType: ''
    returnType: void
    signature: "void qpz_search_init(qpz_search_t *search, qpzonedb_t *db, qpz_version_t
      *version,\n\t\tunsigned int options)"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3437,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:3437,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3438,1
    - Dst: currentversion
      Src: /src/bind9/lib/dns/qpzone.c:3446,1
    - Dst: qpz_search_init
      Src: /src/bind9/lib/dns/qpzone.c:3452,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/qpzone.c:3461,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3466,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3469,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpzone.c:3479,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpzone.c:3487,1
    - Dst: qpzone_check_zonecut
      Src: /src/bind9/lib/dns/qpzone.c:3488,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3492,1
    - Dst: qpzone_setup_delegation
      Src: /src/bind9/lib/dns/qpzone.c:3500,1
    - Dst: find_wildcard
      Src: /src/bind9/lib/dns/qpzone.c:3513,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3515,1
    - Dst: activeempty
      Src: /src/bind9/lib/dns/qpzone.c:3530,1
    - Dst: find_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3540,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3562,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3563,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/qpzone.c:3583,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:3584,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3605,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:3613,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:3615,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:3639,1
    - Dst: matchparams
      Src: /src/bind9/lib/dns/qpzone.c:3675,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3677,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3705,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3737,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpzone.c:3747,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3770,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpzone.c:3771,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3773,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3790,1
    - Dst: qpzone_setup_delegation
      Src: /src/bind9/lib/dns/qpzone.c:3791,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3812,1
    - Dst: find_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3813,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:3823,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3827,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3830,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:3887,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3895,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3898,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3908,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/qpzone.c:3911,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3919,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3920,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3922,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:3923,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3925,1
    - Dst: closeversion
      Src: /src/bind9/lib/dns/qpzone.c:3929,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 256
    argCount: 10
    argNames:
    - db
    - name
    - version
    - type
    - options
    - ISC_ATTR_UNUSED
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3416
    functionDepth: 11
    functionLinenumber: 3416
    functionLinenumberEnd: 3933
    functionName: qpzone_find
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - VALID_QPZONE
    - dns_qpmulti_query
    - dns_qp_lookup
    - qpznode_release
    - REQUIRE
    - qpzone_setup_delegation
    - find_closest_nsec
    - find_wildcard
    - IGNORE
    - currentversion
    - DNS_SIGTYPE
    - dns_name_copy
    - bindrdataset
    - qpz_search_init
    - NODE_UNLOCK
    - closeversion
    - INSIST
    - dns_qpread_destroy
    - dns_qpchain_length
    - qpznode_acquire
    - NONEXISTENT
    - qpzone_check_zonecut
    - activeempty
    - matchparams
    - qpzone_get_lock
    - NODE_RDLOCK
    - dns_rdatatype_atparent
    - dns_qpchain_node
    - IS_STUB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n\t    dns_rdatatype_t type, unsigned int options,\n\t    isc_stdtime_t
      now ISC_ATTR_UNUSED, dns_dbnode_t **nodep,\n\t    dns_name_t *foundname, dns_rdataset_t
      *rdataset,\n\t    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3945,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:3945,1
    - Dst: currentversion
      Src: /src/bind9/lib/dns/qpzone.c:3948,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3950,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qpzone.c:3951,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:3954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - db
    - dbnode
    - dbversion
    - options
    - ISC_ATTR_UNUSED
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int
    - isc_stdtime_t
    - dns_rdatasetiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3935
    functionDepth: 1
    functionLinenumber: 3935
    functionLinenumberEnd: 3968
    functionName: qpzone_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - VALID_QPZONE
    - INSIST
    - currentversion
    - isc_refcount_increment
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_allrdatasets(dns_db_t *db, dns_dbnode_t *dbnode,\n\t\t
      \   dns_dbversion_t *dbversion, unsigned int options,\n\t\t    isc_stdtime_t
      now ISC_ATTR_UNUSED,\n\t\t    dns_rdatasetiter_t **iteratorp DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3976,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:3976,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - db
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3982
      start: 3970
    functionDepth: 1
    functionLinenumber: 3970
    functionLinenumberEnd: 3982
    functionName: qpzone_attachnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - VALID_QPZONE
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void qpzone_attachnode(dns_db_t *db, dns_dbnode_t *source,\n\t\t  dns_dbnode_t
      **targetp DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3991,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:3991,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3992,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3996,1
    - Dst: qpzonedb_ref
      Src: /src/bind9/lib/dns/qpzone.c:4005,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qpzone.c:4007,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4008,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:4009,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4010,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qpzone.c:4011,1
    - Dst: qpzonedb_unref
      Src: /src/bind9/lib/dns/qpzone.c:4013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 3984
    functionDepth: 5
    functionLinenumber: 3984
    functionLinenumberEnd: 4014
    functionName: qpzone_detachnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - VALID_QPZONE
    - qpzone_get_lock
    - NODE_RDLOCK
    - rcu_read_unlock
    - qpznode_release
    - REQUIRE
    - qpzonedb_unref
    - qpzonedb_ref
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void qpzone_detachnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4023,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4023,1
    - Dst: dns_qpmulti_memusage
      Src: /src/bind9/lib/dns/qpzone.c:4025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - db
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_db_t*
    - dns_dbtree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4016
    functionDepth: 3
    functionLinenumber: 4016
    functionLinenumberEnd: 4028
    functionName: nodecount
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 3
    functionsReached:
    - VALID_QPZONE
    - dns_qpmulti_memusage
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db, dns_dbtree_t tree ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4036,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4036,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4038,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/qpzone.c:4040,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/qpzone.c:4043,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - db
    - loop
    argTypes:
    - dns_db_t*
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 4030
    functionDepth: 1
    functionLinenumber: 4030
    functionLinenumberEnd: 4046
    functionName: setloop
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - VALID_QPZONE
    - RWUNLOCK
    - RWLOCK
    - REQUIRE
    - isc_loop_detach
    - isc_loop_attach
    linkageType: ''
    returnType: void
    signature: void setloop(dns_db_t *db, isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4052,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4053,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:4056,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:4057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4048
    functionDepth: 2
    functionLinenumber: 4048
    functionLinenumberEnd: 4061
    functionName: getoriginnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 9
    functionsReached:
    - qpznode_acquire
    - VALID_QPZONE
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getoriginnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:4221,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4224,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4226,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_rdatasetiter_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4231
      start: 4213
    functionDepth: 1
    functionLinenumber: 4213
    functionLinenumberEnd: 4231
    functionName: rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 34
    functionsReached:
    - NODE_UNLOCK
    - REQUIRE
    - NODE_RDLOCK
    - qpzone_get_lock
    linkageType: ''
    returnType: void
    signature: "void rdatasetiter_current(dns_rdatasetiter_t *iterator,\n\t\t     dns_rdataset_t
      *rdataset DNS__DB_FLARG)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4493,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4498,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4503,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4507,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qpzone.c:4517,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4529
      start: 4475
    functionDepth: 9
    functionLinenumber: 4475
    functionLinenumberEnd: 4529
    functionName: dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 6
    functionsReached:
    - UNREACHABLE
    - dns_qp_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_seek(dns_dbiterator_t *iterator,\n\t\tconst
      dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4714,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4715,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - iterator
    - nodep
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_dbnode_t**
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4726
      start: 4707
    functionDepth: 1
    functionLinenumber: 4707
    functionLinenumberEnd: 4726
    functionName: dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 18
    functionsReached:
    - dns_name_copy
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t
      **nodep,\n\t\t   dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4743
      start: 4733
    functionDepth: 1
    functionLinenumber: 4733
    functionLinenumberEnd: 4743
    functionName: dbiterator_origin
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t
      *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4752,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4752,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:4754,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/qpzone.c:4770,1
    - Dst: dns_qpmulti_snapshot
      Src: /src/bind9/lib/dns/qpzone.c:4772,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qpzone.c:4777,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4784,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:4787,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qpzone.c:4790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - db
    - options
    - iteratorp
    argTypes:
    - dns_db_t*
    - unsigned int
    - dns_dbiterator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4795
      start: 4745
    functionDepth: 9
    functionLinenumber: 4745
    functionLinenumberEnd: 4795
    functionName: qpzone_createiterator
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - VALID_QPZONE
    - dns_qpmulti_snapshot
    - dns_db_attach
    - dns_qpiter_init
    - INSIST
    - isc_mem_get
    - dns_qp_lookup
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_createiterator(dns_db_t *db, unsigned int options,\n\t\t
      \     dns_dbiterator_t **iteratorp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:4812,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4815,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4815,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4816,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4825,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpzone.c:4832,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpzone.c:4836,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4843,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/qpzone.c:4844,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpzone.c:4847,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:4850,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:4853,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qpzone.c:4854,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:4858,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:4860,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:4869,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:4881,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4883,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:4894,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:4896,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:4897,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpzone.c:4901,1
    - Dst: delegating_type
      Src: /src/bind9/lib/dns/qpzone.c:4910,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4915,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:4918,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 7
    argNames:
    - db
    - dbnode
    - dbversion
    - ISC_ATTR_UNUSED
    - rdataset
    - options
    - addedrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4922
      start: 4797
    functionDepth: 11
    functionLinenumber: 4797
    functionLinenumberEnd: 4922
    functionName: qpzone_addrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_fromrdataset
    - VALID_QPZONE
    - NODE_WRLOCK
    - REQUIRE
    - dns_time64_from32
    - dns__db_logtoomanyrecords
    - dns_rdataset_getownercase
    - dns_fixedname_initname
    - dns_qpmulti_commit
    - add
    - new_qpznode
    - dns_name_copy
    - NODE_UNLOCK
    - dns_slabheader_reset
    - atomic_fetch_add_relaxed
    - delegating_type
    - qpznode_detach
    - qpzone_get_lock
    - DNS_SLABHEADER_SETATTR
    - atomic_init
    - dns_qp_insert
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_addrdataset(dns_db_t *db, dns_dbnode_t *dbnode,\n\t\t
      \  dns_dbversion_t *dbversion,\n\t\t   isc_stdtime_t now ISC_ATTR_UNUSED, dns_rdataset_t
      *rdataset,\n\t\t   unsigned int options,\n\t\t   dns_rdataset_t *addedrdataset
      DNS__DB_FLARG)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:4933,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4943,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4943,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4944,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4946,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4953,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpzone.c:4954,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpzone.c:4961,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:4963,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:4965,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qpzone.c:4966,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:4968,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:4970,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:4975,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4976,1
    - Dst: add_changed
      Src: /src/bind9/lib/dns/qpzone.c:4978,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:4993,1
    - Dst: NONEXISTENT
      Src: /src/bind9/lib/dns/qpzone.c:4996,1
    - Dst: dns_rdataslab_subtract
      Src: /src/bind9/lib/dns/qpzone.c:5007,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5014,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpzone.c:5016,1
    - Dst: dns_slabheader_copycase
      Src: /src/bind9/lib/dns/qpzone.c:5018,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:5019,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:5020,1
    - Dst: resigninsert
      Src: /src/bind9/lib/dns/qpzone.c:5024,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:5037,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5044,1
    - Dst: dns_slabheader_new
      Src: /src/bind9/lib/dns/qpzone.c:5045,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:5049,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5053,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:5061,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:5062,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5080,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5101,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 6
    argNames:
    - db
    - dbnode
    - dbversion
    - rdataset
    - options
    - newrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 4924
    functionDepth: 5
    functionLinenumber: 4924
    functionLinenumberEnd: 5103
    functionName: qpzone_subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_fromrdataset
    - VALID_QPZONE
    - NODE_WRLOCK
    - dns_slabheader_destroy
    - dns_slabheader_new
    - REQUIRE
    - dns_time64_from32
    - dns_fixedname_initname
    - IGNORE
    - dns_name_copy
    - NODE_UNLOCK
    - dns_slabheader_copycase
    - dns_slabheader_reset
    - atomic_fetch_add_relaxed
    - INSIST
    - resigninsert
    - NONEXISTENT
    - add_changed
    - maybe_update_recordsandsize
    - qpzone_get_lock
    - dns_rdataslab_subtract
    - DNS_SLABHEADER_SETATTR
    - atomic_init
    - RESIGN
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_subtractrdataset(dns_db_t *db, dns_dbnode_t *dbnode,\n\t\t\tdns_dbversion_t
      *dbversion, dns_rdataset_t *rdataset,\n\t\t\tunsigned int options,\n\t\t\tdns_rdataset_t
      *newrdataset DNS__DB_FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:5113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5119,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5120,1
    - Dst: dns_slabheader_new
      Src: /src/bind9/lib/dns/qpzone.c:5129,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpzone.c:5130,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:5132,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:5135,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:5137,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5138,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpzone.c:5139,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - db
    - dbnode
    - dbversion
    - type
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5143
      start: 5105
    functionDepth: 3
    functionLinenumber: 5105
    functionLinenumberEnd: 5143
    functionName: qpzone_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_VALUE
    - NODE_UNLOCK
    - VALID_QPZONE
    - NODE_WRLOCK
    - dns_fixedname_initname
    - qpzone_get_lock
    - dns_slabheader_new
    - atomic_init
    - add
    - REQUIRE
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_deleterdataset(dns_db_t *db, dns_dbnode_t *dbnode,\n\t\t
      \     dns_dbversion_t *dbversion, dns_rdatatype_t type,\n\t\t      dns_rdatatype_t
      covers DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5152,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5154,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:5156,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5158,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:5159,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - db
    - node
    - name
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5163
      start: 5145
    functionDepth: 1
    functionLinenumber: 5145
    functionLinenumberEnd: 5163
    functionName: nodefullname
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 3
    functionsReached:
    - NODE_UNLOCK
    - VALID_QPZONE
    - NODE_RDLOCK
    - qpzone_get_lock
    - REQUIRE
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nodefullname(dns_db_t *db, dns_dbnode_t *node, dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:5167,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpzone.c:5172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - name
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5175
      start: 5165
    functionDepth: 1
    functionLinenumber: 5165
    functionLinenumberEnd: 5175
    functionName: new_glue
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - dns_name_dup
    linkageType: ''
    returnType: dns_glue_t
    signature: 'dns_glue_t *

      new_glue(isc_mem_t *mctx, const dns_name_t *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:5180,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:5186,1
    - Dst: cds_wfs_node_init
      Src: /src/bind9/lib/dns/qpzone.c:5188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - db
    - header
    - dbversion
    argTypes:
    - dns_db_t*
    - dns_slabheader_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5191
      start: 5177
    functionDepth: 1
    functionLinenumber: 5177
    functionLinenumberEnd: 5191
    functionName: new_gluelist
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - cds_wfs_node_init
    - isc_mem_attach
    linkageType: ''
    returnType: dns_gluelist_t
    signature: "dns_gluelist_t *\nnew_gluelist(dns_db_t *db, dns_slabheader_t *header,\n\t
      \    const dns_dbversion_t *dbversion)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:5212,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:5218,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5219,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5220,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:5222,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5223,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5224,1
    - Dst: qpzone_find
      Src: /src/bind9/lib/dns/qpzone.c:5226,1
    - Dst: new_glue
      Src: /src/bind9/lib/dns/qpzone.c:5231,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5233,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5234,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5235,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5236,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5238,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5239,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5240,1
    - Dst: qpzone_find
      Src: /src/bind9/lib/dns/qpzone.c:5245,1
    - Dst: new_glue
      Src: /src/bind9/lib/dns/qpzone.c:5251,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5253,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5254,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5255,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5256,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:5258,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:5259,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/qpzone.c:5259,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5262,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5263,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5264,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:5277,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5278,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5281,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5293,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:5294,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5296,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:5297,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5300,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:5301,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5303,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:5304,1
    - Dst: dns__db_detachnode
      Src: /src/bind9/lib/dns/qpzone.c:5308,1
    - Dst: dns__db_detachnode
      Src: /src/bind9/lib/dns/qpzone.c:5312,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 4
    argNames:
    - arg
    - name
    - qtype
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5193
    functionDepth: 12
    functionLinenumber: 5193
    functionLinenumberEnd: 5318
    functionName: glue_nsdname_cb
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpzone_find
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_name_equal
    - INSIST
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns__db_detachnode
    - dns_rdataset_clone
    - new_glue
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t glue_nsdname_cb(void *arg, const dns_name_t *name, dns_rdatatype_t
      qtype,\n\t\tdns_rdataset_t *rdataset ISC_ATTR_UNUSED DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5321
      start: 5320
    functionDepth: 0
    functionLinenumber: 5320
    functionLinenumberEnd: 5321
    functionName: IS_REQUIRED_GLUE
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_REQUIRED_GLUE(r)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/qpzone.c:5332,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:5334,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5336,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5337,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5340,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5341,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5344,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5345,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5348,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5349,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5353,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5354,1
    - Dst: IS_REQUIRED_GLUE
      Src: /src/bind9/lib/dns/qpzone.c:5355,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5361,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5362,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5366,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5367,1
    - Dst: IS_REQUIRED_GLUE
      Src: /src/bind9/lib/dns/qpzone.c:5368,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/qpzone.c:5373,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5375,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/qpzone.c:5378,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:5391,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:5393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - ge
    - msg
    argTypes:
    - dns_glue_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5397
      start: 5322
    functionDepth: 1
    functionLinenumber: 5322
    functionLinenumberEnd: 5397
    functionName: addglue_to_message
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - ISC_LIST_APPEND
    - dns_message_addname
    - dns_rdataset_isassociated
    - IS_REQUIRED_GLUE
    - dns_message_gettemprdataset
    - ISC_LIST_UNLINK
    - dns_message_gettempname
    - dns_rdataset_clone
    - dns_name_copy
    linkageType: ''
    returnType: void
    signature: void addglue_to_message(dns_glue_t *ge, dns_message_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/qpzone.c:5402,1
    - Dst: new_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:5408,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/qpzone.c:5417,1
    - Dst: CMM_STORE_SHARED
      Src: /src/bind9/lib/dns/qpzone.c:5420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - qpdb
    - version
    - node
    - rdataset
    argTypes:
    - qpzonedb_t*
    - qpz_version_t*
    - qpznode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5423
      start: 5399
    functionDepth: 2
    functionLinenumber: 5399
    functionLinenumberEnd: 5423
    functionName: create_gluelist
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - CMM_STORE_SHARED
    - dns_rdataset_additionaldata
    - new_gluelist
    - dns_rdataset_getheader
    linkageType: ''
    returnType: dns_gluelist_t
    signature: "dns_gluelist_t *\ncreate_gluelist(qpzonedb_t *qpdb, qpz_version_t
      *version, qpznode_t *node,\n\t\tdns_rdataset_t *rdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getheader
      Src: /src/bind9/lib/dns/qpzone.c:5431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5438,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:5438,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qpzone.c:5440,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/qpzone.c:5442,1
    - Dst: create_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:5448,1
    - Dst: rcu_cmpxchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:5456,1
    - Dst: cds_wfs_push
      Src: /src/bind9/lib/dns/qpzone.c:5462,1
    - Dst: destroy_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:5466,1
    - Dst: CMM_LOAD_SHARED
      Src: /src/bind9/lib/dns/qpzone.c:5471,1
    - Dst: addglue_to_message
      Src: /src/bind9/lib/dns/qpzone.c:5474,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qpzone.c:5478,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpzone.c:5482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - db
    - dbversion
    - rdataset
    - msg
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5484
      start: 5425
    functionDepth: 3
    functionLinenumber: 5425
    functionLinenumberEnd: 5484
    functionName: addglue
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - rcu_cmpxchg_pointer
    - rcu_dereference
    - cds_wfs_push
    - dns_rdataset_getheader
    - CMM_LOAD_SHARED
    - isc_stats_increment
    - rcu_read_unlock
    - create_gluelist
    - REQUIRE
    - destroy_gluelist
    - IS_STUB
    - addglue_to_message
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void addglue(dns_db_t *db, dns_dbversion_t *dbversion, dns_rdataset_t
      *rdataset,\n\tdns_message_t *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5490,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5493
      start: 5486
    functionDepth: 1
    functionLinenumber: 5486
    functionLinenumberEnd: 5493
    functionName: setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 4
    functionsReached:
    - VALID_QPZONE
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void setmaxrrperset(dns_db_t *db, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5499,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5502
      start: 5495
    functionDepth: 1
    functionLinenumber: 5495
    functionLinenumberEnd: 5502
    functionName: setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 4
    functionsReached:
    - VALID_QPZONE
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void setmaxtypepername(dns_db_t *db, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5552,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5555,1
    - Dst: qpz_heap_unref
      Src: /src/bind9/lib/dns/qpzone.c:5558,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpzone.c:5559,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:5560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5561
      start: 5541
    functionDepth: 3
    functionLinenumber: 5541
    functionLinenumberEnd: 5561
    functionName: destroy_qpznode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - qpz_heap_unref
    - dns_slabheader_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_qpznode(qpznode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_ref
      Src: /src/bind9/lib/dns/qpzone.c:5581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5582
      start: 5577
    functionDepth: 1
    functionLinenumber: 5577
    functionLinenumberEnd: 5582
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:5588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5589
      start: 5584
    functionDepth: 1
    functionLinenumber: 5584
    functionLinenumberEnd: 5589
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/qpzone.c:5595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5596
      start: 5591
    functionDepth: 2
    functionLinenumber: 5591
    functionLinenumberEnd: 5596
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/qpzone.c:5600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5601
      start: 5598
    functionDepth: 0
    functionLinenumber: 5598
    functionLinenumberEnd: 5601
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx ISC_ATTR_UNUSED, char *buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/byaddr.c:48,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/byaddr.c:58,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/byaddr.c:75,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/byaddr.c:80,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/byaddr.c:81,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/byaddr.c:82,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/byaddr.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - address
    - name
    argTypes:
    - isc_netaddr_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 84
    functionName: dns_byaddr_createptrname
    functionSourceFile: /src/bind9/lib/dns/byaddr.c
    functionUses: 4
    functionsReached:
    - dns_name_fromtext
    - strlcpy
    - isc_buffer_init
    - strlen
    - snprintf
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_byaddr_createptrname(const isc_netaddr_t *address,
      dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keydata.c:30,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/keydata.c:44,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/keydata.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - keydata
    - dnskey
    - mctx
    argTypes:
    - dns_rdata_keydata_t*
    - dns_rdata_dnskey_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: dns_keydata_todnskey
    functionSourceFile: /src/bind9/lib/dns/keydata.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keydata_todnskey(dns_rdata_keydata_t *keydata, dns_rdata_dnskey_t
      *dnskey,\n\t\t     isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keydata.c:55,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/keydata.c:71,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/keydata.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - keydata
    - dnskey
    - refresh
    - addhd
    - removehd
    - mctx
    argTypes:
    - dns_rdata_keydata_t*
    - dns_rdata_dnskey_t*
    - uint32_t
    - uint32_t
    - uint32_t
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 76
    functionName: dns_keydata_fromdnskey
    functionSourceFile: /src/bind9/lib/dns/keydata.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keydata_fromdnskey(dns_rdata_keydata_t *keydata,
      dns_rdata_dnskey_t *dnskey,\n\t\t       uint32_t refresh, uint32_t addhd, uint32_t
      removehd,\n\t\t       isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - order
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DNS_ORDER_VALID
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ORDER_VALID(order)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/order.c:53,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/order.c:55,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/order.c:58,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/order.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - orderp
    argTypes:
    - isc_mem_t*
    - dns_order_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: dns_order_create
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 2
    functionsReached:
    - isc_mem_get
    - ISC_REFCOUNT_INITIALIZER
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void dns_order_create(isc_mem_t *mctx, dns_order_t **orderp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/order.c:72,1
    - Dst: DNS_ORDER_VALID
      Src: /src/bind9/lib/dns/order.c:72,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/order.c:74,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/order.c:82,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/order.c:83,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/order.c:83,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/order.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - order
    - name
    - rdtype
    - rdclass
    - mode
    argTypes:
    - dns_order_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataclass_t
    - dns_orderopt_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: dns_order_add
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 1
    functionsReached:
    - DNS_ORDER_VALID
    - ISC_LIST_INITANDAPPEND
    - dns_fixedname_name
    - isc_mem_get
    - REQUIRE
    - dns_fixedname_init
    - dns_name_copy
    linkageType: ''
    returnType: void
    signature: "void dns_order_add(dns_order_t *order, const dns_name_t *name,\n\t
      \     dns_rdatatype_t rdtype, dns_rdataclass_t rdclass,\n\t      dns_orderopt_t
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/order.c:90,1
    - Dst: dns_name_matcheswildcard
      Src: /src/bind9/lib/dns/order.c:91,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/order.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: match
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 33
    functionsReached:
    - dns_name_iswildcard
    - dns_name_matcheswildcard
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool match(const dns_name_t *name1, const dns_name_t *name2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/order.c:99,1
    - Dst: DNS_ORDER_VALID
      Src: /src/bind9/lib/dns/order.c:99,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/order.c:101,1
    - Dst: match
      Src: /src/bind9/lib/dns/order.c:110,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/order.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - order
    - name
    - rdtype
    - rdclass
    argTypes:
    - dns_order_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: dns_order_find
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 1
    functionsReached:
    - DNS_ORDER_VALID
    - match
    - dns_fixedname_name
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: dns_orderopt_t
    signature: "dns_orderopt_t dns_order_find(dns_order_t *order, const dns_name_t
      *name,\n\t       dns_rdatatype_t rdtype, dns_rdataclass_t rdclass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/order.c:119,1
    - Dst: DNS_ORDER_VALID
      Src: /src/bind9/lib/dns/order.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/order.c:120,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/order.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_order_t*
    - dns_order_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: dns_order_attach
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - DNS_ORDER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_order_attach(dns_order_t *source, dns_order_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/order.c:127,1
    - Dst: DNS_ORDER_VALID
      Src: /src/bind9/lib/dns/order.c:127,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/order.c:131,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/order.c:132,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/order.c:134,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/order.c:135,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/order.c:136,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/order.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - orderp
    argTypes:
    - dns_order_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: dns_order_detach
    functionSourceFile: /src/bind9/lib/dns/order.c
    functionUses: 2
    functionsReached:
    - DNS_ORDER_VALID
    - isc_mem_putanddetach
    - isc_refcount_decrement
    - ISC_LIST_UNLINK
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_mem_put
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void dns_order_detach(dns_order_t **orderp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:33,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:34,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keystore.c:36,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/keystore.c:38,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/keystore.c:40,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/keystore.c:41,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/keystore.c:43,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/keystore.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - mctx
    - name
    - kspp
    argTypes:
    - isc_mem_t*
    - char*
    - dns_keystore_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 52
    functionName: dns_keystore_create
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - ISC_LINK_INIT
    - isc_mem_get
    - isc_refcount_init
    - isc_mem_strdup
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_keystore_create(isc_mem_t *mctx, const char *name, dns_keystore_t
      **kspp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:58,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/keystore.c:58,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/keystore.c:60,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/keystore.c:61,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/keystore.c:62,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/keystore.c:64,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/keystore.c:67,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/keystore.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - keystore
    argTypes:
    - dns_keystore_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: dns__keystore_destroy
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LINK_LINKED
    - UNCONST
    - REQUIRE
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns__keystore_destroy(dns_keystore_t *keystore)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:80,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keystore
    argTypes:
    - dns_keystore_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: dns_keystore_name
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 2
    functionsReached:
    - DNS_KEYSTORE_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_keystore_name(dns_keystore_t *keystore)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keystore.c:91,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keystore
    - keydir
    argTypes:
    - dns_keystore_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: dns_keystore_directory
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 7
    functionsReached:
    - DNS_KEYSTORE_VALID
    - INSIST
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_keystore_directory(dns_keystore_t *keystore, const char *keydir)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:102,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:102,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/keystore.c:105,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/keystore.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - keystore
    - dir
    argTypes:
    - dns_keystore_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: dns_keystore_setdirectory
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 2
    functionsReached:
    - DNS_KEYSTORE_VALID
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_keystore_setdirectory(dns_keystore_t *keystore, const char
      *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:114,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - keystore
    argTypes:
    - dns_keystore_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: dns_keystore_pkcs11uri
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 0
    functionsReached:
    - DNS_KEYSTORE_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_keystore_pkcs11uri(dns_keystore_t *keystore)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:121,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:121,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/keystore.c:124,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/keystore.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - keystore
    - uri
    argTypes:
    - dns_keystore_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: dns_keystore_setpkcs11uri
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 1
    functionsReached:
    - DNS_KEYSTORE_VALID
    - isc_mem_strdup
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_keystore_setpkcs11uri(dns_keystore_t *keystore, const char
      *uri)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/keystore.c:136,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/keystore.c:139,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/keystore.c:142,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keystore.c:142,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keystore.c:142,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keystore.c:146,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keystore.c:147,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/keystore.c:149,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/keystore.c:160,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keystore.c:160,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keystore.c:163,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/keystore.c:164,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/keystore.c:168,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/lib/dns/keystore.c:173,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keystore.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - uri
    - zname
    - policy
    - flags
    - buf
    argTypes:
    - char*
    - dns_name_t*
    - char*
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 175
    functionName: buildpkcs11label
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - isc_buffer_putstr
    - strlen
    - isc_time_now
    - dns_name_fromstring
    - dns_name_tofilenametext
    - isc_buffer_printf
    - isc_time_formatshorttimestamp
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t buildpkcs11label(const char *uri, const dns_name_t *zname,
      const char *policy,\n\t\t int flags, isc_buffer_t *buf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:186,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:187,1
    - Dst: dns_name_isvalid
      Src: /src/bind9/lib/dns/keystore.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:190,1
    - Dst: dns_keystore_pkcs11uri
      Src: /src/bind9/lib/dns/keystore.c:192,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keystore.c:213,1
    - Dst: buildpkcs11label
      Src: /src/bind9/lib/dns/keystore.c:214,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keystore.c:217,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keystore.c:218,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keystore.c:223,1
    - Dst: dst_key_generate
      Src: /src/bind9/lib/dns/keystore.c:228,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keystore.c:233,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keystore.c:238,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keystore.c:241,1
    - Dst: dst_key_generate
      Src: /src/bind9/lib/dns/keystore.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 9
    argNames:
    - keystore
    - origin
    - policy
    - rdclass
    - mctx
    - alg
    - size
    - flags
    - dstkey
    argTypes:
    - dns_keystore_t*
    - dns_name_t*
    - char*
    - dns_rdataclass_t
    - isc_mem_t*
    - uint32_t
    - int
    - int
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 177
    functionDepth: 5
    functionLinenumber: 177
    functionLinenumberEnd: 254
    functionName: dns_keystore_keygen
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 2
    functionsReached:
    - dns_name_isvalid
    - DNS_KEYSTORE_VALID
    - dst_key_generate
    - isc_result_totext
    - isc_buffer_init
    - isc_log_write
    - dns_keystore_pkcs11uri
    - REQUIRE
    - dns_name_format
    - buildpkcs11label
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keystore_keygen(dns_keystore_t *keystore, const dns_name_t
      *origin,\n\t\t    const char *policy, dns_rdataclass_t rdclass,\n\t\t    isc_mem_t
      *mctx, uint32_t alg, int size, int flags,\n\t\t    dst_key_t **dstkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:259,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keystore.c:265,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/keystore.c:266,1
    - Dst: dns_keystore_attach
      Src: /src/bind9/lib/dns/keystore.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - list
    - name
    - kspp
    argTypes:
    - dns_keystorelist_t*
    - char*
    - dns_keystore_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: dns_keystorelist_find
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 4
    functionsReached:
    - strcmp
    - dns_keystore_attach
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keystorelist_find(dns_keystorelist_t *list, const
      char *name,\n\t\t      dns_keystore_t **kspp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: DNS_CLIENT_VALID
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CLIENT_VALID(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: RCTX_VALID
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCTX_VALID(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: UCTX_VALID
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UCTX_VALID(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 531
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_portset_create
      Src: /src/bind9/lib/dns/client.c:152,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/lib/dns/client.c:153,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/lib/dns/client.c:157,1
    - Dst: isc_portset_create
      Src: /src/bind9/lib/dns/client.c:159,1
    - Dst: isc_net_getudpportrange
      Src: /src/bind9/lib/dns/client.c:160,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/lib/dns/client.c:164,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/lib/dns/client.c:166,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/lib/dns/client.c:170,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/lib/dns/client.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - mctx
    - manager
    argTypes:
    - isc_mem_t*
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 177
    functionName: setsourceports
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - isc_net_getudpportrange
    - dns_dispatchmgr_setavailports
    - isc_portset_addrange
    - isc_portset_destroy
    - isc_portset_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setsourceports(isc_mem_t *mctx, dns_dispatchmgr_t *manager)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/dns/client.c:187,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/lib/dns/client.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - family
    - dispatchmgr
    - dispp
    - localaddr
    argTypes:
    - int
    - dns_dispatchmgr_t*
    - dns_dispatch_t**
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: getudpdispatch
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_anyofpf
    - dns_dispatch_createudp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getudpdispatch(int family, dns_dispatchmgr_t *dispatchmgr,\n\t
      \      dns_dispatch_t **dispp, const isc_sockaddr_t *localaddr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_create
      Src: /src/bind9/lib/dns/client.c:207,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/lib/dns/client.c:211,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/client.c:213,1
    - Dst: dns_view_createresolver
      Src: /src/bind9/lib/dns/client.c:213,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/client.c:215,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/client.c:215,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/client.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 9
    argNames:
    - mctx
    - rdclass
    - nm
    - tlsctx_client_cache
    - loopmgr
    - dispatchmgr
    - dispatchv4
    - dispatchv6
    - viewp
    argTypes:
    - isc_mem_t*
    - dns_rdataclass_t
    - isc_nm_t*
    - isc_tlsctx_cache_t*
    - isc_loopmgr_t*
    - dns_dispatchmgr_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 225
    functionName: createview
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_view_initsecroots
    - dns_view_create
    - CHECK
    - dns_view_createresolver
    - dns_view_detach
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t createview(isc_mem_t *mctx, dns_rdataclass_t rdclass,
      isc_nm_t *nm,\n\t   isc_tlsctx_cache_t *tlsctx_client_cache, isc_loopmgr_t *loopmgr,\n\t
      \  dns_dispatchmgr_t *dispatchmgr, dns_dispatch_t *dispatchv4,\n\t   dns_dispatch_t
      *dispatchv6, dns_view_t **viewp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:238,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:239,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:241,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/client.c:243,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:245,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/client.c:247,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/lib/dns/client.c:253,1
    - Dst: setsourceports
      Src: /src/bind9/lib/dns/client.c:258,1
    - Dst: getudpdispatch
      Src: /src/bind9/lib/dns/client.c:266,1
    - Dst: getudpdispatch
      Src: /src/bind9/lib/dns/client.c:275,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:284,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/client.c:288,1
    - Dst: createview
      Src: /src/bind9/lib/dns/client.c:291,1
    - Dst: isc_loop_getloopmgr
      Src: /src/bind9/lib/dns/client.c:292,1
    - Dst: dns_view_freeze
      Src: /src/bind9/lib/dns/client.c:300,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/client.c:302,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/client.c:304,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/client.c:316,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/client.c:317,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:320,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:323,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/client.c:325,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:327,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 8
    argNames:
    - mctx
    - loopmgr
    - nm
    - options
    - tlsctx_client_cache
    - clientp
    - localaddr4
    - localaddr6
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - isc_nm_t*
    - unsigned int
    - isc_tlsctx_cache_t*
    - dns_client_t**
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 330
    functionName: dns_client_create
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - getudpdispatch
    - createview
    - REQUIRE
    - isc_loop_getloopmgr
    - isc_mem_attach
    - dns_dispatchmgr_detach
    - isc_refcount_init
    - ISC_LIST_INIT
    - dns_dispatch_detach
    - UNUSED
    - INSIST
    - isc_mem_get
    - setsourceports
    - isc_refcount_decrementz
    - dns_view_freeze
    - isc_loop_get
    - isc_mem_put
    - isc_refcount_destroy
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_client_create(isc_mem_t *mctx, isc_loopmgr_t *loopmgr,
      isc_nm_t *nm,\n\t\t  unsigned int options, isc_tlsctx_cache_t *tlsctx_client_cache,\n\t\t
      \ dns_client_t **clientp, const isc_sockaddr_t *localaddr4,\n\t\t  const isc_sockaddr_t
      *localaddr6)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/client.c:334,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/client.c:336,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:339,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:342,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/client.c:345,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/client.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - client
    argTypes:
    - dns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 350
    functionName: destroyclient
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    - isc_mem_putanddetach
    - dns_dispatchmgr_detach
    - isc_refcount_destroy
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void destroyclient(dns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:357,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:357,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/client.c:362,1
    - Dst: destroyclient
      Src: /src/bind9/lib/dns/client.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - clientp
    argTypes:
    - dns_client_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 365
    functionName: dns_client_detach
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 2
    functionsReached:
    - DNS_CLIENT_VALID
    - REQUIRE
    - isc_refcount_decrement
    - destroyclient
    linkageType: ''
    returnType: void
    signature: void dns_client_detach(dns_client_t **clientp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:372,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:372,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:374,1
    - Dst: dns_fwdtable_add
      Src: /src/bind9/lib/dns/client.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - client
    - rdclass
    - name_space
    - addrs
    argTypes:
    - dns_client_t*
    - dns_rdataclass_t
    - dns_name_t*
    - isc_sockaddrlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: dns_client_setservers
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 2
    functionsReached:
    - DNS_CLIENT_VALID
    - dns_fwdtable_add
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_client_setservers(dns_client_t *client, dns_rdataclass_t
      rdclass,\n\t\t      const dns_name_t *name_space, isc_sockaddrlist_t *addrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:388,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:388,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - client
    - max_restarts
    argTypes:
    - dns_client_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: dns_client_setmaxrestarts
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - DNS_CLIENT_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_client_setmaxrestarts(dns_client_t *client, uint8_t max_restarts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:396,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:396,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - client
    - max_queries
    argTypes:
    - dns_client_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 400
    functionName: dns_client_setmaxqueries
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - DNS_CLIENT_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_client_setmaxqueries(dns_client_t *client, uint8_t max_queries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:406,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:407,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:409,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/client.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - rdatasetp
    argTypes:
    - isc_mem_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: getrdataset
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 2
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:422,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:425,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/client.c:427,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/client.c:428,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mctx
    - rdatasetp
    argTypes:
    - isc_mem_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 432
    functionName: putrdataset
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 30
    functionsReached:
    - isc_mem_put
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void putrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:439,1
    - Dst: RCTX_VALID
      Src: /src/bind9/lib/dns/client.c:439,1
    - Dst: client_resfind
      Src: /src/bind9/lib/dns/client.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: fetch_done
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - client_resfind
    - RCTX_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void fetch_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:449,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/client.c:461,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - resctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 468
    functionName: start_fetch
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_resolver_createfetch
    - REQUIRE
    - dns_fixedname_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t start_fetch(resctx_t *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:474,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/client.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rctx
    - dbp
    - nodep
    - foundname
    argTypes:
    - resctx_t*
    - dns_db_t**
    - dns_dbnode_t**
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 488
    functionName: view_find
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 7
    functionsReached:
    - dns_view_find
    - dns_fixedname_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t view_find(resctx_t *rctx, dns_db_t **dbp, dns_dbnode_t
      **nodep,\n\t  dns_name_t *foundname)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:507,1
    - Dst: RCTX_VALID
      Src: /src/bind9/lib/dns/client.c:507,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:511,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/client.c:523,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:524,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/client.c:524,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:525,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/client.c:526,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/client.c:527,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:534,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/client.c:535,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/client.c:538,1
    - Dst: start_fetch
      Src: /src/bind9/lib/dns/client.c:540,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:542,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:544,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:552,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:553,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/client.c:554,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:560,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:561,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/client.c:562,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:569,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:571,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/client.c:572,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/client.c:574,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:588,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:591,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:595,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/client.c:602,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/client.c:606,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/client.c:607,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/client.c:608,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/client.c:612,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/client.c:613,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:621,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:624,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:628,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/client.c:631,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:633,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/client.c:637,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/client.c:642,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/client.c:643,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/client.c:644,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/client.c:652,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/client.c:653,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/client.c:654,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/client.c:656,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:665,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:666,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:671,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:677,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:680,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/client.c:690,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/client.c:697,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/client.c:699,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:702,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/client.c:711,1
    - Dst: dns_rdatasetiter_next
      Src: /src/bind9/lib/dns/client.c:714,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:719,1
    - Dst: POST
      Src: /src/bind9/lib/dns/client.c:723,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:729,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:732,1
    - Dst: POST
      Src: /src/bind9/lib/dns/client.c:741,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:743,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/client.c:746,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:758,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:761,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:765,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:774,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:775,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:776,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/client.c:778,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:779,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/client.c:783,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/client.c:786,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:804,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:807,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:809,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:811,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:823,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:824,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:825,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/client.c:830,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 241
    argCount: 2
    argNames:
    - rctx
    - resp
    argTypes:
    - resctx_t*
    - dns_fetchresponse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 832
    functionName: client_resfind
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - dns_rdatasetiter_next
    - dns_name_free
    - isc_async_run
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - REQUIRE
    - view_find
    - getrdataset
    - dns_name_dup
    - dns_rdata_reset
    - dns_rdata_tostruct
    - isc_mem_put
    - dns_fixedname_initname
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_rdata_freestruct
    - dns_name_concatenate
    - start_fetch
    - dns_name_copy
    - putrdataset
    - dns_fixedname_name
    - INSIST
    - isc_mem_get
    - dns_db_allrdatasets
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - dns_rdatasetiter_first
    - dns_resolver_destroyfetch
    - dns_name_split
    - ISC_LIST_APPEND
    - dns_rdatasetiter_current
    - RCTX_VALID
    - dns_resolver_freefresp
    - dns_name_fullcompare
    - POST
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void client_resfind(resctx_t *rctx, dns_fetchresponse_t *resp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:843,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:844,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:845,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:848,1
    - Dst: destroyrestrans
      Src: /src/bind9/lib/dns/client.c:849,1
    - Dst: resarg_t*::resolve_cb
      Src: /src/bind9/lib/dns/client.c:862,1
    - Dst: dns_client_detach
      Src: /src/bind9/lib/dns/client.c:865,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/client.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 834
    functionDepth: 4
    functionLinenumber: 834
    functionLinenumberEnd: 868
    functionName: resolve_done
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - destroyrestrans
    - resarg_t*::resolve_cb
    - ISC_LIST_APPEND
    - isc_mem_putanddetach
    - dns_client_detach
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void resolve_done(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:882,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:882,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:884,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:895,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:903,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:916,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:923,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/client.c:930,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/client.c:931,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:931,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/client.c:933,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/client.c:936,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/client.c:938,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:940,1
    - Dst: client_resfind
      Src: /src/bind9/lib/dns/client.c:943,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:949,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:952,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/client.c:955,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:957,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:958,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 8
    argNames:
    - client
    - name
    - rdclass
    - type
    - options
    - cb
    - arg
    - transp
    argTypes:
    - dns_client_t*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - isc_job_cb
    - void*
    - dns_clientrestrans_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 961
    functionName: startresolve
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_view_attach
    - ISC_LIST_APPEND
    - isc_mem_put
    - dns_name_copy
    - isc_counter_detach
    - dns_fixedname_name
    - isc_refcount_increment
    - isc_mem_get
    - REQUIRE
    - client_resfind
    - isc_counter_create
    - dns_fixedname_init
    - getrdataset
    - DNS_CLIENT_VALID
    - putrdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t startresolve(dns_client_t *client, const dns_name_t *name,\n\t
      \    dns_rdataclass_t rdclass, dns_rdatatype_t type,\n\t     unsigned int options,
      isc_job_cb cb, void *arg,\n\t     dns_clientrestrans_t **transp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:971,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:971,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:972,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/client.c:972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:973,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:975,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/client.c:985,1
    - Dst: startresolve
      Src: /src/bind9/lib/dns/client.c:987,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - client
    - name
    - rdclass
    - type
    - options
    - namelist
    - resolve_cb
    argTypes:
    - dns_client_t*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - dns_namelist_t*
    - dns_client_resolve_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 963
    functionDepth: 4
    functionLinenumber: 963
    functionLinenumberEnd: 995
    functionName: dns_client_resolve
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - ISC_LIST_EMPTY
    - isc_mem_get
    - startresolve
    - REQUIRE
    - isc_mem_put
    - DNS_CLIENT_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_client_resolve(dns_client_t *client, const dns_name_t
      *name,\n\t\t   dns_rdataclass_t rdclass, dns_rdatatype_t type,\n\t\t   unsigned
      int options, dns_namelist_t *namelist,\n\t\t   dns_client_resolve_cb resolve_cb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:999,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:999,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1000,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:1002,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:1003,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:1005,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:1006,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:1007,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/client.c:1010,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - client
    - namelist
    argTypes:
    - dns_client_t*
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1013
    functionName: dns_client_freeresanswer
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - dns_name_free
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - DNS_CLIENT_VALID
    - putrdataset
    linkageType: ''
    returnType: void
    signature: void dns_client_freeresanswer(dns_client_t *client, dns_namelist_t
      *namelist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1027,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1032,1
    - Dst: RCTX_VALID
      Src: /src/bind9/lib/dns/client.c:1032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1037,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:1037,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/client.c:1040,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:1042,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/client.c:1042,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:1043,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:1045,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/client.c:1045,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/client.c:1050,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - transp
    argTypes:
    - dns_clientrestrans_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1021
    functionDepth: 2
    functionLinenumber: 1021
    functionLinenumberEnd: 1053
    functionName: destroyrestrans
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - dns_view_detach
    - ISC_LIST_EMPTY
    - ISC_LINK_LINKED
    - RCTX_VALID
    - isc_counter_detach
    - INSIST
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - DNS_CLIENT_VALID
    linkageType: ''
    returnType: void
    signature: void destroyrestrans(dns_clientrestrans_t **transp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1059,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:1059,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1060,1
    - Dst: dns_view_addtrustedkey
      Src: /src/bind9/lib/dns/client.c:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - client
    - rdclass
    - rdtype
    - keyname
    - databuf
    argTypes:
    - dns_client_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1055
    functionDepth: 3
    functionLinenumber: 1055
    functionLinenumberEnd: 1063
    functionName: dns_client_addtrustedkey
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - DNS_CLIENT_VALID
    - REQUIRE
    - dns_view_addtrustedkey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t
      rdclass,\n\t\t\t dns_rdatatype_t rdtype, const dns_name_t *keyname,\n\t\t\t
      isc_buffer_t *databuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/iptable.c:28,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/iptable.c:30,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/iptable.c:33,1
    - Dst: isc_radix_create
      Src: /src/bind9/lib/dns/iptable.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - target
    argTypes:
    - isc_mem_t*
    - dns_iptable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 2
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: dns_iptable_create
    functionSourceFile: /src/bind9/lib/dns/iptable.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - ISC_REFCOUNT_INITIALIZER
    - isc_radix_create
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void dns_iptable_create(isc_mem_t *mctx, dns_iptable_t **target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/iptable.c:54,1
    - Dst: DNS_IPTABLE_VALID
      Src: /src/bind9/lib/dns/iptable.c:54,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/iptable.c:55,1
    - Dst: NETADDR_TO_PREFIX_T
      Src: /src/bind9/lib/dns/iptable.c:57,1
    - Dst: isc_radix_insert
      Src: /src/bind9/lib/dns/iptable.c:59,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/iptable.c:61,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/iptable.c:68,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/dns/iptable.c:77,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/iptable.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - tab
    - addr
    - bitlen
    - pos
    argTypes:
    - dns_iptable_t*
    - isc_netaddr_t*
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: dns_iptable_addprefix
    functionSourceFile: /src/bind9/lib/dns/iptable.c
    functionUses: 5
    functionsReached:
    - ISC_RADIX_FAMILY
    - INSIST
    - NETADDR_TO_PREFIX_T
    - isc_refcount_destroy
    - DNS_IPTABLE_VALID
    - isc_radix_insert
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_iptable_addprefix(dns_iptable_t *tab, const isc_netaddr_t
      *addr,\n\t\t      uint16_t bitlen, bool pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RADIX_WALK
      Src: /src/bind9/lib/dns/iptable.c:97,1
    - Dst: isc_radix_insert
      Src: /src/bind9/lib/dns/iptable.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - tab
    - source
    - pos
    argTypes:
    - dns_iptable_t*
    - dns_iptable_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 128
    functionName: dns_iptable_merge
    functionSourceFile: /src/bind9/lib/dns/iptable.c
    functionUses: 1
    functionsReached:
    - RADIX_WALK
    - isc_radix_insert
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_iptable_merge(dns_iptable_t *tab, dns_iptable_t *source,
      bool pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/iptable.c:132,1
    - Dst: DNS_IPTABLE_VALID
      Src: /src/bind9/lib/dns/iptable.c:132,1
    - Dst: isc_radix_destroy
      Src: /src/bind9/lib/dns/iptable.c:137,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/iptable.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dtab
    argTypes:
    - dns_iptable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 4
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: dns__iptable_destroy
    functionSourceFile: /src/bind9/lib/dns/iptable.c
    functionUses: 0
    functionsReached:
    - isc_radix_destroy
    - DNS_IPTABLE_VALID
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns__iptable_destroy(dns_iptable_t *dtab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - qp
    - ','
    - free
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: QP_GC_HEURISTIC
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP_GC_HEURISTIC(qp, free)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: QP_NEEDGC
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP_NEEDGC(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: QP_AUTOGC
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP_AUTOGC(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: GROWTH_FACTOR
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GROWTH_FACTOR(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - cell
    argTypes:
    - dns_qpchunk_t
    - dns_qpcell_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: make_ref
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t make_ref(dns_qpchunk_t chunk, dns_qpcell_t cell)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - dns_qpref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: ref_chunk
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: dns_qpchunk_t
    signature: dns_qpchunk_t ref_chunk(dns_qpref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - dns_qpref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: ref_cell
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: dns_qpcell_t
    signature: dns_qpcell_t ref_cell(dns_qpref_t ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:346,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qp_p.h:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qpr
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 349
    functionName: qpbase_unref
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached:
    - dns_qpreader
    - isc_refcount_decrement
    linkageType: ''
    returnType: bool
    signature: bool qpbase_unref(dns_qpreadable_t qpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:357,1
    - Dst: ref_chunk
      Src: /src/bind9/lib/dns/qp_p.h:358,1
    - Dst: ref_cell
      Src: /src/bind9/lib/dns/qp_p.h:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - ref
    argTypes:
    - dns_qpreadable_t
    - dns_qpref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: ref_ptr
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 11
    functionsReached:
    - ref_cell
    - dns_qpreader
    - ref_chunk
    linkageType: ''
    returnType: dns_qpnode_t
    signature: 'dns_qpnode_t *

      ref_ptr(dns_qpreadable_t qpr, dns_qpref_t ref)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: QP_VALID
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP_VALID(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: QPITER_VALID
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPITER_VALID(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: QPCHAIN_VALID
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPCHAIN_VALID(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: QPMULTI_VALID
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPMULTI_VALID(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: QPBASE_VALID
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPBASE_VALID(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: QPRCU_VALID
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QPRCU_VALID(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - qp
    - ','
    - m
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 398
    functionName: QP_INIT
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QP_INIT(qp, m, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 566
    functionName: node64
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t node64(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: node32
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t node32(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - big
    - small
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: make_node
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: dns_qpnode_t
    signature: dns_qpnode_t make_node(uint64_t big, uint32_t small)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node64
      Src: /src/bind9/lib/dns/qp_p.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: node_pointer
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - node64
    linkageType: ''
    returnType: void
    signature: 'void *

      node_pointer(dns_qpnode_t *n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: node_tag
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t node_tag(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: is_branch
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_branch(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp_p.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: leaf_pval
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 9
    functionsReached:
    - node_pointer
    linkageType: ''
    returnType: void
    signature: 'void *

      leaf_pval(dns_qpnode_t *n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node32
      Src: /src/bind9/lib/dns/qp_p.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: leaf_ival
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 8
    functionsReached:
    - node32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t leaf_ival(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp_p.h:636,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp_p.h:637,1
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp_p.h:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: make_leaf
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - make_node
    - REQUIRE
    - node_tag
    linkageType: ''
    returnType: dns_qpnode_t
    signature: dns_qpnode_t make_leaf(const void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node64
      Src: /src/bind9/lib/dns/qp_p.h:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 655
    functionName: branch_index
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached:
    - node64
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t branch_index(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node32
      Src: /src/bind9/lib/dns/qp_p.h:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: branch_twigs_ref
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 10
    functionsReached:
    - node32
    linkageType: ''
    returnType: dns_qpref_t
    signature: dns_qpref_t branch_twigs_ref(dns_qpnode_t *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - key
    - len
    - offset
    argTypes:
    - dns_qpkey_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 676
    functionName: qpkey_bit
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: dns_qpshift_t
    signature: dns_qpshift_t qpkey_bit(const dns_qpkey_t key, size_t len, size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp_p.h:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 684
    functionName: branch_key_offset
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 5
    functionsReached:
    - branch_index
    linkageType: ''
    returnType: size_t
    signature: size_t branch_key_offset(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp_p.h:691,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp_p.h:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - n
    - key
    - len
    argTypes:
    - dns_qpnode_t*
    - dns_qpkey_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: branch_keybit
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached:
    - qpkey_bit
    - branch_key_offset
    linkageType: ''
    returnType: dns_qpshift_t
    signature: dns_qpshift_t branch_keybit(dns_qpnode_t *n, const dns_qpkey_t key,
      size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp_p.h:700,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp_p.h:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: branch_twigs
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 6
    functionsReached:
    - branch_twigs_ref
    - ref_ptr
    linkageType: ''
    returnType: dns_qpnode_t
    signature: 'dns_qpnode_t *

      branch_twigs(dns_qpreadable_t qpr, dns_qpnode_t *n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_prefetch
      Src: /src/bind9/lib/dns/qp_p.h:708,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp_p.h:708,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp_p.h:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 709
    functionName: prefetch_twigs
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 5
    functionsReached:
    - branch_twigs_ref
    - ref_ptr
    - __builtin_prefetch
    linkageType: ''
    returnType: void
    signature: void prefetch_twigs(dns_qpreadable_t qpr, dns_qpnode_t *n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:718,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp_p.h:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qpr
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 724
    functionName: get_root
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 8
    functionsReached:
    - ref_ptr
    - dns_qpreader
    linkageType: ''
    returnType: dns_qpnode_t
    signature: 'dns_qpnode_t *

      get_root(dns_qpreadable_t qpr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: MOVABLE_ROOT
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVABLE_ROOT(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp_p.h:754,1
    - Dst: __builtin_popcountll
      Src: /src/bind9/lib/dns/qp_p.h:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: branch_count_bitmap_before
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 0
    functionsReached:
    - __builtin_popcountll
    - branch_index
    linkageType: ''
    returnType: dns_qpweight_t
    signature: dns_qpweight_t branch_count_bitmap_before(dns_qpnode_t *n, dns_qpshift_t
      bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: branch_count_bitmap_before
      Src: /src/bind9/lib/dns/qp_p.h:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 767
    functionName: branch_twigs_size
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 11
    functionsReached:
    - branch_count_bitmap_before
    linkageType: ''
    returnType: dns_qpweight_t
    signature: dns_qpweight_t branch_twigs_size(dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: branch_count_bitmap_before
      Src: /src/bind9/lib/dns/qp_p.h:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 775
    functionName: branch_twig_pos
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached:
    - branch_count_bitmap_before
    linkageType: ''
    returnType: dns_qpweight_t
    signature: dns_qpweight_t branch_twig_pos(dns_qpnode_t *n, dns_qpshift_t bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp_p.h:782,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp_p.h:782,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp_p.h:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qpr
    - n
    - bit
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: branch_twig_ptr
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached:
    - branch_twigs_ref
    - ref_ptr
    - branch_twig_pos
    linkageType: ''
    returnType: dns_qpnode_t
    signature: 'dns_qpnode_t *

      branch_twig_ptr(dns_qpreadable_t qpr, dns_qpnode_t *n, dns_qpshift_t bit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp_p.h:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 791
    functionName: branch_has_twig
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 7
    functionsReached:
    - branch_index
    linkageType: ''
    returnType: bool
    signature: bool branch_has_twig(dns_qpnode_t *n, dns_qpshift_t bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp_p.h:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - to
    - from
    - size
    argTypes:
    - dns_qpnode_t*
    - dns_qpnode_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 798
    functionName: move_twigs
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void move_twigs(dns_qpnode_t *to, dns_qpnode_t *from, dns_qpweight_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/qp_p.h:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - twigs
    - size
    argTypes:
    - dns_qpnode_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 803
    functionName: zero_twigs
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void zero_twigs(dns_qpnode_t *twigs, dns_qpweight_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp_p.h:848,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp_p.h:849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - multi
    argTypes:
    - dns_qpnode_t*
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: make_reader
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - make_node
    linkageType: ''
    returnType: void
    signature: void make_reader(dns_qpnode_t *reader, dns_qpmulti_t *multi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp_p.h:855,1
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp_p.h:856,1
    - Dst: node32
      Src: /src/bind9/lib/dns/qp_p.h:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: reader_valid
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - node32
    - node_tag
    linkageType: ''
    returnType: bool
    signature: bool reader_valid(dns_qpnode_t *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:866,1
    - Dst: reader_valid
      Src: /src/bind9/lib/dns/qp_p.h:866,1
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp_p.h:867,1
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp_p.h:868,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:869,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp_p.h:869,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:870,1
    - Dst: QPBASE_VALID
      Src: /src/bind9/lib/dns/qp_p.h:870,1
    - Dst: node32
      Src: /src/bind9/lib/dns/qp_p.h:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - reader
    argTypes:
    - dns_qpreader_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 879
    functionName: unpack_reader
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached:
    - QPMULTI_VALID
    - reader_valid
    - node32
    - INSIST
    - node_pointer
    - QPBASE_VALID
    linkageType: ''
    returnType: dns_qpmulti_t
    signature: 'dns_qpmulti_t *

      unpack_reader(dns_qpreader_t *qp, dns_qpnode_t *reader)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:888,1
    - Dst: dns_qpreader_t*::methods::attach
      Src: /src/bind9/lib/dns/qp_p.h:889,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp_p.h:889,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp_p.h:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: attach_leaf
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached:
    - leaf_ival
    - dns_qpreader
    - leaf_pval
    - dns_qpreader_t*::methods::attach
    linkageType: ''
    returnType: void
    signature: void attach_leaf(dns_qpreadable_t qpr, dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:894,1
    - Dst: dns_qpreader_t*::methods::detach
      Src: /src/bind9/lib/dns/qp_p.h:895,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp_p.h:895,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp_p.h:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: detach_leaf
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached:
    - leaf_pval
    - dns_qpreader
    - dns_qpreader_t*::methods::detach
    - leaf_ival
    linkageType: ''
    returnType: void
    signature: void detach_leaf(dns_qpreadable_t qpr, dns_qpnode_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:900,1
    - Dst: dns_qpreader_t*::methods::makekey
      Src: /src/bind9/lib/dns/qp_p.h:901,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp_p.h:901,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp_p.h:902,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - qpr
    - n
    - key
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    - dns_qpkey_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 905
    functionName: leaf_qpkey
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 9
    functionsReached:
    - dns_qpreader_t*::methods::makekey
    - INSIST
    - leaf_pval
    - leaf_ival
    - dns_qpreader
    linkageType: ''
    returnType: size_t
    signature: size_t leaf_qpkey(dns_qpreadable_t qpr, dns_qpnode_t *n, dns_qpkey_t
      key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp_p.h:909,1
    - Dst: dns_qpreader_t*::methods::triename
      Src: /src/bind9/lib/dns/qp_p.h:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - qpr
    - buf
    - size
    argTypes:
    - dns_qpreadable_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 912
    functionName: triename
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - dns_qpreader
    - dns_qpreader_t*::methods::triename
    linkageType: ''
    returnType: char
    signature: 'char *

      triename(dns_qpreadable_t qpr, char *buf, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: TRIENAME
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIENAME(qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - byte
    argTypes:
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 931
    functionName: qp_common_character
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool qp_common_character(uint8_t byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: DST_RET
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DST_RET(a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:64,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:85,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:88,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:92,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:95,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:100,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:102,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:104,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:106,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:108,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:110,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/opensslrsa_link.c:112,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/bind9/lib/dns/opensslrsa_link.c:115,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:117,1
    - Dst: RSA_get0_key
      Src: /src/bind9/lib/dns/opensslrsa_link.c:119,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:121,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/bind9/lib/dns/opensslrsa_link.c:126,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:128,1
    - Dst: RSA_get0_factors
      Src: /src/bind9/lib/dns/opensslrsa_link.c:130,1
    - Dst: RSA_get0_crt_params
      Src: /src/bind9/lib/dns/opensslrsa_link.c:131,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - key
    - c
    - private
    argTypes:
    - dst_key_t*
    - rsa_components_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 134
    functionName: opensslrsa_components_get
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - RSA_get0_crt_params
    - dst__openssl_toresult
    - RSA_get0_key
    - RSA_get0_factors
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get0_RSA
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslrsa_components_get(const dst_key_t *key, rsa_components_t
      *c,\n\t\t\t  bool private)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BN_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:147,1
    - Dst: BN_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:148,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:149,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:150,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:151,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:152,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:153,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - rsa_components_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: opensslrsa_components_free
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void opensslrsa_components_free(rsa_components_t *c)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: opensslrsa_valid_key_alg
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool opensslrsa_valid_key_alg(unsigned int key_alg)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslrsa_link.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:180,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:180,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:208,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/opensslrsa_link.c:211,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:213,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:230,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/dns/opensslrsa_link.c:233,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslrsa_link.c:234,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:235,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 241
    functionName: opensslrsa_createctx
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_valid_key_alg
    - UNREACHABLE
    - EVP_MD_CTX_create
    - dst__openssl_toresult
    - UNUSED
    - EVP_MD_CTX_destroy
    - REQUIRE
    - EVP_DigestInit_ex
    - dst__openssl_toresult3
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:248,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:248,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslrsa_link.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: opensslrsa_destroyctx
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_valid_key_alg
    - REQUIRE
    - EVP_MD_CTX_destroy
    linkageType: ''
    returnType: void
    signature: void opensslrsa_destroyctx(dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:263,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:263,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/dns/opensslrsa_link.c:267,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: opensslrsa_adddata
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_valid_key_alg
    - EVP_DigestUpdate
    - REQUIRE
    - dst__openssl_toresult3
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_adddata(dst_context_t *dctx, const isc_region_t
      *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:284,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:284,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslrsa_link.c:302,1
    - Dst: EVP_PKEY_size
      Src: /src/bind9/lib/dns/opensslrsa_link.c:304,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:313,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:314,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:317,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:318,1
    - Dst: EVP_SignFinal
      Src: /src/bind9/lib/dns/opensslrsa_link.c:322,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:323,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslrsa_link.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 329
    functionName: opensslrsa_sign
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_valid_key_alg
    - EVP_SignFinal
    - isc_buffer_putmem
    - EVP_PKEY_size
    - isc_buffer_availableregion
    - REQUIRE
    - dst__openssl_toresult3
    - isc_region_consume
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:337,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:338,1
    - Dst: BN_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:339,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/bind9/lib/dns/opensslrsa_link.c:342,1
    - Dst: RSA_get0_key
      Src: /src/bind9/lib/dns/opensslrsa_link.c:345,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pkey
    - maxbits
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: opensslrsa_check_exponent_bits
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - RSA_get0_key
    - BN_num_bits
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get0_RSA
    - BN_free
    linkageType: ''
    returnType: bool
    signature: bool opensslrsa_check_exponent_bits(EVP_PKEY *pkey, int maxbits)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:364,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:364,1
    - Dst: opensslrsa_check_exponent_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:370,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:381,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:390,1
    - Dst: EVP_VerifyFinal
      Src: /src/bind9/lib/dns/opensslrsa_link.c:399,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:404,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:406,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 409
    functionName: opensslrsa_verify
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_valid_key_alg
    - dst__openssl_toresult
    - opensslrsa_check_exponent_bits
    - memcmp
    - REQUIRE
    - dst__openssl_toresult3
    - EVP_VerifyFinal
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslrsa_link.c:416,1
    - Dst: BN_GENCB_get_arg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:418,1
    - Dst: fptr
      Src: /src/bind9/lib/dns/opensslrsa_link.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: progress_cb
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - BN_GENCB_get_arg
    - fptr
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int progress_cb(int p, int n, BN_GENCB *cb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslrsa_link.c:433,1
    - Dst: RSA_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:435,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:436,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:438,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:438,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/lib/dns/opensslrsa_link.c:441,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:442,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:442,1
    - Dst: BN_GENCB_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:446,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:448,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:448,1
    - Dst: BN_GENCB_set
      Src: /src/bind9/lib/dns/opensslrsa_link.c:450,1
    - Dst: RSA_generate_key_ex
      Src: /src/bind9/lib/dns/opensslrsa_link.c:453,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:454,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:454,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:462,1
    - Dst: RSA_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:463,1
    - Dst: BN_GENCB_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - key_size
    - label
    - e
    - retkey
    argTypes:
    - unsigned int
    - char*
    - BIGNUM*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 466
    functionName: opensslrsa_generate_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - dst__openssl_toresult
    - BN_GENCB_new
    - DST_RET
    - EVP_PKEY_set1_RSA
    - BN_GENCB_set
    - EVP_PKEY_new
    - RSA_generate_key_ex
    - dst__openssl_toresult2
    - EVP_PKEY_free
    - UNUSED
    - RSA_new
    - RSA_free
    - BN_GENCB_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslrsa_generate_pkey(unsigned int key_size, const
      char *label, BIGNUM *e,\n\t\t\t void (*callback)(int), EVP_PKEY **retkey)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RSA_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:472,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:475,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:479,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:481,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:485,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:485,1
    - Dst: RSA_set0_key
      Src: /src/bind9/lib/dns/opensslrsa_link.c:489,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:492,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:492,1
    - Dst: RSA_set0_factors
      Src: /src/bind9/lib/dns/opensslrsa_link.c:500,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:502,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:502,1
    - Dst: RSA_set0_crt_params
      Src: /src/bind9/lib/dns/opensslrsa_link.c:510,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:514,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:514,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:522,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:524,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:524,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/lib/dns/opensslrsa_link.c:527,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:529,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:529,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:538,1
    - Dst: RSA_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:539,1
    - Dst: opensslrsa_components_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - private
    - c
    - retpkey
    argTypes:
    - bool
    - rsa_components_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 542
    functionName: opensslrsa_build_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_components_free
    - DST_RET
    - dst__openssl_toresult2
    - EVP_PKEY_set1_RSA
    - RSA_set0_factors
    - EVP_PKEY_new
    - EVP_PKEY_free
    - RSA_set0_key
    - RSA_new
    - RSA_free
    - REQUIRE
    - RSA_set0_crt_params
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_build_pkey(bool private, rsa_components_t *c,
      EVP_PKEY **retpkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/bind9/lib/dns/opensslrsa_link.c:548,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/bind9/lib/dns/opensslrsa_link.c:550,1
    - Dst: fptr
      Src: /src/bind9/lib/dns/opensslrsa_link.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: progress_cb
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_get_keygen_info
    - EVP_PKEY_CTX_get_app_data
    - fptr
    linkageType: ''
    returnType: int
    signature: int progress_cb(EVP_PKEY_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:561,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/bind9/lib/dns/opensslrsa_link.c:565,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/bind9/lib/dns/opensslrsa_link.c:566,1
    - Dst: OSSL_PARAM_construct_size_t
      Src: /src/bind9/lib/dns/opensslrsa_link.c:568,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/bind9/lib/dns/opensslrsa_link.c:569,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/dns/opensslrsa_link.c:571,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:573,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:573,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/dns/opensslrsa_link.c:577,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:579,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:579,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/dns/opensslrsa_link.c:583,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:585,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:585,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/dns/opensslrsa_link.c:589,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:591,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:591,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - key_size
    - label
    - retkey
    argTypes:
    - size_t
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 599
    functionName: opensslrsa_generate_pkey_with_uri
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - DST_RET
    - dst__openssl_toresult2
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - UNCONST
    - OSSL_PARAM_construct_size_t
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    - EVP_PKEY_generate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslrsa_generate_pkey_with_uri(size_t key_size, const
      char *label,\n\t\t\t\t  EVP_PKEY **retkey)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opensslrsa_generate_pkey_with_uri
      Src: /src/bind9/lib/dns/opensslrsa_link.c:608,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/dns/opensslrsa_link.c:612,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:614,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:614,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/dns/opensslrsa_link.c:617,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:618,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:618,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:621,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:622,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:622,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:625,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:626,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:626,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/bind9/lib/dns/opensslrsa_link.c:630,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/bind9/lib/dns/opensslrsa_link.c:631,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/lib/dns/opensslrsa_link.c:634,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:635,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:635,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - key_size
    - label
    - e
    - retkey
    argTypes:
    - unsigned int
    - char*
    - BIGNUM*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 642
    functionName: opensslrsa_generate_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - dst__openssl_toresult
    - DST_RET
    - dst__openssl_toresult2
    - EVP_PKEY_CTX_set_cb
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_set_app_data
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen
    - opensslrsa_generate_pkey_with_uri
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslrsa_generate_pkey(unsigned int key_size, const
      char *label, BIGNUM *e,\n\t\t\t void (*callback)(int), EVP_PKEY **retkey)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:652,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:654,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:654,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:657,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:658,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:660,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:660,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:665,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:667,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:667,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:671,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:673,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:673,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:677,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:679,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:679,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:683,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:686,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:686,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:690,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:693,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:693,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslrsa_link.c:697,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:700,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:700,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/bind9/lib/dns/opensslrsa_link.c:704,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:706,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:706,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/dns/opensslrsa_link.c:709,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:711,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:711,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/bind9/lib/dns/opensslrsa_link.c:714,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:716,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:716,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/bind9/lib/dns/opensslrsa_link.c:720,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:724,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslrsa_link.c:724,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:730,1
    - Dst: OSSL_PARAM_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:731,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:732,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - private
    - c
    - retpkey
    argTypes:
    - bool
    - rsa_components_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 734
    functionName: opensslrsa_build_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - DST_RET
    - dst__openssl_toresult2
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_free
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_build_pkey(bool private, rsa_components_t *c,
      EVP_PKEY **retpkey)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/bind9/lib/dns/opensslrsa_link.c:740,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslrsa_link.c:743,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:746,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:746,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:757,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:764,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:771,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:775,1
    - Dst: BN_set_bit
      Src: /src/bind9/lib/dns/opensslrsa_link.c:779,1
    - Dst: BN_set_bit
      Src: /src/bind9/lib/dns/opensslrsa_link.c:780,1
    - Dst: opensslrsa_generate_pkey
      Src: /src/bind9/lib/dns/opensslrsa_link.c:782,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:794,1
    - Dst: BN_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:795,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 797
    functionName: opensslrsa_generate
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - dst__openssl_toresult
    - DST_RET
    - EVP_PKEY_free
    - BN_set_bit
    - UNUSED
    - BN_free
    - opensslrsa_generate_pkey
    - BN_new
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_generate(dst_key_t *key, int unused, void (*callback)(int))
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:807,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslrsa_link.c:809,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:817,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:819,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:820,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:824,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:826,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:827,1
    - Dst: opensslrsa_components_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:831,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:836,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:837,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:841,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/opensslrsa_link.c:843,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:844,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:847,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/opensslrsa_link.c:849,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/opensslrsa_link.c:850,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:851,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:855,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:858,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:859,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:860,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:861,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslrsa_link.c:863,1
    - Dst: opensslrsa_components_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:867,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 869
    functionName: opensslrsa_todns
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_components_free
    - BN_num_bytes
    - isc_buffer_putmem
    - DST_RET
    - opensslrsa_components_get
    - isc_buffer_availableregion
    - BN_bn2bin
    - isc_buffer_putuint16
    - REQUIRE
    - isc_buffer_putuint8
    - isc_region_consume
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:879,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:879,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/opensslrsa_link.c:881,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:883,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:892,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:894,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:896,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslrsa_link.c:897,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:901,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:903,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:905,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslrsa_link.c:906,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:912,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:916,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:920,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:923,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:925,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:929,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:931,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:932,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:933,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:935,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslrsa_link.c:937,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:939,1
    - Dst: opensslrsa_build_pkey
      Src: /src/bind9/lib/dns/opensslrsa_link.c:940,1
    - Dst: opensslrsa_components_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:943,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 945
    functionName: opensslrsa_fromdns
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_components_free
    - opensslrsa_valid_key_alg
    - isc_buffer_remainingregion
    - DST_RET
    - opensslrsa_build_pkey
    - BN_num_bits
    - BN_bin2bn
    - isc_buffer_forward
    - memcmp
    - REQUIRE
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslrsa_link.c:956,1
    - Dst: opensslrsa_components_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:959,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:965,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:966,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:967,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:972,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:973,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:974,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:980,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:981,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:981,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:982,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:983,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:990,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:991,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:991,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:992,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:993,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1000,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1001,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1001,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1002,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1003,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1010,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1011,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1011,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1012,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1013,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1020,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1021,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1021,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1022,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1023,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1030,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1031,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1031,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1032,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1033,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1040,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1047,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1050,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1052,1
    - Dst: opensslrsa_components_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1056,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 92
    argCount: 2
    argNames:
    - key
    - directory
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 1059
    functionName: opensslrsa_tofile
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_components_free
    - BN_num_bytes
    - ARRAY_SIZE
    - dst__privstruct_writefile
    - opensslrsa_components_get
    - INSIST
    - isc_mem_get
    - BN_bn2bin
    - strlen
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_tofile(const dst_key_t *key, const char *directory)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1074,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1075,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1075,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1080,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1087,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1094,1
    - Dst: opensslrsa_fromlabel
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1115,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1117,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1120,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1123,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1125,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1136,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1139,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1167,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1174,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1176,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1177,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1180,1
    - Dst: opensslrsa_build_pkey
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1181,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1187,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1188,1
    - Dst: opensslrsa_components_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1196,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1197,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1202,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1203,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 3
    argNames:
    - key
    - lexer
    - pub
    argTypes:
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1206
    functionName: opensslrsa_parse
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - opensslrsa_components_free
    - opensslrsa_valid_key_alg
    - DST_RET
    - opensslrsa_build_pkey
    - BN_num_bits
    - BN_bin2bn
    - EVP_PKEY_free
    - isc_safe_memwipe
    - EVP_PKEY_eq
    - dst__privstruct_free
    - REQUIRE
    - opensslrsa_fromlabel
    - dst__privstruct_parse
    - BN_clear_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t
      *pub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst__openssl_fromlabel
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1213,1
    - Dst: opensslrsa_check_exponent_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1219,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1220,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1223,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1224,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1231,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - key
    - label
    - pin
    argTypes:
    - dst_key_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1234
    functionName: opensslrsa_fromlabel
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 1
    functionsReached:
    - DST_RET
    - EVP_PKEY_free
    - opensslrsa_check_exponent_bits
    - isc_mem_strdup
    - dst__openssl_fromlabel
    - EVP_PKEY_bits
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_fromlabel(dst_key_t *key, const char *label,
      const char *pin)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1332,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1359,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1365,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1366,1
    - Dst: opensslrsa_build_pkey
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1368,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1369,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1374,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1375,1
    - Dst: EVP_VerifyFinal
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1376,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1378,1
    - Dst: opensslrsa_components_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1382,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1383,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1384,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1385,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1387
    functionName: check_algorithm
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 1
    functionsReached:
    - opensslrsa_components_free
    - EVP_MD_CTX_create
    - DST_RET
    - opensslrsa_build_pkey
    - EVP_PKEY_free
    - BN_bin2bn
    - EVP_DigestUpdate
    - INSIST
    - EVP_MD_CTX_destroy
    - EVP_DigestInit_ex
    - ERR_clear_error
    - EVP_VerifyFinal
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_algorithm(unsigned short algorithm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1391,1
    - Dst: check_algorithm
      Src: /src/bind9/lib/dns/opensslrsa_link.c:1394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - funcp
    - algorithm
    argTypes:
    - dst_func_t**
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1398
    functionName: dst__opensslrsa_init
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 1
    functionsReached:
    - check_algorithm
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dst__opensslrsa_init(dst_func_t **funcp, unsigned short algorithm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 142
    functionName: hmac_register_algorithm
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hmac_register_algorithm(alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/bind9/lib/dns/hmac_link.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - element
    argTypes:
    - dst_key_t*
    - struct dst_private_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: getkeybits
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getkeybits(dst_key_t *key, struct dst_private_element
      *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_new
      Src: /src/bind9/lib/dns/hmac_link.c:168,1
    - Dst: isc_hmac_init
      Src: /src/bind9/lib/dns/hmac_link.c:170,1
    - Dst: isc_md_type_get_block_size
      Src: /src/bind9/lib/dns/hmac_link.c:170,1
    - Dst: isc_hmac_free
      Src: /src/bind9/lib/dns/hmac_link.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - type
    - key
    - dctx
    argTypes:
    - isc_md_type_t*
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: hmac_createctx
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_hmac_init
    - isc_hmac_free
    - isc_md_type_get_block_size
    - isc_hmac_new
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t hmac_createctx(const isc_md_type_t *type, const dst_key_t
      *key,\n\t       dst_context_t *dctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:184,1
    - Dst: isc_hmac_free
      Src: /src/bind9/lib/dns/hmac_link.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: hmac_destroyctx
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_hmac_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void hmac_destroyctx(dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:195,1
    - Dst: isc_hmac_update
      Src: /src/bind9/lib/dns/hmac_link.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: hmac_adddata
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hmac_update
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_adddata(const dst_context_t *dctx, const isc_region_t
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:208,1
    - Dst: isc_hmac_final
      Src: /src/bind9/lib/dns/hmac_link.c:212,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/lib/dns/hmac_link.c:216,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/hmac_link.c:220,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/hmac_link.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 227
    functionName: hmac_sign
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_hmac_reset
    - REQUIRE
    - isc_buffer_availablelength
    - isc_hmac_final
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_sign(const dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:235,1
    - Dst: isc_hmac_final
      Src: /src/bind9/lib/dns/hmac_link.c:237,1
    - Dst: isc_hmac_reset
      Src: /src/bind9/lib/dns/hmac_link.c:241,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/dns/hmac_link.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 252
    functionName: hmac_verify
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_hmac_reset
    - REQUIRE
    - isc_safe_memequal
    - isc_hmac_final
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_verify(const dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/dns/hmac_link.c:268,1
    - Dst: isc_md_type_get_block_size
      Src: /src/bind9/lib/dns/hmac_link.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - type
    - key1
    - key2
    argTypes:
    - isc_md_type_t*
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: hmac_compare
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_safe_memequal
    - isc_md_type_get_block_size
    linkageType: ''
    returnType: bool
    signature: "bool hmac_compare(const isc_md_type_t *type, const dst_key_t *key1,\n\t
      \    const dst_key_t *key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_type_get_block_size
      Src: /src/bind9/lib/dns/hmac_link.c:279,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/lib/dns/hmac_link.c:288,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/hmac_link.c:290,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/hmac_link.c:291,1
    - Dst: hmac_fromdns
      Src: /src/bind9/lib/dns/hmac_link.c:293,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/hmac_link.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - type
    - key
    argTypes:
    - isc_md_type_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 298
    functionName: hmac_generate
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - hmac_fromdns
    - isc_nonce_buf
    - isc_md_type_get_block_size
    - isc_safe_memwipe
    - isc_buffer_init
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_generate(const isc_md_type_t *type, dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/hmac_link.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: hmac_isprivate
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool hmac_isprivate(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/hmac_link.c:309,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/hmac_link.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: hmac_destroy
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_safe_memwipe
    linkageType: ''
    returnType: void
    signature: void hmac_destroy(dst_key_t *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:316,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/hmac_link.c:321,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/hmac_link.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: hmac_todns
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - REQUIRE
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_todns(const dst_key_t *key, isc_buffer_t *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/hmac_link.c:335,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/hmac_link.c:340,1
    - Dst: memset
      Src: /src/bind9/lib/dns/hmac_link.c:342,1
    - Dst: isc_md_type_get_block_size
      Src: /src/bind9/lib/dns/hmac_link.c:345,1
    - Dst: isc_md
      Src: /src/bind9/lib/dns/hmac_link.c:346,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/hmac_link.c:349,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/hmac_link.c:353,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/hmac_link.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - type
    - key
    - data
    argTypes:
    - isc_md_type_t*
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 363
    functionName: hmac_fromdns
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 1
    functionsReached:
    - isc_buffer_remainingregion
    - memmove
    - memset
    - isc_buffer_forward
    - isc_md
    - isc_md_type_get_block_size
    - isc_mem_get
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_fromdns(const isc_md_type_t *type, dst_key_t *key,
      isc_buffer_t *data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/hmac_link.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: hmac__get_tag_key
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int hmac__get_tag_key(const isc_md_type_t *type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/hmac_link.c:399,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 401
    functionName: hmac__get_tag_bits
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int hmac__get_tag_bits(const isc_md_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hmac__get_tag_key
      Src: /src/bind9/lib/dns/hmac_link.c:421,1
    - Dst: htons
      Src: /src/bind9/lib/dns/hmac_link.c:425,1
    - Dst: hmac__get_tag_bits
      Src: /src/bind9/lib/dns/hmac_link.c:427,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/hmac_link.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - type
    - key
    - directory
    argTypes:
    - isc_md_type_t*
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 434
    functionName: hmac_tofile
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - htons
    - hmac__get_tag_key
    - hmac__get_tag_bits
    - dst__privstruct_writefile
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t hmac_tofile(const isc_md_type_t *type, const dst_key_t
      *key,\n\t    const char *directory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/hmac_link.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: hmac__to_dst_alg
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int hmac__to_dst_alg(const isc_md_type_t *type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/hmac_link.c:464,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/hmac_link.c:466,1
    - Dst: hmac__to_dst_alg
      Src: /src/bind9/lib/dns/hmac_link.c:466,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/hmac_link.c:485,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/hmac_link.c:487,1
    - Dst: hmac_fromdns
      Src: /src/bind9/lib/dns/hmac_link.c:488,1
    - Dst: getkeybits
      Src: /src/bind9/lib/dns/hmac_link.c:499,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/hmac_link.c:509,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/hmac_link.c:510,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 4
    argNames:
    - type
    - key
    - lexer
    - pub
    argTypes:
    - isc_md_type_t*
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 455
    functionDepth: 4
    functionLinenumber: 455
    functionLinenumberEnd: 512
    functionName: hmac_parse
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - hmac_fromdns
    - dst__privstruct_parse
    - UNUSED
    - isc_safe_memwipe
    - isc_buffer_init
    - hmac__to_dst_alg
    - dst__privstruct_free
    - isc_buffer_add
    - getkeybits
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t hmac_parse(const isc_md_type_t *type, dst_key_t *key,
      isc_lex_t *lexer,\n\t   dst_key_t *pub)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:35,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - source
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: dst_region_computeid
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dst_region_computeid(const isc_region_t *source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:59,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - source
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: dst_region_computerid
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dst_region_computerid(const isc_region_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:81,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: dst_key_name
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 27
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dst_key_name(const dst_key_t *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:87,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: dst_key_size
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dst_key_size(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:93,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: dst_key_alg
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 31
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dst_key_alg(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:99,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: dst_key_flags
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dst_key_flags(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:105,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: dst_key_id
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 27
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: dns_keytag_t
    signature: dns_keytag_t dst_key_id(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:111,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: dst_key_rid
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: dns_keytag_t
    signature: dns_keytag_t dst_key_rid(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:117,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: dst_key_class
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: dns_rdataclass_t
    signature: dns_rdataclass_t dst_key_class(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:123,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: dst_key_directory
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: char
    signature: 'char *

      dst_key_directory(const dst_key_t *key)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:129,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: dst_key_iszonekey
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_iszonekey(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: REVOKE
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVOKE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: KSK
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KSK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: ID
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 386
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: ALG
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:155,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/key.c:158,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/key.c:158,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/key.c:164,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/key.c:170,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/key.c:173,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/key.c:178,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/key.c:180,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/key.c:186,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/key.c:188,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/key.c:189,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/key.c:195,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/key.c:196,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 8
    argNames:
    - keys
    - nkeys
    - i
    - check_offline
    - ksk
    - zsk
    - have_ksk
    - have_zsk
    argTypes:
    - dst_key_t**
    - unsigned int
    - unsigned int
    - bool
    - bool
    - bool
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 198
    functionName: dst_key_have_ksk_and_zsk
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 1
    functionsReached:
    - SET_IF_NOT_NULL
    - dst_key_isprivate
    - REVOKE
    - dst_key_getbool
    - REQUIRE
    - ALG
    - KSK
    - dst_key_inactive
    linkageType: ''
    returnType: bool
    signature: "bool dst_key_have_ksk_and_zsk(dst_key_t **keys, unsigned int nkeys,
      unsigned int i,\n\t\t\t bool check_offline, bool ksk, bool zsk, bool *have_ksk,\n\t\t\t
      bool *have_zsk)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:203,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:203,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/key.c:205,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/key.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - bits
    argTypes:
    - dst_key_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: dst_key_setbits
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 5
    functionsReached:
    - dst_key_sigsize
    - REQUIRE
    - VALID_KEY
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void dst_key_setbits(dst_key_t *key, uint16_t bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:214,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: dst_key_getbits
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dst_key_getbits(const dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:220,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - ttl
    argTypes:
    - dst_key_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: dst_key_setttl
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: void
    signature: void dst_key_setttl(dst_key_t *key, dns_ttl_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/key.c:226,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/key.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: dst_key_getttl
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_KEY
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dst_key_getttl(const dst_key_t *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/key.c:233,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/key.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - key
    - dir
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: dst_key_setdirectory
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dst_key_setdirectory(dst_key_t *key, const char *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - zone
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: DNS_ZONE_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_VALID(zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - notify
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: DNS_NOTIFY_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_NOTIFY_VALID(notify)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - checkds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: DNS_CHECKDS_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CHECKDS_VALID(checkds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stub
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: DNS_STUB_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_STUB_VALID(stub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stub
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: DNS_ZONEMGR_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONEMGR_VALID(stub)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - load
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: DNS_FORWARD_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_FORWARD_VALID(load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - load
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: DNS_IO_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_IO_VALID(load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - load
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: DNS_KEYMGMT_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_KEYMGMT_VALID(load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kfio
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: DNS_KEYFILEIO_VALID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_KEYFILEIO_VALID(kfio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: RANGE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANGE(a, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: NSEC3REMOVE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NSEC3REMOVE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: REVOKE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVOKE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: KSK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KSK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: ID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 386
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: ALG
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: KASP_LOCK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KASP_LOCK(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: KASP_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KASP_UNLOCK(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: LOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_ZONE(z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: UNLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_ZONE(z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: LOCKED_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCKED_ZONE(z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - result
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: TRYLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYLOCK_ZONE(result, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: LOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCK_ZONE(z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: UNLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNLOCK_ZONE(z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: LOCKED_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOCKED_ZONE(z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - result
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: TRYLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYLOCK_ZONE(result, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: ZONEDB_INITLOCK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZONEDB_INITLOCK(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: ZONEDB_DESTROYLOCK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZONEDB_DESTROYLOCK(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: ZONEDB_LOCK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZONEDB_LOCK(l, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: ZONEDB_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZONEDB_UNLOCK(l, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/zone.c:272,1
    - Dst: dns_fixedname_invalidate
      Src: /src/bind9/lib/dns/zone.c:273,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: free_rad_rcu
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_invalidate
    - caa_container_of
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void free_rad_rcu(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: zonediff_init
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zonediff_init(z, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: DNS_ZONE_FLAG
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_FLAG(z, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: DNS_ZONE_SETFLAG
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_SETFLAG(z, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 546
    functionName: DNS_ZONE_CLRFLAG
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_CLRFLAG(z, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: DNS_ZONE_OPTION
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_OPTION(z, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: DNS_ZONE_SETOPTION
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_SETOPTION(z, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - z
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: DNS_ZONE_CLROPTION
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_CLROPTION(z, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 533
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1044
    functionName: DNS_ZONE_JITTER_ADD
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_JITTER_ADD(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1058
    functionName: DNS_ZONE_TIME_ADD
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_TIME_ADD(a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1071
    functionName: DNS_ZONE_TIME_SUBTRACT
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_TIME_SUBTRACT(a, b, c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/zone.c:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - counter
    argTypes:
    - dns_zone_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 20
    functionsReached:
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stats(dns_zone_t *zone, isc_statscounter_t counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1132,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:1134,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:1135,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:1183,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/zone.c:1184,1
    - Dst: ZONEDB_INITLOCK
      Src: /src/bind9/lib/dns/zone.c:1185,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zone.c:1187,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zone.c:1188,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:1189,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:1190,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:1191,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:1192,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:1193,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:1194,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:1195,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:1201,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/zone.c:1203,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/lib/dns/zone.c:1209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - zonep
    - mctx
    - tid
    argTypes:
    - dns_zone_t**
    - isc_mem_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1126
    functionDepth: 3
    functionLinenumber: 1126
    functionLinenumberEnd: 1212
    functionName: dns_zone_create
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - ZONEDB_INITLOCK
    - isc_mutex_init
    - isc_sockaddr_any6
    - dns_zone_setdbtype
    - isc_mem_get
    - isc_refcount_init
    - isc_sockaddr_any
    - isc_time_now
    - REQUIRE
    - isc_stats_create
    - ISC_LIST_INIT
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void dns_zone_create(dns_zone_t **zonep, isc_mem_t *mctx, isc_tid_t
      tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1216,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:1217,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - mctx
    argTypes:
    - dns_dnsseckeylist_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1220
    functionName: clear_keylist
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void clear_keylist(dns_dnsseckeylist_t *list, isc_mem_t *mctx)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1228,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1229,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:1229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1231,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zone.c:1233,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zone.c:1234,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:1240,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1242,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1243,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1244,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1247,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:1248,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1249,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1252,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:1253,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:1254,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:1255,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1256,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1259,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:1260,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:1261,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:1262,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1263,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1266,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:1267,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1268,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1269,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1272,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:1273,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1274,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1275,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1279,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1282,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1285,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zone.c:1289,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zone.c:1292,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:1294,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:1295,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:1297,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:1298,1
    - Dst: dns_skr_detach
      Src: /src/bind9/lib/dns/zone.c:1302,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1307,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/zone.c:1310,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/zone.c:1313,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/dns/zone.c:1316,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/dns/zone.c:1319,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:1322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1325,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/lib/dns/zone.c:1326,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/zone.c:1330,1
    - Dst: zone_freedbargs
      Src: /src/bind9/lib/dns/zone.c:1332,1
    - Dst: dns_zone_setparentals
      Src: /src/bind9/lib/dns/zone.c:1334,1
    - Dst: dns_zone_setprimaries
      Src: /src/bind9/lib/dns/zone.c:1335,1
    - Dst: dns_zone_setalsonotify
      Src: /src/bind9/lib/dns/zone.c:1336,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:1340,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:1343,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:1346,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:1349,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:1352,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:1355,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:1357,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:1358,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/lib/dns/zone.c:1361,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1364,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1367,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1370,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1373,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/dns/zone.c:1376,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/zone.c:1379,1
    - Dst: ZONEDB_DESTROYLOCK
      Src: /src/bind9/lib/dns/zone.c:1383,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/zone.c:1384,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:1386,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 140
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1226
    functionDepth: 3
    functionLinenumber: 1226
    functionLinenumberEnd: 1387
    functionName: zone_free
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - isc_stats_detach
    - dns_name_dynamic
    - isc_mem_putanddetach
    - dns_name_free
    - ZONEDB_DESTROYLOCK
    - dns_kasp_detach
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_zone_setparentals
    - dns_zone_setrad
    - dns_skr_detach
    - zone_freedbargs
    - dns_db_detach
    - clear_keylist
    - dns_dbiterator_destroy
    - isc_mutex_destroy
    - ISC_LIST_EMPTY
    - INSIST
    - dns_zone_setprimaries
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_catz_zones_detach
    - isc_mem_free
    - zone_detachdb
    - dns_rpz_zones_detach
    - LOCKED_ZONE
    - dns_zone_setalsonotify
    - dns_request_destroy
    - dns_stats_detach
    - dns_ssutable_detach
    - isc_mem_put
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void zone_free(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1395,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1400
    functionName: inline_secure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool inline_secure(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1408,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1413
    functionName: inline_raw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool inline_raw(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1422,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1422,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1423,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1428,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1430,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1435,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1438,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zone.c:1441,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1442,1
    - Dst: zone_rdclass_tostr
      Src: /src/bind9/lib/dns/zone.c:1443,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1444,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:1446,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/lib/dns/zone.c:1447,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - zone
    - rdclass
    argTypes:
    - dns_zone_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1450
    functionName: dns_zone_setclass
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - zone_namerd_tostr
    - UNLOCK_ZONE
    - dns_zone_setclass
    - isc_mem_free
    - INSIST
    - inline_secure
    - REQUIRE
    - isc_mem_strdup
    - zone_rdclass_tostr
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setclass(dns_zone_t *zone, dns_rdataclass_t rdclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1454,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1457
    functionName: dns_zone_getclass
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 14
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_rdataclass_t
    signature: dns_rdataclass_t dns_zone_getclass(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1461,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1461,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1463,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - notifytype
    argTypes:
    - dns_zone_t*
    - dns_notifytype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1466
    functionName: dns_zone_setnotifytype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifytype(dns_zone_t *zone, dns_notifytype_t notifytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1470,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1470,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1472,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - checkdstype
    argTypes:
    - dns_zone_t*
    - dns_checkdstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1475
    functionName: dns_zone_setcheckdstype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setcheckdstype(dns_zone_t *zone, dns_checkdstype_t checkdstype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1482,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1483,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1485,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:1486,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:1488,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:1497,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - zone
    - serialp
    argTypes:
    - dns_zone_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1501
    functionName: dns_zone_getserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - ZONEDB_LOCK
    - UNLOCK_ZONE
    - zone_get_from_db
    - REQUIRE
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getserial(dns_zone_t *zone, uint32_t *serialp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1510,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1511,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1513,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1515,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:1518,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1519,1
    - Dst: dns_db_getzoneversion
      Src: /src/bind9/lib/dns/zone.c:1522,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:1524,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:1531,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:1532,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:1533,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:1536,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/zone.c:1537,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:1544,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1546,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - zone
    - b
    argTypes:
    - dns_zone_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1551
    functionName: dns_zone_getzoneversion
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ZONEDB_LOCK
    - dns_db_getzoneversion
    - zone_get_from_db
    - dns_name_countlabels
    - UNLOCK_ZONE
    - REQUIRE
    - isc_buffer_putuint8
    - DNS_ZONE_OPTION
    - isc_buffer_putuint32
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    - isc_buffer_availablelength
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getzoneversion(dns_zone_t *zone, isc_buffer_t
      *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1560,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1560,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1561,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1567,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1571,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zone.c:1574,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1575,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - dns_zone_t*
    - dns_zonetype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1577
    functionName: dns_zone_settype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - zone_namerd_tostr
    - UNLOCK_ZONE
    - isc_mem_free
    - REQUIRE
    - isc_mem_strdup
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_settype(dns_zone_t *zone, dns_zonetype_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1586,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/zone.c:1588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1593
    functionName: zone_freedbargs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_mem_cput
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void zone_freedbargs(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1602,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1603,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1605,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/zone.c:1606,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1608,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/zone.c:1610,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/zone.c:1615,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:1618,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1619,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1623,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - zone
    - argv
    - mctx
    argTypes:
    - dns_zone_t*
    - char***
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1625
    functionName: dns_zone_getdbtype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - strlcpy
    - strlen
    - REQUIRE
    - isc_mem_allocate
    - DNS_ZONE_VALID
    - ISC_CHECKED_MUL
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getdbtype(dns_zone_t *zone, char ***argv, isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1633,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1633,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1634,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1635,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1637,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/zone.c:1640,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1645,1
    - Dst: zone_freedbargs
      Src: /src/bind9/lib/dns/zone.c:1649,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - zone
    - dbargc
    - dbargv
    argTypes:
    - dns_zone_t*
    - unsigned int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1627
    functionDepth: 2
    functionLinenumber: 1627
    functionLinenumberEnd: 1655
    functionName: dns_zone_setdbtype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 7
    functionsReached:
    - UNLOCK_ZONE
    - zone_freedbargs
    - isc_mem_cget
    - REQUIRE
    - isc_mem_strdup
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setdbtype(dns_zone_t *zone, unsigned int dbargc,\n\t\t
      \  const char *const *dbargv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/zone.c:1662,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1665,1
    - Dst: dns_view_sfd_del
      Src: /src/bind9/lib/dns/zone.c:1667,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:1668,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/zone.c:1670,1
    - Dst: dns_view_sfd_add
      Src: /src/bind9/lib/dns/zone.c:1671,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1674,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1677,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zone.c:1680,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1681,1
    - Dst: zone_viewname_tostr
      Src: /src/bind9/lib/dns/zone.c:1682,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1683,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:1685,1
    - Dst: dns_zone_setview
      Src: /src/bind9/lib/dns/zone.c:1686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - zone
    - view
    argTypes:
    - dns_zone_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1688
    functionName: dns_zone_setview_helper
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_namerd_tostr
    - dns_view_sfd_add
    - isc_mem_free
    - INSIST
    - dns_view_sfd_del
    - dns_zone_setview
    - inline_secure
    - dns_view_weakattach
    - isc_mem_strdup
    - zone_viewname_tostr
    - dns_view_weakdetach
    linkageType: ''
    returnType: void
    signature: void dns_zone_setview_helper(dns_zone_t *zone, dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1692,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1692,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1694,1
    - Dst: dns_zone_setview_helper
      Src: /src/bind9/lib/dns/zone.c:1695,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - view
    argTypes:
    - dns_zone_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1690
    functionDepth: 3
    functionLinenumber: 1690
    functionLinenumberEnd: 1697
    functionName: dns_zone_setview
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 10
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_zone_setview_helper
    linkageType: ''
    returnType: void
    signature: void dns_zone_setview(dns_zone_t *zone, dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1701,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1704
    functionName: dns_zone_getview
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 17
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_view_t
    signature: 'dns_view_t *

      dns_zone_getview(dns_zone_t *zone)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1708,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1708,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1710,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:1712,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:1714,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/lib/dns/zone.c:1715,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1706
    functionDepth: 2
    functionLinenumber: 1706
    functionLinenumberEnd: 1718
    functionName: dns_zone_setviewcommit
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_zone_setviewcommit
    - UNLOCK_ZONE
    - inline_secure
    - REQUIRE
    - dns_view_weakdetach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setviewcommit(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1722,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1722,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1724,1
    - Dst: dns_zone_setview_helper
      Src: /src/bind9/lib/dns/zone.c:1726,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:1727,1
    - Dst: zone_catz_enable
      Src: /src/bind9/lib/dns/zone.c:1730,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:1732,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/lib/dns/zone.c:1733,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1720
    functionDepth: 3
    functionLinenumber: 1720
    functionLinenumberEnd: 1736
    functionName: dns_zone_setviewrevert
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - dns_zone_setviewrevert
    - inline_secure
    - REQUIRE
    - zone_catz_enable
    - dns_view_weakdetach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_zone_setview_helper
    linkageType: ''
    returnType: void
    signature: void dns_zone_setviewrevert(dns_zone_t *zone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1742,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1742,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1743,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1745,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1746,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:1747,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:1748,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:1749,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:1751,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1754,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1757,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zone.c:1760,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1761,1
    - Dst: zone_name_tostr
      Src: /src/bind9/lib/dns/zone.c:1762,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1763,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:1765,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/lib/dns/zone.c:1766,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - zone
    - origin
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1738
    functionDepth: 2
    functionLinenumber: 1738
    functionLinenumberEnd: 1769
    functionName: dns_zone_setorigin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - zone_namerd_tostr
    - UNLOCK_ZONE
    - dns_name_dynamic
    - isc_mem_free
    - dns_zone_setorigin
    - dns_name_free
    - INSIST
    - inline_secure
    - zone_name_tostr
    - REQUIRE
    - isc_mem_strdup
    - dns_name_dup
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void dns_zone_setorigin(dns_zone_t *zone, const dns_name_t *origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1776,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - zone
    - field
    - value
    argTypes:
    - dns_zone_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1786
    functionName: setstring
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_mem_strdup
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void setstring(dns_zone_t *zone, char **field, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1792
    functionName: position_order
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int position_order(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:1796,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/zone.c:1798,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/zone.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - b
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1794
    functionDepth: 2
    functionLinenumber: 1794
    functionLinenumberEnd: 1804
    functionName: putmem
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 54
    functionsReached:
    - isc_buffer_putmem
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putmem(isc_buffer_t *b, const char *base, size_t length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcasestr
      Src: /src/bind9/lib/dns/zone.c:1825,1
    - Dst: strcasestr
      Src: /src/bind9/lib/dns/zone.c:1830,1
    - Dst: strcasestr
      Src: /src/bind9/lib/dns/zone.c:1835,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zone.c:1841,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:1845,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/zone.c:1848,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1854,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zone.c:1854,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1857,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:1860,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/zone.c:1863,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:1864,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1865,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1866,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zone.c:1866,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1866,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/lib/dns/zone.c:1869,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1870,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zone.c:1870,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1870,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1873,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zone.c:1873,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1874,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1882,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zone.c:1883,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:1886,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zone.c:1887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - zone
    - field
    - value
    argTypes:
    - dns_zone_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1888
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1888
    functionName: setfilename
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - INSIST
    - setstring
    - isc_buffer_init
    - CHECK
    - putmem
    - dns_name_downcase
    - strlen
    - dns_zonetype_name
    - isc_buffer_putuint8
    - dns_name_format
    - qsort
    - strcasestr
    linkageType: ''
    returnType: void
    signature: void setfilename(dns_zone_t *zone, char **field, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1893,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1893,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1894,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1896,1
    - Dst: setfilename
      Src: /src/bind9/lib/dns/zone.c:1897,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zone.c:1898,1
    - Dst: default_journal
      Src: /src/bind9/lib/dns/zone.c:1903,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - zone
    - file
    - initial_file
    - format
    - style
    argTypes:
    - dns_zone_t*
    - char*
    - char*
    - dns_masterformat_t
    - dns_master_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1890
    functionDepth: 3
    functionLinenumber: 1890
    functionLinenumberEnd: 1905
    functionName: dns_zone_setfile
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - UNLOCK_ZONE
    - setfilename
    - setstring
    - default_journal
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setfile(dns_zone_t *zone, const char *file, const char
      *initial_file,\n\t\t dns_masterformat_t format, const dns_master_style_t *style)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1909,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1912
    functionName: dns_zone_getfile
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getfile(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1917,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1917,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1918,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1919,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1921,1
    - Dst: default_journal
      Src: /src/bind9/lib/dns/zone.c:1927,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - zone
    - stream
    - format
    - style
    argTypes:
    - dns_zone_t*
    - FILE*
    - dns_masterformat_t
    - dns_master_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1914
    functionDepth: 1
    functionLinenumber: 1914
    functionLinenumberEnd: 1929
    functionName: dns_zone_setstream
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - default_journal
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setstream(dns_zone_t *zone, const FILE *stream,\n\t\t
      \  dns_masterformat_t format, const dns_master_style_t *style)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1933,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1936
    functionName: dns_zone_getmaxttl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_zone_getmaxttl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1940,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1940,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1942,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:1944,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zone.c:1946,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - maxttl
    argTypes:
    - dns_zone_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 1952
    functionName: dns_zone_setmaxttl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_CLROPTION
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - DNS_ZONE_SETOPTION
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxttl(dns_zone_t *zone, dns_ttl_t maxttl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1958,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1958,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1959,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:1959,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:1963,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/zone.c:1964,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:1965,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:1966,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zone.c:1970,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:1972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1974
    functionName: default_journal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_mem_free
    - strlcpy
    - strlcat
    - LOCKED_ZONE
    - setstring
    - strlen
    - REQUIRE
    - isc_mem_allocate
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void default_journal(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1978,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1978,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1980,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zone.c:1981,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - myjournal
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1976
    functionDepth: 1
    functionLinenumber: 1976
    functionLinenumberEnd: 1983
    functionName: dns_zone_setjournal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - setstring
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setjournal(dns_zone_t *zone, const char *myjournal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1987,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 1990
    functionName: dns_zone_getjournal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getjournal(dns_zone_t *zone)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2004,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2004,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:2009,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/dns/zone.c:2023,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - ignore_freeze
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2002
    functionDepth: 3
    functionLinenumber: 2002
    functionLinenumberEnd: 2029
    functionName: dns_zone_isdynamic
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_acl_isnone
    - DNS_ZONE_VALID
    - REQUIRE
    - dns_remote_addresses
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_isdynamic(dns_zone_t *zone, bool ignore_freeze)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2040,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2042,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2044,1
    - Dst: dns_rpz_zones_attach
      Src: /src/bind9/lib/dns/zone.c:2045,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/zone.c:2048,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - zone
    - rpzs
    - rpz_num
    argTypes:
    - dns_zone_t*
    - dns_rpz_zones_t*
    - dns_rpz_num_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2052
    functionName: dns_zone_rpz_enable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - dns_rpz_zones_attach
    - DNS_RPZ_ZBIT
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_rpz_enable(dns_zone_t *zone, dns_rpz_zones_t
      *rpzs,\n\t\t    dns_rpz_num_t rpz_num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2057
    functionName: dns_zone_get_rpz_num
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: dns_rpz_num_t
    signature: dns_rpz_num_t dns_zone_get_rpz_num(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2067,1
    - Dst: dns_rpz_dbupdate_register
      Src: /src/bind9/lib/dns/zone.c:2068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2062
    functionDepth: 2
    functionLinenumber: 2062
    functionLinenumberEnd: 2069
    functionName: dns_zone_rpz_enable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rpz_dbupdate_register
    linkageType: ''
    returnType: void
    signature: void dns_zone_rpz_enable_db(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2076,1
    - Dst: dns_rpz_dbupdate_unregister
      Src: /src/bind9/lib/dns/zone.c:2077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2071
    functionDepth: 2
    functionLinenumber: 2071
    functionLinenumberEnd: 2078
    functionName: dns_zone_rpz_disable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rpz_dbupdate_unregister
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_rpz_disable_db(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2085,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2085,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2086,1
    - Dst: dns_catz_dbupdate_register
      Src: /src/bind9/lib/dns/zone.c:2089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2091
    functionName: dns_zone_catz_enable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - dns_catz_dbupdate_register
    linkageType: ''
    returnType: void
    signature: void dns_zone_catz_enable_db(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2095,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2095,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2096,1
    - Dst: dns_catz_dbupdate_unregister
      Src: /src/bind9/lib/dns/zone.c:2099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2101
    functionName: dns_zone_catz_disable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - dns_catz_dbupdate_unregister
    linkageType: ''
    returnType: void
    signature: void dns_zone_catz_disable_db(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2105,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2106,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2108,1
    - Dst: dns_catz_catzs_set_view
      Src: /src/bind9/lib/dns/zone.c:2109,1
    - Dst: dns_catz_zones_attach
      Src: /src/bind9/lib/dns/zone.c:2111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - catzs
    argTypes:
    - dns_zone_t*
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2113
    functionName: zone_catz_enable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_catz_zones_attach
    - INSIST
    - dns_catz_catzs_set_view
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2117,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2117,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2119,1
    - Dst: zone_catz_enable
      Src: /src/bind9/lib/dns/zone.c:2120,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - catzs
    argTypes:
    - dns_zone_t*
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2115
    functionDepth: 2
    functionLinenumber: 2115
    functionLinenumberEnd: 2122
    functionName: dns_zone_catz_enable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - zone_catz_enable
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_catz_enable(dns_zone_t *zone, dns_catz_zones_t *catzs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2126,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2126,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:2130,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/zone.c:2132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2134
    functionName: zone_catz_disable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_zone_catz_disable_db
    - dns_catz_zones_detach
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void zone_catz_disable(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2138,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2138,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2140,1
    - Dst: zone_catz_disable
      Src: /src/bind9/lib/dns/zone.c:2141,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2143
    functionName: dns_zone_catz_disable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - zone_catz_disable
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_catz_disable(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2147,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2145
    functionDepth: 1
    functionLinenumber: 2145
    functionLinenumberEnd: 2150
    functionName: dns_zone_catz_is_enabled
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_catz_is_enabled(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2157,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2158,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2159,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2160,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - catz
    argTypes:
    - dns_zone_t*
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2163
    functionName: dns_zone_set_parentcatz
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - INSIST
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_set_parentcatz(dns_zone_t *zone, dns_catz_zone_t *catz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2167,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2167,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2171,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2176
    functionName: dns_zone_get_parentcatz
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: dns_catz_zone_t
    signature: 'dns_catz_zone_t *

      dns_zone_get_parentcatz(dns_zone_t *zone)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2183,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2183,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:2185,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:2187,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:2192,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:2193,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:2195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2178
    functionDepth: 3
    functionLinenumber: 2178
    functionLinenumberEnd: 2202
    functionName: zone_touched
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_file_getmodtime
    - isc_time_compare
    - REQUIRE
    - ISC_LIST_FOREACH
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool zone_touched(dns_zone_t *zone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2210,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/zone.c:2210,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2211,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/zone.c:2211,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2213,1
    - Dst: isc_file_getsizefd
      Src: /src/bind9/lib/dns/zone.c:2213,1
    - Dst: fileno
      Src: /src/bind9/lib/dns/zone.c:2213,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/zone.c:2219,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2223,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/zone.c:2223,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/zone.c:2229,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/zone.c:2233,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/zone.c:2235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2204
    functionDepth: 3
    functionLinenumber: 2204
    functionLinenumberEnd: 2238
    functionName: copy_initfile
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - isc_stdio_close
    - isc_stdio_read
    - isc_file_remove
    - CHECK
    - isc_stdio_open
    - isc_file_getsizefd
    - fileno
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t copy_initfile(dns_zone_t *zone)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2253,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2253,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2256,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2259,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:2260,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:2284,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2287,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2291,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:2294,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2296,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:2298,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:2300,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2306,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:2308,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:2318,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:2339,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:2353,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:2360,1
    - Dst: zone_touched
      Src: /src/bind9/lib/dns/zone.c:2361,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2363,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:2364,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:2375,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:2377,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:2388,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:2389,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:2390,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:2400,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:2404,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2405,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/zone.c:2405,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:2406,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2413,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:2422,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:2431,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:2433,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:2434,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:2437,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2447,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:2450,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:2459,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:2462,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/dns/zone.c:2466,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2469,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:2470,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:2475,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/dns/zone.c:2483,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2485,1
    - Dst: copy_initfile
      Src: /src/bind9/lib/dns/zone.c:2489,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2491,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:2494,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2498,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:2498,1
    - Dst: dns_zone_makedb
      Src: /src/bind9/lib/dns/zone.c:2501,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2503,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:2505,1
    - Dst: dns_db_ispersistent
      Src: /src/bind9/lib/dns/zone.c:2509,1
    - Dst: zone_startload
      Src: /src/bind9/lib/dns/zone.c:2511,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:2516,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2518,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:2524,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:2532,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:2534,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:2539,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2543,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2546,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:2549,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 169
    argCount: 3
    argNames:
    - zone
    - flags
    - locked
    argTypes:
    - dns_zone_t*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2552
      start: 2245
    functionDepth: 4
    functionLinenumber: 2245
    functionLinenumberEnd: 2552
    functionName: zone_load
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 10
    functionsReached:
    - dns_zone_makedb
    - isc_time_compare
    - isc_file_exists
    - dns_zone_logc
    - REQUIRE
    - dns_zone_isdynamic
    - DNS_ZONE_VALID
    - zone_settimer
    - DNS_DLZ_VALID
    - ZONEDB_LOCK
    - zone_startload
    - dns_db_detach
    - isc_file_getmodtime
    - inline_secure
    - isc_time_now
    - zone_attachdb
    - LOCK_ZONE
    - isc_time_isepoch
    - zone_postload
    - ISC_LOG_DEBUG
    - INSIST
    - copy_initfile
    - DNS_ZONE_SETFLAG
    - ISC_LIST_FOREACH
    - dns_remote_addresses
    - ZONEDB_UNLOCK
    - zone_touched
    - zone_load
    - UNLOCK_ZONE
    - zone_detachdb
    - dns_db_ispersistent
    - isc_result_totext
    - DNS_ZONE_FLAG
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_load(dns_zone_t *zone, unsigned int flags, bool locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:2556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - newonly
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 5
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: dns_zone_load
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - zone_load
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_load(dns_zone_t *zone, bool newonly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2565,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2565,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2567,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:2568,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:2570,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2572,1
    - Dst: dns_asyncload_t*::loaded
      Src: /src/bind9/lib/dns/zone.c:2576,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:2579,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:2580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2559
    functionDepth: 5
    functionLinenumber: 2559
    functionLinenumberEnd: 2581
    functionName: zone_asyncload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - zone_load
    - UNLOCK_ZONE
    - dns_zone_idetach
    - DNS_ZONE_CLRFLAG
    - REQUIRE
    - isc_mem_put
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_asyncload_t*::loaded
    linkageType: ''
    returnType: void
    signature: void zone_asyncload(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2588,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2588,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2595,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:2596,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2597,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:2601,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:2608,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:2609,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:2610,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - zone
    - newonly
    - done
    - arg
    argTypes:
    - dns_zone_t*
    - bool
    - dns_zt_callback_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2583
    functionDepth: 2
    functionLinenumber: 2583
    functionLinenumberEnd: 2614
    functionName: dns_zone_asyncload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - isc_async_run
    - isc_mem_get
    - DNS_ZONE_SETFLAG
    - zone_iattach
    - REQUIRE
    - DNS_ZONE_FLAG
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_asyncload(dns_zone_t *zone, bool newonly, dns_zt_callback_t
      *done,\n\t\t   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2618,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2618,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2616
    functionDepth: 1
    functionLinenumber: 2616
    functionLinenumberEnd: 2621
    functionName: dns__zone_loadpending
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_loadpending(dns_zone_t *zone)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:2627,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:2628,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:2636,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:2638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2623
    functionDepth: 5
    functionLinenumber: 2623
    functionLinenumberEnd: 2658
    functionName: dns_zone_loadandthaw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - zone_load
    - DNS_ZONE_SETOPTION
    - inline_raw
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_loadandthaw(dns_zone_t *zone)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:2667,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2674,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2677,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2680,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2683,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2686,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2689,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2692,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2695,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2698,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2660
    functionDepth: 1
    functionLinenumber: 2660
    functionLinenumberEnd: 2703
    functionName: get_primary_options
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_OPTION
    - dns_remote_addresses
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_primary_options(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:2710,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:2710,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:2719,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:2720,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:2725,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:2726,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:2727,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:2729,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:2731,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:2734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - filename
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2735
      start: 2705
    functionDepth: 3
    functionLinenumber: 2705
    functionLinenumberEnd: 2735
    functionName: zone_registerinclude
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - isc_file_getmodtime
    - isc_mem_get
    - REQUIRE
    - isc_mem_strdup
    - ISC_LIST_FOREACH
    - strcmp
    - isc_time_settoepoch
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void zone_registerinclude(const char *filename, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:2742,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:2744,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:2751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - raw
    - rawdata
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2752
    functionName: get_raw_serial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_get_from_db
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void get_raw_serial(dns_zone_t *raw, dns_masterrawheader_t *rawdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - header
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2768
    functionName: zone_setrawdata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2776,1
    - Dst: zone_setrawdata
      Src: /src/bind9/lib/dns/zone.c:2777,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:2778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - header
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2770
    functionDepth: 1
    functionLinenumber: 2770
    functionLinenumberEnd: 2779
    functionName: dns_zone_setrawdata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - zone_setrawdata
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:2786,1
    - Dst: dns_zone_rpz_enable_db
      Src: /src/bind9/lib/dns/zone.c:2794,1
    - Dst: dns_zone_catz_enable_db
      Src: /src/bind9/lib/dns/zone.c:2795,1
    - Dst: get_primary_options
      Src: /src/bind9/lib/dns/zone.c:2797,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2798,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:2802,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:2803,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/zone.c:2805,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:2807,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/zone.c:2809,1
    - Dst: dns_master_loadfileasync
      Src: /src/bind9/lib/dns/zone.c:2815,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:2816,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:2816,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zone.c:2827,1
    - Dst: dns_master_loadstream
      Src: /src/bind9/lib/dns/zone.c:2828,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/lib/dns/zone.c:2832,1
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:2841,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:2842,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/zone.c:2845,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:2850,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:2851,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:2852,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:2854,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - db
    - zone
    - loadtime
    argTypes:
    - dns_db_t*
    - dns_zone_t*
    - isc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2781
    functionDepth: 4
    functionLinenumber: 2781
    functionLinenumberEnd: 2856
    functionName: zone_startload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_master_loadfile
    - dns_zone_catz_disable_db
    - get_primary_options
    - dns_db_endload
    - dns_db_detach
    - dns_master_loadstream
    - zone_iattach
    - dns_zone_rpz_enable_db
    - dns_db_origin
    - dns_zone_catz_enable_db
    - dns_db_attach
    - dns_db_beginload
    - dns_zone_rpz_disable_db
    - isc_mem_get
    - UNCONST
    - dns_master_loadfileasync
    - zone_idetach
    - DNS_ZONE_OPTION
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_startload(dns_db_t *db, dns_zone_t *zone, isc_time_t
      loadtime)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:2872,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2879,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:2892,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2894,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2901,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2908,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2909,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2913,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2916,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2923,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2924,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2928,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2929,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2937,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2938,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2942,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2943,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2944,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - zone
    - db
    - name
    - owner
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2957
    functionName: zone_check_mx
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    - dns_db_find
    - DNS_ZONE_OPTION
    - dns_fixedname_initname
    - dns_name_equal
    - dns_zone_log
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool zone_check_mx(dns_zone_t *zone, dns_db_t *db, dns_name_t *name,\n\t
      \     dns_name_t *owner)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:2973,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2980,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:2993,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2995,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3002,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3009,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3010,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3014,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3022,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3023,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3027,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3028,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3036,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3037,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3041,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3042,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3043,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - zone
    - db
    - name
    - owner
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 2959
    functionDepth: 1
    functionLinenumber: 2959
    functionLinenumberEnd: 3056
    functionName: zone_check_srv
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    - dns_db_find
    - DNS_ZONE_OPTION
    - dns_fixedname_initname
    - dns_name_equal
    - dns_zone_log
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool zone_check_srv(dns_zone_t *zone, dns_db_t *db, dns_name_t *name,\n\t
      \      dns_name_t *owner)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3075,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:3088,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3089,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3090,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3096,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3104,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3105,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3107,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:3112,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3113,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3115,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3121,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3122,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3129,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3135,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3139,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3140,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:3142,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3143,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3147,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3160,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3161,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3163,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3164,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3170,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3171,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3177,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3187,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3189,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3205,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3210,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3211,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3218,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3219,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3221,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3222,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 109
    argCount: 6
    argNames:
    - zone
    - db
    - has_a
    - has_aaaa
    - name
    - owner
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - bool*
    - bool*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3058
    functionDepth: 1
    functionLinenumber: 3058
    functionLinenumberEnd: 3225
    functionName: zone_check_glue
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_name_issubdomain
    - dns_db_find
    - DNS_ZONE_OPTION
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - dns_zone_log
    - dns_rdataset_disassociate
    - dns_name_format
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: "bool zone_check_glue(dns_zone_t *zone, dns_db_t *db, bool *has_a,
      bool *has_aaaa,\n\t\tdns_name_t *name, dns_name_t *owner)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3238,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3242,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3248,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/zone.c:3249,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3256,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/zone.c:3257,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3259,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:3261,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3266,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - zone
    - owner
    - rdataset
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3282
      start: 3227
    functionDepth: 1
    functionLinenumber: 3227
    functionLinenumberEnd: 3282
    functionName: zone_rrset_check_dup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_casecompare
    - dns_zone_log
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    - DNS_ZONE_OPTION
    - dns_rdatatype_format
    - dns_rdataset_init
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool zone_rrset_check_dup(dns_zone_t *zone, dns_name_t *owner,\n\t\t
      \    dns_rdataset_t *rdataset)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3248,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/zone.c:3249,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3256,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/zone.c:3257,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3259,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:3261,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3266,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3243
    functionDepth: 1
    functionLinenumber: 3243
    functionLinenumberEnd: 3280
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_casecompare
    - dns_zone_log
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3256,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/zone.c:3257,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3259,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:3261,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3250
    functionDepth: 1
    functionLinenumber: 3250
    functionLinenumberEnd: 3275
    functionName: (&tmprdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_casecompare
    - dns_zone_log
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&tmprdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:3289,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:3294,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:3300,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:3305,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:3312,1
    - Dst: zone_rrset_check_dup
      Src: /src/bind9/lib/dns/zone.c:3313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3316,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:3318,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3319,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3323,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:3325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3284
    functionDepth: 2
    functionLinenumber: 3284
    functionLinenumberEnd: 3328
    functionName: zone_check_dup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_fixedname_initname
    - dns_dbiterator_destroy
    - zone_rrset_check_dup
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: bool
    signature: bool zone_check_dup(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:3300,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:3305,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:3312,1
    - Dst: zone_rrset_check_dup
      Src: /src/bind9/lib/dns/zone.c:3313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3316,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:3318,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3299
    functionDepth: 2
    functionLinenumber: 3299
    functionLinenumberEnd: 3320
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - zone_rrset_check_dup
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:3312,1
    - Dst: zone_rrset_check_dup
      Src: /src/bind9/lib/dns/zone.c:3313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3317
      start: 3310
    functionDepth: 2
    functionLinenumber: 3310
    functionLinenumberEnd: 3317
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - zone_rrset_check_dup
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3340,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:3344,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/zone.c:3355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3330
    functionDepth: 0
    functionLinenumber: 3330
    functionLinenumberEnd: 3359
    functionName: isspf
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memmove
    - strncmp
    - INSIST
    linkageType: ''
    returnType: bool
    signature: bool isspf(const dns_rdata_t *rdata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:3366,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3372,1
    - Dst: dns_zone_t*::checkisservedby
      Src: /src/bind9/lib/dns/zone.c:3374,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3379,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3380,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3382,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3383,1
    - Dst: dns_zone_t*::checkisservedby
      Src: /src/bind9/lib/dns/zone.c:3388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - zone
    - db
    - type
    - name
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_rdatatype_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3361
    functionDepth: 3
    functionLinenumber: 3361
    functionLinenumberEnd: 3399
    functionName: zone_is_served_by
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_t*::checkisservedby
    - dns_name_issubdomain
    - dns_db_find
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: "bool zone_is_served_by(dns_zone_t *zone, dns_db_t *db, dns_rdatatype_t
      type,\n\t\t  dns_name_t *name)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:3420,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:3421,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3422,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:3424,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:3430,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3438,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:3439,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3440,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:3445,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:3450,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3454,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:3462,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3466,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3468,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3469,1
    - Dst: zone_check_glue
      Src: /src/bind9/lib/dns/zone.c:3470,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3476,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3480,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3485,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3493,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3494,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3498,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:3505,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3506,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3509,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3516,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3518,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3519,1
    - Dst: zone_check_mx
      Src: /src/bind9/lib/dns/zone.c:3520,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3524,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3530,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3537,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3539,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3540,1
    - Dst: zone_check_srv
      Src: /src/bind9/lib/dns/zone.c:3541,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3545,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3552,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3557,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3561,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3566,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3574,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3581,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3584,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3587,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3594,1
    - Dst: isspf
      Src: /src/bind9/lib/dns/zone.c:3596,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3601,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3605,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3606,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3614,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3619,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3622,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3623,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3630,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3632,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3633,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:3634,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3641,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3643,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3651,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3654,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3655,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3662,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3664,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3665,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:3666,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3673,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3675,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3683,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:3685,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 198
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3401
    functionDepth: 4
    functionLinenumber: 3401
    functionLinenumberEnd: 3688
    functionName: integrity_checks
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_OPTION
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - zone_is_served_by
    - zone_check_glue
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - dns_zone_log
    - dns_name_copy
    - dns_name_format
    - dns_dbiterator_destroy
    - RUNTIME_CHECK
    - zone_check_mx
    - zone_check_srv
    - isspf
    - dns_db_find
    - dns_dbiterator_pause
    - dns_name_equal
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    linkageType: ''
    returnType: bool
    signature: bool integrity_checks(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:3430,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3438,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:3439,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:3440,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:3445,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:3450,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3454,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:3462,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3466,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3468,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3469,1
    - Dst: zone_check_glue
      Src: /src/bind9/lib/dns/zone.c:3470,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3476,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3480,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3485,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3493,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3494,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3498,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:3505,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3506,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3509,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3516,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3518,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3519,1
    - Dst: zone_check_mx
      Src: /src/bind9/lib/dns/zone.c:3520,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3524,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3530,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3537,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3539,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3540,1
    - Dst: zone_check_srv
      Src: /src/bind9/lib/dns/zone.c:3541,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3545,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3552,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3557,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3561,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3566,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3574,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3581,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3584,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3587,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3594,1
    - Dst: isspf
      Src: /src/bind9/lib/dns/zone.c:3596,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3601,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3605,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3606,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3614,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 137
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3429
    functionDepth: 2
    functionLinenumber: 3429
    functionLinenumberEnd: 3615
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - zone_check_glue
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_name_issubdomain
    - dns_zone_log
    - dns_name_format
    - dns_name_copy
    - RUNTIME_CHECK
    - zone_check_mx
    - zone_check_srv
    - isspf
    - dns_dbiterator_pause
    - dns_name_equal
    - dns_dbiterator_current
    - DNS_ZONE_OPTION
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3466,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3468,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3469,1
    - Dst: zone_check_glue
      Src: /src/bind9/lib/dns/zone.c:3470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3464
    functionDepth: 2
    functionLinenumber: 3464
    functionLinenumberEnd: 3475
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - zone_check_glue
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3516,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3518,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3519,1
    - Dst: zone_check_mx
      Src: /src/bind9/lib/dns/zone.c:3520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3514
    functionDepth: 2
    functionLinenumber: 3514
    functionLinenumberEnd: 3523
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - zone_check_mx
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3537,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3539,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3540,1
    - Dst: zone_check_srv
      Src: /src/bind9/lib/dns/zone.c:3541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3535
    functionDepth: 2
    functionLinenumber: 3535
    functionLinenumberEnd: 3544
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - zone_check_srv
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3594,1
    - Dst: isspf
      Src: /src/bind9/lib/dns/zone.c:3596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3600
      start: 3592
    functionDepth: 1
    functionLinenumber: 3592
    functionLinenumberEnd: 3600
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - isspf
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3630,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3632,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3633,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:3634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3640
      start: 3628
    functionDepth: 4
    functionLinenumber: 3628
    functionLinenumberEnd: 3640
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - zone_is_served_by
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3662,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3664,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3665,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:3666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3660
    functionDepth: 4
    functionLinenumber: 3660
    functionLinenumberEnd: 3672
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - zone_is_served_by
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:3703,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:3708,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3709,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3710,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3718,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3719,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3720,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:3750,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:3751,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3754,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:3757,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3760,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3764,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3767,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3769
      start: 3695
    functionDepth: 3
    functionLinenumber: 3695
    functionLinenumberEnd: 3769
    functionName: zone_check_dnskeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_currentversion
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_secalg_format
    - INSIST
    - dns_rdata_toregion
    - dst_region_computeid
    - dns_rdataset_disassociate
    - dnssec_log
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3718,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3719,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3720,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:3750,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:3751,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3754,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:3757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3716
    functionDepth: 3
    functionLinenumber: 3716
    functionLinenumberEnd: 3759
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_secalg_format
    - INSIST
    - dst_region_computeid
    - dnssec_log
    - dns_rdata_toregion
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:3782,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:3784,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:3786,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:3791,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:3796,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3797,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3798,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3801,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3801,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3809,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:3822,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3826,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3828,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3831,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3836,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3839,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:3841,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3843
      start: 3774
    functionDepth: 2
    functionLinenumber: 3774
    functionLinenumberEnd: 3843
    functionName: resume_signingwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ZONEDB_LOCK
    - dns_db_currentversion
    - zone_signwithkey
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_attach
    - dns_db_detach
    - INSIST
    - dns_rdataset_isassociated
    - isc_result_totext
    - dns_rdataset_disassociate
    - dnssec_log
    - dns_db_detachnode
    - ZONEDB_UNLOCK
    - dns_rdataset_init
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void resume_signingwithkey(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3809,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:3822,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3826,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3828,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3830
      start: 3805
    functionDepth: 1
    functionLinenumber: 3805
    functionLinenumberEnd: 3830
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - zone_signwithkey
    - dns_rdataset_current
    - dnssec_log
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:3863,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:3865,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:3867,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:3879,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:3880,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3882,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:3893,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:3905,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:3915,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:3919,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:3923,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:3925,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:3930,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:3932,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:3937,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:3939,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:3944,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:3946,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/lib/dns/zone.c:3950,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3952,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3953,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:3961,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:3968,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:3980,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:3984,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:3987,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:3998,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/zone.c:3999,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:4001,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:4002,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:4005,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:4012,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:4015,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:4017,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:4022,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 115
    argCount: 2
    argNames:
    - zone
    - nsec3param
    argTypes:
    - dns_zone_t*
    - dns_rdata_nsec3param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4025
      start: 3851
    functionDepth: 3
    functionLinenumber: 3851
    functionLinenumberEnd: 4025
    functionName: zone_addnsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memmove
    - strlcpy
    - strlcat
    - memcmp
    - zone_settimer
    - ZONEDB_LOCK
    - dns_db_detach
    - dns_dbiterator_first
    - dns_nsec_nseconly
    - isc_time_now
    - dns_dbiterator_destroy
    - dns_nsec3param_salttotext
    - dns_db_currentversion
    - isc_time_isepoch
    - RUNTIME_CHECK
    - dns_db_attach
    - isc_mem_get
    - ISC_LIST_FOREACH
    - ZONEDB_UNLOCK
    - ISC_LIST_INITANDAPPEND
    - dns_dbiterator_pause
    - dnssec_log
    - dns_db_createiterator
    - isc_mem_put
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t
      *nsec3param)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4044,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4044,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:4050,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:4052,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:4054,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:4059,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:4064,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:4070,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:4076,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:4077,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4080,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4080,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4089,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:4095,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4100,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4101,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:4110,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4112,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4114,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:4118,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:4123,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:4126,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:4128,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4130
      start: 4034
    functionDepth: 4
    functionLinenumber: 4034
    functionLinenumberEnd: 4130
    functionName: resume_addnsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - dns_rdataset_init
    - ZONEDB_LOCK
    - dns_rdata_tostruct
    - dns_db_findnode
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_nsec_nseconly
    - dns_db_currentversion
    - RUNTIME_CHECK
    - dns_db_attach
    - INSIST
    - ZONEDB_UNLOCK
    - LOCKED_ZONE
    - isc_result_totext
    - zone_addnsec3chain
    - dnssec_log
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void resume_addnsec3chain(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4089,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:4095,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4100,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4101,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:4110,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4112,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4117
      start: 4084
    functionDepth: 4
    functionLinenumber: 4084
    functionLinenumberEnd: 4117
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - isc_result_totext
    - zone_addnsec3chain
    - dns_nsec3param_fromprivate
    - dnssec_log
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4141,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4141,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:4144,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:4148,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:4152,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:4154,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:4156,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:4158,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:4160,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:4164,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:4164,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:4167,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:4171,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:4172,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:4173,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:4176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4132
    functionDepth: 4
    functionLinenumber: 4132
    functionLinenumberEnd: 4178
    functionName: set_resigntime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ZONEDB_LOCK
    - dns_fixedname_init
    - dns_zone_getsigresigninginterval
    - dns_db_detach
    - dns_db_attach
    - LOCKED_ZONE
    - INSIST
    - dns_fixedname_name
    - isc_time_set
    - dns_db_getsigningtime
    - inline_raw
    - dns_zone_isdynamic
    - isc_random_uniform
    - isc_time_settoepoch
    - ZONEDB_UNLOCK
    linkageType: ''
    returnType: void
    signature: void set_resigntime(dns_zone_t *zone)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:4189,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:4192,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:4193,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4195,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4197,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:4200,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:4202,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4206,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4206,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4211,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4211,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4212,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4214,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4221,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4222,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4223,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4231,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4234,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/zone.c:4239,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4241,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4250,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:4262,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4263,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:4266,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4272,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4277,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:4278,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:4280,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:4281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4283
      start: 4180
    functionDepth: 4
    functionLinenumber: 4180
    functionLinenumberEnd: 4283
    functionName: check_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_zone_isdynamic
    - dns_nsec3_maxiterations
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_db_findnode
    - dns_rdataset_isassociated
    - dns_zone_log
    - dns_db_currentversion
    - RUNTIME_CHECK
    - INSIST
    - isc_result_totext
    - dns_nsec3_supportedhash
    - dnssec_log
    - DNS_ZONE_OPTION
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_nsec3param(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4221,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4222,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4223,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4231,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4234,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/zone.c:4239,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4241,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4250,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:4262,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4263,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:4266,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4218
    functionDepth: 1
    functionLinenumber: 4218
    functionLinenumberEnd: 4268
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - DNS_ZONE_OPTION
    - dns_rdataset_current
    - dns_nsec3_supportedhash
    - dnssec_log
    - dns_zone_log
    - dns_nsec3_maxiterations
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:4309,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:4311,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:4315,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:4316,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:4321,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4322,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4322,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:4323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - zone
    - key
    - now
    - force
    argTypes:
    - dns_zone_t*
    - dns_rdata_keydata_t*
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4324
      start: 4290
    functionDepth: 3
    functionLinenumber: 4290
    functionLinenumberEnd: 4324
    functionName: set_refreshkeytimer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_TIME_ADD
    - ISC_LOG_DEBUG
    - isc_time_compare
    - isc_time_formattimestamp
    - isc_time_now
    - dns_zone_log
    - zone_settimer
    linkageType: ''
    returnType: void
    signature: "void set_refreshkeytimer(dns_zone_t *zone, dns_rdata_keydata_t *key,\n\t\t
      \   isc_stdtime_t now, bool force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:4344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4346,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zone.c:4353,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:4357,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:4360,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:4362,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4364,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:4364,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4367,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:4367,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:4371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 7
    argNames:
    - zone
    - db
    - ver
    - diff
    - keynode
    - keyname
    - changed
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - dns_keynode_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4376
      start: 4335
    functionDepth: 4
    functionLinenumber: 4335
    functionLinenumberEnd: 4376
    functionName: create_keydata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keynode_dsset
    - memset
    - dns_rdata_fromstruct
    - ISC_LINK_INIT
    - isc_buffer_init
    - CHECK
    - REQUIRE
    - isc_stdtime_now
    - update_one_rr
    - set_refreshkeytimer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_keydata(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t       dns_diff_t *diff, dns_keynode_t *keynode, dns_name_t *keyname,\n\t
      \      bool *changed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4388,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - db
    - ver
    - diff
    - name
    - rdataset
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4397
      start: 4381
    functionDepth: 1
    functionLinenumber: 4381
    functionLinenumberEnd: 4397
    functionName: delete_keydata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - update_one_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_keydata(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t
      *diff,\n\t       dns_name_t *name, dns_rdataset_t *rdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4388,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:4389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4394
      start: 4386
    functionDepth: 1
    functionLinenumber: 4386
    functionLinenumberEnd: 4394
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_rdataset_current
    - update_one_rr
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:4411,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:4412,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:4415,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:4417,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:4418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - name
    - dnskey
    - mctx
    - tag
    argTypes:
    - dns_name_t*
    - dns_rdata_dnskey_t*
    - isc_mem_t*
    - dns_keytag_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4422
      start: 4402
    functionDepth: 4
    functionLinenumber: 4402
    functionLinenumberEnd: 4422
    functionName: compute_tag
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - dns_rdata_fromstruct
    - isc_buffer_init
    - dst_key_id
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t compute_tag(dns_name_t *name, dns_rdata_dnskey_t *dnskey,
      isc_mem_t *mctx,\n\t    dns_keytag_t *tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_sfd_add
      Src: /src/bind9/lib/dns/zone.c:4430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4432
      start: 4427
    functionDepth: 2
    functionLinenumber: 4427
    functionLinenumberEnd: 4432
    functionName: sfd_add
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_view_sfd_add
    linkageType: ''
    returnType: void
    signature: void sfd_add(const dns_name_t *name, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_sfd_del
      Src: /src/bind9/lib/dns/zone.c:4437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4439
      start: 4434
    functionDepth: 2
    functionLinenumber: 4434
    functionLinenumberEnd: 4439
    functionName: sfd_del
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_view_sfd_del
    linkageType: ''
    returnType: void
    signature: void sfd_del(const dns_name_t *name, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:4454,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:4460,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:4461,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4463,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/zone.c:4463,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4465,1
    - Dst: dns_keytable_add
      Src: /src/bind9/lib/dns/zone.c:4465,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:4468,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:4472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - zone
    - keyname
    - dnskey
    - initial
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_rdata_dnskey_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4475
      start: 4444
    functionDepth: 3
    functionLinenumber: 4444
    functionLinenumberEnd: 4475
    functionName: trust_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_ds_fromkeyrdata
    - dns_rdata_fromstruct
    - dns_keytable_add
    - isc_buffer_init
    - CHECK
    - dns_view_getsecroots
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: "void trust_key(dns_zone_t *zone, dns_name_t *keyname, dns_rdata_dnskey_t
      *dnskey,\n\t  bool initial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:4486,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/lib/dns/zone.c:4488,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:4489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - keyname
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4491
      start: 4481
    functionDepth: 2
    functionLinenumber: 4481
    functionLinenumberEnd: 4491
    functionName: fail_secure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keytable_marksecure
    - dns_view_getsecroots
    - dns_keytable_detach
    linkageType: ''
    returnType: void
    signature: void fail_secure(dns_zone_t *zone, dns_name_t *keyname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:4503,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:4506,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/lib/dns/zone.c:4508,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:4509,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4515,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4518,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4522,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:4525,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:4543,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:4547,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:4552,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4553,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4555,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4558,1
    - Dst: fail_secure
      Src: /src/bind9/lib/dns/zone.c:4560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - zone
    - name
    - rdataset
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4497
    functionDepth: 4
    functionLinenumber: 4497
    functionLinenumberEnd: 4562
    functionName: load_secroots
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - trust_key
    - dns_keytable_delete
    - isc_stdtime_now
    - dnssec_log
    - fail_secure
    - dns_name_format
    - dns_view_getsecroots
    - dns_keytable_detach
    - dns_keydata_todnskey
    - set_refreshkeytimer
    linkageType: ''
    returnType: void
    signature: void load_secroots(dns_zone_t *zone, dns_name_t *name, dns_rdataset_t
      *rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4515,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4518,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4522,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:4525,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:4543,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:4547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4548
      start: 4513
    functionDepth: 4
    functionLinenumber: 4513
    functionLinenumberEnd: 4548
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - trust_key
    - dns_keydata_todnskey
    - set_refreshkeytimer
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:4573,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:4574,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/zone.c:4579,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:4580,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:4582,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:4589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tuple
    - db
    - ver
    - diff
    argTypes:
    - dns_difftuple_t**
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4595
      start: 4564
    functionDepth: 1
    functionLinenumber: 4564
    functionLinenumberEnd: 4595
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - dns_diff_appendminimal
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    - dns_diff_apply
    - dns_diff_init
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t
      *ver,\n\t     dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:4603,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:4604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - db
    - ver
    - diff
    - op
    - name
    - ttl
    - rdata
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - dns_diffop_t
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4605
      start: 4597
    functionDepth: 1
    functionLinenumber: 4597
    functionLinenumberEnd: 4605
    functionName: update_one_rr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 10
    functionsReached:
    - dns_difftuple_create
    - do_one_tuple
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_one_rr(dns_db_t *db, dns_dbversion_t *ver, dns_diff_t
      *diff,\n\t      dns_diffop_t op, dns_name_t *name, dns_ttl_t ttl,\n\t      dns_rdata_t
      *rdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4617,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4619,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/zone.c:4619,1
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/dns/zone.c:4620,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:4623,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/lib/dns/zone.c:4624,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4626,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/dns/zone.c:4630,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4631,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:4631,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4632,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:4632,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:4637,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:4640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - zone
    - db
    - ver
    - diff
    - mctx
    - method
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - isc_mem_t*
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4643
      start: 4607
    functionDepth: 3
    functionLinenumber: 4607
    functionLinenumberEnd: 4643
    functionName: update_soa_serial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_difftuple_copy
    - do_one_tuple
    - dns_soa_getserial
    - INSIST
    - CHECK
    - dns_soa_setserial
    - dns_zone_log
    - dns_update_soaserial
    - dns_db_createsoatuple
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_soa_serial(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t  dns_diff_t *diff, isc_mem_t *mctx,\n\t\t  dns_updatemethod_t method)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/dns/zone.c:4657,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:4659,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4662,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4664,1
    - Dst: dns_journal_set_sourceserial
      Src: /src/bind9/lib/dns/zone.c:4669,1
    - Dst: dns_journal_write_transaction
      Src: /src/bind9/lib/dns/zone.c:4672,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4674,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4676,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:4678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - zone
    - diff
    - sourceserial
    - caller
    argTypes:
    - dns_zone_t*
    - dns_diff_t*
    - uint32_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4682
      start: 4648
    functionDepth: 8
    functionLinenumber: 4648
    functionLinenumberEnd: 4682
    functionName: zone_journal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_journal_write_transaction
    - dns_journal_destroy
    - isc_result_totext
    - dns_zone_getjournal
    - dns_zone_log
    - dns_journal_set_sourceserial
    - dns_journal_open
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_journal(dns_zone_t *zone, dns_diff_t *diff, uint32_t
      *sourceserial,\n\t     const char *caller)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4695,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4695,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:4697,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:4698,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4700,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4702,1
    - Dst: dns_soa_buildrdata
      Src: /src/bind9/lib/dns/zone.c:4707,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4710,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4712,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:4716,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:4720,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:4722,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4728
      start: 4687
    functionDepth: 2
    functionLinenumber: 4687
    functionLinenumberEnd: 4728
    functionName: add_soa
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - ISC_LOG_DEBUG
    - dns_soa_buildrdata
    - dns_db_closeversion
    - isc_result_totext
    - INSIST
    - dns_zone_log
    - dns_diff_clear
    - update_one_rr
    - dns_diff_init
    - dns_db_newversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_soa(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:4750,1
    - Dst: dns_keynode_managed
      Src: /src/bind9/lib/dns/zone.c:4756,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zone.c:4763,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:4771,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:4772,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:4774,1
    - Dst: create_keydata
      Src: /src/bind9/lib/dns/zone.c:4782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - keytable
    - keynode
    - keyname
    - arg
    argTypes:
    - dns_keytable_t*
    - dns_keynode_t*
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4786
      start: 4739
    functionDepth: 5
    functionLinenumber: 4739
    functionLinenumberEnd: 4786
    functionName: addifmissing
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keynode_dsset
    - dns_db_find
    - create_keydata
    - UNUSED
    - dns_fixedname_name
    - dns_keynode_managed
    - dns_fixedname_init
    linkageType: ''
    returnType: void
    signature: "void addifmissing(dns_keytable_t *keytable, dns_keynode_t *keynode,\n\t
      \    dns_name_t *keyname, void *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4812,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4812,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:4814,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4816,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:4816,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:4818,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4820,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4822,1
    - Dst: dns_rriterator_init
      Src: /src/bind9/lib/dns/zone.c:4833,1
    - Dst: dns_rriterator_first
      Src: /src/bind9/lib/dns/zone.c:4834,1
    - Dst: dns_rriterator_nextrrset
      Src: /src/bind9/lib/dns/zone.c:4835,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:4839,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/dns/zone.c:4844,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4845,1
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/lib/dns/zone.c:4846,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4863,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4865,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:4870,1
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/dns/zone.c:4879,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/zone.c:4880,1
    - Dst: dns_keynode_managed
      Src: /src/bind9/lib/dns/zone.c:4881,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4882,1
    - Dst: delete_keydata
      Src: /src/bind9/lib/dns/zone.c:4882,1
    - Dst: load_secroots
      Src: /src/bind9/lib/dns/zone.c:4885,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zone.c:4889,1
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/lib/dns/zone.c:4892,1
    - Dst: dns_keytable_forall
      Src: /src/bind9/lib/dns/zone.c:4906,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4910,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:4910,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4912,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:4912,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4914,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:4915,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4921,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4923,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:4924,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zone.c:4927,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:4930,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:4933,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:4935,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4937,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4799
    functionDepth: 9
    functionLinenumber: 4799
    functionLinenumberEnd: 4940
    functionName: sync_keyzone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keytable_detach
    - dns_rdataset_current
    - dns_rriterator_pause
    - dns_rriterator_first
    - dns_diff_init
    - set_refreshkeytimer
    - dns_rdata_tostruct
    - load_secroots
    - dns_rriterator_nextrrset
    - dns_rdataset_isassociated
    - zone_needdump
    - dns_keytable_find
    - dns_keynode_managed
    - isc_stdtime_now
    - dns_zone_log
    - isc_time_settoepoch
    - dns_rriterator_destroy
    - delete_keydata
    - dns_rriterator_current
    - ISC_LOG_DEBUG
    - INSIST
    - DNS_ZONE_SETFLAG
    - dns_view_getsecroots
    - dns_diff_clear
    - zone_journal
    - dns_db_newversion
    - dns_keytable_forall
    - isc_result_totext
    - CHECK
    - dnssec_log
    - dns_keynode_detach
    - update_soa_serial
    - dns_db_closeversion
    - dns_rriterator_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t sync_keyzone(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4863,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4865,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:4870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4873
      start: 4859
    functionDepth: 4
    functionLinenumber: 4859
    functionLinenumberEnd: 4873
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - set_refreshkeytimer
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4951,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:4951,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:4953,1
    - Dst: sync_keyzone
      Src: /src/bind9/lib/dns/zone.c:4954,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:4955,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:4959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4962
      start: 4942
    functionDepth: 10
    functionLinenumber: 4942
    functionLinenumberEnd: 4962
    functionName: dns_zone_synckeyzone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - dns_db_detach
    - sync_keyzone
    - dns_zone_getdb
    - CHECK
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_synckeyzone(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:4982,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:4986,1
    - Dst: zone_send_securedb
      Src: /src/bind9/lib/dns/zone.c:4989,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4994
      start: 4964
    functionDepth: 1
    functionLinenumber: 4964
    functionLinenumberEnd: 4994
    functionName: maybe_send_secure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_SETFLAG
    - zone_get_from_db
    - zone_send_securedb
    - zone_send_secureserial
    linkageType: ''
    returnType: void
    signature: void maybe_send_secure(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:5002,1
    - Dst: dns_db_diffx
      Src: /src/bind9/lib/dns/zone.c:5003,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:5004,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:5007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - db1
    - db2
    - mctx
    argTypes:
    - dns_db_t*
    - dns_db_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5009
      start: 4996
    functionDepth: 9
    functionLinenumber: 4996
    functionLinenumberEnd: 5009
    functionName: zone_unchanged
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_diff_clear
    - dns_db_diffx
    - ISC_LIST_EMPTY
    - dns_diff_init
    linkageType: ''
    returnType: bool
    signature: bool zone_unchanged(dns_db_t *db1, dns_db_t *db2, isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:5013,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5014,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:5015,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:5016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5018
      start: 5011
    functionDepth: 2
    functionLinenumber: 5011
    functionLinenumberEnd: 5018
    functionName: process_zone_setnsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - ISC_LIST_UNLINK
    - zone_iattach
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void process_zone_setnsec3param(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5035,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:5042,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5043,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/zone.c:5043,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5044,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:5044,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:5046,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5048,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:5050,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5051,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:5053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5058
      start: 5023
    functionDepth: 2
    functionLinenumber: 5023
    functionLinenumberEnd: 5058
    functionName: check_reportchannel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - dns_db_findnode
    - dns_fixedname_initname
    - dns_name_concatenate
    - dns_db_findrdataset
    - CHECK
    - dns_rdataset_disassociate
    - DNS_ZONE_OPTION
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_reportchannel(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:5074,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5079,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:5079,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:5080,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5081,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:5081,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:5084,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:5096,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5099,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5100,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5103,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:5108,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:5111,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5113,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5114,1
    - Dst: maybe_send_secure
      Src: /src/bind9/lib/dns/zone.c:5116,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5122,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5124,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:5127,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5136,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5136,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/zone.c:5138,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5141,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:5143,1
    - Dst: add_soa
      Src: /src/bind9/lib/dns/zone.c:5153,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5163,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:5164,1
    - Dst: zone_journal_rollforward
      Src: /src/bind9/lib/dns/zone.c:5166,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5176,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:5177,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5181,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:5190,1
    - Dst: process_zone_setnsec3param
      Src: /src/bind9/lib/dns/zone.c:5192,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5201,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:5207,1
    - Dst: dns_journal_last_serial
      Src: /src/bind9/lib/dns/zone.c:5210,1
    - Dst: dns_journal_empty
      Src: /src/bind9/lib/dns/zone.c:5211,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:5212,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5220,1
    - Dst: remove
      Src: /src/bind9/lib/dns/zone.c:5225,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:5227,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:5228,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5238,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5238,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5254,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5260,1
    - Dst: check_nsec3param
      Src: /src/bind9/lib/dns/zone.c:5274,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5280,1
    - Dst: integrity_checks
      Src: /src/bind9/lib/dns/zone.c:5281,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5287,1
    - Dst: zone_check_dup
      Src: /src/bind9/lib/dns/zone.c:5288,1
    - Dst: dns_zone_cdscheck
      Src: /src/bind9/lib/dns/zone.c:5295,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5297,1
    - Dst: check_reportchannel
      Src: /src/bind9/lib/dns/zone.c:5304,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5306,1
    - Dst: dns_zone_verifydb
      Src: /src/bind9/lib/dns/zone.c:5313,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:5325,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5328,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5329,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5330,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:5331,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5335,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5336,1
    - Dst: zone_unchanged
      Src: /src/bind9/lib/dns/zone.c:5339,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5341,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5353,1
    - Dst: isc_serial_ge
      Src: /src/bind9/lib/dns/zone.c:5361,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5362,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:5368,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5370,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:5381,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:5382,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5384,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:5390,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:5392,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:5393,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5397,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:5403,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:5408,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:5410,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:5414,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:5417,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:5422,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:5423,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:5424,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5427,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:5432,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/zone.c:5444,1
    - Dst: zone_check_dnskeys
      Src: /src/bind9/lib/dns/zone.c:5453,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:5463,1
    - Dst: zone_replacedb
      Src: /src/bind9/lib/dns/zone.c:5466,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:5467,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:5472,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:5473,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5474,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:5476,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:5477,1
    - Dst: zone_send_securedb
      Src: /src/bind9/lib/dns/zone.c:5480,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:5482,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:5491,1
    - Dst: maybe_send_secure
      Src: /src/bind9/lib/dns/zone.c:5492,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5498,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:5499,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:5503,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:5505,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:5511,1
    - Dst: resume_signingwithkey
      Src: /src/bind9/lib/dns/zone.c:5512,1
    - Dst: resume_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:5513,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:5516,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:5518,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:5518,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:5525,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:5527,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:5530,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5534,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:5535,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/zone.c:5536,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:5538,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5539,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:5544,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:5547,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:5553,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:5559,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5560,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:5561,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:5562,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:5569,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5570,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:5571,1
    - Dst: dns_db_ispersistent
      Src: /src/bind9/lib/dns/zone.c:5575,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5576,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:5578,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5582,1
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:5591,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:5592,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:5595,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5596,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:5597,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:5598,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:5603,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5605,1
    - Dst: zone_saveunique
      Src: /src/bind9/lib/dns/zone.c:5608,1
    - Dst: zone_saveunique
      Src: /src/bind9/lib/dns/zone.c:5611,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:5617,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:5623,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:5624,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:5633,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:5643,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:5643,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:5645,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:5652,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:5656,1
    CyclomaticComplexity: 135
    EdgeCount: 135
    ICount: 331
    argCount: 4
    argNames:
    - zone
    - db
    - loadtime
    - result
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - isc_time_t
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5659
      start: 5064
    functionDepth: 10
    functionLinenumber: 5064
    functionLinenumberEnd: 5659
    functionName: zone_postload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - RANGE
    - isc_log_write
    - zone_settimer
    - isc_file_getmodtime
    - zone_replacedb
    - zone_journal_compact
    - dns_journal_open
    - dns_rdatatype_format
    - dns_zone_cdscheck
    - RUNTIME_CHECK
    - dns_journal_destroy
    - remove
    - set_resigntime
    - zone_check_dup
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - maybe_send_secure
    - dns_db_ispersistent
    - isc_result_totext
    - dnssec_log
    - inline_raw
    - zone_saveunique
    - isc_time_compare
    - resume_signingwithkey
    - dns_zone_logc
    - zone_get_from_db
    - DNS_ZONE_TIME_ADD
    - isc_time_now
    - dns_name_format
    - UNEXPECTED_ERROR
    - INSIST
    - ISC_LIST_FOREACH
    - isc_random_uniform
    - check_nsec3param
    - isc_mem_put
    - zone_debuglog
    - dns_db_nodecount
    - check_reportchannel
    - dns_zone_catz_disable_db
    - zone_journal_rollforward
    - dns_zone_isdynamic
    - ZONEDB_LOCK
    - dns_fixedname_initname
    - inline_secure
    - zone_needdump
    - dns_zone_log
    - DNS_TYPEPAIR_COVERS
    - add_soa
    - ISC_LOG_DEBUG
    - dns_zone_rpz_disable_db
    - strerror_r
    - ZONEDB_UNLOCK
    - dns_zone_verifydb
    - dns_zone_getsigresigninginterval
    - ISC_LIST_APPEND
    - isc_mem_free
    - process_zone_setnsec3param
    - LOCKED_ZONE
    - strcmp
    - dns_journal_empty
    - zone_send_secureserial
    - isc_serial_gt
    - dns_db_getsigningtime
    - isc_stdtime_now
    - dns_journal_last_serial
    - zone_attachdb
    - resume_addnsec3chain
    - dns_remote_addresses
    - ISC_LIST_UNLINK
    - zone_send_securedb
    - isc_serial_ge
    - zone_check_dnskeys
    - integrity_checks
    - zone_unchanged
    - DNS_ZONE_FLAG
    - DNS_ZONE_OPTION
    - dns_db_issecure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_postload(dns_zone_t *zone, dns_db_t *db, isc_time_t
      loadtime,\n\t      isc_result_t result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5663,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:5663,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:5665,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:5666,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5671,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:5671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5675
      start: 5661
    functionDepth: 1
    functionLinenumber: 5661
    functionLinenumberEnd: 5675
    functionName: exit_check
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_refcount_current
    - LOCKED_ZONE
    - INSIST
    - REQUIRE
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool exit_check(dns_zone_t *zone)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:5687,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:5697,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:5699,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:5706,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5717,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5718,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5728,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5729,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5739,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5740,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5741,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - zone
    - db
    - version
    - name
    - logit
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5750
      start: 5677
    functionDepth: 1
    functionLinenumber: 5677
    functionLinenumberEnd: 5750
    functionName: zone_check_ns
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_find
    - dns_fixedname_initname
    - dns_zone_log
    - DNS_ZONE_OPTION
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool zone_check_ns(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *version,\n\t      dns_name_t *name, bool logit)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5762,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5763,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5766,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5766,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5770,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5770,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:5781,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:5783,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5784,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:5785,1
    - Dst: zone_check_ns
      Src: /src/bind9/lib/dns/zone.c:5786,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:5793,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5796,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5797,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/zone.c:5802,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 7
    argNames:
    - zone
    - db
    - node
    - version
    - nscount
    - errors
    - logit
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int*
    - unsigned int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5805
      start: 5752
    functionDepth: 2
    functionLinenumber: 5752
    functionLinenumberEnd: 5805
    functionName: zone_count_ns_rr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - SET_IF_NOT_NULL
    - dns_name_issubdomain
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - INSIST
    - dns_rdataset_invalidate
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - zone_check_ns
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_count_ns_rr(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t
      *node,\n\t\t dns_dbversion_t *version, unsigned int *nscount,\n\t\t unsigned
      int *errors, bool logit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:5781,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:5783,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5784,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:5785,1
    - Dst: zone_check_ns
      Src: /src/bind9/lib/dns/zone.c:5786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5774
    functionDepth: 2
    functionLinenumber: 5774
    functionLinenumberEnd: 5792
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - RUNTIME_CHECK
    - dns_rdataset_current
    - zone_check_ns
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - soattl_v
    - ','
    - serial_v
    - ','
    - refresh_v
    - ','
    - retry_v
    - ','
    - expire_v
    - ','
    - minimum_v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5817
      start: 5807
    functionDepth: 0
    functionLinenumber: 5807
    functionLinenumberEnd: 5817
    functionName: SET_SOA_VALUES
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "SET_SOA_VALUES(soattl_v, serial_v, refresh_v, retry_v, expire_v, \\\n\t\t
      \      minimum_v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5822
      start: 5818
    functionDepth: 0
    functionLinenumber: 5818
    functionLinenumberEnd: 5822
    functionName: CLR_SOA_VALUES
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLR_SOA_VALUES()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5832,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5833,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5836,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5836,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5841,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5841,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:5847,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:5852,1
    - Dst: SET_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:5853,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5855,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:5858,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5863,1
    - Dst: CLR_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:5865,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/zone.c:5868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 10
    argNames:
    - db
    - node
    - version
    - soacount
    - soattl
    - serial
    - refresh
    - retry
    - expire
    - minimum
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5871
      start: 5823
    functionDepth: 1
    functionLinenumber: 5823
    functionLinenumberEnd: 5871
    functionName: zone_load_soa_rr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - SET_IF_NOT_NULL
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - INSIST
    - dns_rdataset_invalidate
    - dns_rdataset_disassociate
    - SET_SOA_VALUES
    - CLR_SOA_VALUES
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_load_soa_rr(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t\t unsigned int *soacount, uint32_t *soattl, uint32_t *serial,\n\t\t
      uint32_t *refresh, uint32_t *retry, uint32_t *expire,\n\t\t uint32_t *minimum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:5847,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:5852,1
    - Dst: SET_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:5853,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5857
      start: 5845
    functionDepth: 1
    functionLinenumber: 5845
    functionLinenumberEnd: 5857
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - SET_SOA_VALUES
    - RUNTIME_CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5886,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5887,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:5889,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5891,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5892,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5893,1
    - Dst: CLR_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:5894,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:5897,1
    - Dst: zone_count_ns_rr
      Src: /src/bind9/lib/dns/zone.c:5904,1
    - Dst: zone_load_soa_rr
      Src: /src/bind9/lib/dns/zone.c:5915,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5923,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:5925,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 11
    argNames:
    - zone
    - db
    - nscount
    - soacount
    - soattl
    - serial
    - refresh
    - retry
    - expire
    - minimum
    - errors
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - unsigned int*
    - unsigned int*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5928
      start: 5876
    functionDepth: 3
    functionLinenumber: 5876
    functionLinenumberEnd: 5928
    functionName: zone_get_from_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_db_currentversion
    - zone_load_soa_rr
    - SET_IF_NOT_NULL
    - dns_db_findnode
    - zone_count_ns_rr
    - CLR_SOA_VALUES
    - REQUIRE
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_get_from_db(dns_zone_t *zone, dns_db_t *db, unsigned
      int *nscount,\n\t\t unsigned int *soacount, uint32_t *soattl, uint32_t *serial,\n\t\t
      uint32_t *refresh, uint32_t *retry, uint32_t *expire,\n\t\t uint32_t *minimum,
      unsigned int *errors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5935,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5936,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:5936,1
    - Dst: zone_shutdown
      Src: /src/bind9/lib/dns/zone.c:5944,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:5950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5952
      start: 5930
    functionDepth: 2
    functionLinenumber: 5930
    functionLinenumberEnd: 5952
    functionName: zone_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - zone_shutdown
    - ISC_LOG_DEBUG
    - isc_async_run
    - DNS_ZONE_SETFLAG
    - dns_zone_log
    linkageType: ''
    returnType: void
    signature: void zone_destroy(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5962,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5962,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5964,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:5965,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5967
      start: 5960
    functionDepth: 1
    functionLinenumber: 5960
    functionLinenumberEnd: 5967
    functionName: dns_zone_iattach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - zone_iattach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_iattach(dns_zone_t *source, dns_zone_t **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5971,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5971,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5972,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:5972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5973,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5974,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:5974,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:5975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5978
      start: 5969
    functionDepth: 1
    functionLinenumber: 5969
    functionLinenumberEnd: 5978
    functionName: zone_iattach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - isc_refcount_current
    - isc_refcount_increment0
    - LOCKED_ZONE
    - INSIST
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void zone_iattach(dns_zone_t *source, dns_zone_t **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5987,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5987,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5988,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:5988,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5993,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:5993,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:5994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zonep
    argTypes:
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5996
      start: 5980
    functionDepth: 1
    functionLinenumber: 5980
    functionLinenumberEnd: 5996
    functionName: zone_idetach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - isc_refcount_current
    - LOCKED_ZONE
    - isc_refcount_decrement
    - INSIST
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void zone_idetach(dns_zone_t **zonep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6002,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6002,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:6007,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6009,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:6010,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6011,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:6013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - zonep
    argTypes:
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6016
      start: 5998
    functionDepth: 4
    functionLinenumber: 5998
    functionLinenumberEnd: 6016
    functionName: dns_zone_idetach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - zone_free
    - exit_check
    - isc_refcount_decrement
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_idetach(dns_zone_t **zonep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6020,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6023
      start: 6018
    functionDepth: 1
    functionLinenumber: 6018
    functionLinenumberEnd: 6023
    functionName: dns_zone_getmctx
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_mem_t
    signature: 'isc_mem_t *

      dns_zone_getmctx(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6027,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6030
      start: 6025
    functionDepth: 1
    functionLinenumber: 6025
    functionLinenumberEnd: 6030
    functionName: dns_zone_getmgr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_zonemgr_t
    signature: 'dns_zonemgr_t *

      dns_zone_getmgr(dns_zone_t *zone)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6034,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6034,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6036,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zone.c:6038,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/dns/zone.c:6041,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - kasp
    argTypes:
    - dns_zone_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6044
      start: 6032
    functionDepth: 1
    functionLinenumber: 6032
    functionLinenumberEnd: 6044
    functionName: dns_zone_setkasp
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - dns_kasp_detach
    - dns_kasp_attach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setkasp(dns_zone_t *zone, dns_kasp_t *kasp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6048,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6048,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6050,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zone.c:6052,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/dns/zone.c:6055,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - kasp
    argTypes:
    - dns_zone_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6058
      start: 6046
    functionDepth: 1
    functionLinenumber: 6046
    functionLinenumberEnd: 6058
    functionName: dns_zone_setdefaultkasp
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - dns_kasp_detach
    - dns_kasp_attach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setdefaultkasp(dns_zone_t *zone, dns_kasp_t *kasp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6064,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6064,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6066,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:6067,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6075
      start: 6060
    functionDepth: 2
    functionLinenumber: 6060
    functionLinenumberEnd: 6075
    functionName: dns_zone_getkasp
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 11
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - inline_raw
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: dns_kasp_t
    signature: 'dns_kasp_t *

      dns_zone_getkasp(dns_zone_t *zone)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6079,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6079,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6081,1
    - Dst: dns_skr_detach
      Src: /src/bind9/lib/dns/zone.c:6084,1
    - Dst: dns_skr_attach
      Src: /src/bind9/lib/dns/zone.c:6087,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6089,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - skr
    argTypes:
    - dns_zone_t*
    - dns_skr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6090
      start: 6077
    functionDepth: 2
    functionLinenumber: 6077
    functionLinenumberEnd: 6090
    functionName: dns_zone_setskr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - dns_skr_detach
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_skr_attach
    linkageType: ''
    returnType: void
    signature: void dns_zone_setskr(dns_zone_t *zone, dns_skr_t *skr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6096,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6096,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6098,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:6099,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6107
      start: 6092
    functionDepth: 2
    functionLinenumber: 6092
    functionLinenumberEnd: 6107
    functionName: dns_zone_getskrbundle
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - inline_raw
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: dns_skrbundle_t
    signature: 'dns_skrbundle_t *

      dns_zone_getskrbundle(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6111,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6111,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:6114,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zone.c:6116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - zone
    - option
    - value
    argTypes:
    - dns_zone_t*
    - dns_zoneopt_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6118
      start: 6109
    functionDepth: 1
    functionLinenumber: 6109
    functionLinenumberEnd: 6118
    functionName: dns_zone_setoption
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - DNS_ZONE_CLROPTION
    - DNS_ZONE_VALID
    - REQUIRE
    - DNS_ZONE_SETOPTION
    linkageType: ''
    returnType: void
    signature: void dns_zone_setoption(dns_zone_t *zone, dns_zoneopt_t option, bool
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6122,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6122,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/zone.c:6124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6125
      start: 6120
    functionDepth: 1
    functionLinenumber: 6120
    functionLinenumberEnd: 6125
    functionName: dns_zone_getoptions
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - atomic_load_relaxed
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_zoneopt_t
    signature: dns_zoneopt_t dns_zone_getoptions(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6129,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6130,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6132,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6135
      start: 6127
    functionDepth: 1
    functionLinenumber: 6127
    functionLinenumberEnd: 6135
    functionName: dns_zone_setxfrsource4
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setxfrsource4(dns_zone_t *zone, const isc_sockaddr_t
      *xfrsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6139,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6140,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6142,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6145
      start: 6137
    functionDepth: 1
    functionLinenumber: 6137
    functionLinenumberEnd: 6145
    functionName: dns_zone_getxfrsource4
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getxfrsource4(dns_zone_t *zone, isc_sockaddr_t *xfrsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6149,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6150,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6152,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6155
      start: 6147
    functionDepth: 1
    functionLinenumber: 6147
    functionLinenumberEnd: 6155
    functionName: dns_zone_setxfrsource6
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setxfrsource6(dns_zone_t *zone, const isc_sockaddr_t
      *xfrsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6159,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6160,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6162,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6165
      start: 6157
    functionDepth: 1
    functionLinenumber: 6157
    functionLinenumberEnd: 6165
    functionName: dns_zone_getxfrsource6
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getxfrsource6(dns_zone_t *zone, isc_sockaddr_t *xfrsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6169,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6170,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6172,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6175
      start: 6167
    functionDepth: 1
    functionLinenumber: 6167
    functionLinenumberEnd: 6175
    functionName: dns_zone_setparentalsrc4
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setparentalsrc4(dns_zone_t *zone, const isc_sockaddr_t
      *parentalsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6179,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6180,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6182,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6185
      start: 6177
    functionDepth: 1
    functionLinenumber: 6177
    functionLinenumberEnd: 6185
    functionName: dns_zone_getparentalsrc4
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getparentalsrc4(dns_zone_t *zone, isc_sockaddr_t *parentalsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6189,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6189,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6191,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6194
      start: 6187
    functionDepth: 1
    functionLinenumber: 6187
    functionLinenumberEnd: 6194
    functionName: dns_zone_setparentalsrc6
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setparentalsrc6(dns_zone_t *zone, const isc_sockaddr_t
      *parentalsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6198,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6199,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6201,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6204
      start: 6196
    functionDepth: 1
    functionLinenumber: 6196
    functionLinenumberEnd: 6204
    functionName: dns_zone_getparentalsrc6
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getparentalsrc6(dns_zone_t *zone, isc_sockaddr_t *parentalsrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6208,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6209,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6211,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - notifysrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6214
      start: 6206
    functionDepth: 1
    functionLinenumber: 6206
    functionLinenumberEnd: 6214
    functionName: dns_zone_setnotifysrc4
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifysrc4(dns_zone_t *zone, const isc_sockaddr_t
      *notifysrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6218,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6219,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6221,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - notifysrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6224
      start: 6216
    functionDepth: 1
    functionLinenumber: 6216
    functionLinenumberEnd: 6224
    functionName: dns_zone_getnotifysrc4
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getnotifysrc4(dns_zone_t *zone, isc_sockaddr_t *notifysrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6228,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6229,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6231,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - notifysrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6234
      start: 6226
    functionDepth: 1
    functionLinenumber: 6226
    functionLinenumberEnd: 6234
    functionName: dns_zone_setnotifysrc6
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifysrc6(dns_zone_t *zone, const isc_sockaddr_t
      *notifysrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6238,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6238,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6239,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6241,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - notifysrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6244
      start: 6236
    functionDepth: 1
    functionLinenumber: 6236
    functionLinenumberEnd: 6244
    functionName: dns_zone_getnotifysrc6
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getnotifysrc6(dns_zone_t *zone, isc_sockaddr_t *notifysrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6252,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6252,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6254,1
    - Dst: dns_remote_equal
      Src: /src/bind9/lib/dns/zone.c:6263,1
    - Dst: dns_remote_clear
      Src: /src/bind9/lib/dns/zone.c:6267,1
    - Dst: dns_remote_init
      Src: /src/bind9/lib/dns/zone.c:6279,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - zone
    - addresses
    - sources
    - keynames
    - tlsnames
    - count
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_name_t**
    - dns_name_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6284
      start: 6246
    functionDepth: 1
    functionLinenumber: 6246
    functionLinenumberEnd: 6284
    functionName: dns_zone_setalsonotify
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - dns_remote_init
    - dns_remote_equal
    - dns_remote_clear
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setalsonotify(dns_zone_t *zone, isc_sockaddr_t *addresses,\n\t\t
      \      isc_sockaddr_t *sources, dns_name_t **keynames,\n\t\t       dns_name_t
      **tlsnames, uint32_t count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:6289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - addresses
    - count
    - pf
    argTypes:
    - isc_sockaddr_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6294
      start: 6286
    functionDepth: 2
    functionLinenumber: 6286
    functionLinenumberEnd: 6294
    functionName: has_pf
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    linkageType: ''
    returnType: bool
    signature: bool has_pf(isc_sockaddr_t *addresses, size_t count, int pf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/dns/zone.c:6299,1
    - Dst: has_pf
      Src: /src/bind9/lib/dns/zone.c:6300,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6301,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/dns/zone.c:6304,1
    - Dst: has_pf
      Src: /src/bind9/lib/dns/zone.c:6305,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - zone
    - addresses
    - count
    - what
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6310
      start: 6296
    functionDepth: 3
    functionLinenumber: 6296
    functionLinenumberEnd: 6310
    functionName: report_no_active_addresses
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - has_pf
    - dns_zone_log
    - isc_net_probeipv4
    - isc_net_probeipv6
    linkageType: ''
    returnType: void
    signature: "void report_no_active_addresses(dns_zone_t *zone, isc_sockaddr_t *addresses,\n\t\t\t
      \  size_t count, const char *what)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6318,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6318,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6320,1
    - Dst: dns_remote_equal
      Src: /src/bind9/lib/dns/zone.c:6335,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:6337,1
    - Dst: dns_remote_clear
      Src: /src/bind9/lib/dns/zone.c:6343,1
    - Dst: report_no_active_addresses
      Src: /src/bind9/lib/dns/zone.c:6352,1
    - Dst: dns_remote_init
      Src: /src/bind9/lib/dns/zone.c:6357,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:6360,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - zone
    - addresses
    - sources
    - keynames
    - tlsnames
    - count
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_name_t**
    - dns_name_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6364
      start: 6312
    functionDepth: 4
    functionLinenumber: 6312
    functionLinenumberEnd: 6364
    functionName: dns_zone_setprimaries
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - report_no_active_addresses
    - dns_remote_init
    - DNS_ZONE_CLRFLAG
    - dns_remote_equal
    - dns_remote_clear
    - dns_request_cancel
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setprimaries(dns_zone_t *zone, isc_sockaddr_t *addresses,\n\t\t
      \     isc_sockaddr_t *sources, dns_name_t **keynames,\n\t\t      dns_name_t
      **tlsnames, uint32_t count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6372,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6372,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6374,1
    - Dst: dns_remote_equal
      Src: /src/bind9/lib/dns/zone.c:6383,1
    - Dst: dns_remote_clear
      Src: /src/bind9/lib/dns/zone.c:6387,1
    - Dst: report_no_active_addresses
      Src: /src/bind9/lib/dns/zone.c:6396,1
    - Dst: dns_remote_init
      Src: /src/bind9/lib/dns/zone.c:6401,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6404,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - zone
    - addresses
    - sources
    - keynames
    - tlsnames
    - count
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_name_t**
    - dns_name_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6408
      start: 6366
    functionDepth: 4
    functionLinenumber: 6366
    functionLinenumberEnd: 6408
    functionName: dns_zone_setparentals
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - report_no_active_addresses
    - dns_remote_init
    - dns_remote_equal
    - dns_remote_clear
    - REQUIRE
    - dns_zone_log
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setparentals(dns_zone_t *zone, isc_sockaddr_t *addresses,\n\t\t
      \     isc_sockaddr_t *sources, dns_name_t **keynames,\n\t\t      dns_name_t
      **tlsnames, uint32_t count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6414,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6414,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:6416,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:6420,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:6422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - dpb
    argTypes:
    - dns_zone_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6425
      start: 6410
    functionDepth: 1
    functionLinenumber: 6410
    functionLinenumberEnd: 6425
    functionName: dns_zone_getdb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 27
    functionsReached:
    - ZONEDB_LOCK
    - dns_db_attach
    - REQUIRE
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getdb(dns_zone_t *zone, dns_db_t **dpb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6429,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6430,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:6432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6433,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:6434,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:6435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6436
      start: 6427
    functionDepth: 1
    functionLinenumber: 6427
    functionLinenumberEnd: 6436
    functionName: dns_zone_setdb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ZONEDB_LOCK
    - dns_db_attach
    - REQUIRE
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_zone_setdb(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6440,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:6440,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:6442,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:6446,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:6447,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:6448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6450
      start: 6438
    functionDepth: 2
    functionLinenumber: 6438
    functionLinenumberEnd: 6450
    functionName: was_dumping
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - REQUIRE
    - DNS_ZONE_FLAG
    - isc_time_settoepoch
    linkageType: ''
    returnType: bool
    signature: bool was_dumping(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:6460,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:6460,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:6461,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:6461,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/zone.c:6463,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:6464,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6464,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6465,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/zone.c:6470,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/zone.c:6471,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/zone.c:6474,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:6475,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6475,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - zone
    - pubkey
    - mctx
    - key
    argTypes:
    - dns_zone_t*
    - dst_key_t*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6488
      start: 6452
    functionDepth: 4
    functionLinenumber: 6452
    functionLinenumberEnd: 6488
    functionName: keyfromfile
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - dst_key_alg
    - dst_key_fromfile
    - dst_key_id
    - dns_kasp_getname
    - strcmp
    - dst_key_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keyfromfile(dns_zone_t *zone, dst_key_t *pubkey, isc_mem_t
      *mctx,\n\t    dst_key_t **key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/zone.c:6470,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/zone.c:6471,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/zone.c:6474,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:6475,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6475,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6483
      start: 6469
    functionDepth: 4
    functionLinenumber: 6469
    functionLinenumberEnd: 6483
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 197
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - dst_key_alg
    - dst_key_fromfile
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6492
      start: 6490
    functionDepth: 0
    functionLinenumber: 6490
    functionLinenumberEnd: 6492
    functionName: is_zone_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_zone_key(key)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:6505,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6506,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:6507,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6507,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:6509,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:6509,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6512,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:6513,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:6513,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/zone.c:6514,1
    - Dst: is_zone_key
      Src: /src/bind9/lib/dns/zone.c:6516,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:6520,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:6520,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/zone.c:6524,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/zone.c:6533,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/zone.c:6535,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/zone.c:6537,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/zone.c:6540,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/zone.c:6543,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/zone.c:6545,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:6556,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/zone.c:6557,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:6558,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6558,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6559,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:6567,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:6567,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:6569,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6569,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/zone.c:6571,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6573,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:6576,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6579,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/lib/dns/zone.c:6596,1
    - Dst: dst_key_setinactive
      Src: /src/bind9/lib/dns/zone.c:6597,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:6598,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/zone.c:6609,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:6613,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6615,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zone.c:6616,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6628,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6629,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:6632,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:6636,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 10
    argNames:
    - zone
    - db
    - ver
    - node
    - name
    - now
    - mctx
    - maxkeys
    - keys
    - nkeys
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    - dns_name_t*
    - isc_stdtime_t
    - isc_mem_t*
    - unsigned int
    - dst_key_t**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6641
      start: 6493
    functionDepth: 4
    functionLinenumber: 6493
    functionLinenumberEnd: 6641
    functionName: findzonekeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - memset
    - dst_key_setinactive
    - dns_db_findrdataset
    - dns_rdataset_current
    - dst_key_pubcompare
    - isc_log_write
    - dns_rdataset_first
    - snprintf
    - dns_rdataset_disassociate
    - dns_dnssec_keyactive
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_secalg_format
    - dns_rdataset_isassociated
    - is_zone_key
    - dst_key_flags
    - dst_key_getfilename
    - dns_name_format
    - dst_key_setttl
    - dns_dnssec_keyfromrdata
    - dst_key_alg
    - RETERR
    - keyfromfile
    - dst_key_free
    - dst_key_setflags
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_init
    - dst_key_id
    - dst_key_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findzonekeys(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t     dns_dbnode_t *node, const dns_name_t *name, isc_stdtime_t now,\n\t
      \    isc_mem_t *mctx, unsigned int maxkeys, dst_key_t **keys,\n\t     unsigned
      int *nkeys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6656,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6656,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6657,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6658,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6659,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6661,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:6661,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:6661,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:6663,1
    - Dst: findzonekeys
      Src: /src/bind9/lib/dns/zone.c:6665,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:6665,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:6668,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 8
    argNames:
    - zone
    - db
    - ver
    - now
    - mctx
    - maxkeys
    - keys
    - nkeys
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - isc_mem_t*
    - unsigned int
    - dst_key_t**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6680
      start: 6649
    functionDepth: 5
    functionLinenumber: 6649
    functionLinenumberEnd: 6680
    functionName: dns_zone_findkeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_zone_unlock_keyfiles
    - dns_zone_lock_keyfiles
    - dns_db_detachnode
    - dns_db_findnode
    - CHECK
    - findzonekeys
    - REQUIRE
    - dns_db_origin
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_findkeys(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t  isc_stdtime_t now, isc_mem_t *mctx, unsigned int maxkeys,\n\t\t
      \ dst_key_t **keys, unsigned int *nkeys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6684,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6684,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6686,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:6687,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6689
      start: 6682
    functionDepth: 1
    functionLinenumber: 6682
    functionLinenumberEnd: 6689
    functionName: dns_zone_prepare_shutdown
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_SETFLAG
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_prepare_shutdown(dns_zone_t *zone)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/zone.c:6699,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:6702,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6706,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:6706,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:6707,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:6709,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6711,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6713,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:6713,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:6716,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/zone.c:6717,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:6718,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:6719,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6726,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6727,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6730,1
    - Dst: dns_dnssec_keylistfromrdataset
      Src: /src/bind9/lib/dns/zone.c:6730,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:6731,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6734,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:6741,1
    - Dst: dst_key_compare
      Src: /src/bind9/lib/dns/zone.c:6742,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:6750,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:6751,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6756,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6757,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6760,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:6763,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:6764,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:6764,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - zone
    - db
    - ver
    - now
    - keys
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6767
      start: 6695
    functionDepth: 4
    functionLinenumber: 6695
    functionLinenumberEnd: 6767
    functionName: dns_zone_getdnsseckeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_findrdataset
    - dst_key_compare
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_zone_getorigin
    - dns_dnssec_findmatchingkeys
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_zone_getkeydirectory
    - dns_zone_lock_keyfiles
    - dns_db_findnode
    - dns_rdataset_isassociated
    - ISC_LIST_INIT
    - dns_dnsseckey_destroy
    - dns_zone_getmctx
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_dnssec_keylistfromrdataset
    - dns_zone_unlock_keyfiles
    - ISC_LIST_APPEND
    - CHECK
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_getdnsseckeys(dns_zone_t *zone, dns_db_t *db,
      dns_dbversion_t *ver,\n\t\t       isc_stdtime_t now, dns_dnsseckeylist_t *keys)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:6741,1
    - Dst: dst_key_compare
      Src: /src/bind9/lib/dns/zone.c:6742,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:6750,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:6751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6753
      start: 6738
    functionDepth: 3
    functionLinenumber: 6738
    functionLinenumberEnd: 6753
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 199
    functionsReached:
    - dst_key_compare
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, k1, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:6763,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:6764,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:6764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6765
      start: 6762
    functionDepth: 2
    functionLinenumber: 6762
    functionLinenumberEnd: 6765
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 199
    functionsReached:
    - dns_zone_getmctx
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, key, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6777,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - db
    - ver
    - zonediff
    - name
    - ttl
    - rdata
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns__zonediff_t*
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6787
      start: 6769
    functionDepth: 0
    functionLinenumber: 6769
    functionLinenumberEnd: 6787
    functionName: offline
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - update_one_rr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t offline(dns_db_t *db, dns_dbversion_t *ver, dns__zonediff_t
      *zonediff,\n\tdns_name_t *name, dns_ttl_t ttl, dns_rdata_t *rdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6795,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6798,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:6800,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:6803,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:6804,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6805,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:6812,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:6814,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:6815,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6816,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - zone
    - when
    - now
    argTypes:
    - dns_zone_t*
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6820
      start: 6789
    functionDepth: 2
    functionLinenumber: 6789
    functionLinenumberEnd: 6820
    functionName: set_key_expiry_warning
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - isc_time_formattimestamp
    - isc_time_set
    - dns_zone_log
    - isc_time_settoepoch
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void set_key_expiry_warning(dns_zone_t *zone, isc_stdtime_t when,\n\t\t
      \      isc_stdtime_t now)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:6835,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6845,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:6849,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:6851,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:6853,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:6855,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:6860,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:6866,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6904,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6905,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 51
    argCount: 5
    argNames:
    - rrsig_ptr
    - keys
    - nkeys
    - kasp
    - warn
    argTypes:
    - dns_rdata_rrsig_t*
    - dst_key_t**
    - unsigned int
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6915
      start: 6826
    functionDepth: 4
    functionLinenumber: 6826
    functionLinenumberEnd: 6915
    functionName: delsig_ok
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dst_key_isprivate
    - dst_key_alg
    - dst_algorithm_fromdata
    - dst_key_getbool
    - dst_key_id
    - KSK
    linkageType: ''
    returnType: bool
    signature: "bool delsig_ok(dns_rdata_rrsig_t *rrsig_ptr, dst_key_t **keys, unsigned
      int nkeys,\n\t  bool kasp, bool *warn)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6935,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:6938,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zone.c:6942,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:6944,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6952,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6954,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6957,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6957,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6961,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6961,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6969,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6970,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:6971,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:6972,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6975,1
    - Dst: delsig_ok
      Src: /src/bind9/lib/dns/zone.c:6977,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6979,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:6999,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:7014,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zone.c:7016,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7018,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7037,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:7038,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:7046,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:7047,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/zone.c:7049,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:7072,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7077,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7090,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7099,1
    - Dst: set_key_expiry_warning
      Src: /src/bind9/lib/dns/zone.c:7103,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7106,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7112,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 104
    argCount: 10
    argNames:
    - zone
    - db
    - ver
    - name
    - type
    - zonediff
    - keys
    - nkeys
    - now
    - incremental
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns__zonediff_t*
    - dst_key_t**
    - unsigned int
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7115
      start: 6921
    functionDepth: 5
    functionLinenumber: 6921
    functionLinenumberEnd: 7115
    functionName: del_sigs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdatatype_iskeymaterial
    - dns_rdataset_disassociate
    - dns_kasp_offlineksk
    - dns_time64_from32
    - dns_rdataset_init
    - dst_key_inactive
    - dns_rdata_tostruct
    - dns_db_findnode
    - set_key_expiry_warning
    - offline
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_zone_log
    - dns_name_format
    - RUNTIME_CHECK
    - dst_key_alg
    - dst_key_isprivate
    - delsig_ok
    - INSIST
    - update_one_rr
    - dst_algorithm_fromdata
    - dst_key_id
    - dst_algorithm_format
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t del_sigs(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver, dns_name_t *name,\n\t dns_rdatatype_t type, dns__zonediff_t *zonediff,
      dst_key_t **keys,\n\t unsigned int nkeys, isc_stdtime_t now, bool incremental)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6969,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6970,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:6971,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:6972,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6975,1
    - Dst: delsig_ok
      Src: /src/bind9/lib/dns/zone.c:6977,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6979,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:6999,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:7014,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zone.c:7016,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7018,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7037,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:7038,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:7046,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:7047,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/zone.c:7049,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:7072,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7077,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7090,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7097
      start: 6965
    functionDepth: 5
    functionLinenumber: 6965
    functionLinenumberEnd: 7097
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dst_key_alg
    - offline
    - dst_key_isprivate
    - dns_rdataset_current
    - delsig_ok
    - dns_rdatatype_iskeymaterial
    - dst_algorithm_fromdata
    - dns_zone_log
    - dst_key_id
    - dns_time64_from32
    - dst_algorithm_format
    - dns_name_format
    - update_one_rr
    - dst_key_inactive
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:7135,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:7138,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:7139,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zone.c:7142,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:7144,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:7152,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7154,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7156,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7160,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7160,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:7166,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:7169,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:7184,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:7186,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:7190,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:7192,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:7200,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:7203,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/zone.c:7210,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7215,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:7235,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/zone.c:7243,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/zone.c:7249,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:7250,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:7251,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7257,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:7258,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:7261,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/zone.c:7270,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/zone.c:7275,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7277,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/zone.c:7279,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7281,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7283,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/zone.c:7283,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7286,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/zone.c:7286,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7293,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7293,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:7295,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:7296,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:7299,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:7302,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:7303,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:7304,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:7307,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:7308,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:7309,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7315,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7316,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7319,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 120
    argCount: 12
    argNames:
    - db
    - ver
    - name
    - zone
    - type
    - diff
    - keys
    - nkeys
    - mctx
    - now
    - inception
    - expire
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_zone_t*
    - dns_rdatatype_t
    - dns_diff_t*
    - dst_key_t**
    - unsigned int
    - isc_mem_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7322
      start: 7117
    functionDepth: 4
    functionLinenumber: 7117
    functionLinenumberEnd: 7322
    functionName: add_sigs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_dnssec_sign
    - dns_db_findrdataset
    - dns_rdatatype_iskeymaterial
    - dns_rdataset_disassociate
    - dns_kasp_offlineksk
    - dst_key_have_ksk_and_zsk
    - KSK
    - dns_rdataset_init
    - dst_key_inactive
    - dns_rdata_reset
    - dst_key_is_signing
    - dns_db_findnode
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_dnssecsignstats_increment
    - ALG
    - ID
    - isc_buffer_clear
    - dns_skrbundle_getsig
    - dns_zone_getskrbundle
    - dst_key_isprivate
    - INSIST
    - dst_key_getbool
    - update_one_rr
    - REVOKE
    - dns_zone_getdnssecsignstats
    - isc_buffer_init
    - CHECK
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name, dns_zone_t *zone,\n\t dns_rdatatype_t type, dns_diff_t *diff, dst_key_t
      **keys,\n\t unsigned int nkeys, isc_mem_t *mctx, isc_stdtime_t now,\n\t isc_stdtime_t
      inception, isc_stdtime_t expire)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:7328,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:7329,1
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/dns/zone.c:7333,1
    - Dst: dns_kasp_sigjitter
      Src: /src/bind9/lib/dns/zone.c:7337,1
    - Dst: dns_kasp_sigvalidity
      Src: /src/bind9/lib/dns/zone.c:7338,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7339,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:7360,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:7361,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:7363,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:7367,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:7368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - zone
    - now
    - inception
    - soaexpire
    - expire
    - fullexpire
    argTypes:
    - dns_zone_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    - isc_stdtime_t*
    - isc_stdtime_t*
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7369
      start: 7324
    functionDepth: 4
    functionLinenumber: 7324
    functionLinenumberEnd: 7369
    functionName: calculate_rrsig_validity
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_zone_getsigvalidityinterval
    - INSIST
    - dns_kasp_sigjitter
    - dns_kasp_sigvalidity
    - REQUIRE
    - isc_random_uniform
    linkageType: ''
    returnType: void
    signature: "void calculate_rrsig_validity(dns_zone_t *zone, isc_stdtime_t now,\n\t\t\t
      isc_stdtime_t *inception, isc_stdtime_t *soaexpire,\n\t\t\t isc_stdtime_t *expire,
      isc_stdtime_t *fullexpire)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:7389,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:7390,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:7400,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:7402,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:7404,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:7410,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7412,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7414,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:7418,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:7420,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7423,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7425,1
    - Dst: calculate_rrsig_validity
      Src: /src/bind9/lib/dns/zone.c:7429,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:7434,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:7435,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7437,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7439,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/zone.c:7444,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:7446,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7455,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:7461,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7464,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7466,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:7476,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7481,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7483,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:7486,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7492,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7495,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:7503,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7506,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7508,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:7515,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:7520,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:7526,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7529,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7531,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:7539,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7543,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7545,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7550,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:7550,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:7553,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:7556,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:7558,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:7561,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7562,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7564,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7567,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:7569,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:7570,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:7571,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:7577,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:7578,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7580,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7582,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 119
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7583
      start: 7371
    functionDepth: 9
    functionLinenumber: 7371
    functionLinenumberEnd: 7583
    functionName: zone_resigninc
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - calculate_rrsig_validity
    - dns_diff_init
    - ZONEDB_LOCK
    - dns_fixedname_initname
    - dns_db_detach
    - zone_needdump
    - dns_db_getsigningtime
    - isc_stdtime_now
    - dns_zone_log
    - DNS_TYPEPAIR_COVERS
    - isc_time_nowplusinterval
    - LOCK_ZONE
    - ISC_LIST_EMPTY
    - isc_interval_set
    - zonediff_init
    - set_resigntime
    - dns_db_attach
    - INSIST
    - del_sigs
    - DNS_ZONE_SETFLAG
    - dns_diff_clear
    - ZONEDB_UNLOCK
    - zone_journal
    - dns_db_newversion
    - add_sigs
    - UNLOCK_ZONE
    - dns_zone_getsigresigninginterval
    - dst_key_free
    - dns_name_equal
    - isc_result_totext
    - dns_zone_findkeys
    - CHECK
    - update_soa_serial
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void zone_resigninc(dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7593,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:7593,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7594,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/zone.c:7594,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:7596,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7598,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:7598,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7600,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:7600,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:7601,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7602,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7604,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7610,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7610,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/zone.c:7611,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7612,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7613,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7620,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:7623,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - db
    - version
    - oldname
    - newname
    - bottom
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7626
      start: 7585
    functionDepth: 2
    functionLinenumber: 7585
    functionLinenumberEnd: 7626
    functionName: next_active
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_name_issubdomain
    - dns_dbiterator_destroy
    - dns_dbiterator_next
    - dns_name_equal
    - dns_dbiterator_first
    - dns_dbiterator_seek
    - CHECK
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t next_active(dns_db_t *db, dns_dbversion_t *version, dns_name_t
      *oldname,\n\t    dns_name_t *newname, bool bottom)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:7638,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:7639,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7642,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7642,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:7647,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:7648,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7649,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:7651,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7653,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:7654,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7656,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7659,1
    - Dst: KASP_LOCK
      Src: /src/bind9/lib/dns/zone.c:7668,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/zone.c:7670,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7670,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/zone.c:7673,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:7677,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7679,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7691,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7695,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 6
    argNames:
    - zone
    - db
    - node
    - version
    - type
    - key
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7697
      start: 7628
    functionDepth: 4
    functionLinenumber: 7628
    functionLinenumberEnd: 7697
    functionName: signed_with_good_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - KASP_UNLOCK
    - dst_key_alg
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - INSIST
    - dns_kasp_key_algorithm
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_rdataset_disassociate
    - dns_kasp_key_zsk
    - dns_rdatatype_iskeymaterial
    - KASP_LOCK
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: "bool signed_with_good_key(dns_zone_t *zone, dns_db_t *db, dns_dbnode_t
      *node,\n\t\t     dns_dbversion_t *version, dns_rdatatype_t type,\n\t\t     dst_key_t
      *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:7647,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:7648,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7649,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:7651,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7653,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:7654,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7656,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7662
      start: 7645
    functionDepth: 4
    functionLinenumber: 7645
    functionLinenumberEnd: 7662
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dst_key_alg
    - dns_rdataset_current
    - INSIST
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/zone.c:7670,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:7670,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/zone.c:7673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7676
      start: 7669
    functionDepth: 2
    functionLinenumber: 7669
    functionLinenumberEnd: 7676
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 199
    functionsReached:
    - dns_kasp_key_zsk
    - dns_kasp_key_algorithm
    - dst_key_alg
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:7708,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7710,1
    - Dst: next_active
      Src: /src/bind9/lib/dns/zone.c:7710,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7711,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/zone.c:7711,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7712,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - db
    - version
    - name
    - node
    - ttl
    - bottom
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dns_ttl_t
    - bool
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7716
      start: 7699
    functionDepth: 1
    functionLinenumber: 7699
    functionLinenumberEnd: 7716
    functionName: add_nsec
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - next_active
    - dns_fixedname_initname
    - CHECK
    - update_one_rr
    - dns_nsec_buildrdata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_nsec(dns_db_t *db, dns_dbversion_t *version, dns_name_t
      *name,\n\t dns_dbnode_t *node, dns_ttl_t ttl, bool bottom, dns_diff_t *diff)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:7725,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7727,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7737,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7749,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - db
    - node
    - version
    - is_bottom_of_zone
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7758
      start: 7718
    functionDepth: 1
    functionLinenumber: 7718
    functionLinenumberEnd: 7758
    functionName: check_if_bottom_of_zone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - REQUIRE
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_if_bottom_of_zone(dns_db_t *db, dns_dbnode_t *node,\n\t\t\tdns_dbversion_t
      *version, bool *is_bottom_of_zone)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7737,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7750
      start: 7735
    functionDepth: 1
    functionLinenumber: 7735
    functionLinenumberEnd: 7750
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:7778,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7781,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:7789,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7792,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7807,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7816,1
    - Dst: dns_nsec3_addnsec3s
      Src: /src/bind9/lib/dns/zone.c:7816,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7828,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:7828,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7829,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/zone.c:7829,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7839,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7840,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7843,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7849,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:7862,1
    - Dst: signed_with_good_key
      Src: /src/bind9/lib/dns/zone.c:7875,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/zone.c:7882,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7883,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/zone.c:7885,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7887,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7889,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/zone.c:7889,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7892,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/zone.c:7892,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7898,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7898,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:7900,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:7903,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:7906,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:7906,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:7907,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:7910,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:7911,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:7911,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7919,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7920,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7923,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 97
    argCount: 19
    argNames:
    - db
    - zone
    - name
    - node
    - version
    - build_nsec3
    - build_nsec
    - key
    - now
    - inception
    - expire
    - nsecttl
    - both
    - is_ksk
    - is_zsk
    - is_bottom_of_zone
    - diff
    - signatures
    - mctx
    argTypes:
    - dns_db_t*
    - dns_zone_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - bool
    - bool
    - dst_key_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    - dns_ttl_t
    - bool
    - bool
    - bool
    - bool
    - dns_diff_t*
    - int32_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7926
      start: 7760
    functionDepth: 5
    functionLinenumber: 7760
    functionLinenumberEnd: 7926
    functionName: sign_a_node
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - signed_with_good_key
    - dns_dnssec_sign
    - dns_rdatatype_iskeymaterial
    - dns_rdataset_disassociate
    - dns_kasp_offlineksk
    - dns_rdata_reset
    - dst_key_is_signing
    - dns_rdataset_isassociated
    - dns_dnssecsignstats_increment
    - ALG
    - dns_db_origin
    - ID
    - isc_buffer_clear
    - dns_skrbundle_getsig
    - dns_zone_getskrbundle
    - dns_db_allrdatasets
    - update_one_rr
    - dns_rdatasetiter_current
    - dns_zone_getdnssecsignstats
    - dns_name_equal
    - isc_buffer_init
    - CHECK
    - add_nsec
    - dns_nsec3_addnsec3s
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t sign_a_node(dns_db_t *db, dns_zone_t *zone, dns_name_t
      *name,\n\t    dns_dbnode_t *node, dns_dbversion_t *version, bool build_nsec3,\n\t
      \   bool build_nsec, dst_key_t *key, isc_stdtime_t now,\n\t    isc_stdtime_t
      inception, isc_stdtime_t expire, dns_ttl_t nsecttl,\n\t    bool both, bool is_ksk,
      bool is_zsk, bool is_bottom_of_zone,\n\t    dns_diff_t *diff, int32_t *signatures,
      isc_mem_t *mctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7792,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7808
      start: 7791
    functionDepth: 1
    functionLinenumber: 7791
    functionLinenumberEnd: 7808
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7839,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7840,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7843,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7849,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:7862,1
    - Dst: signed_with_good_key
      Src: /src/bind9/lib/dns/zone.c:7875,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/zone.c:7882,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7883,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/zone.c:7885,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7887,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7889,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/zone.c:7889,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7892,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/zone.c:7892,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7898,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:7898,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:7900,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:7903,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:7906,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:7906,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:7907,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:7910,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:7911,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:7911,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7916
      start: 7836
    functionDepth: 5
    functionLinenumber: 7836
    functionLinenumberEnd: 7916
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - dst_key_is_signing
    - dns_zone_getskrbundle
    - dns_skrbundle_getsig
    - signed_with_good_key
    - dns_rdatasetiter_current
    - dns_dnssec_sign
    - ID
    - dns_zone_getdnssecsignstats
    - dns_rdataset_isassociated
    - dns_rdatatype_iskeymaterial
    - CHECK
    - dns_rdataset_disassociate
    - dns_dnssecsignstats_increment
    - ALG
    - update_one_rr
    - dns_rdata_reset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7938,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:7938,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:7940,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:7941,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7944,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7945,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7954,1
    - Dst: delete_nsec
      Src: /src/bind9/lib/dns/zone.c:7954,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7955,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/zone.c:7955,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - db
    - version
    - name
    - nsecttl
    - update_only
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_ttl_t
    - bool
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7963
      start: 7931
    functionDepth: 1
    functionLinenumber: 7931
    functionLinenumberEnd: 7963
    functionName: updatesecure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - delete_nsec
    - dns_rdataset_isassociated
    - dns_rdataset_init
    - CHECK
    - dns_rdataset_disassociate
    - add_nsec
    - dns_db_detachnode
    - dns_db_getoriginnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t updatesecure(dns_db_t *db, dns_dbversion_t *version,
      dns_name_t *name,\n\t     dns_ttl_t nsecttl, bool update_only, dns_diff_t *diff)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:7975,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:7976,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:7981,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7985,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7985,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7990,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:7990,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:7996,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:7998,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8029,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8029,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:8042,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/zone.c:8056,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8067,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8067,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:8070,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8076,1
    - Dst: dns_nsec3_addnsec3s
      Src: /src/bind9/lib/dns/zone.c:8076,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8079,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:8079,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:8084,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8085,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8088,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 6
    argNames:
    - zone
    - signing
    - version
    - build_nsec3
    - nsecttl
    - diff
    argTypes:
    - dns_zone_t*
    - dns_signing_t*
    - dns_dbversion_t*
    - bool
    - dns_ttl_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8091
      start: 7965
    functionDepth: 2
    functionLinenumber: 7965
    functionLinenumberEnd: 8091
    functionName: updatesignwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_class
    - dns_nsec3_addnsec3s
    - dst_algorithm_tosecalg
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - INSIST
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_origin
    - updatesecure
    - update_one_rr
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t updatesignwithkey(dns_zone_t *zone, dns_signing_t *signing,\n\t\t
      \ dns_dbversion_t *version, bool build_nsec3, dns_ttl_t nsecttl,\n\t\t  dns_diff_t
      *diff)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:7996,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:7998,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8029,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8029,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8033
      start: 7994
    functionDepth: 1
    functionLinenumber: 7994
    functionLinenumberEnd: 8033
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - CHECK
    - dns_rdataset_current
    - update_one_rr
    - dst_algorithm_tosecalg
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:8121,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:8132,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:8134,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:8135,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8138,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8141,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:8141,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8142,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8143,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8143,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8145,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:8147,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8148,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8151,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8164,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8165,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8165,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8171,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8180,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8180,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8184,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8188,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8188,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8190,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8198,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8199,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8199,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8207,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8210,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8210,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8214,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8218,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:8226,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8232,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8245,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:8246,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8251,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8251,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8252,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8259,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8265,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8265,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:8282,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8283,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:8283,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/zone.c:8283,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8287,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8287,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8290,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:8291,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8292,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 92
    argCount: 6
    argNames:
    - db
    - ver
    - chain
    - active
    - privatetype
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_nsec3chain_t*
    - bool
    - dns_rdatatype_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8295
      start: 8117
    functionDepth: 2
    functionLinenumber: 8117
    functionLinenumberEnd: 8295
    functionName: fixup_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_nsec3param_fromprivate
    - dns_rdata_reset
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_rdataset_isassociated
    - dns_nsec_nseconly
    - dns_db_origin
    - dns_db_getoriginnode
    - dns_rdata_fromstruct
    - RUNTIME_CHECK
    - update_one_rr
    - dns_db_class
    - isc_buffer_init
    - CHECK
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fixup_nsec3param(dns_db_t *db, dns_dbversion_t *ver,
      dns_nsec3chain_t *chain,\n\t\t bool active, dns_rdatatype_t privatetype, dns_diff_t
      *diff)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8164,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8165,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8165,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8171,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8180,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8180,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8184,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8188,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8188,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8191
      start: 8163
    functionDepth: 1
    functionLinenumber: 8163
    functionLinenumberEnd: 8191
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - CHECK
    - memcmp
    - update_one_rr
    - dns_rdata_reset
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8198,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8199,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8199,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8207,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8210,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8210,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8215
      start: 8197
    functionDepth: 1
    functionLinenumber: 8197
    functionLinenumberEnd: 8215
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - CHECK
    - memcmp
    - update_one_rr
    - dns_rdata_reset
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8245,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:8246,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8251,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8251,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8252,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8259,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8265,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8267
      start: 8241
    functionDepth: 1
    functionLinenumber: 8241
    functionLinenumberEnd: 8267
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - CHECK
    - memcmp
    - dns_nsec3param_fromprivate
    - update_one_rr
    - dns_rdata_reset
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:8303,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8305,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8317,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8318,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8318,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - db
    - ver
    - node
    - name
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    - dns_name_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8325
      start: 8297
    functionDepth: 1
    functionLinenumber: 8297
    functionLinenumberEnd: 8325
    functionName: delete_nsec
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - CHECK
    - dns_rdataset_disassociate
    - update_one_rr
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_nsec(dns_db_t *db, dns_dbversion_t *ver, dns_dbnode_t
      *node,\n\t    dns_name_t *name, dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8317,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8318,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8320
      start: 8314
    functionDepth: 1
    functionLinenumber: 8314
    functionLinenumberEnd: 8320
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - CHECK
    - dns_rdataset_current
    - update_one_rr
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:8335,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8336,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8348,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8349,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8349,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8353,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8357,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8357,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - db
    - ver
    - node
    - name
    - param
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    - dns_name_t*
    - dns_rdata_nsec3param_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8364
      start: 8327
    functionDepth: 1
    functionLinenumber: 8327
    functionLinenumberEnd: 8364
    functionName: deletematchingnsec3
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_findrdataset
    - dns_rdataset_current
    - CHECK
    - memcmp
    - dns_rdataset_disassociate
    - update_one_rr
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t deletematchingnsec3(dns_db_t *db, dns_dbversion_t *ver,
      dns_dbnode_t *node,\n\t\t    dns_name_t *name, const dns_rdata_nsec3param_t
      *param,\n\t\t    dns_diff_t *diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8348,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8349,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8349,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8353,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8357,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8359
      start: 8345
    functionDepth: 1
    functionLinenumber: 8345
    functionLinenumberEnd: 8359
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - CHECK
    - memcmp
    - update_one_rr
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:8376,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:8377,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:8379,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8381,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8384,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8385,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8389,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:8393,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8397,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8401,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8408,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8409,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8409,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:8414,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8423,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:8438,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8439,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8441,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - db
    - ver
    - param
    - answer
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdata_nsec3param_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8443
      start: 8366
    functionDepth: 1
    functionLinenumber: 8366
    functionLinenumberEnd: 8443
    functionName: need_nsec_chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - NSEC3REMOVE
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_init
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - memcmp
    - dns_db_detachnode
    - dns_db_getoriginnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t need_nsec_chain(dns_db_t *db, dns_dbversion_t *ver,\n\t\tconst
      dns_rdata_nsec3param_t *param, bool *answer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8408,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8409,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8409,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:8414,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:8423,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8433
      start: 8406
    functionDepth: 1
    functionLinenumber: 8406
    functionLinenumberEnd: 8433
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - NSEC3REMOVE
    - dns_rdataset_current
    - CHECK
    - memcmp
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:8454,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:8456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cur
    argTypes:
    - dns_difftuple_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8463
      start: 8450
    functionDepth: 1
    functionLinenumber: 8450
    functionLinenumberEnd: 8463
    functionName: find_next_matching_tuple
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: dns_difftuple_t
    signature: 'dns_difftuple_t *

      find_next_matching_tuple(dns_difftuple_t *cur)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_next_matching_tuple
      Src: /src/bind9/lib/dns/zone.c:8472,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8473,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:8474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cur
    - src
    - dst
    argTypes:
    - dns_difftuple_t*
    - dns_diff_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8477
      start: 8469
    functionDepth: 2
    functionLinenumber: 8469
    functionLinenumberEnd: 8477
    functionName: move_matching_tuples
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - find_next_matching_tuple
    - dns_diff_appendminimal
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void move_matching_tuples(dns_difftuple_t *cur, dns_diff_t *src, dns_diff_t
      *dst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:8493,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:8497,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:8502,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:8506,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8508,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:8511,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:8515,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8517,1
    - Dst: move_matching_tuples
      Src: /src/bind9/lib/dns/zone.c:8528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 11
    argNames:
    - diff
    - db
    - version
    - zone_keys
    - nkeys
    - zone
    - inception
    - expire
    - keyexpire
    - now
    - zonediff
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dst_key_t*[]
    - unsigned int
    - dns_zone_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_stdtime_t
    - dns__zonediff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8531
      start: 8484
    functionDepth: 6
    functionLinenumber: 8484
    functionLinenumberEnd: 8531
    functionName: dns__zone_updatesigs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - add_sigs
    - ISC_LIST_HEAD
    - move_matching_tuples
    - isc_result_totext
    - dns_rdatatype_iskeymaterial
    - del_sigs
    - dns_zone_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__zone_updatesigs(dns_diff_t *diff, dns_db_t *db,
      dns_dbversion_t *version,\n\t\t     dst_key_t *zone_keys[], unsigned int nkeys,\n\t\t
      \    dns_zone_t *zone, isc_stdtime_t inception,\n\t\t     isc_stdtime_t expire,
      isc_stdtime_t keyexpire,\n\t\t     isc_stdtime_t now, dns__zonediff_t *zonediff)"
  - BBCount: 91
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8571,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8572,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:8573,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:8574,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:8575,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:8576,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:8577,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:8578,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:8588,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:8599,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:8601,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:8606,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8608,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8610,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:8614,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:8616,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8619,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8621,1
    - Dst: calculate_rrsig_validity
      Src: /src/bind9/lib/dns/zone.c:8625,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8635,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:8636,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8637,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8666,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8668,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:8669,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:8672,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8674,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:8675,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:8677,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8678,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/zone.c:8679,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:8690,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:8694,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8698,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8699,1
    - Dst: delete_nsec
      Src: /src/bind9/lib/dns/zone.c:8699,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8711,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:8712,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:8717,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:8723,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:8732,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:8745,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:8746,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8758,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:8760,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8777,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/zone.c:8778,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:8780,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8782,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8785,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8804,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:8806,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8809,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8810,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:8810,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8813,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8814,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8816,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:8817,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8821,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8823,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:8823,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8829,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:8829,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8832,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8833,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8835,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:8836,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8839,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8842,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:8845,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8847,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:8848,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8858,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:8858,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8863,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8888,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:8889,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8890,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8894,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8896,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:8897,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8899,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:8905,1
    - Dst: need_nsec_chain
      Src: /src/bind9/lib/dns/zone.c:8916,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8920,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8923,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8929,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:8929,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:8934,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8935,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:8943,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8947,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8950,1
    - Dst: deletematchingnsec3
      Src: /src/bind9/lib/dns/zone.c:8958,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8962,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8965,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8974,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:8975,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:8980,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:8986,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:8995,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:9009,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9023,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:9025,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:9037,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:9037,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9038,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9039,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/zone.c:9039,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9040,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:9047,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:9049,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9059,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9060,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9061,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9063,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:9064,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:9065,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9069,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9072,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9077,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9080,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:9083,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:9085,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:9086,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9096,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:9096,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9102,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:9111,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:9113,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9114,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:9115,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9118,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9120,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:9125,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9131,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:9133,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:9134,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9138,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:9141,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9142,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9145,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9147,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9154,1
    - Dst: dns_nsec3_addnsec3s
      Src: /src/bind9/lib/dns/zone.c:9157,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:9158,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9159,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9161,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9164,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9174,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:9176,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9180,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9182,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:9190,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9194,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9196,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:9201,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9202,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9204,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9206,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:9211,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9215,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9217,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:9225,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:9233,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9236,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9238,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:9242,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9245,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9247,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:9251,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9255,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9257,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9262,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:9262,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9264,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:9265,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:9266,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9267,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9273,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:9274,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9275,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9277,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:9283,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9289,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9290,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:9291,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:9292,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9295,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:9296,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9297,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9301,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9302,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9310,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:9311,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:9312,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:9314,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9315,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9316,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9325,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9327,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:9328,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:9329,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9331,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:9332,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9333,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:9334,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9335,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9336,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9341,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:9342,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9343,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9345,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:9347,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:9348,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:9349,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:9350,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:9353,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:9357,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:9361,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:9364,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9365,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9367,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9370,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:9371,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:9374,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:9376,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:9378,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:9380,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9382,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:9384,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 545
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9385
      start: 8537
    functionDepth: 9
    functionLinenumber: 8537
    functionLinenumberEnd: 9385
    functionName: zone_nsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - NSEC3REMOVE
    - need_nsec_chain
    - dns_rdataset_disassociate
    - calculate_rrsig_validity
    - dns__zone_updatesigs
    - dns_diff_init
    - ZONEDB_LOCK
    - ISC_LIST_HEAD
    - isc_mem_put
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_db_detach
    - dns_dbiterator_next
    - delete_nsec
    - dns_dbiterator_first
    - zone_needdump
    - isc_stdtime_now
    - ISC_LIST_INIT
    - dns_name_copy
    - dns_db_origin
    - updatesecure
    - dns_dbiterator_destroy
    - dns_db_getoriginnode
    - LOCK_ZONE
    - ISC_LIST_NEXT
    - isc_time_nowplusinterval
    - isc_time_settoepoch
    - ISC_LIST_EMPTY
    - deletematchingnsec3
    - zonediff_init
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - isc_interval_set
    - set_resigntime
    - dns_db_attach
    - fixup_nsec3param
    - INSIST
    - del_sigs
    - DNS_ZONE_SETFLAG
    - dns_db_allrdatasets
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - ISC_LIST_TAIL
    - dns_diff_clear
    - ZONEDB_UNLOCK
    - zone_journal
    - dns_db_newversion
    - UNLOCK_ZONE
    - add_sigs
    - dns_nsec3_addnsec3
    - ISC_LIST_APPEND
    - dns_nsec3_addnsec3s
    - dns_db_find
    - dns_rdatasetiter_current
    - dst_key_free
    - dns_dbiterator_pause
    - dns_name_equal
    - isc_result_totext
    - dns_zone_findkeys
    - CHECK
    - dns_dbiterator_current
    - zone_nsecttl
    - dnssec_log
    - add_nsec
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    - update_soa_serial
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void zone_nsec3chain(dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:8745,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:8746,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8759
      start: 8743
    functionDepth: 1
    functionLinenumber: 8743
    functionLinenumberEnd: 8759
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - INSIST
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:9009,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9024
      start: 9007
    functionDepth: 1
    functionLinenumber: 9007
    functionLinenumberEnd: 9024
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:9125,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9132
      start: 9123
    functionDepth: 1
    functionLinenumber: 9123
    functionLinenumberEnd: 9132
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9289,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9290,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:9291,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:9292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9293
      start: 9288
    functionDepth: 1
    functionLinenumber: 9288
    functionLinenumberEnd: 9293
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 200
    functionsReached:
    - isc_mem_put
    - dns_db_detach
    - dns_dbiterator_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (cleanup, chain, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9325,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9327,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:9328,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:9329,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9331,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:9332,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9333,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:9334,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9335,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9339
      start: 9324
    functionDepth: 1
    functionLinenumber: 9324
    functionLinenumberEnd: 9339
    functionName: ISC_LIST_FOREACH_REV
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_PREPEND
    - UNLOCK_ZONE
    - RUNTIME_CHECK
    - dns_db_detach
    - dns_dbiterator_pause
    - dns_dbiterator_first
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_dbiterator_destroy
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH_REV (cleanup, chain, link)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:9405,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:9407,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:9415,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:9418,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9422,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9423,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9423,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9427,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9431,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9438,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9439,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9439,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:9441,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9455,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:9474,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9475,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:9477,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 9
    argNames:
    - db
    - version
    - name
    - node
    - nkeys
    - algorithm
    - keyid
    - has_algp
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_dbnode_t*
    - unsigned int
    - dst_algorithm_t
    - uint16_t
    - bool*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9479
      start: 9393
    functionDepth: 4
    functionLinenumber: 9393
    functionLinenumberEnd: 9479
    functionName: del_sig
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdatasetiter_destroy
    - dns_rdatasetiter_current
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_name_format
    - update_one_rr
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t del_sig(dns_db_t *db, dns_dbversion_t *version, dns_name_t
      *name,\n\tdns_dbnode_t *node, unsigned int nkeys, dst_algorithm_t algorithm,\n\tuint16_t
      keyid, bool *has_algp, dns_diff_t *diff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:9418,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9422,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9423,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9423,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9427,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9431,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9438,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9439,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9439,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:9441,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9455,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9466
      start: 9416
    functionDepth: 4
    functionLinenumber: 9416
    functionLinenumberEnd: 9466
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdatasetiter_current
    - dns_rdataset_current
    - dst_algorithm_fromdata
    - CHECK
    - dns_rdataset_disassociate
    - update_one_rr
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9422,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9423,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9426
      start: 9420
    functionDepth: 1
    functionLinenumber: 9420
    functionLinenumberEnd: 9426
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - CHECK
    - dns_rdataset_current
    - update_one_rr
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9438,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9439,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9439,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:9441,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9454
      start: 9434
    functionDepth: 4
    functionLinenumber: 9434
    functionLinenumberEnd: 9454
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dst_algorithm_fromdata
    - CHECK
    - update_one_rr
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9494,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:9494,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9495,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/dns/zone.c:9497,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:9501,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:9529,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:9541,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9550,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9555,1
    - Dst: dns_nsec3_activex
      Src: /src/bind9/lib/dns/zone.c:9555,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/lib/dns/zone.c:9562,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 6
    argNames:
    - zone
    - db
    - ver
    - diff
    - keys
    - numkeys
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - dst_key_t**
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9575
      start: 9485
    functionDepth: 2
    functionLinenumber: 9485
    functionLinenumberEnd: 9575
    functionName: dns_zone_check_dnskey_nsec3
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dst_key_alg
    - dns_zone_getprivatetype
    - dns_nsec3_activex
    - dns_kasp_nsec3
    - CHECK
    - dns_nsec_nseconly
    - REQUIRE
    - ISC_LIST_FOREACH
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: "bool dns_zone_check_dnskey_nsec3(dns_zone_t *zone, dns_db_t *db,\n\t\t\t
      \   dns_dbversion_t *ver, dns_diff_t *diff,\n\t\t\t    dst_key_t **keys, unsigned
      int numkeys)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:9614,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:9615,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:9616,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:9617,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:9618,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:9619,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:9620,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:9630,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:9632,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:9634,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:9640,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9642,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9644,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:9648,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:9650,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9653,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9655,1
    - Dst: calculate_rrsig_validity
      Src: /src/bind9/lib/dns/zone.c:9661,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:9671,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9677,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:9677,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9681,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/dns/zone.c:9681,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/lib/dns/zone.c:9685,1
    - Dst: dns_zone_check_dnskey_nsec3
      Src: /src/bind9/lib/dns/zone.c:9686,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9690,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:9703,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9706,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:9708,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9715,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:9716,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:9717,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:9720,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:9736,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:9737,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:9739,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:9751,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9754,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9755,1
    - Dst: del_sig
      Src: /src/bind9/lib/dns/zone.c:9755,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:9767,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:9768,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:9773,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:9779,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9790,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9792,1
    - Dst: check_if_bottom_of_zone
      Src: /src/bind9/lib/dns/zone.c:9792,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:9800,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:9803,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:9811,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:9812,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:9822,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:9837,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:9840,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:9846,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:9849,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:9855,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/zone.c:9863,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/zone.c:9866,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:9867,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:9868,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9888,1
    - Dst: sign_a_node
      Src: /src/bind9/lib/dns/zone.c:9888,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9891,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:9914,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:9916,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:9918,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:9919,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9920,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:9930,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9932,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9935,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9937,1
    - Dst: updatesignwithkey
      Src: /src/bind9/lib/dns/zone.c:9942,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:9944,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9946,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9948,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9954,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9957,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:9960,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:9962,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:9963,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:9973,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:9978,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:9979,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9983,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9985,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:9993,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:10003,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10006,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10007,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:10011,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10014,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10016,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:10024,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10028,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10029,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10036,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:10036,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:10042,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:10043,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:10047,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:10053,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:10059,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10060,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:10061,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:10062,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10065,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:10066,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10068,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:10069,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10071,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10075,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10076,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:10083,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:10084,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:10091,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:10092,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:10093,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:10094,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:10097,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:10098,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:10101,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:10105,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:10109,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10110,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10112,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10115,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:10116,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:10119,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:10121,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:10123,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10125,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10127,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10129,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 316
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10130
      start: 9581
    functionDepth: 9
    functionLinenumber: 9581
    functionLinenumberEnd: 10130
    functionName: zone_sign
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - sign_a_node
    - dns_private_chains
    - dns_kasp_nsec3
    - calculate_rrsig_validity
    - dst_key_have_ksk_and_zsk
    - dns__zone_updatesigs
    - dns_rdataset_init
    - dns_diff_init
    - dst_key_inactive
    - ZONEDB_LOCK
    - KSK
    - ISC_LIST_HEAD
    - isc_mem_put
    - dns_zone_check_dnskey_nsec3
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_db_detach
    - dns_dbiterator_next
    - del_sig
    - dns_dbiterator_first
    - zone_needdump
    - isc_stdtime_now
    - ALG
    - ISC_LIST_INIT
    - dns_name_copy
    - updatesecure
    - dns_dbiterator_destroy
    - isc_time_nowplusinterval
    - isc_time_settoepoch
    - LOCK_ZONE
    - ISC_LIST_NEXT
    - ISC_LIST_EMPTY
    - isc_interval_set
    - zonediff_init
    - dst_key_isprivate
    - ISC_LOG_DEBUG
    - updatesignwithkey
    - set_resigntime
    - dns_db_attach
    - INSIST
    - del_sigs
    - check_if_bottom_of_zone
    - dst_key_getbool
    - DNS_ZONE_SETFLAG
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - ZONEDB_UNLOCK
    - zone_journal
    - dns_db_newversion
    - add_sigs
    - UNLOCK_ZONE
    - dst_key_free
    - ISC_LIST_APPEND
    - dns_db_find
    - REVOKE
    - dns_dbiterator_pause
    - dns_name_equal
    - isc_result_totext
    - dns_zone_findkeys
    - CHECK
    - dst_key_id
    - dns_dbiterator_current
    - zone_nsecttl
    - dnssec_log
    - dns_db_detachnode
    - update_soa_serial
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void zone_sign(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:10047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10048
      start: 10046
    functionDepth: 1
    functionLinenumber: 10046
    functionLinenumberEnd: 10048
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 202
    functionsReached:
    - dns_dbiterator_pause
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (cleanup, s, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:10059,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10060,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:10061,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:10062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10063
      start: 10058
    functionDepth: 1
    functionLinenumber: 10058
    functionLinenumberEnd: 10063
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 202
    functionsReached:
    - isc_mem_put
    - dns_db_detach
    - dns_dbiterator_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (cleanup, s, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:10091,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:10092,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:10093,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:10094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10095
      start: 10090
    functionDepth: 1
    functionLinenumber: 10090
    functionLinenumberEnd: 10095
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 202
    functionsReached:
    - dns_dbiterator_first
    - ISC_LIST_PREPEND
    - dns_dbiterator_pause
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (cleanup, s, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10140,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10141,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10145,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10146,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10148,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10152,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10156,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:10157,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10158,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:10162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - rr
    - target
    - data
    - size
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10165
      start: 10132
    functionDepth: 2
    functionLinenumber: 10132
    functionLinenumberEnd: 10165
    functionName: normalize_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - UNREACHABLE
    - dns_rdata_fromstruct
    - RUNTIME_CHECK
    - isc_buffer_init
    - dns_rdata_reset
    - dns_keydata_todnskey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t normalize_key(dns_rdata_t *rr, dns_rdata_t *target, unsigned
      char *data,\n\t      int size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: normalize_key
      Src: /src/bind9/lib/dns/zone.c:10184,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10194,1
    - Dst: normalize_key
      Src: /src/bind9/lib/dns/zone.c:10195,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:10199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rdset
    - rr
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10205
      start: 10178
    functionDepth: 3
    functionLinenumber: 10178
    functionLinenumberEnd: 10205
    functionName: matchkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    - normalize_key
    linkageType: ''
    returnType: bool
    signature: bool matchkey(dns_rdataset_t *rdset, dns_rdata_t *rr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10194,1
    - Dst: normalize_key
      Src: /src/bind9/lib/dns/zone.c:10195,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:10199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10202
      start: 10189
    functionDepth: 3
    functionLinenumber: 10189
    functionLinenumberEnd: 10202
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    - normalize_key
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:10225,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:10227,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:10233,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10238,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10239,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10240,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:10245,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:10262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - kfetch
    - retry
    argTypes:
    - dns_keyfetch_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10279
      start: 10218
    functionDepth: 1
    functionLinenumber: 10218
    functionLinenumberEnd: 10279
    functionName: refresh_time
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - isc_serial_gt
    - dns_rdataset_first
    - isc_stdtime_now
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t refresh_time(dns_keyfetch_t *kfetch, bool retry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:10294,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:10296,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zone.c:10298,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10300,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10303,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10303,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10307,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10314,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:10315,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10317,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10318,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10319,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10319,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10324,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - kfetch
    - ver
    - diff
    argTypes:
    - dns_keyfetch_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10330
      start: 10286
    functionDepth: 4
    functionLinenumber: 10286
    functionLinenumberEnd: 10330
    functionName: minimal_update
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_fromstruct
    - dns_rdataset_current
    - DNS_RDATASET_FOREACH
    - dns_fixedname_name
    - isc_buffer_init
    - refresh_time
    - CHECK
    - isc_stdtime_now
    - update_one_rr
    - dns_rdata_reset
    - set_refreshkeytimer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t minimal_update(dns_keyfetch_t *kfetch, dns_dbversion_t
      *ver, dns_diff_t *diff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10350,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:10350,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:10352,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10356,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:10357,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10358,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:10360,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zone.c:10366,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:10369,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10371,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10372,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10373,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:10375,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:10377,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/zone.c:10378,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zone.c:10380,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:10382,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10384,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10384,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10386,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:10395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - kfetch
    - keydata
    argTypes:
    - dns_keyfetch_t*
    - dns_rdata_keydata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10397
      start: 10335
    functionDepth: 4
    functionLinenumber: 10335
    functionLinenumberEnd: 10397
    functionName: revocable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_verify
    - dns_rdataset_current
    - REQUIRE
    - dns_keydata_todnskey
    - dns_rdata_tostruct
    - dns_rdataset_isassociated
    - dns_fixedname_init
    - dns_dnssec_keyfromrdata
    - dns_rdata_fromstruct
    - RUNTIME_CHECK
    - dst_key_alg
    - ISC_LOG_DEBUG
    - dns_fixedname_name
    - DNS_RDATASET_FOREACH
    - dst_key_rid
    - dst_key_free
    - isc_result_totext
    - isc_buffer_init
    - dst_algorithm_fromdata
    - dnssec_log
    linkageType: ''
    returnType: bool
    signature: bool revocable(dns_keyfetch_t *kfetch, dns_rdata_keydata_t *keydata)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10434,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10438,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:10442,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:10451,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10454,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/zone.c:10457,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10459,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10460,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:10464,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:10465,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:10467,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10468,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:10470,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10472,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:10472,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10478,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10481,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10481,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10483,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:10486,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10487,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10489,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10490,1
    - Dst: minimal_update
      Src: /src/bind9/lib/dns/zone.c:10490,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:10495,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10496,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10498,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10499,1
    - Dst: minimal_update
      Src: /src/bind9/lib/dns/zone.c:10499,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/zone.c:10510,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:10518,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zone.c:10519,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10525,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10526,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10532,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10533,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10534,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:10542,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:10553,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zone.c:10559,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:10561,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10563,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10563,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10567,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/lib/dns/zone.c:10572,1
    - Dst: dns_keynode_trust
      Src: /src/bind9/lib/dns/zone.c:10573,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:10578,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zone.c:10583,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10591,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10614,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10615,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10616,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10617,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:10619,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:10620,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10626,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10630,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10633,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:10643,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10655,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10665,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10667,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10675,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10682,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10687,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10687,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10696,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10697,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10698,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10703,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10703,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:10707,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10736,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10737,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10738,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:10745,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10751,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10755,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10758,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:10762,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10763,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10764,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10765,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10766,1
    - Dst: revocable
      Src: /src/bind9/lib/dns/zone.c:10768,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10775,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/zone.c:10785,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10799,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10807,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10815,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10837,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10851,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10867,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10891,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10900,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10917,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10917,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10924,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10925,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10926,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10927,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10932,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10932,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10937,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10938,1
    - Dst: dns_keydata_fromdnskey
      Src: /src/bind9/lib/dns/zone.c:10939,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10944,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10945,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10946,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10947,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10952,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10952,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10959,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10960,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:10961,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10965,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:10966,1
    - Dst: fail_secure
      Src: /src/bind9/lib/dns/zone.c:10980,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:10984,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10986,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:10986,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10988,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:10988,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10991,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:10992,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:11008,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11011,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:11013,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:11015,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:11019,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:11021,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:11023,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:11024,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:11026,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:11027,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:11029,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:11030,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/zone.c:11033,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:11034,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:11035,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:11038,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:11041,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11042,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:11045,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11048,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 313
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11049
      start: 10404
    functionDepth: 9
    functionLinenumber: 10404
    functionLinenumberEnd: 11049
    functionName: keyfetch_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keynode_dsset
    - dns_keytable_detach
    - matchkey
    - dns_dnssec_verify
    - dns_name_free
    - isc_mem_putanddetach
    - zone_free
    - dns_rdataset_current
    - refresh_time
    - compute_tag
    - dns_rdataset_disassociate
    - dns_diff_init
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_rdata_tostruct
    - dns_keydata_todnskey
    - set_refreshkeytimer
    - dns_keynode_initial
    - dns_db_detach
    - dns_keynode_detach
    - dns_view_untrust
    - dns_rdataset_isassociated
    - zone_needdump
    - dns_keytable_find
    - isc_stdtime_now
    - fail_secure
    - dns_name_format
    - dns_zone_log
    - minimal_update
    - LOCK_ZONE
    - dns_dnssec_keyfromrdata
    - ISC_LIST_EMPTY
    - dns_rdata_fromstruct
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - revocable
    - exit_check
    - dns_fixedname_name
    - INSIST
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - dns_dnssec_matchdskey
    - dns_view_getsecroots
    - dns_diff_clear
    - update_one_rr
    - dns_keynode_trust
    - zone_journal
    - dns_db_newversion
    - dns_resolver_destroyfetch
    - UNLOCK_ZONE
    - dst_key_free
    - dns_keydata_fromdnskey
    - dns_resolver_freefresp
    - isc_result_totext
    - trust_key
    - isc_buffer_init
    - isc_refcount_decrement
    - CHECK
    - dnssec_log
    - DNS_ZONE_FLAG
    - dns_db_detachnode
    - update_soa_serial
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void keyfetch_done(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10525,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10526,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10532,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10533,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10534,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:10542,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:10553,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zone.c:10559,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:10561,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10563,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10563,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10567,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/lib/dns/zone.c:10572,1
    - Dst: dns_keynode_trust
      Src: /src/bind9/lib/dns/zone.c:10573,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10577
      start: 10520
    functionDepth: 4
    functionLinenumber: 10520
    functionLinenumberEnd: 10577
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - dns_dnssec_verify
    - ISC_LOG_DEBUG
    - dns_keynode_initial
    - dns_rdataset_current
    - isc_result_totext
    - dns_dnssec_matchdskey
    - dnssec_log
    - dns_keynode_trust
    - dns_rdata_reset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (dnskeysigs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10532,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10533,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10534,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:10542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10547
      start: 10528
    functionDepth: 2
    functionLinenumber: 10528
    functionLinenumberEnd: 10547
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_rdata_reset
    - dns_dnssec_matchdskey
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10614,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10615,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10616,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10617,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:10619,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:10620,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10626,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10630,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10633,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:10643,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10655,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10665,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10667,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10675,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10682,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10687,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10687,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10696,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10697,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10698,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10703,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10703,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:10707,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10611
    functionDepth: 5
    functionLinenumber: 10611
    functionLinenumberEnd: 10709
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_fromstruct
    - matchkey
    - RUNTIME_CHECK
    - dns_rdataset_current
    - isc_result_totext
    - isc_buffer_init
    - refresh_time
    - compute_tag
    - CHECK
    - dnssec_log
    - dns_zone_log
    - update_one_rr
    - dns_rdata_reset
    - dns_keydata_todnskey
    - set_refreshkeytimer
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (keydataset)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10736,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10737,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10738,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:10745,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10751,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10755,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10758,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:10762,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10763,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10764,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10765,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10766,1
    - Dst: revocable
      Src: /src/bind9/lib/dns/zone.c:10768,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10775,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/zone.c:10785,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10799,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10807,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10815,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10837,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10851,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10867,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10891,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:10900,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10917,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10917,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10924,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10925,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10926,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10927,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10932,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10932,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10937,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10938,1
    - Dst: dns_keydata_fromdnskey
      Src: /src/bind9/lib/dns/zone.c:10939,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:10944,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:10945,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:10946,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:10947,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10952,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:10952,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10959,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10960,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:10961,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10965,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:10966,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10968
      start: 10727
    functionDepth: 5
    functionLinenumber: 10727
    functionLinenumberEnd: 10968
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - matchkey
    - dns_rdataset_current
    - refresh_time
    - compute_tag
    - dns_rdata_reset
    - set_refreshkeytimer
    - dns_rdata_tostruct
    - dns_view_untrust
    - dns_zone_log
    - dns_rdata_fromstruct
    - RUNTIME_CHECK
    - revocable
    - INSIST
    - update_one_rr
    - dns_keydata_fromdnskey
    - isc_result_totext
    - trust_key
    - isc_buffer_init
    - CHECK
    - dnssec_log
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (dnskeys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:11058,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:11059,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11065,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:11067,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:11068,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:11069,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:11070,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:11071,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11073,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:11077,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:11078,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:11080,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:11082,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:11083,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11083,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:11087,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11088,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:11091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - kfetch
    - kname
    argTypes:
    - dns_keyfetch_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11093
      start: 11051
    functionDepth: 4
    functionLinenumber: 11051
    functionLinenumberEnd: 11093
    functionName: retry_keyfetch
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_TIME_ADD
    - isc_mem_putanddetach
    - dns_name_free
    - ISC_LOG_DEBUG
    - dns_db_detach
    - exit_check
    - zone_free
    - isc_refcount_decrement
    - isc_time_formattimestamp
    - dns_rdataset_disassociate
    - isc_time_now
    - dnssec_log
    - DNS_ZONE_FLAG
    - dns_name_format
    - zone_settimer
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void retry_keyfetch(dns_keyfetch_t *kfetch, dns_name_t *kname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:11099,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11105,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/zone.c:11109,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/zone.c:11123,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/zone.c:11129,1
    - Dst: retry_keyfetch
      Src: /src/bind9/lib/dns/zone.c:11134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11135
      start: 11095
    functionDepth: 5
    functionLinenumber: 11095
    functionLinenumberEnd: 11135
    functionName: do_keyfetch
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_FLAG
    - retry_keyfetch
    - dns_fixedname_name
    - dns_resolver_createfetch
    - dns_view_getresolver
    - dns_resolver_detach
    linkageType: ''
    returnType: void
    signature: void do_keyfetch(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:11196,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:11197,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:11198,1
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/dns/zone.c:11202,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:11203,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:11203,1
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/dns/zone.c:11219,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:11220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11222
      start: 11194
    functionDepth: 4
    functionLinenumber: 11194
    functionLinenumberEnd: 11222
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - CHECK
    - dns_rriterator_pause
    - update_one_rr
    - set_refreshkeytimer
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (kdset)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11303,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11303,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11311,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11312,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11313,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/zone.c:11316,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/zone.c:11318,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11322,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:11328,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:11335,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11342,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11343,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11344,1
    - Dst: zone_expire
      Src: /src/bind9/lib/dns/zone.c:11346,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11349,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:11360,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11367,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11368,1
    - Dst: zone_refresh
      Src: /src/bind9/lib/dns/zone.c:11369,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11371,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11381,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11383,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11384,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11386,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11389,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:11390,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11395,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11396,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11397,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11398,1
    - Dst: zone_notify
      Src: /src/bind9/lib/dns/zone.c:11401,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11414,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11416,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11417,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11418,1
    - Dst: was_dumping
      Src: /src/bind9/lib/dns/zone.c:11420,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11424,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:11426,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11428,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11430,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11444,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11445,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11446,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11447,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11448,1
    - Dst: zone_notify
      Src: /src/bind9/lib/dns/zone.c:11450,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11461,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11462,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11464,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11465,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11466,1
    - Dst: zone_refreshkeys
      Src: /src/bind9/lib/dns/zone.c:11468,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11472,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:11474,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11475,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:11478,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11479,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11480,1
    - Dst: zone_rekey
      Src: /src/bind9/lib/dns/zone.c:11482,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11495,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:11497,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:11498,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:11499,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:11500,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11501,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:11504,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11505,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:11506,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11507,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:11508,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11509,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:11510,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11511,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11512,1
    - Dst: zone_sign
      Src: /src/bind9/lib/dns/zone.c:11515,1
    - Dst: zone_resigninc
      Src: /src/bind9/lib/dns/zone.c:11517,1
    - Dst: zone_nsec3chain
      Src: /src/bind9/lib/dns/zone.c:11519,1
    - Dst: set_key_expiry_warning
      Src: /src/bind9/lib/dns/zone.c:11526,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:11527,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11534,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:11535,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11536,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 165
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11537
      start: 11296
    functionDepth: 10
    functionLinenumber: 11296
    functionLinenumberEnd: 11537
    functionName: zone_maintenance
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_adb_detach
    - isc_time_compare
    - zone_rekey
    - zone_expire
    - isc_time_seconds
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_settimer
    - zone_dump
    - DNS_ZONE_TIME_ADD
    - set_key_expiry_warning
    - dns_view_getadb
    - zone_nsec3chain
    - isc_time_now
    - zone_resigninc
    - dns_zone_log
    - isc_time_settoepoch
    - zone_notify
    - LOCK_ZONE
    - isc_time_isepoch
    - DNS_ZONE_SETFLAG
    - was_dumping
    - zone_sign
    - dns_remote_addresses
    - zone_refreshkeys
    - UNLOCK_ZONE
    - isc_result_totext
    - DNS_ZONE_FLAG
    - zone_refresh
    linkageType: ''
    returnType: void
    signature: void zone_maintenance(dns_zone_t *zone)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11551,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:11553,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11556,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11557,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11559,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:11561,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:11565,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:11567,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:11573,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:11575,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:11581,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:11584,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:11585,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11590,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:11592,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11594
      start: 11539
    functionDepth: 5
    functionLinenumber: 11539
    functionLinenumberEnd: 11594
    functionName: dns_zone_markdirty
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - ZONEDB_LOCK
    - UNLOCK_ZONE
    - zone_get_from_db
    - isc_thread_yield
    - set_resigntime
    - INSIST
    - TRYLOCK_ZONE
    - zone_needdump
    - isc_time_now
    - inline_raw
    - ZONEDB_UNLOCK
    - zone_send_secureserial
    - zone_settimer
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_markdirty(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11598,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11598,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11600,1
    - Dst: zone_expire
      Src: /src/bind9/lib/dns/zone.c:11601,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11603
      start: 11596
    functionDepth: 1
    functionLinenumber: 11596
    functionLinenumberEnd: 11603
    functionName: dns_zone_expire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - zone_expire
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_expire(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11613,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:11613,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11615,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11617,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:11620,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:11633,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:11633,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:11636,1
    - Dst: dns_rpz_dbupdate_callback
      Src: /src/bind9/lib/dns/zone.c:11636,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11637,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:11644,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:11647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11648
      start: 11605
    functionDepth: 3
    functionLinenumber: 11605
    functionLinenumberEnd: 11648
    functionName: zone_expire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_db_detach
    - dns_rpz_dbupdate_callback
    - LOCKED_ZONE
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - CHECK
    - zone_unload
    - REQUIRE
    - dns_zone_log
    - dns_db_create
    linkageType: ''
    returnType: void
    signature: void zone_expire(dns_zone_t *zone)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11656,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11656,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11657,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:11657,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11659,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/zone.c:11668,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:11669,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11670,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11672,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11678,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:11679,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:11689,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:11689,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:11691,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11693,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11695,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11703,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:11704,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:11707,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:11710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11711
      start: 11650
    functionDepth: 4
    functionLinenumber: 11650
    functionLinenumberEnd: 11711
    functionName: zone_refresh
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - isc_interval_set
    - ISC_MIN
    - queue_soa_query
    - LOCKED_ZONE
    - isc_result_totext
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - dns_remote_addresses
    - dns_zone_logc
    - REQUIRE
    - dns_remote_reset
    - DNS_ZONE_FLAG
    - atomic_load
    - isc_random_uniform
    - isc_time_nowplusinterval
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void zone_refresh(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11717,1
    - Dst: zone_refresh
      Src: /src/bind9/lib/dns/zone.c:11718,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11719,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:11721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11722
      start: 11713
    functionDepth: 5
    functionLinenumber: 11713
    functionLinenumberEnd: 11722
    functionName: zone_refresh_async
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - zone_refresh
    - LOCK_ZONE
    - dns_zone_detach
    linkageType: ''
    returnType: void
    signature: void zone_refresh_async(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11726,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11726,1
    - Dst: dns_zone_ref
      Src: /src/bind9/lib/dns/zone.c:11728,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:11729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11730
      start: 11724
    functionDepth: 2
    functionLinenumber: 11724
    functionLinenumberEnd: 11730
    functionName: dns_zone_refresh
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - DNS_ZONE_VALID
    - REQUIRE
    - dns_zone_ref
    linkageType: ''
    returnType: void
    signature: void dns_zone_refresh(dns_zone_t *zone)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:11740,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:11748,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11751,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11751,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11755,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11757,1
    - Dst: dns_journal_empty
      Src: /src/bind9/lib/dns/zone.c:11761,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11762,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11762,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:11764,1
    - Dst: dns_journal_rollforward
      Src: /src/bind9/lib/dns/zone.c:11768,1
    - Dst: dns_journal_recovered
      Src: /src/bind9/lib/dns/zone.c:11774,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11776,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11778,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11781,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11783,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11784,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11787,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:11790,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11794,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:11797,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11800,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11802,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:11803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - zone
    - db
    - needdump
    - fixjournal
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11806
      start: 11732
    functionDepth: 8
    functionLinenumber: 11732
    functionLinenumberEnd: 11806
    functionName: zone_journal_rollforward
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ISC_LOG_DEBUG
    - dns_journal_destroy
    - isc_result_totext
    - inline_secure
    - dns_journal_rollforward
    - dns_zone_logc
    - dns_journal_recovered
    - dns_journal_open
    - dns_journal_empty
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_journal_rollforward(dns_zone_t *zone, dns_db_t *db,
      bool *needdump,\n\t\t\t bool *fixjournal)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11816,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:11816,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:11817,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11818,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:11818,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:11824,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/dns/zone.c:11825,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:11826,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11828,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11831,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11836,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:11838,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:11839,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:11841,1
    - Dst: dns_journal_compact
      Src: /src/bind9/lib/dns/zone.c:11844,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11850,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11850,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11851,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11854,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - zone
    - db
    - serial
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11859
      start: 11808
    functionDepth: 7
    functionLinenumber: 11808
    functionLinenumberEnd: 11859
    functionName: zone_journal_compact
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_currentversion
    - DNS_ZONE_FLAG
    - ISC_LOG_DEBUG
    - dns_journal_compact
    - LOCKED_ZONE
    - dns_db_getsize
    - INSIST
    - isc_result_totext
    - DNS_ZONE_CLRFLAG
    - inline_raw
    - dns_zone_log
    - zone_debuglog
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void zone_journal_compact(dns_zone_t *zone, dns_db_t *db, uint32_t
      serial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11866,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11866,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11868,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11869,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11870,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11873,1
    - Dst: was_dumping
      Src: /src/bind9/lib/dns/zone.c:11875,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11879,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:11881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11884
      start: 11861
    functionDepth: 3
    functionLinenumber: 11861
    functionLinenumberEnd: 11884
    functionName: dns_zone_flush
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - UNLOCK_ZONE
    - zone_dump
    - DNS_ZONE_SETFLAG
    - was_dumping
    - REQUIRE
    - DNS_ZONE_FLAG
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_flush(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11891,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11891,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11893,1
    - Dst: was_dumping
      Src: /src/bind9/lib/dns/zone.c:11894,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11895,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:11897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11900
      start: 11886
    functionDepth: 3
    functionLinenumber: 11886
    functionLinenumberEnd: 11900
    functionName: dns_zone_dump
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - zone_dump
    - was_dumping
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_dump(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11911,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11911,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11912,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:11912,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11919,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:11924,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:11926,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11928,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:11929,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:11930,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:11935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - zone
    - delay
    argTypes:
    - dns_zone_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11937
      start: 11902
    functionDepth: 3
    functionLinenumber: 11902
    functionLinenumberEnd: 11937
    functionName: zone_needdump
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 7
    functionsReached:
    - isc_time_isepoch
    - LOCKED_ZONE
    - isc_time_compare
    - DNS_ZONE_SETFLAG
    - isc_time_now
    - REQUIRE
    - DNS_ZONE_FLAG
    - DNS_ZONE_JITTER_ADD
    - DNS_ZONE_VALID
    - zone_settimer
    linkageType: ''
    returnType: void
    signature: void zone_needdump(dns_zone_t *zone, unsigned int delay)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11950,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:11950,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11962,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:11965,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:11966,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:11968,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11972,1
    - Dst: dns_dumpctx_db
      Src: /src/bind9/lib/dns/zone.c:11979,1
    - Dst: dns_dumpctx_version
      Src: /src/bind9/lib/dns/zone.c:11980,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:11981,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11987,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:11988,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11990,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11991,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11993,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:11995,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:12008,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:12010,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/zone.c:12013,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12018,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:12022,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:12023,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:12024,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12031,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12033,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12036,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12037,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12039,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12041,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:12051,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12054,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:12060,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12062,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12063,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12064,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12066,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12067,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:12068,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12071,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/zone.c:12075,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12077,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:12079,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12081,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12082
      start: 11939
    functionDepth: 8
    functionLinenumber: 11939
    functionLinenumberEnd: 12082
    functionName: dump_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getsoaserial
    - dns_zone_detach
    - REQUIRE
    - dns_dumpctx_detach
    - DNS_ZONE_VALID
    - ZONEDB_LOCK
    - zone_dump
    - isc_serial_lt
    - isc_thread_yield
    - dns_db_detach
    - dns_dumpctx_version
    - zone_needdump
    - zone_journal_compact
    - isc_time_settoepoch
    - LOCK_ZONE
    - isc_interval_set
    - isc_file_settime
    - INSIST
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - isc_time_subtract
    - ZONEDB_UNLOCK
    - UNLOCK_ZONE
    - DNS_ZONE_FLAG
    - dns_dumpctx_db
    - dns_zone_idetach
    - dns_zone_getdb
    - TRYLOCK_ZONE
    - inline_raw
    linkageType: ''
    returnType: void
    signature: void dump_done(void *arg, isc_result_t result)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12099,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12099,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:12103,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:12105,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12107,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12108,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:12110,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12120,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:12130,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/zone.c:12132,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:12134,1
    - Dst: get_raw_serial
      Src: /src/bind9/lib/dns/zone.c:12135,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12139,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:12140,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12142,1
    - Dst: dns_master_dumpasync
      Src: /src/bind9/lib/dns/zone.c:12144,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12149,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12151,1
    - Dst: dns_master_dump
      Src: /src/bind9/lib/dns/zone.c:12156,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:12165,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:12166,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:12169,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:12177,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:12180,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:12183,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12195,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12196,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:12201,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12202,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12203,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12204,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12206,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12207,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:12208,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12211,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12213,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 2
    argNames:
    - zone
    - compact
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12219
      start: 12084
    functionDepth: 5
    functionLinenumber: 12084
    functionLinenumberEnd: 12219
    functionName: zone_dump
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - ZONEDB_LOCK
    - dns_master_dumpasync
    - dns_db_detach
    - inline_secure
    - zone_needdump
    - zone_iattach
    - get_raw_serial
    - isc_time_settoepoch
    - LOCK_ZONE
    - dns_db_currentversion
    - isc_interval_set
    - isc_file_settime
    - dns_db_attach
    - INSIST
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - isc_mem_strdup
    - isc_time_subtract
    - ZONEDB_UNLOCK
    - UNLOCK_ZONE
    - dns_master_initrawheader
    - isc_mem_free
    - dns_zone_idetach
    - DNS_ZONE_FLAG
    - dns_master_dump
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_dump(dns_zone_t *zone, bool compact)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12229,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12229,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:12231,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:12233,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12235,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:12240,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/zone.c:12241,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:12244,1
    - Dst: get_raw_serial
      Src: /src/bind9/lib/dns/zone.c:12245,1
    - Dst: dns_master_dumptostream
      Src: /src/bind9/lib/dns/zone.c:12250,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:12252,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:12253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - zone
    - fd
    - style
    - format
    - rawversion
    argTypes:
    - dns_zone_t*
    - FILE*
    - dns_master_style_t*
    - dns_masterformat_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12255
      start: 12221
    functionDepth: 2
    functionLinenumber: 12221
    functionLinenumberEnd: 12255
    functionName: dumptostream
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - ZONEDB_LOCK
    - dns_db_currentversion
    - dns_master_initrawheader
    - dns_db_detach
    - dns_db_attach
    - inline_secure
    - REQUIRE
    - dns_master_dumptostream
    - get_raw_serial
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dumptostream(dns_zone_t *zone, FILE *fd, const dns_master_style_t
      *style,\n\t     dns_masterformat_t format, const uint32_t rawversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/zone.c:12261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - zone
    - fd
    - format
    - style
    - rawversion
    argTypes:
    - dns_zone_t*
    - FILE*
    - dns_masterformat_t
    - dns_master_style_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12262
      start: 12257
    functionDepth: 0
    functionLinenumber: 12257
    functionLinenumberEnd: 12262
    functionName: dns_zone_dumptostream
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dumptostream
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_dumptostream(dns_zone_t *zone, FILE *fd, dns_masterformat_t
      format,\n\t\t      const dns_master_style_t *style,\n\t\t      const uint32_t
      rawversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12266,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12266,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12268,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:12269,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12271
      start: 12264
    functionDepth: 1
    functionLinenumber: 12264
    functionLinenumberEnd: 12271
    functionName: dns_zone_unload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - UNLOCK_ZONE
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_unload
    linkageType: ''
    returnType: void
    signature: void dns_zone_unload(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12279,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12279,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:12281,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/zone.c:12283,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:12286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12289
      start: 12273
    functionDepth: 1
    functionLinenumber: 12273
    functionLinenumberEnd: 12289
    functionName: notify_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_adb_cancelfind
    - LOCKED_ZONE
    - dns_request_cancel
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void notify_cancel(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12297,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12297,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:12299,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/zone.c:12301,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:12304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12307
      start: 12291
    functionDepth: 1
    functionLinenumber: 12291
    functionLinenumberEnd: 12307
    functionName: checkds_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_adb_cancelfind
    - LOCKED_ZONE
    - dns_request_cancel
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void checkds_cancel(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12315,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12315,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:12317,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:12319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12322
      start: 12309
    functionDepth: 1
    functionLinenumber: 12309
    functionLinenumberEnd: 12322
    functionName: forward_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - dns_request_cancel
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void forward_cancel(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12330,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12330,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12332,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12333,1
    - Dst: dns_dumpctx_cancel
      Src: /src/bind9/lib/dns/zone.c:12336,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:12339,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:12340,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12341,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12342,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12343,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12350
      start: 12324
    functionDepth: 1
    functionLinenumber: 12324
    functionLinenumberEnd: 12350
    functionName: zone_unload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - ZONEDB_LOCK
    - zone_detachdb
    - LOCKED_ZONE
    - DNS_ZONE_CLRFLAG
    - REQUIRE
    - DNS_ZONE_FLAG
    - dns_zone_log
    - ZONEDB_UNLOCK
    - dns_dumpctx_cancel
    linkageType: ''
    returnType: void
    signature: void zone_unload(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12354,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12358
      start: 12352
    functionDepth: 1
    functionLinenumber: 12352
    functionLinenumberEnd: 12358
    functionName: dns_zone_setminrefreshtime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setminrefreshtime(dns_zone_t *zone, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12362,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12362,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12366
      start: 12360
    functionDepth: 1
    functionLinenumber: 12360
    functionLinenumberEnd: 12366
    functionName: dns_zone_setmaxrefreshtime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxrefreshtime(dns_zone_t *zone, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12370,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12370,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12374
      start: 12368
    functionDepth: 1
    functionLinenumber: 12368
    functionLinenumberEnd: 12374
    functionName: dns_zone_setminretrytime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setminretrytime(dns_zone_t *zone, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12378,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12382
      start: 12376
    functionDepth: 1
    functionLinenumber: 12376
    functionLinenumberEnd: 12382
    functionName: dns_zone_setmaxretrytime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxretrytime(dns_zone_t *zone, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12386,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12389
      start: 12384
    functionDepth: 1
    functionLinenumber: 12384
    functionLinenumberEnd: 12389
    functionName: dns_zone_getmaxrecords
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getmaxrecords(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12393,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12396
      start: 12391
    functionDepth: 1
    functionLinenumber: 12391
    functionLinenumberEnd: 12396
    functionName: dns_zone_setmaxrecords
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxrecords(dns_zone_t *zone, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12400,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12400,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:12404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12406
      start: 12398
    functionDepth: 2
    functionLinenumber: 12398
    functionLinenumberEnd: 12406
    functionName: dns_zone_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_setmaxrrperset
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxrrperset(dns_zone_t *zone, uint32_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12410,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12410,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:12414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12416
      start: 12408
    functionDepth: 2
    functionLinenumber: 12408
    functionLinenumberEnd: 12416
    functionName: dns_zone_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - dns_db_setmaxtypepername
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxtypepername(dns_zone_t *zone, uint32_t val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:12426,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:12430,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:12431,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12432,1
    - Dst: isc_ratelimiter_dequeue
      Src: /src/bind9/lib/dns/zone.c:12451,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:12458,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 6
    argNames:
    - zone
    - flags
    - name
    - addr
    - key
    - transport
    argTypes:
    - dns_zone_t*
    - unsigned int
    - dns_name_t*
    - isc_sockaddr_t*
    - dns_tsigkey_t*
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12467
      start: 12418
    functionDepth: 3
    functionLinenumber: 12418
    functionLinenumberEnd: 12467
    functionName: notify_isqueued
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_ratelimiter_dequeue
    - dns_name_dynamic
    - dns_name_equal
    - ISC_LIST_FOREACH
    - isc_ratelimiter_enqueue
    - isc_sockaddr_equal
    linkageType: ''
    returnType: bool
    signature: "bool notify_isqueued(dns_zone_t *zone, unsigned int flags, dns_name_t
      *name,\n\t\tisc_sockaddr_t *addr, dns_tsigkey_t *key,\n\t\tdns_transport_t *transport)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12482,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:12485,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:12489,1
    - Dst: isc_sockaddr_eqaddr
      Src: /src/bind9/lib/dns/zone.c:12499,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:12503,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:12504,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:12511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - zone
    - dst
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12514
      start: 12469
    functionDepth: 3
    functionLinenumber: 12469
    functionLinenumberEnd: 12514
    functionName: notify_isself
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_getpeertsig
    - isc_sockaddr_pf
    - isc_netaddr_fromsockaddr
    - isc_sockaddr_any6
    - dns_tsigkey_detach
    - isc_sockaddr_any
    - isc_sockaddr_eqaddr
    linkageType: ''
    returnType: bool
    signature: bool notify_isself(dns_zone_t *zone, isc_sockaddr_t *dst)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12520,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/zone.c:12520,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12524,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12526,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12526,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:12527,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:12528,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12531,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12534,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12536,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/zone.c:12540,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:12543,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:12545,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:12546,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:12549,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:12552,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:12555,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/zone.c:12556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - notify
    - locked
    argTypes:
    - dns_notify_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12557
      start: 12516
    functionDepth: 5
    functionLinenumber: 12516
    functionLinenumberEnd: 12557
    functionName: notify_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - dns_transport_detach
    - dns_name_dynamic
    - dns_tsigkey_detach
    - dns_name_free
    - dns_adb_destroyfind
    - ISC_LINK_LINKED
    - isc_mem_detach
    - LOCKED_ZONE
    - dns_zone_idetach
    - dns_request_destroy
    - ISC_LIST_UNLINK
    - REQUIRE
    - DNS_NOTIFY_VALID
    - isc_mem_put
    - zone_idetach
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void notify_destroy(dns_notify_t *notify, bool locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12563,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:12565,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:12570,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:12571,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:12572,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:12573,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:12574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - mctx
    - flags
    - notifyp
    argTypes:
    - isc_mem_t*
    - unsigned int
    - dns_notify_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12578
      start: 12559
    functionDepth: 2
    functionLinenumber: 12559
    functionLinenumberEnd: 12578
    functionName: notify_create
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_LINK_INIT
    - isc_sockaddr_any
    - isc_mem_get
    - REQUIRE
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t notify_create(isc_mem_t *mctx, unsigned int flags, dns_notify_t
      **notifyp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12589,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/zone.c:12589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12590,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/zone.c:12594,1
    - Dst: notify_find_address
      Src: /src/bind9/lib/dns/zone.c:12595,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12599,1
    - Dst: notify_send
      Src: /src/bind9/lib/dns/zone.c:12600,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12601,1
    - Dst: notify_destroy
      Src: /src/bind9/lib/dns/zone.c:12608,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12609
      start: 12583
    functionDepth: 6
    functionLinenumber: 12583
    functionLinenumberEnd: 12609
    functionName: process_notify_adb_event
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - notify_find_address
    - notify_send
    - DNS_NOTIFY_VALID
    - REQUIRE
    - dns_adb_destroyfind
    - notify_destroy
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void process_notify_adb_event(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12617,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/zone.c:12617,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/dns/zone.c:12620,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/dns/zone.c:12623,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/zone.c:12627,1
    - Dst: dns_adb_createfind
      Src: /src/bind9/lib/dns/zone.c:12632,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/zone.c:12636,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12649,1
    - Dst: notify_send
      Src: /src/bind9/lib/dns/zone.c:12650,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12651,1
    - Dst: notify_destroy
      Src: /src/bind9/lib/dns/zone.c:12654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - notify
    argTypes:
    - dns_notify_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12655
      start: 12611
    functionDepth: 6
    functionLinenumber: 12611
    functionLinenumberEnd: 12655
    functionName: notify_find_address
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - notify_send
    - isc_net_probeipv4
    - dns_adb_detach
    - dns_view_getadb
    - dns_adb_createfind
    - REQUIRE
    - isc_net_probeipv6
    - DNS_NOTIFY_VALID
    - notify_destroy
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void notify_find_address(dns_notify_t *notify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:12659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - notify
    - startup
    argTypes:
    - dns_notify_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12664
      start: 12657
    functionDepth: 3
    functionLinenumber: 12657
    functionLinenumberEnd: 12664
    functionName: notify_send_queue
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_ratelimiter_enqueue
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t notify_send_queue(dns_notify_t *notify, bool startup)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12679,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/zone.c:12679,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12681,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:12683,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12685,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12687,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12698,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/zone.c:12699,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:12701,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12701,1
    - Dst: notify_createmessage
      Src: /src/bind9/lib/dns/zone.c:12708,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:12718,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:12719,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:12721,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:12732,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:12733,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:12737,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:12744,1
    - Dst: dns_peer_getnotifysource
      Src: /src/bind9/lib/dns/zone.c:12747,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zone.c:12751,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12757,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:12761,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12764,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:12772,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12775,1
    - Dst: zmgr_tlsctx_attach
      Src: /src/bind9/lib/dns/zone.c:12790,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/dns/zone.c:12793,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:12795,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:12802,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12805,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:12806,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:12809,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:12815,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12817,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:12824,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12827,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12829,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/dns/zone.c:12831,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:12835,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:12836,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12838,1
    - Dst: notify_destroy
      Src: /src/bind9/lib/dns/zone.c:12839,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 120
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12841
      start: 12666
    functionDepth: 6
    functionLinenumber: 12666
    functionLinenumberEnd: 12841
    functionName: notify_send_toaddr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_getpeertsig
    - isc_sockaddr_format
    - dns_peer_getnotifysource
    - dns_peer_getforcetcp
    - IN6_IS_ADDR_V4MAPPED
    - REQUIRE
    - notify_destroy
    - isc_sockaddr_any6
    - dns_tsigkey_detach
    - dns_request_create
    - notify_createmessage
    - dns_name_format
    - LOCK_ZONE
    - inc_stats
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - isc_tlsctx_cache_detach
    - isc_sockaddr_any
    - isc_rlevent_free
    - DNS_NOTIFY_VALID
    - zmgr_tlsctx_attach
    - dns_message_detach
    - isc_sockaddr_equal
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - DNS_ZONE_FLAG
    - notify_log
    - isc_nm_getinitialtimeout
    - isc_result_totext
    - dns_peerlist_peerbyaddr
    linkageType: ''
    returnType: void
    signature: void notify_send_toaddr(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12854,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/zone.c:12854,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12855,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12855,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12857,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:12861,1
    - Dst: notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:12863,1
    - Dst: notify_isself
      Src: /src/bind9/lib/dns/zone.c:12868,1
    - Dst: notify_create
      Src: /src/bind9/lib/dns/zone.c:12873,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:12877,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:12878,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12880,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:12881,1
    - Dst: notify_send_queue
      Src: /src/bind9/lib/dns/zone.c:12884,1
    - Dst: notify_destroy
      Src: /src/bind9/lib/dns/zone.c:12893,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - notify
    argTypes:
    - dns_notify_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12895
      start: 12843
    functionDepth: 6
    functionLinenumber: 12843
    functionLinenumberEnd: 12895
    functionName: notify_send
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - notify_send_queue
    - notify_create
    - DNS_ZONE_FLAG
    - notify_isself
    - ISC_LIST_APPEND
    - isc_sockaddr_pf
    - isc_sockaddr_any6
    - LOCKED_ZONE
    - DNS_NOTIFY_VALID
    - zone_iattach
    - REQUIRE
    - ISC_LIST_FOREACH
    - notify_destroy
    - notify_isqueued
    linkageType: ''
    returnType: void
    signature: void notify_send(dns_notify_t *notify)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12901,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12901,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12903,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12904,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12906,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12912,1
    - Dst: DNS_ZONE_TIME_SUBTRACT
      Src: /src/bind9/lib/dns/zone.c:12913,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12917,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:12919,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:12920,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - zone
    - nodefer
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12922
      start: 12897
    functionDepth: 3
    functionLinenumber: 12897
    functionLinenumberEnd: 12922
    functionName: dns_zone_notify
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_TIME_SUBTRACT
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - isc_time_now
    - REQUIRE
    - DNS_ZONE_FLAG
    - DNS_ZONE_VALID
    - zone_settimer
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_notify(dns_zone_t *zone, bool nodefer)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12946,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12946,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12948,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12949,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12950,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:12955,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12956,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12958,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12959,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:12986,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:12988,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12990,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:12994,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:12995,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:13000,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:13001,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:13010,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:13011,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13015,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:13016,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13017,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:13018,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:13020,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13025,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:13027,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:13028,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:13032,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:13034,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:13035,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:13036,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:13039,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:13040,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:13041,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:13045,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13049,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13053,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:13062,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:13063,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13064,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:13064,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:13064,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:13066,1
    - Dst: notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:13070,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:13072,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:13075,1
    - Dst: notify_create
      Src: /src/bind9/lib/dns/zone.c:13080,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:13083,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:13086,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:13091,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13095,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13102,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:13108,1
    - Dst: notify_send_queue
      Src: /src/bind9/lib/dns/zone.c:13109,1
    - Dst: notify_destroy
      Src: /src/bind9/lib/dns/zone.c:13111,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:13114,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:13120,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13122,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:13132,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:13133,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13141,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:13145,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13146,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:13152,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:13153,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:13159,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13164,1
    - Dst: notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:13165,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13167,1
    - Dst: notify_create
      Src: /src/bind9/lib/dns/zone.c:13171,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:13175,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:13176,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13177,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:13178,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13179,1
    - Dst: notify_find_address
      Src: /src/bind9/lib/dns/zone.c:13180,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:13182,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:13185,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:13186,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13189,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:13191,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:13192,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 176
    argCount: 2
    argNames:
    - zone
    - now
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13193
      start: 12924
    functionDepth: 7
    functionLinenumber: 12924
    functionLinenumberEnd: 13193
    functionName: zone_notify
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_view_gettsig
    - dns_name_dynamic
    - isc_sockaddr_disabled
    - notify_find_address
    - dns_name_free
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - REQUIRE
    - dns_zone_logc
    - dns_name_dup
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - notify_destroy
    - dns_zone_iattach
    - ZONEDB_LOCK
    - dns_rdata_tostruct
    - dns_db_findnode
    - DNS_ZONE_TIME_ADD
    - dns_remote_curraddr
    - dns_tsigkey_detach
    - dns_db_detach
    - dns_view_gettransport
    - zone_iattach
    - dns_remote_sourceaddr
    - dns_name_compare
    - LOCK_ZONE
    - dns_db_currentversion
    - notify_create
    - dns_remote_tlsname
    - dns_zone_getview
    - RUNTIME_CHECK
    - dns_db_attach
    - INSIST
    - DNS_ZONE_CLRFLAG
    - dns_remote_reset
    - dns_remote_keyname
    - dns_remote_next
    - ZONEDB_UNLOCK
    - dns_remote_done
    - notify_isqueued
    - notify_send_queue
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - dns_transport_detach
    - ISC_LIST_APPEND
    - notify_log
    - isc_result_totext
    - DNS_ZONE_FLAG
    - DNS_ZONE_OPTION
    - dns_db_detachnode
    - dns_db_closeversion
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void zone_notify(dns_zone_t *zone, isc_time_t *now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13141,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:13145,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13146,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:13152,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:13153,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:13159,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13164,1
    - Dst: notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:13165,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13167,1
    - Dst: notify_create
      Src: /src/bind9/lib/dns/zone.c:13171,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:13175,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:13176,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13177,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:13178,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13179,1
    - Dst: notify_find_address
      Src: /src/bind9/lib/dns/zone.c:13180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13181
      start: 13139
    functionDepth: 7
    functionLinenumber: 13139
    functionLinenumberEnd: 13181
    functionName: (&nsrdset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - UNLOCK_ZONE
    - notify_create
    - ISC_LIST_APPEND
    - notify_find_address
    - RUNTIME_CHECK
    - dns_rdataset_current
    - LOCK_ZONE
    - notify_log
    - DNS_ZONE_OPTION
    - dns_name_dup
    - notify_isqueued
    - dns_zone_iattach
    - dns_name_compare
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&nsrdset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:13205,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/zone.c:13211,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/zone.c:13213,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/zone.c:13218,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/zone.c:13219,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:13220,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/zone.c:13221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - zone
    - rdtype
    - name
    - messagep
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13224
      start: 13198
    functionDepth: 1
    functionLinenumber: 13198
    functionLinenumberEnd: 13224
    functionName: create_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - dns_message_addname
    - dns_rdataset_makequestion
    - dns_name_clone
    - dns_message_gettemprdataset
    - dns_message_gettempname
    - dns_message_create
    linkageType: ''
    returnType: void
    signature: "void create_query(dns_zone_t *zone, dns_rdatatype_t rdtype, dns_name_t
      *name,\n\t     dns_message_t **messagep)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13236,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13243,1
    - Dst: dns_message_buildopt
      Src: /src/bind9/lib/dns/zone.c:13249,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/dns/zone.c:13255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - message
    - udpsize
    - reqnsid
    - reqexpire
    argTypes:
    - dns_message_t*
    - uint16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13256
      start: 13226
    functionDepth: 1
    functionLinenumber: 13226
    functionLinenumberEnd: 13256
    functionName: add_opt
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_message_buildopt
    - dns_message_setopt
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_opt(dns_message_t *message, uint16_t udpsize, bool
      reqnsid,\n\tbool reqexpire)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:13275,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:13276,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:13278,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:13280,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:13283,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:13285,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:13286,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13288,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:13290,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:13291,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:13293,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13294,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:13295,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:13296,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:13297,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:13300,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:13303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - stub
    - now
    argTypes:
    - dns_stub_t*
    - isc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13304
      start: 13264
    functionDepth: 4
    functionLinenumber: 13264
    functionLinenumberEnd: 13304
    functionName: stub_finish_zone_update
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ZONEDB_LOCK
    - zone_get_from_db
    - isc_interval_set
    - DNS_ZONE_TIME_ADD
    - RANGE
    - dns_db_detach
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - zone_needdump
    - DNS_ZONE_JITTER_ADD
    - zone_attachdb
    - ZONEDB_UNLOCK
    - zone_settimer
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void stub_finish_zone_update(dns_stub_t *stub, isc_time_t now)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/zone.c:13314,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13327,1
    - Dst: DNS_STUB_VALID
      Src: /src/bind9/lib/dns/zone.c:13327,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13333,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13335,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13336,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:13340,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:13341,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:13342,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:13344,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/lib/dns/zone.c:13345,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13347,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13351,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:13351,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:13355,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:13357,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13359,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13361,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:13372,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:13373,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13375,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:13389,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:13390,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13392,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:13403,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13404,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13416,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:13427,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:13428,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13433,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13441,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13450,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:13457,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13458,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13463,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:13468,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13470,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13473,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:13477,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13480,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13483,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13485,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:13489,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:13492,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:13493,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13494,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/zone.c:13497,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13498,1
    - Dst: stub_finish_zone_update
      Src: /src/bind9/lib/dns/zone.c:13499,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:13499,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13500,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:13502,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13503,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13504,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13505,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13507,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 104
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13509
      start: 13311
    functionDepth: 5
    functionLinenumber: 13311
    functionLinenumberEnd: 13509
    functionName: stub_glue_response
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - dns_name_free
    - dns_request_usedtcp
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_remote_curraddr
    - isc_mem_put
    - dns_unreachcache_add
    - dns_request_getresponse
    - isc_time_now
    - dns_zone_log
    - dns_name_format
    - dns_message_create
    - LOCK_ZONE
    - DNS_STUB_VALID
    - atomic_fetch_sub_release
    - message_count
    - INSIST
    - stub_finish_zone_update
    - dns_request_getresult
    - dns_message_detach
    - dns_message_findname
    - UNLOCK_ZONE
    - dns_opcode_totext
    - dns_request_getarg
    - dns_zone_idetach
    - isc_result_totext
    - dns_request_destroy
    - isc_buffer_init
    - DNS_ZONE_FLAG
    - dns_db_detachnode
    - dns_rcode_totext
    - zone_debuglog
    linkageType: ''
    returnType: void
    signature: void stub_glue_response(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:13525,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:13532,1
    - Dst: create_query
      Src: /src/bind9/lib/dns/zone.c:13534,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13537,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/zone.c:13538,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13540,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13542,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/dns/zone.c:13547,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:13549,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:13550,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/zone.c:13559,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13560,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13561,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13563,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:13567,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:13572,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13573,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:13576,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - args
    - ipv4
    - name
    argTypes:
    - struct stub_cb_args*
    - bool
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13580
      start: 13515
    functionDepth: 2
    functionLinenumber: 13515
    functionLinenumberEnd: 13580
    functionName: stub_request_nameserver_address
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - atomic_fetch_sub_release
    - dns_remote_curraddr
    - atomic_fetch_add_release
    - dns_name_free
    - isc_result_totext
    - dns_request_create
    - INSIST
    - isc_mem_get
    - create_query
    - DNS_ZONE_FLAG
    - isc_mem_put
    - dns_message_detach
    - add_opt
    - zone_debuglog
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t stub_request_nameserver_address(struct stub_cb_args *args,
      bool ipv4,\n\t\t\t\tconst dns_name_t *name)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:13598,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13603,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:13613,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:13617,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13618,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13627,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:13628,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13629,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:13631,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13635,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:13641,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:13645,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13647,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13654,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:13659,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:13663,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13665,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:13677,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:13679,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:13681,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:13682,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:13683,1
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:13696,1
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:13704,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:13715,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:13716,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:13717,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13718,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 5
    argNames:
    - message
    - name
    - cb_args
    - db
    - version
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - struct stub_cb_args*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13721
      start: 13582
    functionDepth: 3
    functionLinenumber: 13582
    functionLinenumberEnd: 13721
    functionName: save_nsrrset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_init
    - dns_db_findnode
    - ISC_LIST_APPEND
    - dns_db_addrdataset
    - RUNTIME_CHECK
    - dns_name_issubdomain
    - dns_name_free
    - isc_mem_put
    - dns_rdataset_current
    - isc_mem_get
    - ISC_LIST_UNLINK
    - stub_request_nameserver_address
    - ISC_LIST_FOREACH
    - ISC_LIST_INIT
    - dns_db_detachnode
    - dns_name_dup
    - dns_message_findname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t save_nsrrset(dns_message_t *message, dns_name_t *name,\n\t
      \    struct stub_cb_args *cb_args, dns_db_t *db,\n\t     dns_dbversion_t *version)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13627,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:13628,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13629,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:13631,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13635,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:13641,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:13645,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13647,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13654,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:13659,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:13663,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:13665,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:13677,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:13679,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:13681,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:13682,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:13683,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13685
      start: 13625
    functionDepth: 1
    functionLinenumber: 13625
    functionLinenumberEnd: 13685
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_init
    - dns_db_findnode
    - ISC_LIST_APPEND
    - dns_name_issubdomain
    - RUNTIME_CHECK
    - dns_db_addrdataset
    - dns_rdataset_current
    - isc_mem_get
    - dns_db_detachnode
    - dns_name_dup
    - dns_message_findname
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (nsrdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:13696,1
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:13704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13709
      start: 13692
    functionDepth: 3
    functionLinenumber: 13692
    functionLinenumberEnd: 13709
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 208
    functionsReached:
    - stub_request_nameserver_address
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (ns_list, ns_name, link)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/zone.c:13726,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13738,1
    - Dst: DNS_STUB_VALID
      Src: /src/bind9/lib/dns/zone.c:13738,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:13744,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13746,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13748,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:13752,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:13753,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:13754,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:13756,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13764,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13765,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13766,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:13766,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/lib/dns/zone.c:13774,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13776,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13779,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:13783,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:13786,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:13798,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:13799,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13801,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:13815,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:13816,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13818,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13823,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:13823,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13827,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13831,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:13842,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13843,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13849,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13857,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:13868,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:13869,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13872,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13880,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/lib/dns/zone.c:13887,1
    - Dst: save_nsrrset
      Src: /src/bind9/lib/dns/zone.c:13892,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13895,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:13902,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:13903,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/lib/dns/zone.c:13909,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13910,1
    - Dst: stub_finish_zone_update
      Src: /src/bind9/lib/dns/zone.c:13911,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13915,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13919,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13923,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:13925,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:13928,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:13931,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:13933,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:13937,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:13938,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:13939,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:13940,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:13941,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:13944,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13948,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:13950,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:13952,1
    - Dst: ns_query
      Src: /src/bind9/lib/dns/zone.c:13953,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13954,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13958,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:13960,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13961,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13962,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13963,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 151
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13964
      start: 13723
    functionDepth: 5
    functionLinenumber: 13723
    functionLinenumberEnd: 13964
    functionName: stub_callback
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ns_query
    - isc_sockaddr_format
    - dns_db_closeversion
    - zone_settimer
    - dns_request_usedtcp
    - dns_remote_curraddr
    - dns_db_detach
    - dns_unreachcache_add
    - dns_request_getresponse
    - isc_time_now
    - dns_zone_log
    - dns_message_create
    - LOCK_ZONE
    - DNS_STUB_VALID
    - ISC_LOG_DEBUG
    - message_count
    - queue_soa_query
    - INSIST
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - stub_finish_zone_update
    - dns_request_getresult
    - dns_remote_next
    - dns_message_detach
    - dns_remote_done
    - UNLOCK_ZONE
    - dns_opcode_totext
    - dns_request_getarg
    - atomic_fetch_add
    - zone_debuglog
    - dns_zone_idetach
    - isc_result_totext
    - dns_request_destroy
    - isc_buffer_init
    - DNS_ZONE_FLAG
    - isc_mem_put
    - dns_rcode_totext
    - atomic_fetch_sub
    - save_nsrrset
    linkageType: ''
    returnType: void
    signature: void stub_callback(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13979,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13980,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:13986,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13988,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:13989,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/zone.c:13990,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/zone.c:13991,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/zone.c:13992,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/zone.c:13993,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/zone.c:13998,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/zone.c:14001,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14002,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - zone
    - message
    - expirep
    argTypes:
    - dns_zone_t*
    - dns_message_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14013
      start: 13970
    functionDepth: 3
    functionLinenumber: 13970
    functionLinenumberEnd: 14013
    functionName: get_edns_expire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_buffer_forward
    - dns_rdataset_current
    - isc_buffer_remaininglength
    - isc_buffer_init
    - isc_buffer_getuint32
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_add
    - dns_zone_log
    - isc_buffer_getuint16
    linkageType: ''
    returnType: void
    signature: void get_edns_expire(dns_zone_t *zone, dns_message_t *message, uint32_t
      *expirep)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:14024,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:14025,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:14032,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14035,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14036,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:14038,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:14040,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:14047,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14049,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14052,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - zone
    - expiretime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14054
      start: 14018
    functionDepth: 4
    functionLinenumber: 14018
    functionLinenumberEnd: 14054
    functionName: setmodtime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_file_settime
    - isc_result_totext
    - zone_needdump
    - isc_time_subtract
    - DNS_ZONE_FLAG
    - dns_zone_log
    linkageType: ''
    returnType: void
    signature: void setmodtime(dns_zone_t *zone, isc_time_t *expiretime)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/zone.c:14062,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:14072,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14077,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:14077,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:14081,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14081,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14082,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14082,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14084,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14087,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14089,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14091,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:14098,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:14099,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:14100,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14109,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14110,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14111,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14112,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:14117,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14118,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:14127,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/lib/dns/zone.c:14129,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14133,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14138,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14139,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14150,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14153,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:14157,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:14159,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14161,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14164,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:14175,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:14176,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14178,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:14192,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:14193,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14195,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14200,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14201,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14205,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14208,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14211,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14212,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14217,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14220,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14245,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14251,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14254,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:14255,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14256,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14263,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14272,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:14279,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:14280,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:14281,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:14282,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14288,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14299,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14310,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14321,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:14332,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14336,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:14343,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14345,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:14350,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:14351,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14352,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14355,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:14357,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14360,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14361,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:14362,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:14365,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14369,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14370,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:14371,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/lib/dns/zone.c:14373,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14376,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:14389,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14396,1
    - Dst: ns_query
      Src: /src/bind9/lib/dns/zone.c:14397,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:14400,1
    - Dst: isc_serial_eq
      Src: /src/bind9/lib/dns/zone.c:14402,1
    - Dst: get_edns_expire
      Src: /src/bind9/lib/dns/zone.c:14410,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:14411,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:14416,1
    - Dst: setmodtime
      Src: /src/bind9/lib/dns/zone.c:14419,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:14423,1
    - Dst: dns_remote_mark
      Src: /src/bind9/lib/dns/zone.c:14424,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:14427,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14428,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:14434,1
    - Dst: dns_remote_mark
      Src: /src/bind9/lib/dns/zone.c:14437,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:14441,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:14447,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:14449,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:14453,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:14454,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:14455,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:14456,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14457,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:14458,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:14461,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:14465,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:14476,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:14478,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:14480,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:14485,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:14487,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:14488,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14493,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14495,1
    - Dst: queue_xfrin
      Src: /src/bind9/lib/dns/zone.c:14497,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:14499,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 253
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14501
      start: 14059
    functionDepth: 5
    functionLinenumber: 14059
    functionLinenumberEnd: 14501
    functionName: refresh_callback
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ns_query
    - isc_sockaddr_format
    - dns_rdataset_current
    - isc_time_compare
    - dns_zone_logc
    - dns_rdataset_first
    - dns_unreachcache_find
    - DNS_ZONE_VALID
    - zone_settimer
    - dns_remote_mark
    - dns_rdata_tostruct
    - zone_get_from_db
    - dns_request_usedtcp
    - DNS_ZONE_TIME_ADD
    - dns_remote_curraddr
    - dns_request_getresponse
    - isc_serial_gt
    - isc_time_now
    - get_edns_expire
    - DNS_ZONE_JITTER_ADD
    - dns_message_create
    - LOCK_ZONE
    - isc_log_wouldlog
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - message_count
    - queue_soa_query
    - INSIST
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - dns_request_getresult
    - dns_remote_next
    - dns_message_detach
    - dns_remote_done
    - queue_xfrin
    - dns_message_findname
    - setmodtime
    - UNLOCK_ZONE
    - dns_opcode_totext
    - dns_request_getarg
    - zone_debuglogc
    - dns_zone_idetach
    - isc_result_totext
    - dns_request_destroy
    - isc_buffer_init
    - isc_serial_eq
    - DNS_ZONE_FLAG
    - DNS_ZONE_OPTION
    - dns_rcode_totext
    linkageType: ''
    returnType: void
    signature: void refresh_callback(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14517,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:14517,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14519,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:14520,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14524,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14528,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:14533,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:14534,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:14537,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:14538,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:14539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14541
      start: 14508
    functionDepth: 3
    functionLinenumber: 14508
    functionLinenumberEnd: 14541
    functionName: queue_soa_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - cancel_refresh
    - isc_mem_put
    - LOCKED_ZONE
    - isc_mem_get
    - zone_iattach
    - isc_time_now
    - REQUIRE
    - DNS_ZONE_FLAG
    - isc_ratelimiter_enqueue
    - zone_idetach
    linkageType: ''
    returnType: void
    signature: void queue_soa_query(dns_zone_t *zone)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14559,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:14559,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14563,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14564,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14567,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14574,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14575,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14578,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:14578,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14579,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:14579,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:14581,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:14582,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:14583,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:14585,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:14593,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:14594,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:14595,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:14596,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:14599,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14600,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:14607,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/zone.c:14610,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14612,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:14619,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:14620,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:14621,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:14622,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:14626,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:14627,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14635,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:14642,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/zone.c:14645,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14647,1
    - Dst: dns_peer_gettransfersource
      Src: /src/bind9/lib/dns/zone.c:14649,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/dns/zone.c:14654,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/zone.c:14655,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/zone.c:14656,1
    - Dst: dns_peer_getrequestexpire
      Src: /src/bind9/lib/dns/zone.c:14657,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zone.c:14658,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:14665,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:14669,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:14672,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:14680,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:14683,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14699,1
    - Dst: create_query
      Src: /src/bind9/lib/dns/zone.c:14706,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14708,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/zone.c:14709,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:14711,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14713,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:14717,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/zone.c:14719,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:14720,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:14726,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:14727,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14729,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14733,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:14735,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:14736,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:14738,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:14744,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:14747,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:14750,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:14753,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:14756,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14760,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14762,1
    - Dst: queue_xfrin
      Src: /src/bind9/lib/dns/zone.c:14764,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/dns/zone.c:14766,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:14767,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:14768,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:14773,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:14776,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:14779,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:14784,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:14785,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:14788,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 176
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14790
      start: 14543
    functionDepth: 5
    functionLinenumber: 14543
    functionLinenumberEnd: 14790
    functionName: soa_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_peer_getsupportedns
    - dns_view_getpeertsig
    - dns_view_getudpsize
    - dns_view_gettsig
    - isc_sockaddr_disabled
    - isc_netaddr_format
    - dns_peer_getforcetcp
    - isc_nm_getprimariestimeout
    - dns_zone_logc
    - REQUIRE
    - dns_peerlist_peerbyaddr
    - dns_peer_getrequestnsid
    - DNS_ZONE_VALID
    - dns_remote_curraddr
    - isc_sockaddr_any6
    - dns_tsigkey_detach
    - dns_peer_getudpsize
    - dns_view_gettransport
    - dns_request_create
    - zone_iattach
    - dns_remote_sourceaddr
    - isc_time_now
    - create_query
    - dns_name_format
    - LOCK_ZONE
    - dns_peer_getrequestexpire
    - dns_zone_getview
    - cancel_refresh
    - inc_stats
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - INSIST
    - dns_peer_gettransfersource
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - isc_sockaddr_any
    - dns_remote_reset
    - isc_rlevent_free
    - dns_remote_keyname
    - dns_remote_next
    - zone_idetach
    - dns_remote_done
    - dns_message_detach
    - isc_sockaddr_equal
    - queue_xfrin
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - dns_transport_detach
    - zone_debuglogc
    - dns_zone_idetach
    - isc_result_totext
    - DNS_ZONE_FLAG
    - isc_mem_put
    - add_opt
    - dns_remote_count
    - dns_remote_tlsname
    linkageType: ''
    returnType: void
    signature: void soa_query(void *arg)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14805,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:14805,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14806,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:14806,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14807,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14809,1
    - Dst: DNS_STUB_VALID
      Src: /src/bind9/lib/dns/zone.c:14809,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14814,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/zone.c:14820,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:14825,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:14832,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:14834,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:14835,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:14837,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14839,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:14840,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14845,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14849,1
    - Dst: dns_db_setloop
      Src: /src/bind9/lib/dns/zone.c:14852,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:14853,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:14854,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:14858,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14860,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14863,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:14870,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14872,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14875,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:14879,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:14881,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14883,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14886,1
    - Dst: create_query
      Src: /src/bind9/lib/dns/zone.c:14894,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14896,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:14896,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14897,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:14897,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:14899,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:14900,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:14901,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:14906,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:14907,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:14908,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:14909,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:14912,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14913,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:14918,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:14927,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/zone.c:14930,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14932,1
    - Dst: dns_peer_gettransfersource
      Src: /src/bind9/lib/dns/zone.c:14934,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/dns/zone.c:14939,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/zone.c:14940,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/zone.c:14941,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14944,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/zone.c:14945,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:14947,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14949,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:14956,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:14960,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:14963,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:14971,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:14974,1
    - Dst: POST
      Src: /src/bind9/lib/dns/zone.c:14981,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14989,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/zone.c:14994,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:14998,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:15004,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15006,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:15009,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:15013,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:15016,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15019,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:15022,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:15024,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:15026,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:15030,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 155
    argCount: 3
    argNames:
    - zone
    - soardataset
    - stub
    argTypes:
    - dns_zone_t*
    - dns_rdataset_t*
    - dns_stub_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15033
      start: 14792
    functionDepth: 3
    functionLinenumber: 14792
    functionLinenumberEnd: 15033
    functionName: ns_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_peer_getsupportedns
    - dns_view_getpeertsig
    - dns_view_getudpsize
    - dns_view_gettsig
    - isc_nm_getprimariestimeout
    - REQUIRE
    - dns_peerlist_peerbyaddr
    - dns_peer_getrequestnsid
    - DNS_ZONE_VALID
    - ZONEDB_LOCK
    - dns_db_setmaxrrperset
    - dns_db_findnode
    - isc_mem_put
    - dns_db_addrdataset
    - dns_remote_curraddr
    - isc_sockaddr_any6
    - dns_tsigkey_detach
    - dns_db_detach
    - dns_peer_getudpsize
    - dns_request_create
    - zone_iattach
    - dns_remote_sourceaddr
    - dns_db_setloop
    - create_query
    - dns_zone_log
    - dns_name_format
    - dns_db_create
    - dns_zone_getview
    - cancel_refresh
    - DNS_STUB_VALID
    - isc_netaddr_fromsockaddr
    - dns_db_attach
    - INSIST
    - dns_peer_gettransfersource
    - isc_mem_get
    - DNS_ZONE_SETFLAG
    - isc_sockaddr_any
    - dns_remote_keyname
    - dns_message_detach
    - ZONEDB_UNLOCK
    - dns_remote_done
    - isc_sockaddr_equal
    - dns_db_newversion
    - zone_idetach
    - isc_sockaddr_pf
    - DNS_ZONE_FLAG
    - LOCKED_ZONE
    - isc_result_totext
    - atomic_init
    - dns_db_setmaxtypepername
    - POST
    - dns_db_detachnode
    - add_opt
    - dns_remote_count
    - zone_debuglog
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void ns_query(dns_zone_t *zone, dns_rdataset_t *soardataset, dns_stub_t
      *stub)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15045,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15045,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15046,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:15046,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:15048,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:15057,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:15059,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:15065,1
    - Dst: zmgr_resume_xfrs
      Src: /src/bind9/lib/dns/zone.c:15068,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:15070,1
    - Dst: dns_xfrin_shutdown
      Src: /src/bind9/lib/dns/zone.c:15078,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/lib/dns/zone.c:15083,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15086,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15087,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:15100,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:15103,1
    - Dst: dns_loadctx_cancel
      Src: /src/bind9/lib/dns/zone.c:15107,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15110,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15111,1
    - Dst: dns_dumpctx_cancel
      Src: /src/bind9/lib/dns/zone.c:15114,1
    - Dst: checkds_cancel
      Src: /src/bind9/lib/dns/zone.c:15118,1
    - Dst: notify_cancel
      Src: /src/bind9/lib/dns/zone.c:15120,1
    - Dst: forward_cancel
      Src: /src/bind9/lib/dns/zone.c:15122,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:15125,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/zone.c:15126,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15134,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:15135,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:15142,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15142,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:15146,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15150,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:15153,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:15156,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:15160,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:15163,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:15166,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15168
      start: 15038
    functionDepth: 5
    functionLinenumber: 15038
    functionLinenumberEnd: 15168
    functionName: zone_shutdown
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - zone_free
    - dns_loadctx_cancel
    - dns_zone_detach
    - REQUIRE
    - dns_view_weakdetach
    - DNS_ZONE_VALID
    - zmgr_resume_xfrs
    - RWUNLOCK
    - forward_cancel
    - inline_secure
    - checkds_cancel
    - dns_request_cancel
    - LOCK_ZONE
    - dns_xfrin_shutdown
    - RWLOCK
    - notify_cancel
    - exit_check
    - INSIST
    - DNS_ZONE_SETFLAG
    - ISC_LIST_UNLINK
    - inline_raw
    - dns_dumpctx_cancel
    - UNLOCK_ZONE
    - isc_timer_destroy
    - isc_refcount_current
    - dns_zonemgr_releasezone
    - dns_zone_idetach
    - isc_refcount_decrement
    - DNS_ZONE_FLAG
    - zone_debuglog
    linkageType: ''
    returnType: void
    signature: void zone_shutdown(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15174,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15174,1
    - Dst: zone_maintenance
      Src: /src/bind9/lib/dns/zone.c:15176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15177
      start: 15170
    functionDepth: 11
    functionLinenumber: 15170
    functionLinenumberEnd: 15177
    functionName: zone_timer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_maintenance
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void zone_timer(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:15181,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/zone.c:15183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15185
      start: 15179
    functionDepth: 2
    functionLinenumber: 15179
    functionLinenumberEnd: 15185
    functionName: zone_timer_stop
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_timer_stop
    - zone_debuglog
    linkageType: ''
    returnType: void
    signature: void zone_timer_stop(dns_zone_t *zone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15191,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:15192,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:15194,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:15198,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:15200,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/zone.c:15201,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/zone.c:15204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - zone
    - next
    - now
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15206
      start: 15187
    functionDepth: 2
    functionLinenumber: 15187
    functionLinenumberEnd: 15206
    functionName: zone_timer_set
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - isc_refcount_increment0
    - isc_time_compare
    - isc_timer_start
    - isc_time_subtract
    - zone_debuglog
    linkageType: ''
    returnType: void
    signature: void zone_timer_set(dns_zone_t *zone, isc_time_t *next, isc_time_t
      *now)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15216,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15216,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15219,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15220,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:15223,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:15227,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15232,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15233,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15237,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15238,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15240,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15240,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15241,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15242,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15250,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15251,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15253,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15254,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15259,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15260,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15261,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15266,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15267,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15268,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15273,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15274,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15275,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15280,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15281,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15282,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15292,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15293,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15299,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15300,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15301,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15302,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15303,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15304,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15305,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15309,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15310,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15312,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15313,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15318,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15319,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15321,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15321,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15322,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15323,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15331,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15332,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15334,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15334,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15335,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15336,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15341,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15342,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15343,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15344,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:15356,1
    - Dst: zone_timer_stop
      Src: /src/bind9/lib/dns/zone.c:15357,1
    - Dst: zone_timer_set
      Src: /src/bind9/lib/dns/zone.c:15359,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:15363,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:15364,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:15365,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15366,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:15368,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 109
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15370
      start: 15208
    functionDepth: 4
    functionLinenumber: 15208
    functionLinenumberEnd: 15370
    functionName: zone__settimer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_time_isepoch
    - UNLOCK_ZONE
    - zone_timer_set
    - zone_free
    - exit_check
    - isc_time_compare
    - INSIST
    - isc_refcount_decrement
    - dns_remote_addresses
    - REQUIRE
    - zone_timer_stop
    - DNS_ZONE_FLAG
    - isc_mem_put
    - isc_time_settoepoch
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone__settimer(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15374,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:15378,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:15383,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:15384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - now
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15385
      start: 15372
    functionDepth: 2
    functionLinenumber: 15372
    functionLinenumberEnd: 15385
    functionName: zone_settimer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 12
    functionsReached:
    - isc_mem_get
    - isc_refcount_increment0
    - isc_async_run
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: void
    signature: void zone_settimer(dns_zone_t *zone, isc_time_t *now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15395,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15395,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15396,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:15396,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15400,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:15401,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:15402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15403
      start: 15387
    functionDepth: 3
    functionLinenumber: 15387
    functionLinenumberEnd: 15403
    functionName: cancel_refresh
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - LOCKED_ZONE
    - DNS_ZONE_CLRFLAG
    - isc_time_now
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_settimer
    linkageType: ''
    returnType: void
    signature: void cancel_refresh(dns_zone_t *zone)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15424,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15424,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15425,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:15427,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/zone.c:15434,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/zone.c:15436,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/zone.c:15441,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/zone.c:15442,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:15444,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/zone.c:15445,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/zone.c:15453,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/zone.c:15454,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/zone.c:15455,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/zone.c:15456,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:15458,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15459,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:15460,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:15461,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/zone.c:15463,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:15464,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:15465,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:15470,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:15471,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:15476,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:15480,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:15481,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/zone.c:15482,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/zone.c:15483,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/zone.c:15484,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/zone.c:15485,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/zone.c:15486,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zone.c:15487,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:15488,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:15495,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/zone.c:15497,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:15499,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/zone.c:15500,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:15508,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:15511,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15514,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/zone.c:15517,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/zone.c:15520,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/zone.c:15523,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/lib/dns/zone.c:15526,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 96
    argCount: 3
    argNames:
    - zone
    - flags
    - messagep
    argTypes:
    - dns_zone_t*
    - unsigned int
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15532
      start: 15405
    functionDepth: 3
    functionLinenumber: 15405
    functionLinenumberEnd: 15532
    functionName: notify_createmessage
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdataset_next
    - isc_buffer_putmem
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_message_puttemprdatalist
    - dns_rdataset_disassociate
    - dns_message_gettempname
    - REQUIRE
    - dns_rdataset_first
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_message_takebuffer
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_message_puttempname
    - ZONEDB_LOCK
    - dns_message_puttemprdata
    - dns_db_findnode
    - dns_db_detach
    - dns_message_gettemprdataset
    - dns_message_create
    - dns_message_puttemprdataset
    - dns_message_gettemprdata
    - dns_db_currentversion
    - dns_message_addname
    - dns_db_attach
    - INSIST
    - ZONEDB_UNLOCK
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - dns_rdataset_makequestion
    - dns_name_clone
    - dns_db_detachnode
    - dns_rdata_toregion
    - dns_db_closeversion
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t notify_createmessage(dns_zone_t *zone, unsigned int flags,\n\t\t
      \    dns_message_t **messagep)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15550,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15550,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:15572,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15577,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15578,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:15579,1
    - Dst: dns_zone_notifyreceive
      Src: /src/bind9/lib/dns/zone.c:15580,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15581,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:15587,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:15588,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:15590,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:15593,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15597,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15599,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15606,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15615,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:15619,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:15620,1
    - Dst: dns_remote_addr
      Src: /src/bind9/lib/dns/zone.c:15621,1
    - Dst: isc_sockaddr_eqaddr
      Src: /src/bind9/lib/dns/zone.c:15622,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/zone.c:15626,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:15627,1
    - Dst: isc_netaddr_fromv4mapped
      Src: /src/bind9/lib/dns/zone.c:15630,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:15631,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/dns/zone.c:15632,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/zone.c:15642,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/lib/dns/zone.c:15643,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:15644,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/zone.c:15646,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:15651,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15652,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15653,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:15655,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15664,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:15666,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:15670,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:15676,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:15677,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:15678,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:15685,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:15688,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:15689,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/zone.c:15690,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15691,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15696,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15707,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15708,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15710,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15712,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15719,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15729,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15732,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15736,1
    - Dst: dns_unreachcache_remove
      Src: /src/bind9/lib/dns/zone.c:15739,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/lib/dns/zone.c:15741,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 4
    argNames:
    - zone
    - from
    - to
    - msg
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15743
      start: 15534
    functionDepth: 4
    functionLinenumber: 15534
    functionLinenumberEnd: 15743
    functionName: dns_zone_notifyreceive
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_sockaddr_format
    - dns_rdataset_current
    - dns_unreachcache_remove
    - dns_zone_logc
    - REQUIRE
    - IN6_IS_ADDR_V4MAPPED
    - dns_rdataset_first
    - dns_zone_refresh
    - DNS_ZONE_VALID
    - dns_message_gettsigkey
    - dns_rdata_tostruct
    - zone_get_from_db
    - dns_tsigkey_identity
    - inline_secure
    - dns_acl_match
    - isc_sockaddr_eqaddr
    - LOCK_ZONE
    - inc_stats
    - isc_netaddr_fromsockaddr
    - RUNTIME_CHECK
    - INSIST
    - DNS_ZONE_SETFLAG
    - isc_netaddr_equal
    - dns_remote_addr
    - dns_zone_notifyreceive
    - dns_message_findname
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - isc_netaddr_fromv4mapped
    - DNS_ZONE_FLAG
    - dns_remote_count
    - isc_serial_le
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_notifyreceive(dns_zone_t *zone, isc_sockaddr_t
      *from,\n\t\t       isc_sockaddr_t *to, dns_message_t *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15747,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15747,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15749,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15751,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zone.c:15753,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15755
      start: 15745
    functionDepth: 1
    functionLinenumber: 15745
    functionLinenumberEnd: 15755
    functionName: dns_zone_setnotifyacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - dns_acl_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifyacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15759,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15759,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15761,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15763,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zone.c:15765,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15767
      start: 15757
    functionDepth: 1
    functionLinenumber: 15757
    functionLinenumberEnd: 15767
    functionName: dns_zone_setqueryacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - dns_acl_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setqueryacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15771,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15771,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15773,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15775,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zone.c:15777,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15779
      start: 15769
    functionDepth: 1
    functionLinenumber: 15769
    functionLinenumberEnd: 15779
    functionName: dns_zone_setqueryonacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - dns_acl_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setqueryonacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15783,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15783,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15785,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15787,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zone.c:15789,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15791
      start: 15781
    functionDepth: 1
    functionLinenumber: 15781
    functionLinenumberEnd: 15791
    functionName: dns_zone_setupdateacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - dns_acl_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setupdateacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15795,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15795,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15797,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15799,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zone.c:15801,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15803
      start: 15793
    functionDepth: 1
    functionLinenumber: 15793
    functionLinenumberEnd: 15803
    functionName: dns_zone_setforwardacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - dns_acl_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setforwardacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15807,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15807,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15809,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15811,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zone.c:15813,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15815
      start: 15805
    functionDepth: 1
    functionLinenumber: 15805
    functionLinenumberEnd: 15815
    functionName: dns_zone_setxfracl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - dns_acl_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setxfracl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15819,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15822
      start: 15817
    functionDepth: 1
    functionLinenumber: 15817
    functionLinenumberEnd: 15822
    functionName: dns_zone_getnotifyacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_zone_getnotifyacl(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15826,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15829
      start: 15824
    functionDepth: 1
    functionLinenumber: 15824
    functionLinenumberEnd: 15829
    functionName: dns_zone_getqueryacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_zone_getqueryacl(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15833,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15836
      start: 15831
    functionDepth: 1
    functionLinenumber: 15831
    functionLinenumberEnd: 15836
    functionName: dns_zone_getqueryonacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_zone_getqueryonacl(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15840,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15843
      start: 15838
    functionDepth: 1
    functionLinenumber: 15838
    functionLinenumberEnd: 15843
    functionName: dns_zone_getupdateacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_zone_getupdateacl(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15847,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15850
      start: 15845
    functionDepth: 1
    functionLinenumber: 15845
    functionLinenumberEnd: 15850
    functionName: dns_zone_getforwardacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_zone_getforwardacl(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15854,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15857
      start: 15852
    functionDepth: 1
    functionLinenumber: 15852
    functionLinenumberEnd: 15857
    functionName: dns_zone_getxfracl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_acl_t
    signature: 'dns_acl_t *

      dns_zone_getxfracl(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15861,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15861,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15863,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15865,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15868
      start: 15859
    functionDepth: 1
    functionLinenumber: 15859
    functionLinenumberEnd: 15868
    functionName: dns_zone_clearupdateacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearupdateacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15872,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15872,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15874,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15876,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15879
      start: 15870
    functionDepth: 1
    functionLinenumber: 15870
    functionLinenumberEnd: 15879
    functionName: dns_zone_clearforwardacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearforwardacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15883,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15883,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15885,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15887,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15889,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15890
      start: 15881
    functionDepth: 1
    functionLinenumber: 15881
    functionLinenumberEnd: 15890
    functionName: dns_zone_clearnotifyacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearnotifyacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15894,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15894,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15896,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15898,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15901
      start: 15892
    functionDepth: 1
    functionLinenumber: 15892
    functionLinenumberEnd: 15901
    functionName: dns_zone_clearqueryacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearqueryacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15905,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15905,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15907,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15909,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15912
      start: 15903
    functionDepth: 1
    functionLinenumber: 15903
    functionLinenumberEnd: 15912
    functionName: dns_zone_clearqueryonacl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearqueryonacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15916,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15916,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15918,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:15920,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15923
      start: 15914
    functionDepth: 1
    functionLinenumber: 15914
    functionLinenumberEnd: 15923
    functionName: dns_zone_clearxfracl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearxfracl(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15927,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15929
      start: 15925
    functionDepth: 1
    functionLinenumber: 15925
    functionLinenumberEnd: 15929
    functionName: dns_zone_getupdatedisabled
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getupdatedisabled(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15933,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - state
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15935
      start: 15931
    functionDepth: 1
    functionLinenumber: 15931
    functionLinenumberEnd: 15935
    functionName: dns_zone_setupdatedisabled
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setupdatedisabled(dns_zone_t *zone, bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15939,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15941
      start: 15937
    functionDepth: 1
    functionLinenumber: 15937
    functionLinenumberEnd: 15941
    functionName: dns_zone_getzeronosoattl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getzeronosoattl(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15945,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - state
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15947
      start: 15943
    functionDepth: 1
    functionLinenumber: 15943
    functionLinenumberEnd: 15947
    functionName: dns_zone_setzeronosoattl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setzeronosoattl(dns_zone_t *zone, bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15951,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - severity
    argTypes:
    - dns_zone_t*
    - dns_severity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15954
      start: 15949
    functionDepth: 1
    functionLinenumber: 15949
    functionLinenumberEnd: 15954
    functionName: dns_zone_setchecknames
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setchecknames(dns_zone_t *zone, dns_severity_t severity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15958,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15961
      start: 15956
    functionDepth: 1
    functionLinenumber: 15956
    functionLinenumberEnd: 15961
    functionName: dns_zone_getchecknames
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_severity_t
    signature: dns_severity_t dns_zone_getchecknames(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15965,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - size
    argTypes:
    - dns_zone_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15968
      start: 15963
    functionDepth: 1
    functionLinenumber: 15963
    functionLinenumberEnd: 15968
    functionName: dns_zone_setjournalsize
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setjournalsize(dns_zone_t *zone, int32_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15972,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15975
      start: 15970
    functionDepth: 1
    functionLinenumber: 15970
    functionLinenumberEnd: 15975
    functionName: dns_zone_getjournalsize
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: int32_t
    signature: int32_t dns_zone_getjournalsize(dns_zone_t *zone)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15982,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15983,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:15988,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:15990,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/zone.c:15991,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:15995,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:15998,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16001,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16002,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/zone.c:16004,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:16007,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:16008,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:16009,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16009,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16011,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16012,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:16014,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16014,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16015,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:16017,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16017,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16018,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zone.c:16021,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - zone
    - buf
    - length
    argTypes:
    - dns_zone_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16022
      start: 15977
    functionDepth: 2
    functionLinenumber: 15977
    functionLinenumberEnd: 16022
    functionName: zone_namerd_tostr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_name_totext
    - dns_name_dynamic
    - isc_buffer_putstr
    - dns_rdataclass_totext
    - isc_buffer_init
    - strlen
    - inline_secure
    - isc_buffer_usedlength
    - REQUIRE
    - inline_raw
    - strcmp
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void zone_namerd_tostr(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16029,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16030,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16035,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:16036,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/zone.c:16037,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16041,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16043,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zone.c:16046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - zone
    - buf
    - length
    argTypes:
    - dns_zone_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16047
      start: 16024
    functionDepth: 2
    functionLinenumber: 16024
    functionLinenumberEnd: 16047
    functionName: zone_name_tostr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_name_totext
    - dns_name_dynamic
    - isc_buffer_putstr
    - isc_buffer_init
    - isc_buffer_usedlength
    - REQUIRE
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void zone_name_tostr(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16054,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16059,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/zone.c:16060,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zone.c:16062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - zone
    - buf
    - length
    argTypes:
    - dns_zone_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16063
      start: 16049
    functionDepth: 2
    functionLinenumber: 16049
    functionLinenumberEnd: 16063
    functionName: zone_rdclass_tostr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_buffer_init
    - isc_buffer_usedlength
    - REQUIRE
    - dns_rdataclass_totext
    linkageType: ''
    returnType: void
    signature: void zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16069,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16070,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16075,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16078,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:16079,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16080,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16082,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16084,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zone.c:16087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - zone
    - buf
    - length
    argTypes:
    - dns_zone_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16088
      start: 16065
    functionDepth: 2
    functionLinenumber: 16065
    functionLinenumberEnd: 16088
    functionName: zone_viewname_tostr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_buffer_putstr
    - isc_buffer_init
    - strlen
    - isc_buffer_usedlength
    - REQUIRE
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16092,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16092,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16093,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16095,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zone.c:16096,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - zone
    - buf
    - length
    argTypes:
    - dns_zone_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16098
      start: 16090
    functionDepth: 3
    functionLinenumber: 16090
    functionLinenumberEnd: 16098
    functionName: dns_zone_name
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - zone_namerd_tostr
    - UNLOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_name(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16102,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16103,1
    - Dst: zone_name_tostr
      Src: /src/bind9/lib/dns/zone.c:16104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - buf
    - length
    argTypes:
    - dns_zone_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16105
      start: 16100
    functionDepth: 3
    functionLinenumber: 16100
    functionLinenumberEnd: 16105
    functionName: dns_zone_nameonly
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - zone_name_tostr
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_nameonly(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16113,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16113,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:16115,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/zone.c:16119,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:16132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - zone
    - category
    - level
    - prefix
    - fmt
    - ap
    argTypes:
    - dns_zone_t*
    - isc_logcategory_t
    - int
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16135
      start: 16107
    functionDepth: 2
    functionLinenumber: 16107
    functionLinenumberEnd: 16135
    functionName: dns_zone_logv
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - REQUIRE
    - DNS_ZONE_VALID
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void dns_zone_logv(dns_zone_t *zone, isc_logcategory_t category, int
      level,\n\t      const char *prefix, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:16141,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:16142,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - level
    - fmt
    argTypes:
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16144
      start: 16137
    functionDepth: 3
    functionLinenumber: 16137
    functionLinenumberEnd: 16144
    functionName: notify_log
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - va_start
    - va_end
    - dns_zone_logv
    linkageType: ''
    returnType: void
    signature: void notify_log(dns_zone_t *zone, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:16151,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:16152,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - zone
    - category
    - level
    - fmt
    argTypes:
    - dns_zone_t*
    - isc_logcategory_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16154
      start: 16146
    functionDepth: 3
    functionLinenumber: 16146
    functionLinenumberEnd: 16154
    functionName: dns_zone_logc
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - va_start
    - va_end
    - dns_zone_logv
    linkageType: ''
    returnType: void
    signature: "void dns_zone_logc(dns_zone_t *zone, isc_logcategory_t category, int
      level,\n\t      const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:16160,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:16161,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - level
    - fmt
    argTypes:
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16163
      start: 16156
    functionDepth: 3
    functionLinenumber: 16156
    functionLinenumberEnd: 16163
    functionName: dns_zone_log
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 50
    functionsReached:
    - va_start
    - va_end
    - dns_zone_logv
    linkageType: ''
    returnType: void
    signature: void dns_zone_log(dns_zone_t *zone, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16168,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:16171,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:16172,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - zone
    - category
    - me
    - debuglevel
    - fmt
    argTypes:
    - dns_zone_t*
    - isc_logcategory_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16174
      start: 16165
    functionDepth: 3
    functionLinenumber: 16165
    functionLinenumberEnd: 16174
    functionName: zone_debuglogc
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - va_end
    - dns_zone_logv
    linkageType: ''
    returnType: void
    signature: "void zone_debuglogc(dns_zone_t *zone, isc_logcategory_t category,
      const char *me,\n\t       int debuglevel, const char *fmt, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16179,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:16182,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:16183,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - zone
    - me
    - debuglevel
    - fmt
    argTypes:
    - dns_zone_t*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16185
      start: 16176
    functionDepth: 3
    functionLinenumber: 16176
    functionLinenumberEnd: 16185
    functionName: zone_debuglog
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - va_end
    - dns_zone_logv
    linkageType: ''
    returnType: void
    signature: "void zone_debuglog(dns_zone_t *zone, const char *me, int debuglevel,
      const char *fmt,\n\t      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:16191,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:16192,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - level
    - fmt
    argTypes:
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16194
      start: 16187
    functionDepth: 3
    functionLinenumber: 16187
    functionLinenumberEnd: 16194
    functionName: dnssec_log
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 20
    functionsReached:
    - va_start
    - va_end
    - dns_zone_logv
    linkageType: ''
    returnType: void
    signature: void dnssec_log(dns_zone_t *zone, int level, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/zone.c:16201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - section
    - type
    argTypes:
    - dns_message_t*
    - dns_section_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16209
      start: 16196
    functionDepth: 0
    functionLinenumber: 16196
    functionLinenumberEnd: 16209
    functionName: message_count
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - ISC_LIST_FOREACH_REV
    linkageType: ''
    returnType: int
    signature: int message_count(dns_message_t *msg, dns_section_t section, dns_rdatatype_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/zone.c:16201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16206
      start: 16200
    functionDepth: 0
    functionLinenumber: 16200
    functionLinenumberEnd: 16206
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_FOREACH_REV
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16213,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - bytes
    - seconds
    argTypes:
    - dns_zone_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16217
      start: 16211
    functionDepth: 1
    functionLinenumber: 16211
    functionLinenumberEnd: 16217
    functionName: dns_zone_setminxfrratein
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setminxfrratein(dns_zone_t *zone, uint32_t bytes, uint32_t
      seconds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16221,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16224
      start: 16219
    functionDepth: 1
    functionLinenumber: 16219
    functionLinenumberEnd: 16224
    functionName: dns_zone_getminxfrratebytesin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getminxfrratebytesin(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16228,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16231
      start: 16226
    functionDepth: 1
    functionLinenumber: 16226
    functionLinenumberEnd: 16231
    functionName: dns_zone_getminxfrratesecondsin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getminxfrratesecondsin(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16235,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - maxxfrin
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16238
      start: 16233
    functionDepth: 1
    functionLinenumber: 16233
    functionLinenumberEnd: 16238
    functionName: dns_zone_setmaxxfrin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxxfrin(dns_zone_t *zone, uint32_t maxxfrin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16242,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16245
      start: 16240
    functionDepth: 1
    functionLinenumber: 16240
    functionLinenumberEnd: 16245
    functionName: dns_zone_getmaxxfrin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getmaxxfrin(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16249,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - maxxfrout
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16251
      start: 16247
    functionDepth: 1
    functionLinenumber: 16247
    functionLinenumberEnd: 16251
    functionName: dns_zone_setmaxxfrout
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxxfrout(dns_zone_t *zone, uint32_t maxxfrout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16255,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16258
      start: 16253
    functionDepth: 1
    functionLinenumber: 16253
    functionLinenumberEnd: 16258
    functionName: dns_zone_getmaxxfrout
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getmaxxfrout(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16262,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16265
      start: 16260
    functionDepth: 1
    functionLinenumber: 16260
    functionLinenumberEnd: 16265
    functionName: dns_zone_gettype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 26
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t dns_zone_gettype(dns_zone_t *zone)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_zonetype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16291
      start: 16267
    functionDepth: 0
    functionLinenumber: 16267
    functionLinenumberEnd: 16291
    functionName: dns_zonetype_name
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zonetype_name(dns_zonetype_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16295,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16295,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16296,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:16298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16301
      start: 16293
    functionDepth: 1
    functionLinenumber: 16293
    functionLinenumberEnd: 16301
    functionName: dns_zone_getredirecttype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - dns_remote_addresses
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t dns_zone_getredirecttype(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16305,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16308
      start: 16303
    functionDepth: 1
    functionLinenumber: 16303
    functionLinenumberEnd: 16308
    functionName: dns_zone_getorigin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 29
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_zone_getorigin(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16312,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - idlein
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16318
      start: 16310
    functionDepth: 1
    functionLinenumber: 16310
    functionLinenumberEnd: 16318
    functionName: dns_zone_setidlein
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setidlein(dns_zone_t *zone, uint32_t idlein)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16322,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16325
      start: 16320
    functionDepth: 1
    functionLinenumber: 16320
    functionLinenumberEnd: 16325
    functionName: dns_zone_getidlein
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getidlein(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16329,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - idleout
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16332
      start: 16327
    functionDepth: 1
    functionLinenumber: 16327
    functionLinenumberEnd: 16332
    functionName: dns_zone_setidleout
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setidleout(dns_zone_t *zone, uint32_t idleout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16336,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16339
      start: 16334
    functionDepth: 1
    functionLinenumber: 16334
    functionLinenumberEnd: 16339
    functionName: dns_zone_getidleout
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getidleout(dns_zone_t *zone)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/zone.c:16344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16351,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/zone.c:16351,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16353,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:16354,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:16355,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:16358,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:16363,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:16369,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:16371,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16371,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:16377,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:16380,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16380,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:16385,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16387,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:16389,1
    - Dst: notify_send_queue
      Src: /src/bind9/lib/dns/zone.c:16390,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:16393,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16395,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/zone.c:16397,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16399,1
    - Dst: notify_destroy
      Src: /src/bind9/lib/dns/zone.c:16401,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16402
      start: 16341
    functionDepth: 6
    functionLinenumber: 16341
    functionLinenumberEnd: 16402
    functionName: notify_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - notify_send_queue
    - dns_request_getarg
    - notify_log
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - isc_result_totext
    - dns_request_getresponse
    - isc_buffer_init
    - dns_rcode_totext
    - dns_request_destroy
    - dns_request_getresult
    - REQUIRE
    - DNS_NOTIFY_VALID
    - dns_message_detach
    - dns_message_create
    - notify_destroy
    linkageType: ''
    returnType: void
    signature: void notify_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:16413,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - arg
    - zone
    - level
    - message
    argTypes:
    - void*
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16415
      start: 16411
    functionDepth: 4
    functionLinenumber: 16411
    functionLinenumberEnd: 16415
    functionName: update_log_cb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void update_log_cb(void *arg, dns_zone_t *zone, int level, const char
      *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:16423,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:16423,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16426,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16428,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:16432,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/zone.c:16433,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:16439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - zone
    - rdata
    - mctx
    - keylist
    - inuse
    argTypes:
    - dns_zone_t*
    - dns_rdata_t*
    - isc_mem_t*
    - dns_dnsseckeylist_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16441
      start: 16417
    functionDepth: 4
    functionLinenumber: 16417
    functionLinenumberEnd: 16441
    functionName: dnskey_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dst_key_free
    - isc_result_totext
    - dst_key_pubcompare
    - dns_zone_getorigin
    - ISC_LIST_FOREACH
    - dns_zone_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dnskey_inuse(dns_zone_t *zone, dns_rdata_t *rdata, isc_mem_t
      *mctx,\n\t     dns_dnsseckeylist_t *keylist, bool *inuse)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16449,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16451,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16453,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:16457,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/zone.c:16461,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16464,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16466,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:16471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - zone
    - rdata
    - keylist
    - inuse
    argTypes:
    - dns_zone_t*
    - dns_rdata_t*
    - dns_dnsseckeylist_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16478
      start: 16443
    functionDepth: 4
    functionLinenumber: 16443
    functionLinenumberEnd: 16478
    functionName: cdnskey_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - isc_result_totext
    - ISC_LIST_FOREACH
    - dns_zone_log
    - dns_dnssec_make_dnskey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cdnskey_inuse(dns_zone_t *zone, dns_rdata_t *rdata,\n\t
      \     dns_dnsseckeylist_t *keylist, bool *inuse)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16486,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16488,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16490,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:16494,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:16500,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:16501,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:16501,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/zone.c:16506,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16509,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16511,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zone.c:16514,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:16514,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16518,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16523,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:16528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - zone
    - rdata
    - keylist
    - inuse
    argTypes:
    - dns_zone_t*
    - dns_rdata_t*
    - dns_dnsseckeylist_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16535
      start: 16480
    functionDepth: 4
    functionLinenumber: 16480
    functionLinenumberEnd: 16535
    functionName: cds_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dst_algorithm_tosecalg
    - dst_key_alg
    - isc_result_totext
    - dst_key_id
    - dns_zone_getorigin
    - ISC_LIST_FOREACH
    - dns_zone_log
    - dns_ds_buildrdata
    - dns_dnssec_make_dnskey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cds_inuse(dns_zone_t *zone, dns_rdata_t *rdata, dns_dnsseckeylist_t
      *keylist,\n\t  bool *inuse)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:16541,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16547,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16547,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16548,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:16548,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:16552,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/zone.c:16556,1
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/zone.c:16557,1
    - Dst: dns_zone_getkeystores
      Src: /src/bind9/lib/dns/zone.c:16558,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:16560,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/zone.c:16561,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:16561,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:16564,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16568,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16570,1
    - Dst: dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:16576,1
    - Dst: cdnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:16579,1
    - Dst: cds_inuse
      Src: /src/bind9/lib/dns/zone.c:16582,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:16585,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16590,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:16591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - zone
    - rdata
    - inuse
    argTypes:
    - dns_zone_t*
    - dns_rdata_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16594
      start: 16537
    functionDepth: 5
    functionLinenumber: 16537
    functionLinenumberEnd: 16594
    functionName: dns_zone_dnskey_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_rdatatype_iskeymaterial
    - REQUIRE
    - dns_zone_getorigin
    - dnskey_inuse
    - dns_dnssec_findmatchingkeys
    - DNS_ZONE_VALID
    - dns_zone_getkeydirectory
    - dns_zone_lock_keyfiles
    - UNREACHABLE
    - isc_stdtime_now
    - cds_inuse
    - dns_zone_log
    - ISC_LIST_INIT
    - dns_dnsseckey_destroy
    - cdnskey_inuse
    - ISC_LIST_UNLINK
    - dns_zone_unlock_keyfiles
    - isc_result_totext
    - dns_zone_getkasp
    - dns_zone_getkeystores
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_dnskey_inuse(dns_zone_t *zone, dns_rdata_t *rdata,
      bool *inuse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16590,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:16591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16592
      start: 16589
    functionDepth: 2
    functionLinenumber: 16589
    functionLinenumberEnd: 16592
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 211
    functionsReached:
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keylist, key, link)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16605,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16611,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/zone.c:16611,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/zone.c:16612,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/zone.c:16613,1
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/dns/zone.c:16618,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16627,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:16629,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16641,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:16667,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:16669,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:16678,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:16679,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 7
    argNames:
    - zone
    - raw
    - journal
    - start
    - end
    - soatuplep
    - diff
    argTypes:
    - dns_zone_t*
    - dns_zone_t*
    - dns_journal_t*
    - uint32_t
    - uint32_t
    - dns_difftuple_t**
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16687
      start: 16596
    functionDepth: 8
    functionLinenumber: 16596
    functionLinenumberEnd: 16687
    functionName: sync_secure_journal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - dns_journal_first_rr
    - dns_difftuple_create
    - dns_journal_current_rr
    - dns_zone_dnskey_inuse
    - dns_journal_next_rr
    - dns_rdatatype_iskeymaterial
    - CHECK
    - REQUIRE
    - dns_zone_log
    - dns_difftuple_free
    - dns_journal_iter_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t sync_secure_journal(dns_zone_t *zone, dns_zone_t *raw,
      dns_journal_t *journal,\n\t\t    uint32_t start, uint32_t end, dns_difftuple_t
      **soatuplep,\n\t\t    dns_diff_t *diff)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:16700,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:16701,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:16708,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:16711,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:16714,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16723,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16724,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16725,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16726,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:16738,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16741,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16742,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:16747,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16750,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16751,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 5
    argNames:
    - zone
    - del
    - add
    - kasp
    - ttl
    argTypes:
    - dns_zone_t*
    - dns_difftuplelist_t*
    - dns_difftuplelist_t*
    - bool
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16758
      start: 16697
    functionDepth: 6
    functionLinenumber: 16697
    functionLinenumberEnd: 16758
    functionName: filter_keymaterial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - ISC_LIST_HEAD
    - dns_zone_dnskey_inuse
    - ISC_LIST_UNLINK
    - dns_difftuple_free
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: "void filter_keymaterial(dns_zone_t *zone, dns_difftuplelist_t *del,\n\t\t
      \  dns_difftuplelist_t *add, bool kasp, dns_ttl_t ttl)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16780,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16780,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16781,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:16787,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:16788,1
    - Dst: dns_db_diffx
      Src: /src/bind9/lib/dns/zone.c:16789,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:16790,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:16791,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/zone.c:16805,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:16807,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:16809,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:16810,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:16812,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:16816,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:16817,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:16820,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:16824,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:16825,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:16828,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:16832,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:16833,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:16835,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:16838,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16849,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16850,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:16858,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:16859,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:16875,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16881,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16885,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16893,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16897,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16901,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:16904,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16909,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:16910,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16912,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:16913,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:16924,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:16925,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16927,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16928,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16929,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16930,1
    - Dst: filter_keymaterial
      Src: /src/bind9/lib/dns/zone.c:16937,1
    - Dst: filter_keymaterial
      Src: /src/bind9/lib/dns/zone.c:16938,1
    - Dst: filter_keymaterial
      Src: /src/bind9/lib/dns/zone.c:16939,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16944,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16945,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16946,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16947,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16948,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16949,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16950,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16951,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:16953,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16962,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:16963,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16967,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 119
    argCount: 6
    argNames:
    - seczone
    - raw
    - secdb
    - secver
    - soatuple
    - diff
    argTypes:
    - dns_zone_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_difftuple_t**
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16972
      start: 16760
    functionDepth: 9
    functionLinenumber: 16760
    functionLinenumberEnd: 16972
    functionName: sync_secure_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - dns_rdatatype_iskeymaterial
    - dns_db_diffx
    - dns_rdataset_disassociate
    - REQUIRE
    - ISC_LIST_APPENDLIST
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_difftuple_free
    - dns_rdata_tostruct
    - UNREACHABLE
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_kasp_dnskeyttl
    - dns_db_getoriginnode
    - dns_db_currentversion
    - ISC_LIST_EMPTY
    - RUNTIME_CHECK
    - dns_db_attach
    - INSIST
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    - dns_name_equal
    - dns_db_detachnode
    - filter_keymaterial
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t sync_secure_db(dns_zone_t *seczone, dns_zone_t *raw,
      dns_db_t *secdb,\n\t       dns_dbversion_t *secver, dns_difftuple_t **soatuple,\n\t
      \      dns_diff_t *diff)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16990,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16997,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17000,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17001,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:17004,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:17010,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:17012,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17016,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/zone.c:17019,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17024,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17026,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17037,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:17037,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:17041,1
    - Dst: dns_journal_get_sourceserial
      Src: /src/bind9/lib/dns/zone.c:17047,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/zone.c:17048,1
    - Dst: dns_journal_set_sourceserial
      Src: /src/bind9/lib/dns/zone.c:17049,1
    - Dst: dns_journal_get_sourceserial
      Src: /src/bind9/lib/dns/zone.c:17058,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:17059,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:17063,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:17066,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17067,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:17067,1
    - Dst: sync_secure_journal
      Src: /src/bind9/lib/dns/zone.c:17074,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17080,1
    - Dst: sync_secure_db
      Src: /src/bind9/lib/dns/zone.c:17080,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17085,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/zone.c:17085,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17091,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/zone.c:17091,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:17094,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:17096,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:17097,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/dns/zone.c:17102,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17104,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:17104,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17106,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:17106,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17109,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:17109,1
    - Dst: dns_update_signaturesinc
      Src: /src/bind9/lib/dns/zone.c:17115,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:17120,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:17122,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:17134,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17139,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:17139,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17143,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:17143,1
    - Dst: dns_journal_set_sourceserial
      Src: /src/bind9/lib/dns/zone.c:17146,1
    - Dst: dns_journal_commit
      Src: /src/bind9/lib/dns/zone.c:17147,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17149,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:17150,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:17154,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:17160,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:17161,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:17162,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17163,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17165,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17166,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17169,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:17174,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:17178,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17181,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:17182,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:17183,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:17184,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17185,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17189,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17190,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:17193,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:17196,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17200,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17204,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:17207,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17209,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17210,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:17212,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:17214,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:17216,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 143
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17217
      start: 16974
    functionDepth: 10
    functionLinenumber: 16974
    functionLinenumberEnd: 17217
    functionName: receive_secure_serial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_db_closeversion
    - dns_zone_detach
    - dns_journal_first_serial
    - dns_journal_commit
    - dns_diff_init
    - zone_settimer
    - dns_difftuple_free
    - ZONEDB_LOCK
    - do_one_tuple
    - dns_db_detach
    - sync_secure_journal
    - zone_needdump
    - isc_serial_gt
    - isc_time_now
    - dns_journal_open
    - dns_zone_log
    - sync_secure_db
    - LOCK_ZONE
    - dns_update_signaturesinc
    - dns_db_currentversion
    - dns_journal_destroy
    - set_resigntime
    - dns_db_attach
    - INSIST
    - dns_soa_getserial
    - DNS_ZONE_SETFLAG
    - dns_journal_get_sourceserial
    - dns_journal_set_sourceserial
    - dns_soa_setserial
    - dns_diff_clear
    - ZONEDB_UNLOCK
    - dns_diff_apply
    - dns_db_createsoatuple
    - dns_db_newversion
    - zone_journal
    - UNLOCK_ZONE
    - dns_zone_attach
    - dns_zone_idetach
    - isc_result_totext
    - CHECK
    - isc_mem_put
    - update_soa_serial
    - dns_db_issecure
    linkageType: ''
    returnType: void
    signature: void receive_secure_serial(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17223,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17229,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17229,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:17230,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:17231,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:17233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17235
      start: 17219
    functionDepth: 2
    functionLinenumber: 17219
    functionLinenumberEnd: 17235
    functionName: zone_send_secureserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - isc_async_run
    - LOCKED_ZONE
    - INSIST
    - DNS_ZONE_CLRFLAG
    - isc_mem_get
    - zone_iattach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_send_secureserial(dns_zone_t *zone, uint32_t serial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:17248,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17249,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17250,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:17251,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17252,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:17254,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:17255,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:17270,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:17271,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:17272,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17274,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/zone.c:17275,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17279,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:17281,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/zone.c:17282,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/zone.c:17284,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/dns/zone.c:17285,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:17286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 6
    argNames:
    - db
    - node
    - version
    - name
    - rdataset
    - oldserial
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdataset_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17287
      start: 17237
    functionDepth: 2
    functionLinenumber: 17237
    functionLinenumberEnd: 17287
    functionName: checkandaddsoa
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - dns_rdata_fromstruct
    - dns_db_addrdataset
    - RUNTIME_CHECK
    - ISC_LIST_APPEND
    - dns_rdataset_setownercase
    - dns_rdataset_current
    - dns_rdataset_init
    - isc_buffer_init
    - isc_serial_gt
    - dns_rdataset_first
    - dns_rdata_reset
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t checkandaddsoa(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t       dns_name_t *name, dns_rdataset_t *rdataset, uint32_t oldserial)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17303,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17304,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17305,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:17305,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:17307,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:17308,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:17310,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17311,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:17311,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:17313,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:17314,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17332,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17333,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17334,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17336,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:17337,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:17343,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17347,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:17351,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17366,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17367,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17368,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:17374,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:17383,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17389,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:17392,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:17395,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:17397,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17404,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:17405,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17411,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:17412,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17414,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:17424,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17427,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:17430,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:17432,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:17433,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:17435,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:17436,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 2
    argNames:
    - zone
    - nsec3list
    argTypes:
    - dns_zone_t*
    - nsec3paramlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17439
      start: 17293
    functionDepth: 2
    functionLinenumber: 17293
    functionLinenumberEnd: 17439
    functionName: save_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_nsec3param_toprivate
    - NSEC3REMOVE
    - dns_db_findrdataset
    - dns_rdataset_current
    - memcmp
    - isc_log_write
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_nsec3param_fromprivate
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - ISC_LINK_INIT
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_db_getoriginnode
    - dns_db_currentversion
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - dns_db_attach
    - INSIST
    - isc_mem_get
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - dns_db_detachnode
    - ISC_LIST_APPEND
    - CHECK
    - isc_mem_put
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t save_nsec3param(dns_zone_t *zone, nsec3paramlist_t *nsec3list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17332,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17333,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17334,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17336,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:17337,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:17343,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17348
      start: 17328
    functionDepth: 2
    functionLinenumber: 17328
    functionLinenumberEnd: 17348
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_toprivate
    - ISC_LIST_APPEND
    - ISC_LOG_DEBUG
    - ISC_LINK_INIT
    - dns_rdataset_current
    - isc_mem_get
    - isc_log_write
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17366,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17367,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17368,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:17374,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:17383,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17389,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:17392,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:17395,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:17397,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17404,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:17405,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17411,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:17412,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17415
      start: 17362
    functionDepth: 2
    functionLinenumber: 17362
    functionLinenumberEnd: 17415
    functionName: (&prdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISC_LIST_APPEND
    - NSEC3REMOVE
    - ISC_LOG_DEBUG
    - ISC_LINK_INIT
    - dns_rdataset_current
    - INSIST
    - isc_mem_get
    - memcmp
    - isc_log_write
    - ISC_LIST_UNLINK
    - dns_nsec3param_fromprivate
    - ISC_LIST_FOREACH
    - isc_mem_put
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&prdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17451,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17452,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:17452,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:17454,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17461,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/zone.c:17462,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:17468,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:17475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - zone
    - db
    - version
    - nsec3list
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - nsec3paramlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17477
      start: 17444
    functionDepth: 1
    functionLinenumber: 17444
    functionLinenumberEnd: 17477
    functionName: restore_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - ISC_LIST_EMPTY
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_diff_clear
    - update_one_rr
    - DNS_ZONE_VALID
    - dns_diff_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t restore_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *version,\n\t\t   nsec3paramlist_t *nsec3list)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:17484,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:17488,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:17493,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:17495,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:17500,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:17507,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:17513,1
    - Dst: checkandaddsoa
      Src: /src/bind9/lib/dns/zone.c:17523,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:17526,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:17529,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:17537,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:17540,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:17543,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 5
    argNames:
    - db
    - version
    - rawdb
    - dbiterator
    - oldserial
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_db_t*
    - dns_dbiterator_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17546
      start: 17479
    functionDepth: 3
    functionLinenumber: 17479
    functionLinenumberEnd: 17546
    functionName: copy_non_dnssec_records
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_rdatasetiter_current
    - dns_fixedname_initname
    - dns_dbiterator_pause
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_rdataset_disassociate
    - checkandaddsoa
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t copy_non_dnssec_records(dns_db_t *db, dns_dbversion_t
      *version, dns_db_t *rawdb,\n\t\t\tdns_dbiterator_t *dbiterator, unsigned int
      *oldserial)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:17507,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:17513,1
    - Dst: checkandaddsoa
      Src: /src/bind9/lib/dns/zone.c:17523,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:17526,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:17529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17533
      start: 17505
    functionDepth: 3
    functionLinenumber: 17505
    functionLinenumberEnd: 17533
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - checkandaddsoa
    - dns_rdataset_disassociate
    - dns_db_addrdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsit)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:17560,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17562,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17563,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:17563,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:17568,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:17569,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:17571,1
    - Dst: save_nsec3param
      Src: /src/bind9/lib/dns/zone.c:17580,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17582,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17586,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:17588,1
    - Dst: dns_db_setgluecachestats
      Src: /src/bind9/lib/dns/zone.c:17595,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:17600,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:17605,1
    - Dst: copy_non_dnssec_records
      Src: /src/bind9/lib/dns/zone.c:17611,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:17617,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:17623,1
    - Dst: restore_nsec3param
      Src: /src/bind9/lib/dns/zone.c:17624,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17630,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17635,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17636,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:17637,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:17638,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:17639,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17640,1
    - Dst: process_zone_setnsec3param
      Src: /src/bind9/lib/dns/zone.c:17645,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17648,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:17650,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17653,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17654,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:17657,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:17659,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:17660,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:17661,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17665,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:17667,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:17670,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:17671,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:17672,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17674,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17675
      start: 17548
    functionDepth: 11
    functionLinenumber: 17548
    functionLinenumberEnd: 17675
    functionName: receive_secure_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getsoaserial
    - ZONEDB_LOCK
    - ISC_LIST_HEAD
    - restore_nsec3param
    - dns_db_detach
    - inline_secure
    - zone_needdump
    - isc_time_now
    - ISC_LIST_INIT
    - dns_zone_log
    - dns_dbiterator_destroy
    - dns_db_create
    - LOCK_ZONE
    - copy_non_dnssec_records
    - ISC_LIST_EMPTY
    - zone_postload
    - dns_db_setgluecachestats
    - INSIST
    - DNS_ZONE_SETFLAG
    - ISC_LIST_UNLINK
    - ZONEDB_UNLOCK
    - dns_db_newversion
    - UNLOCK_ZONE
    - save_nsec3param
    - process_zone_setnsec3param
    - dns_zone_idetach
    - isc_result_totext
    - DNS_ZONE_FLAG
    - dns_db_createiterator
    - isc_mem_put
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void receive_secure_db(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_non_dnssec_records
      Src: /src/bind9/lib/dns/zone.c:17611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17616
      start: 17610
    functionDepth: 4
    functionLinenumber: 17610
    functionLinenumberEnd: 17616
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - copy_non_dnssec_records
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17681,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17684,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17684,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:17685,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:17686,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:17687,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:17689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17691
      start: 17677
    functionDepth: 2
    functionLinenumber: 17677
    functionLinenumberEnd: 17691
    functionName: zone_send_securedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - dns_db_attach
    - LOCKED_ZONE
    - INSIST
    - DNS_ZONE_CLRFLAG
    - isc_mem_get
    - zone_iattach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_send_securedb(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17698,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17698,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17700,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:17701,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17703,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17704,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17706,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:17708,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:17712,1
    - Dst: zone_replacedb
      Src: /src/bind9/lib/dns/zone.c:17713,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17714,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17716,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - zone
    - db
    - dump
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17720
      start: 17693
    functionDepth: 2
    functionLinenumber: 17693
    functionLinenumberEnd: 17720
    functionName: dns_zone_replacedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - ZONEDB_LOCK
    - UNLOCK_ZONE
    - isc_thread_yield
    - INSIST
    - TRYLOCK_ZONE
    - zone_replacedb
    - REQUIRE
    - inline_raw
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool
      dump)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17732,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17732,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17733,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17733,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:17734,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17735,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17735,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:17738,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17742,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17747,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17754,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17756,1
    - Dst: check_nsec3param
      Src: /src/bind9/lib/dns/zone.c:17760,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:17766,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:17774,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17775,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17779,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17779,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:17781,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17783,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:17792,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17795,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17796,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:17799,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:17800,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17805,1
    - Dst: dns_db_diff
      Src: /src/bind9/lib/dns/zone.c:17813,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:17817,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17818,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:17825,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:17827,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:17829,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:17830,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17839,1
    - Dst: remove
      Src: /src/bind9/lib/dns/zone.c:17840,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:17843,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17844,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17851,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:17852,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:17854,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17869,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17870,1
    - Dst: remove
      Src: /src/bind9/lib/dns/zone.c:17872,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:17874,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:17875,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:17884,1
    - Dst: zone_send_securedb
      Src: /src/bind9/lib/dns/zone.c:17885,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17889,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17891,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17891,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:17894,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:17896,1
    - Dst: dns_db_setloop
      Src: /src/bind9/lib/dns/zone.c:17897,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:17898,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:17899,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:17900,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17904,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 3
    argNames:
    - zone
    - db
    - dump
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17906
      start: 17722
    functionDepth: 8
    functionLinenumber: 17722
    functionLinenumberEnd: 17906
    functionName: zone_replacedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_db_getsoaserial
    - dns_db_diff
    - isc_log_write
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_send_secureserial
    - zone_get_from_db
    - dns_db_setmaxrrperset
    - zone_needdump
    - isc_serial_gt
    - dns_db_setloop
    - zone_journal_compact
    - dns_zone_log
    - zone_attachdb
    - dns_db_currentversion
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - remove
    - DNS_ZONE_SETFLAG
    - strerror_r
    - dns_remote_addresses
    - inline_raw
    - zone_send_securedb
    - zone_detachdb
    - dns_db_setmaxtypepername
    - LOCKED_ZONE
    - isc_result_totext
    - check_nsec3param
    - DNS_ZONE_FLAG
    - DNS_ZONE_OPTION
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool dump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17911,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:17913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17914
      start: 17909
    functionDepth: 1
    functionLinenumber: 17909
    functionLinenumberEnd: 17914
    functionName: zone_attachdb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_db_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void zone_attachdb(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17919,1
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:17921,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:17922,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:17923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17924
      start: 17917
    functionDepth: 3
    functionLinenumber: 17917
    functionLinenumberEnd: 17924
    functionName: zone_detachdb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_zone_rpz_disable_db
    - dns_zone_catz_disable_db
    - dns_db_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void zone_detachdb(dns_zone_t *zone)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17937,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17937,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:17939,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17940,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17943,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17951,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:17952,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17954,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17955,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17957,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:17959,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17964,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17964,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:17965,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:17966,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:17968,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:17971,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:17974,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:17979,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17981,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17993,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:17994,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17997,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18000,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18005,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18010,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:18011,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18015,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18019,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18024,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:18025,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:18028,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:18030,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:18032,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:18037,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18043,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18044,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:18047,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:18059,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:18061,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:18075,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/zone.c:18077,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18082,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:18085,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:18086,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:18103,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:18104,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:18112,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:18116,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18120,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:18130,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18132,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18137,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18140,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18141,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:18146,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:18151,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18152,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:18156,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:18164,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:18166,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:18167,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:18169,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18172,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:18175,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zone.c:18184,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:18188,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:18192,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18198,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:18200,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:18201,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:18202,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18203,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18208,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18217,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:18218,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:18219,1
    - Dst: zmgr_resume_xfrs
      Src: /src/bind9/lib/dns/zone.c:18221,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:18222,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18223,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18229,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:18230,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:18233,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:18234,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18235,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:18237,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 188
    argCount: 3
    argNames:
    - zone
    - expireopt
    - result
    argTypes:
    - dns_zone_t*
    - uint32_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18239
      start: 17926
    functionDepth: 8
    functionLinenumber: 17926
    functionLinenumberEnd: 18239
    functionName: zone_xfrdone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - RANGE
    - zone_free
    - isc_time_compare
    - dns_zone_logc
    - REQUIRE
    - snprintf
    - DNS_ZONE_VALID
    - zone_send_secureserial
    - zone_settimer
    - dns_xfrin_detach
    - ZONEDB_LOCK
    - zmgr_resume_xfrs
    - zone_get_from_db
    - DNS_ZONE_TIME_ADD
    - dns_tsigkey_detach
    - isc_thread_yield
    - RWUNLOCK
    - dns_db_detach
    - zone_needdump
    - isc_time_now
    - zone_journal_compact
    - dns_name_format
    - DNS_ZONE_JITTER_ADD
    - LOCK_ZONE
    - isc_interval_set
    - inc_stats
    - isc_file_settime
    - ISC_LOG_DEBUG
    - RWLOCK
    - exit_check
    - queue_soa_query
    - INSIST
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_SETFLAG
    - dns_remote_reset
    - inline_raw
    - isc_time_subtract
    - dns_remote_next
    - ISC_LIST_UNLINK
    - ZONEDB_UNLOCK
    - dns_remote_done
    - zone_unload
    - UNLOCK_ZONE
    - dns_transport_detach
    - isc_result_totext
    - dns_zone_getdb
    - TRYLOCK_ZONE
    - isc_refcount_decrement
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: void
    signature: void zone_xfrdone(dns_zone_t *zone, uint32_t *expireopt, isc_result_t
      result)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:18257,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:18258,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/zone.c:18261,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18272,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18273,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:18274,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18275,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:18276,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18278,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18280,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:18282,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:18286,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18287,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:18288,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18293,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18297,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:18298,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18299,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18301,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18303,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:18305,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/zone.c:18307,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:18309,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:18311,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18312
      start: 18241
    functionDepth: 11
    functionLinenumber: 18241
    functionLinenumberEnd: 18312
    functionName: zone_loaddone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_FLAG
    - zone_postload
    - dns_db_endload
    - isc_thread_yield
    - dns_db_detach
    - dns_loadctx_detach
    - INSIST
    - DNS_ZONE_CLRFLAG
    - dns_zone_rpz_disable_db
    - dns_zone_catz_disable_db
    - inline_secure
    - TRYLOCK_ZONE
    - dns_zone_idetach
    - inline_raw
    - isc_mem_put
    - zone_idetach
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone_loaddone(void *arg, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18316,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18318,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18320,1
    - Dst: dns_ssutable_attach
      Src: /src/bind9/lib/dns/zone.c:18322,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - table
    argTypes:
    - dns_zone_t*
    - dns_ssutable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18325
      start: 18314
    functionDepth: 1
    functionLinenumber: 18314
    functionLinenumberEnd: 18325
    functionName: dns_zone_getssutable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - dns_ssutable_attach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getssutable(dns_zone_t *zone, dns_ssutable_t **table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18329,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18329,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18331,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/dns/zone.c:18333,1
    - Dst: dns_ssutable_attach
      Src: /src/bind9/lib/dns/zone.c:18336,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - table
    argTypes:
    - dns_zone_t*
    - dns_ssutable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18339
      start: 18327
    functionDepth: 1
    functionLinenumber: 18327
    functionLinenumberEnd: 18339
    functionName: dns_zone_setssutable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - dns_ssutable_attach
    - REQUIRE
    - dns_ssutable_detach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setssutable(dns_zone_t *zone, dns_ssutable_t *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18343,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18346
      start: 18341
    functionDepth: 1
    functionLinenumber: 18341
    functionLinenumberEnd: 18346
    functionName: dns_zone_setsigvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setsigvalidityinterval(dns_zone_t *zone, uint32_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18350,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18353
      start: 18348
    functionDepth: 1
    functionLinenumber: 18348
    functionLinenumberEnd: 18353
    functionName: dns_zone_getsigvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getsigvalidityinterval(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18357,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18360
      start: 18355
    functionDepth: 1
    functionLinenumber: 18355
    functionLinenumberEnd: 18360
    functionName: dns_zone_setkeyvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setkeyvalidityinterval(dns_zone_t *zone, uint32_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18364,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18367
      start: 18362
    functionDepth: 1
    functionLinenumber: 18362
    functionLinenumberEnd: 18367
    functionName: dns_zone_getkeyvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getkeyvalidityinterval(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18373,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18373,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18375,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:18377,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:18379,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:18380,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18383
      start: 18369
    functionDepth: 5
    functionLinenumber: 18369
    functionLinenumberEnd: 18383
    functionName: dns_zone_setsigresigninginterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - set_resigntime
    - isc_time_now
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_settimer
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setsigresigninginterval(dns_zone_t *zone, uint32_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18387,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18390
      start: 18385
    functionDepth: 1
    functionLinenumber: 18385
    functionLinenumberEnd: 18390
    functionName: dns_zone_getsigresigninginterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getsigresigninginterval(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18394,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18395,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18397,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18398,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:18398,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - sourceaddr
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18401
      start: 18392
    functionDepth: 1
    functionLinenumber: 18392
    functionLinenumberEnd: 18401
    functionName: dns_zone_getsourceaddr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - INSIST
    - REQUIRE
    - dns_remote_count
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getsourceaddr(dns_zone_t *zone, isc_sockaddr_t *sourceaddr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18407,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18407,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18408,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18410,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18411,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:18411,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:18412,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:18413,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - primaryaddr
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18419
      start: 18403
    functionDepth: 1
    functionLinenumber: 18403
    functionLinenumberEnd: 18419
    functionName: dns_zone_getprimaryaddr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - dns_remote_curraddr
    - INSIST
    - REQUIRE
    - dns_remote_done
    - dns_remote_count
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getprimaryaddr(dns_zone_t *zone, isc_sockaddr_t
      *primaryaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18425,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18425,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18427,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18432
      start: 18421
    functionDepth: 1
    functionLinenumber: 18421
    functionLinenumberEnd: 18432
    functionName: dns_zone_getxfrintime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t dns_zone_getxfrintime(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18441,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:18443,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:18444,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:18445,1
    - Dst: zmgr_start_xfrin_ifquota
      Src: /src/bind9/lib/dns/zone.c:18447,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:18448,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18451,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18454,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18458
      start: 18434
    functionDepth: 4
    functionLinenumber: 18434
    functionLinenumberEnd: 18458
    functionName: queue_xfrin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_APPEND
    - RWUNLOCK
    - RWLOCK
    - isc_refcount_increment0
    - INSIST
    - isc_result_totext
    - dns_zone_logc
    - zmgr_start_xfrin_ifquota
    linkageType: ''
    returnType: void
    signature: void queue_xfrin(dns_zone_t *zone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/zone.c:18472,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18474,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:18480,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:18487,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:18488,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:18489,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zone.c:18493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18502
      start: 18467
    functionDepth: 2
    functionLinenumber: 18467
    functionLinenumberEnd: 18502
    functionName: get_request_transport_type
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_peerlist_peerbyaddr
    - dns_transport_get_type
    - dns_remote_curraddr
    - isc_netaddr_fromsockaddr
    - dns_peer_getforcetcp
    - DNS_ZONE_FLAG
    - dns_remote_done
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t get_request_transport_type(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18508,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18508,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18510,1
    - Dst: get_request_transport_type
      Src: /src/bind9/lib/dns/zone.c:18511,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18515
      start: 18504
    functionDepth: 3
    functionLinenumber: 18504
    functionLinenumberEnd: 18515
    functionName: dns_zone_getrequesttransporttype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - get_request_transport_type
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t dns_zone_getrequesttransporttype(dns_zone_t *zone)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18540,1
    - Dst: zone_xfrdone
      Src: /src/bind9/lib/dns/zone.c:18541,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:18545,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:18546,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/lib/dns/zone.c:18547,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:18550,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18551,1
    - Dst: zone_xfrdone
      Src: /src/bind9/lib/dns/zone.c:18555,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:18559,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:18560,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18562,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:18568,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:18570,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18573,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18573,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18578,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18579,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18579,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18584,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18585,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18585,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18590,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:18591,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18592,1
    - Dst: dns_peer_getrequestixfr
      Src: /src/bind9/lib/dns/zone.c:18597,1
    - Dst: dns_peer_getrequestixfrmaxdiffs
      Src: /src/bind9/lib/dns/zone.c:18603,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18610,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18611,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18615,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18621,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18622,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:18637,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:18638,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:18639,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:18640,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18643,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:18644,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18648,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18650,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:18656,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:18657,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:18658,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:18659,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:18662,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18666,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18670,1
    - Dst: get_request_transport_type
      Src: /src/bind9/lib/dns/zone.c:18679,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18682,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18684,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:18684,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:18684,1
    - Dst: zmgr_tlsctx_attach
      Src: /src/bind9/lib/dns/zone.c:18686,1
    - Dst: dns_xfrin_create
      Src: /src/bind9/lib/dns/zone.c:18688,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18691,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:18693,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18695,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zone.c:18697,1
    - Dst: dns_xfrin_attach
      Src: /src/bind9/lib/dns/zone.c:18699,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18700,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zone.c:18702,1
    - Dst: dns_xfrin_start
      Src: /src/bind9/lib/dns/zone.c:18709,1
    - Dst: zone_xfrdone
      Src: /src/bind9/lib/dns/zone.c:18711,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18715,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:18717,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18718,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18720,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:18723,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18724,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:18726,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18729,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 116
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18730
      start: 18522
    functionDepth: 9
    functionLinenumber: 18522
    functionLinenumberEnd: 18730
    functionName: got_transfer_quota
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_getpeertsig
    - dns_peer_getrequestixfrmaxdiffs
    - dns_view_gettsig
    - isc_sockaddr_format
    - dns_zone_logc
    - dns_unreachcache_find
    - dns_xfrin_create
    - dns_xfrin_detach
    - ZONEDB_LOCK
    - dns_xfrin_attach
    - dns_remote_curraddr
    - dns_view_gettransport
    - LOCK_ZONE
    - dns_zone_getview
    - inc_stats
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - dns_xfrin_start
    - isc_tlsctx_cache_detach
    - INSIST
    - DNS_ZONE_CLRFLAG
    - get_request_transport_type
    - zmgr_tlsctx_attach
    - dns_remote_keyname
    - ZONEDB_UNLOCK
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - DNS_ZONE_FLAG
    - isc_result_totext
    - zone_xfrdone
    - dns_peerlist_peerbyaddr
    - dns_peer_getrequestixfr
    - dns_remote_tlsname
    linkageType: ''
    returnType: void
    signature: void got_transfer_quota(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:18740,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/zone.c:18743,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:18746,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:18749,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:18750,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:18751,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:18753,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:18754,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:18756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - forward
    argTypes:
    - dns_forward_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18757
      start: 18736
    functionDepth: 5
    functionLinenumber: 18736
    functionLinenumberEnd: 18757
    functionName: forward_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_transport_detach
    - LOCK
    - isc_mem_putanddetach
    - ISC_LINK_LINKED
    - dns_zone_idetach
    - UNLOCK
    - dns_request_destroy
    - isc_buffer_free
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void forward_destroy(dns_forward_t *forward)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18767,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:18769,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18770,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:18775,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18776,1
    - Dst: dns_remote_addr
      Src: /src/bind9/lib/dns/zone.c:18780,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:18782,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:18790,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:18792,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:18794,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:18799,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:18801,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:18811,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:18814,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:18817,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:18820,1
    - Dst: zmgr_tlsctx_attach
      Src: /src/bind9/lib/dns/zone.c:18830,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/zone.c:18832,1
    - Dst: dns_request_createraw
      Src: /src/bind9/lib/dns/zone.c:18833,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:18840,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:18843,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:18844,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18849,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18852,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18855,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - forward
    argTypes:
    - dns_forward_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18859
      start: 18759
    functionDepth: 6
    functionLinenumber: 18759
    functionLinenumberEnd: 18859
    functionName: sendtoprimary
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_disabled
    - isc_nm_getprimariestimeout
    - isc_sockaddr_any6
    - ISC_LINK_LINKED
    - dns_view_gettransport
    - dns_zone_log
    - LOCK_ZONE
    - dns_zone_getview
    - isc_tlsctx_cache_detach
    - isc_sockaddr_any
    - dns_remote_addr
    - zmgr_tlsctx_attach
    - isc_sockaddr_equal
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - dns_transport_detach
    - ISC_LIST_APPEND
    - isc_result_totext
    - dns_request_createraw
    - DNS_ZONE_FLAG
    - dns_remote_count
    - dns_remote_tlsname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t sendtoprimary(dns_forward_t *forward)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/zone.c:18864,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18870,1
    - Dst: DNS_FORWARD_VALID
      Src: /src/bind9/lib/dns/zone.c:18870,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18872,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18872,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:18876,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:18878,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18880,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18882,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:18886,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:18889,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:18903,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:18904,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18906,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:18926,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:18927,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18928,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:18941,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:18942,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18943,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:18962,1
    - Dst: forward_destroy
      Src: /src/bind9/lib/dns/zone.c:18963,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:18968,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:18971,1
    - Dst: sendtoprimary
      Src: /src/bind9/lib/dns/zone.c:18972,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18975,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18975,1
    - Dst: forward_destroy
      Src: /src/bind9/lib/dns/zone.c:18978,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18980
      start: 18861
    functionDepth: 7
    functionLinenumber: 18861
    functionLinenumberEnd: 18980
    functionName: forward_callback
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_opcode_totext
    - dns_request_getarg
    - isc_sockaddr_format
    - sendtoprimary
    - ISC_LOG_DEBUG
    - INSIST
    - isc_result_totext
    - dns_request_getresponse
    - DNS_FORWARD_VALID
    - isc_buffer_init
    - dns_request_getresult
    - dns_request_destroy
    - forward_destroy
    - dns_rcode_totext
    - dns_zone_log
    - dns_message_detach
    - dns_message_create
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void forward_callback(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18989,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18989,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18990,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18991,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:18993,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:18997,1
    - Dst: dns_message_getrawmessage
      Src: /src/bind9/lib/dns/zone.c:19008,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/zone.c:19014,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/zone.c:19015,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:19020,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:19021,1
    - Dst: sendtoprimary
      Src: /src/bind9/lib/dns/zone.c:19022,1
    - Dst: forward_destroy
      Src: /src/bind9/lib/dns/zone.c:19026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 4
    argNames:
    - zone
    - msg
    - callback
    - callback_arg
    argTypes:
    - dns_zone_t*
    - dns_message_t*
    - dns_updatecallback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19029
      start: 18982
    functionDepth: 7
    functionLinenumber: 18982
    functionLinenumberEnd: 19029
    functionName: dns_zone_forwardupdate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - sendtoprimary
    - ISC_LINK_INIT
    - isc_buffer_copyregion
    - isc_mem_get
    - forward_destroy
    - REQUIRE
    - isc_buffer_allocate
    - DNS_ZONE_VALID
    - dns_zone_iattach
    - dns_message_getrawmessage
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_forwardupdate(dns_zone_t *zone, dns_message_t
      *msg,\n\t\t       dns_updatecallback_t callback, void *callback_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19033,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19034,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:19036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - next
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19042
      start: 19031
    functionDepth: 1
    functionLinenumber: 19031
    functionLinenumberEnd: 19042
    functionName: dns_zone_next
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_next(dns_zone_t *zone, dns_zone_t **next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19046,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19046,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19047,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:19049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zmgr
    - first
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19055
      start: 19044
    functionDepth: 1
    functionLinenumber: 19044
    functionLinenumberEnd: 19055
    functionName: dns_zone_first
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONEMGR_VALID
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_first(dns_zonemgr_t *zmgr, dns_zone_t **first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:19063,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:19069,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/zone.c:19070,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/zone.c:19071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19074
      start: 19061
    functionDepth: 3
    functionLinenumber: 19061
    functionLinenumberEnd: 19074
    functionName: zonemgr_keymgmt_init
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_rwlock_init
    - isc_hashmap_create
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void zonemgr_keymgmt_init(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19080,1
    - Dst: DNS_KEYMGMT_VALID
      Src: /src/bind9/lib/dns/zone.c:19080,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19084,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19085,1
    - Dst: isc_hashmap_count
      Src: /src/bind9/lib/dns/zone.c:19085,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19086,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/zone.c:19087,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/zone.c:19089,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:19090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19091
      start: 19076
    functionDepth: 3
    functionLinenumber: 19076
    functionLinenumberEnd: 19091
    functionName: zonemgr_keymgmt_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - RWUNLOCK
    - RWLOCK
    - DNS_KEYMGMT_VALID
    - INSIST
    - isc_hashmap_count
    - REQUIRE
    - isc_rwlock_destroy
    - isc_hashmap_destroy
    linkageType: ''
    returnType: void
    signature: void zonemgr_keymgmt_destroy(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:19097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19098
      start: 19093
    functionDepth: 1
    functionLinenumber: 19093
    functionLinenumberEnd: 19098
    functionName: kfio_match
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool kfio_match(void *node, const void *key)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19109,1
    - Dst: DNS_KEYMGMT_VALID
      Src: /src/bind9/lib/dns/zone.c:19109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19110,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:19112,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/zone.c:19113,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19115,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/zone.c:19117,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/zone.c:19117,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:19121,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:19124,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zone.c:19128,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:19129,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:19130,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/zone.c:19132,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/zone.c:19133,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/zone.c:19133,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19135,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:19138,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - zmgr
    - zone
    - added
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    - dns_keyfileio_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19142
      start: 19100
    functionDepth: 5
    functionLinenumber: 19100
    functionLinenumberEnd: 19142
    functionName: zonemgr_keymgmt_add
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_mutex_init
    - RWUNLOCK
    - dns_fixedname_initname
    - RWLOCK
    - DNS_KEYMGMT_VALID
    - isc_hashmap_add
    - INSIST
    - dns_name_downcase
    - isc_refcount_increment
    - isc_mem_get
    - isc_refcount_init
    - isc_hashmap_find
    - REQUIRE
    - dns_name_copy
    - dns_name_hash
    linkageType: ''
    returnType: void
    signature: "void zonemgr_keymgmt_add(dns_zonemgr_t *zmgr, dns_zone_t *zone,\n\t\t
      \   dns_keyfileio_t **added)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19147
      start: 19144
    functionDepth: 0
    functionLinenumber: 19144
    functionLinenumberEnd: 19147
    functionName: match_ptr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool match_ptr(void *node, const void *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19151,1
    - Dst: DNS_KEYMGMT_VALID
      Src: /src/bind9/lib/dns/zone.c:19151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19152,1
    - Dst: DNS_KEYFILEIO_VALID
      Src: /src/bind9/lib/dns/zone.c:19152,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19160,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:19162,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zone.c:19163,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/zone.c:19165,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/zone.c:19167,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/zone.c:19168,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19170,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:19172,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - zmgr
    - deleted
    argTypes:
    - dns_zonemgr_t*
    - dns_keyfileio_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19176
      start: 19149
    functionDepth: 4
    functionLinenumber: 19149
    functionLinenumberEnd: 19176
    functionName: zonemgr_keymgmt_delete
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - dns_name_hash
    - isc_hashmap_delete
    - DNS_KEYMGMT_VALID
    - isc_refcount_decrement
    - INSIST
    - REQUIRE
    - isc_mem_put
    - DNS_KEYFILEIO_VALID
    - isc_refcount_destroy
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void zonemgr_keymgmt_delete(dns_zonemgr_t *zmgr, dns_keyfileio_t **deleted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/zone.c:19181,1
    - Dst: isc_loop_getloopmgr
      Src: /src/bind9/lib/dns/zone.c:19182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19186,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:19188,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/zone.c:19193,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zone.c:19198,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:19199,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:19201,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:19202,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:19203,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/zone.c:19204,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zone.c:19206,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zone.c:19207,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zone.c:19208,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zone.c:19209,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zone.c:19210,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/zone.c:19212,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/zone.c:19215,1
    - Dst: zonemgr_keymgmt_init
      Src: /src/bind9/lib/dns/zone.c:19219,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19222,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19223,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19224,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19225,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19226,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/lib/dns/zone.c:19227,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/lib/dns/zone.c:19228,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/zone.c:19231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - mctx
    - netmgr
    - zmgrp
    argTypes:
    - isc_mem_t*
    - isc_nm_t*
    - dns_zonemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19236
      start: 19178
    functionDepth: 4
    functionLinenumber: 19178
    functionLinenumberEnd: 19236
    functionName: dns_zonemgr_create
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - isc_mem_create
    - zonemgr_keymgmt_init
    - isc_ratelimiter_setpushpop
    - isc_rwlock_init
    - isc_mem_cget
    - isc_ratelimiter_create
    - setrl
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - ISC_LIST_INIT
    - isc_loop_getloopmgr
    - isc_loop
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_create(isc_mem_t *mctx, isc_nm_t *netmgr, dns_zonemgr_t
      **zmgrp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19244,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19245,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:19251,1
    - Dst: dns_zone_create
      Src: /src/bind9/lib/dns/zone.c:19258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - zmgr
    - zonep
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19263
      start: 19238
    functionDepth: 4
    functionLinenumber: 19238
    functionLinenumberEnd: 19263
    functionName: dns_zonemgr_createzone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - isc_random_uniform
    - DNS_ZONEMGR_VALID
    - REQUIRE
    - dns_zone_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zonemgr_createzone(dns_zonemgr_t *zmgr, dns_zone_t
      **zonep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19267,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19267,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19268,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19268,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19270,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19273,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/zone.c:19275,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/zone.c:19276,1
    - Dst: zonemgr_keymgmt_add
      Src: /src/bind9/lib/dns/zone.c:19278,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19279,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:19281,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:19284,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19286,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - zmgr
    - zone
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19289
      start: 19265
    functionDepth: 6
    functionLinenumber: 19265
    functionLinenumberEnd: 19289
    functionName: dns_zonemgr_managezone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 10
    functionsReached:
    - UNLOCK_ZONE
    - ISC_LIST_APPEND
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - zonemgr_keymgmt_add
    - isc_refcount_increment
    - DNS_ZONEMGR_VALID
    - isc_loop_get
    - REQUIRE
    - isc_loop_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t
      *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19293,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19293,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19294,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19294,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19295,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19297,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19298,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:19300,1
    - Dst: zonemgr_keymgmt_delete
      Src: /src/bind9/lib/dns/zone.c:19303,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/zone.c:19304,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:19308,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/zone.c:19309,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/zone.c:19312,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19317,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19318,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/lib/dns/zone.c:19320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - zmgr
    - zone
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19321
      start: 19291
    functionDepth: 5
    functionLinenumber: 19291
    functionLinenumberEnd: 19321
    functionName: dns_zonemgr_releasezone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - UNLOCK_ZONE
    - isc_loop_detach
    - isc_timer_destroy
    - RWUNLOCK
    - RWLOCK
    - ENSURE
    - zonemgr_keymgmt_delete
    - isc_refcount_decrement
    - DNS_ZONEMGR_VALID
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_zonemgr_detach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_releasezone(dns_zonemgr_t *zmgr, dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19325,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19326,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:19328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zonemgr_t*
    - dns_zonemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19331
      start: 19323
    functionDepth: 1
    functionLinenumber: 19323
    functionLinenumberEnd: 19331
    functionName: dns_zonemgr_attach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_attach(dns_zonemgr_t *source, dns_zonemgr_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19337,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19340,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19340,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:19342,1
    - Dst: zonemgr_free
      Src: /src/bind9/lib/dns/zone.c:19343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zmgrp
    argTypes:
    - dns_zonemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19345
      start: 19333
    functionDepth: 1
    functionLinenumber: 19333
    functionLinenumberEnd: 19345
    functionName: dns_zonemgr_detach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - DNS_ZONEMGR_VALID
    - zonemgr_free
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_detach(dns_zonemgr_t **zmgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19349,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19349,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19351,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19352,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19355,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:19356,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:19357,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19358,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19360,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19368,1
    - Dst: zmgr_resume_xfrs
      Src: /src/bind9/lib/dns/zone.c:19369,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19372
      start: 19347
    functionDepth: 3
    functionLinenumber: 19347
    functionLinenumberEnd: 19372
    functionName: dns_zonemgr_forcemaint
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - zmgr_resume_xfrs
    - UNLOCK_ZONE
    - RWUNLOCK
    - RWLOCK
    - DNS_ZONEMGR_VALID
    - isc_time_now
    - REQUIRE
    - ISC_LIST_FOREACH
    - zone_settimer
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zonemgr_forcemaint(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19376,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19376,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zone.c:19378,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zone.c:19379,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zone.c:19380,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zone.c:19381,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zone.c:19382,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/zone.c:19385,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19388,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19389,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19390,1
    - Dst: forward_cancel
      Src: /src/bind9/lib/dns/zone.c:19391,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19392,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19395
      start: 19374
    functionDepth: 3
    functionLinenumber: 19374
    functionLinenumberEnd: 19395
    functionName: dns_zonemgr_shutdown
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - isc_ratelimiter_shutdown
    - UNLOCK_ZONE
    - isc_mem_detach
    - RWLOCK
    - RWUNLOCK
    - forward_cancel
    - DNS_ZONEMGR_VALID
    - REQUIRE
    - ISC_LIST_FOREACH
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_shutdown(dns_zonemgr_t *zmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19399,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:19399,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zone.c:19403,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zone.c:19404,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zone.c:19405,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zone.c:19406,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zone.c:19407,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zone.c:19408,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/zone.c:19410,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/zone.c:19413,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/zone.c:19414,1
    - Dst: zonemgr_keymgmt_destroy
      Src: /src/bind9/lib/dns/zone.c:19416,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:19419,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:19421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19422
      start: 19397
    functionDepth: 6
    functionLinenumber: 19397
    functionLinenumberEnd: 19422
    functionName: zonemgr_free
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_ratelimiter_detach
    - isc_mem_putanddetach
    - zonemgr_keymgmt_destroy
    - isc_tlsctx_cache_detach
    - isc_refcount_destroy
    - REQUIRE
    - isc_rwlock_destroy
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void zonemgr_free(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19426,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19429
      start: 19424
    functionDepth: 1
    functionLinenumber: 19424
    functionLinenumberEnd: 19429
    functionName: dns_zonemgr_settransfersin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_settransfersin(dns_zonemgr_t *zmgr, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19433,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19436
      start: 19431
    functionDepth: 1
    functionLinenumber: 19431
    functionLinenumberEnd: 19436
    functionName: dns_zonemgr_gettransfersin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zonemgr_gettransfersin(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19440,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19443
      start: 19438
    functionDepth: 1
    functionLinenumber: 19438
    functionLinenumberEnd: 19443
    functionName: dns_zonemgr_settransfersperns
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_settransfersperns(dns_zonemgr_t *zmgr, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19447,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19450
      start: 19445
    functionDepth: 1
    functionLinenumber: 19445
    functionLinenumberEnd: 19450
    functionName: dns_zonemgr_gettransfersperns
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zonemgr_gettransfersperns(dns_zonemgr_t *zmgr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19461,1
    - Dst: zmgr_start_xfrin_ifquota
      Src: /src/bind9/lib/dns/zone.c:19463,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:19481,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19482,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:19484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - zmgr
    - multi
    argTypes:
    - dns_zonemgr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19488
      start: 19459
    functionDepth: 4
    functionLinenumber: 19459
    functionLinenumberEnd: 19488
    functionName: zmgr_resume_xfrs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_result_totext
    - dns_zone_logc
    - ISC_LIST_FOREACH
    - zmgr_start_xfrin_ifquota
    linkageType: ''
    returnType: void
    signature: void zmgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19515,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19516,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19517,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:19525,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:19526,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:19527,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19528,1
    - Dst: dns_peer_gettransfers
      Src: /src/bind9/lib/dns/zone.c:19538,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19548,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19552,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:19553,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:19554,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19555,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/dns/zone.c:19558,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19577,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19578,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:19579,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:19580,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:19582,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:19583,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 2
    argNames:
    - zmgr
    - zone
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19588
      start: 19503
    functionDepth: 4
    functionLinenumber: 19503
    functionLinenumberEnd: 19588
    functionName: zmgr_start_xfrin_ifquota
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - dns_peerlist_peerbyaddr
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - dns_remote_curraddr
    - dns_peer_gettransfers
    - isc_async_run
    - INSIST
    - isc_netaddr_equal
    - ISC_LIST_UNLINK
    - dns_zone_logc
    - DNS_ZONE_FLAG
    - ISC_LIST_FOREACH
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zmgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr, dns_zone_t
      *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:19596,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:19596,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:19598,1
    - Dst: isc_file_template
      Src: /src/bind9/lib/dns/zone.c:19600,1
    - Dst: isc_file_renameunique
      Src: /src/bind9/lib/dns/zone.c:19605,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:19610,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:19617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - zone
    - path
    - templat
    argTypes:
    - dns_zone_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19618
      start: 19590
    functionDepth: 4
    functionLinenumber: 19590
    functionLinenumberEnd: 19618
    functionName: zone_saveunique
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - strlen
    - isc_file_template
    - dns_zone_log
    - isc_mem_put
    - isc_file_renameunique
    linkageType: ''
    returnType: void
    signature: void zone_saveunique(dns_zone_t *zone, const char *path, const char
      *templat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:19644,1
    - Dst: isc_ratelimiter_setinterval
      Src: /src/bind9/lib/dns/zone.c:19646,1
    - Dst: isc_ratelimiter_setpertic
      Src: /src/bind9/lib/dns/zone.c:19647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - rl
    - rate
    - value
    argTypes:
    - isc_ratelimiter_t*
    - unsigned int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19650
      start: 19620
    functionDepth: 2
    functionLinenumber: 19620
    functionLinenumberEnd: 19650
    functionName: setrl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_ratelimiter_setinterval
    - isc_interval_set
    - isc_ratelimiter_setpertic
    linkageType: ''
    returnType: void
    signature: void setrl(isc_ratelimiter_t *rl, unsigned int *rate, unsigned int
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19654,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19654,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19657
      start: 19652
    functionDepth: 3
    functionLinenumber: 19652
    functionLinenumberEnd: 19657
    functionName: dns_zonemgr_setcheckdsrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - setrl
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_setcheckdsrate(dns_zonemgr_t *zmgr, unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19661,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19661,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19664
      start: 19659
    functionDepth: 3
    functionLinenumber: 19659
    functionLinenumberEnd: 19664
    functionName: dns_zonemgr_setnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - setrl
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_setnotifyrate(dns_zonemgr_t *zmgr, unsigned int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19668,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19668,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19671
      start: 19666
    functionDepth: 3
    functionLinenumber: 19666
    functionLinenumberEnd: 19671
    functionName: dns_zonemgr_setstartupnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - setrl
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_setstartupnotifyrate(dns_zonemgr_t *zmgr, unsigned
      int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19675,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19675,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19677,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zone.c:19679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19680
      start: 19673
    functionDepth: 3
    functionLinenumber: 19673
    functionLinenumberEnd: 19680
    functionName: dns_zonemgr_setserialqueryrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - setrl
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_setserialqueryrate(dns_zonemgr_t *zmgr, unsigned int
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19684,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19687
      start: 19682
    functionDepth: 1
    functionLinenumber: 19682
    functionLinenumberEnd: 19687
    functionName: dns_zonemgr_getnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zonemgr_getnotifyrate(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19691,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19694
      start: 19689
    functionDepth: 1
    functionLinenumber: 19689
    functionLinenumberEnd: 19694
    functionName: dns_zonemgr_getstartupnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zonemgr_getstartupnotifyrate(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19698,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19701
      start: 19696
    functionDepth: 1
    functionLinenumber: 19696
    functionLinenumberEnd: 19701
    functionName: dns_zonemgr_getserialqueryrate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zonemgr_getserialqueryrate(dns_zonemgr_t *zmgr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19707,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19707,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19709,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19710,1
    - Dst: dns_xfrin_attach
      Src: /src/bind9/lib/dns/zone.c:19714,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19716,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19717,1
    - Dst: dns_xfrin_shutdown
      Src: /src/bind9/lib/dns/zone.c:19720,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zone.c:19721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19723
      start: 19703
    functionDepth: 3
    functionLinenumber: 19703
    functionLinenumberEnd: 19723
    functionName: dns_zone_stopxfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - dns_xfrin_shutdown
    - dns_xfrin_attach
    - RWUNLOCK
    - RWLOCK
    - dns_xfrin_detach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_stopxfr(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19727,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19727,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:19731,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19736,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:19737,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19738,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/lib/dns/zone.c:19739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19740
      start: 19725
    functionDepth: 3
    functionLinenumber: 19725
    functionLinenumberEnd: 19740
    functionName: dns_zone_forcexfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_SETFLAG
    - REQUIRE
    - dns_zone_refresh
    - dns_remote_addresses
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_forcexfr(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19744,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19744,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19747
      start: 19742
    functionDepth: 1
    functionLinenumber: 19742
    functionLinenumberEnd: 19747
    functionName: dns_zone_isforced
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_isforced(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:19754,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:19755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - 'on'
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19757
      start: 19749
    functionDepth: 0
    functionLinenumber: 19749
    functionLinenumberEnd: 19757
    functionName: dns_zone_setstatistics
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_setstatistics(dns_zone_t *zone, bool on)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:19764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19766
      start: 19759
    functionDepth: 0
    functionLinenumber: 19759
    functionLinenumberEnd: 19766
    functionName: dns_zone_getstatscounters
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t *

      dns_zone_getstatscounters(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19770,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19770,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19771,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19773,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/zone.c:19775,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19777
      start: 19768
    functionDepth: 2
    functionLinenumber: 19768
    functionLinenumberEnd: 19777
    functionName: dns_zone_setstats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - UNLOCK_ZONE
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - isc_stats_attach
    linkageType: ''
    returnType: void
    signature: void dns_zone_setstats(dns_zone_t *zone, isc_stats_t *stats)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19781,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19781,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19783,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/zone.c:19788,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19793
      start: 19779
    functionDepth: 2
    functionLinenumber: 19779
    functionLinenumberEnd: 19793
    functionName: dns_zone_setrequeststats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - isc_stats_attach
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrequeststats(dns_zone_t *zone, isc_stats_t *stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19797,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19797,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19799,1
    - Dst: dns_stats_attach
      Src: /src/bind9/lib/dns/zone.c:19802,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - dns_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19807
      start: 19795
    functionDepth: 2
    functionLinenumber: 19795
    functionLinenumberEnd: 19807
    functionName: dns_zone_setrcvquerystats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - dns_stats_attach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrcvquerystats(dns_zone_t *zone, dns_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19811,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19811,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19813,1
    - Dst: dns_stats_attach
      Src: /src/bind9/lib/dns/zone.c:19815,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - dns_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19818
      start: 19809
    functionDepth: 2
    functionLinenumber: 19809
    functionLinenumberEnd: 19818
    functionName: dns_zone_setdnssecsignstats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - dns_stats_attach
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setdnssecsignstats(dns_zone_t *zone, dns_stats_t *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19822,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19825
      start: 19820
    functionDepth: 1
    functionLinenumber: 19820
    functionLinenumberEnd: 19825
    functionName: dns_zone_getdnssecsignstats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_stats_t
    signature: 'dns_stats_t *

      dns_zone_getdnssecsignstats(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19842
      start: 19827
    functionDepth: 0
    functionLinenumber: 19827
    functionLinenumberEnd: 19842
    functionName: dns_zone_getrequeststats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: isc_stats_t
    signature: 'isc_stats_t *

      dns_zone_getrequeststats(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19855
      start: 19848
    functionDepth: 0
    functionLinenumber: 19848
    functionLinenumberEnd: 19855
    functionName: dns_zone_getrcvquerystats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: dns_stats_t
    signature: 'dns_stats_t *

      dns_zone_getrcvquerystats(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19859,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19859,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19861,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zone.c:19862,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - directory
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19864
      start: 19857
    functionDepth: 1
    functionLinenumber: 19857
    functionLinenumberEnd: 19864
    functionName: dns_zone_setkeydirectory
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - setstring
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setkeydirectory(dns_zone_t *zone, const char *directory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19868,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19871
      start: 19866
    functionDepth: 1
    functionLinenumber: 19866
    functionLinenumberEnd: 19871
    functionName: dns_zone_getkeydirectory
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getkeydirectory(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19875,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19875,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19877,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - keystores
    argTypes:
    - dns_zone_t*
    - dns_keystorelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19880
      start: 19873
    functionDepth: 1
    functionLinenumber: 19873
    functionLinenumberEnd: 19880
    functionName: dns_zone_setkeystores
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setkeystores(dns_zone_t *zone, dns_keystorelist_t *keystores)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19886,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19886,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19888,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:19889,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19897
      start: 19882
    functionDepth: 2
    functionLinenumber: 19882
    functionLinenumberEnd: 19897
    functionName: dns_zone_getkeystores
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - REQUIRE
    - inline_raw
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: dns_keystorelist_t
    signature: 'dns_keystorelist_t *

      dns_zone_getkeystores(dns_zone_t *zone)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19903,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:19903,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19905,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19908,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19913,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19918,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19919,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19925,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19926,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19932,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:19934,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19941,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:19943,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:19952,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19955,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - zmgr
    - state
    argTypes:
    - dns_zonemgr_t*
    - dns_zonestate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19958
      start: 19899
    functionDepth: 1
    functionLinenumber: 19899
    functionLinenumberEnd: 19958
    functionName: dns_zonemgr_getcount
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNREACHABLE
    - RWUNLOCK
    - RWLOCK
    - DNS_ZONEMGR_VALID
    - REQUIRE
    - DNS_ZONE_FLAG
    - strcmp
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zonemgr_getcount(dns_zonemgr_t *zmgr, dns_zonestate_t
      state)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19964,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19964,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19965,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19979,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19980,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19981,1
    - Dst: dns_xfrin_attach
      Src: /src/bind9/lib/dns/zone.c:19983,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19991,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19994,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:20009,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:20010,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:20011,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20017,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:20018,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 8
    argNames:
    - zone
    - xfrp
    - is_firstrefresh
    - is_running
    - is_deferred
    - is_presoa
    - is_pending
    - needs_refresh
    argTypes:
    - dns_zone_t*
    - dns_xfrin_t**
    - bool*
    - bool*
    - bool*
    - bool*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20021
      start: 19960
    functionDepth: 3
    functionLinenumber: 19960
    functionLinenumberEnd: 20021
    functionName: dns_zone_getxfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - dns_xfrin_attach
    - RWUNLOCK
    - RWLOCK
    - isc_time_compare
    - isc_time_now
    - REQUIRE
    - DNS_ZONE_FLAG
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_getxfr(dns_zone_t *zone, dns_xfrin_t **xfrp,
      bool *is_firstrefresh,\n\t\tbool *is_running, bool *is_deferred, bool *is_presoa,\n\t\tbool
      *is_pending, bool *needs_refresh)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20025,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20025,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20032,1
    - Dst: DNS_KEYFILEIO_VALID
      Src: /src/bind9/lib/dns/zone.c:20032,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/zone.c:20033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20034
      start: 20023
    functionDepth: 1
    functionLinenumber: 20023
    functionLinenumberEnd: 20034
    functionName: dns_zone_lock_keyfiles
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - DNS_KEYFILEIO_VALID
    - DNS_ZONE_VALID
    - REQUIRE
    - isc_mutex_lock
    linkageType: ''
    returnType: void
    signature: void dns_zone_lock_keyfiles(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20038,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20038,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20045,1
    - Dst: DNS_KEYFILEIO_VALID
      Src: /src/bind9/lib/dns/zone.c:20045,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/zone.c:20046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20047
      start: 20036
    functionDepth: 1
    functionLinenumber: 20036
    functionLinenumberEnd: 20047
    functionName: dns_zone_unlock_keyfiles
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - DNS_KEYFILEIO_VALID
    - isc_mutex_unlock
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_unlock_keyfiles(dns_zone_t *zone)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20060,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20060,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:20062,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:20068,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/zone.c:20075,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:20077,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:20078,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20079,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20080,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:20086,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/zone.c:20087,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:20089,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:20090,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:20091,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20092,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20093,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - zone
    - name
    - rdata
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20100
      start: 20049
    functionDepth: 4
    functionLinenumber: 20049
    functionLinenumberEnd: 20100
    functionName: dns_zone_checknames
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_rdata_checkowner
    - isc_result_totext
    - dns_zone_log
    - dns_rdata_checknames
    - REQUIRE
    - DNS_ZONE_OPTION
    - dns_rdatatype_format
    - DNS_ZONE_VALID
    - dns_name_format
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_checknames(dns_zone_t *zone, const dns_name_t
      *name,\n\t\t    dns_rdata_t *rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20104,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checkmx
    argTypes:
    - dns_zone_t*
    - dns_checkmxfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20106
      start: 20102
    functionDepth: 1
    functionLinenumber: 20102
    functionLinenumberEnd: 20106
    functionName: dns_zone_setcheckmx
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setcheckmx(dns_zone_t *zone, dns_checkmxfunc_t checkmx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20110,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checksrv
    argTypes:
    - dns_zone_t*
    - dns_checksrvfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20112
      start: 20108
    functionDepth: 1
    functionLinenumber: 20108
    functionLinenumberEnd: 20112
    functionName: dns_zone_setchecksrv
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setchecksrv(dns_zone_t *zone, dns_checksrvfunc_t checksrv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20116,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checkns
    argTypes:
    - dns_zone_t*
    - dns_checknsfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20118
      start: 20114
    functionDepth: 1
    functionLinenumber: 20114
    functionLinenumberEnd: 20118
    functionName: dns_zone_setcheckns
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setcheckns(dns_zone_t *zone, dns_checknsfunc_t checkns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20123,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checkisservedby
    argTypes:
    - dns_zone_t*
    - dns_checkisservedbyfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20125
      start: 20120
    functionDepth: 1
    functionLinenumber: 20120
    functionLinenumberEnd: 20125
    functionName: dns_zone_setcheckisservedby
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setcheckisservedby(dns_zone_t *zone,\n\t\t\t    dns_checkisservedbyfunc_t
      checkisservedby)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20129,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20129,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20131,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - zone
    - isself
    - arg
    argTypes:
    - dns_zone_t*
    - dns_isselffunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20135
      start: 20127
    functionDepth: 1
    functionLinenumber: 20127
    functionLinenumberEnd: 20135
    functionName: dns_zone_setisself
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setisself(dns_zone_t *zone, dns_isselffunc_t isself,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20139,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20139,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20141,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - defer
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20144
      start: 20137
    functionDepth: 1
    functionLinenumber: 20137
    functionLinenumberEnd: 20144
    functionName: dns_zone_setnotifydefer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifydefer(dns_zone_t *zone, uint32_t defer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20148,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20148,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20150,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - delay
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20153
      start: 20146
    functionDepth: 1
    functionLinenumber: 20146
    functionLinenumberEnd: 20153
    functionName: dns_zone_setnotifydelay
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifydelay(dns_zone_t *zone, uint32_t delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20159,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20159,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20161,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20164,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:20165,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - zone
    - algorithm
    - keyid
    - deleteit
    argTypes:
    - dns_zone_t*
    - dst_algorithm_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20169
      start: 20155
    functionDepth: 4
    functionLinenumber: 20155
    functionLinenumberEnd: 20169
    functionName: dns_zone_signwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - zone_signwithkey
    - REQUIRE
    - dnssec_log
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_signwithkey(dns_zone_t *zone, dst_algorithm_t
      algorithm,\n\t\t     uint16_t keyid, bool deleteit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20182,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20182,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/lib/dns/zone.c:20184,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:20185,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20186,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20189,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:20190,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - nsec3param
    argTypes:
    - dns_zone_t*
    - dns_rdata_nsec3param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20194
      start: 20177
    functionDepth: 4
    functionLinenumber: 20177
    functionLinenumberEnd: 20194
    functionName: dns_zone_addnsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - RUNTIME_CHECK
    - REQUIRE
    - dnssec_log
    - zone_addnsec3chain
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_nsec3param_salttotext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t
      *nsec3param)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20198,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - nodes
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20204
      start: 20196
    functionDepth: 1
    functionLinenumber: 20196
    functionLinenumberEnd: 20204
    functionName: dns_zone_setnodes
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnodes(dns_zone_t *zone, uint32_t nodes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20208,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - signatures
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20220
      start: 20206
    functionDepth: 1
    functionLinenumber: 20206
    functionLinenumberEnd: 20220
    functionName: dns_zone_setsignatures
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setsignatures(dns_zone_t *zone, uint32_t signatures)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20224,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20226
      start: 20222
    functionDepth: 1
    functionLinenumber: 20222
    functionLinenumberEnd: 20226
    functionName: dns_zone_getsignatures
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getsignatures(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20230,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20232
      start: 20228
    functionDepth: 1
    functionLinenumber: 20228
    functionLinenumberEnd: 20232
    functionName: dns_zone_setprivatetype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setprivatetype(dns_zone_t *zone, dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20236,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20238
      start: 20234
    functionDepth: 1
    functionLinenumber: 20234
    functionLinenumberEnd: 20238
    functionName: dns_zone_getprivatetype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_rdatatype_t
    signature: dns_rdatatype_t dns_zone_getprivatetype(dns_zone_t *zone)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:20248,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:20258,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:20260,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:20262,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:20264,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:20271,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20273,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:20286,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:20289,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:20292,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/zone.c:20293,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:20295,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:20298,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:20306,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:20309,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:20311,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:20314,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 4
    argNames:
    - zone
    - algorithm
    - keyid
    - deleteit
    argTypes:
    - dns_zone_t*
    - dst_algorithm_t
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20317
      start: 20240
    functionDepth: 3
    functionLinenumber: 20240
    functionLinenumberEnd: 20317
    functionName: zone_signwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - ZONEDB_LOCK
    - isc_time_isepoch
    - ISC_LIST_INITANDAPPEND
    - dns_dbiterator_pause
    - dns_db_detach
    - dns_db_attach
    - dns_dbiterator_destroy
    - dns_dbiterator_first
    - isc_mem_get
    - isc_time_now
    - ISC_LIST_FOREACH
    - dns_db_createiterator
    - isc_mem_put
    - ZONEDB_UNLOCK
    - zone_settimer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_signwithkey(dns_zone_t *zone, dst_algorithm_t algorithm,
      uint16_t keyid,\n\t\t bool deleteit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/zone.c:20329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - key
    - timep
    argTypes:
    - dst_key_t*
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20343
      start: 20320
    functionDepth: 2
    functionLinenumber: 20320
    functionLinenumberEnd: 20343
    functionName: next_keyevent
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t next_keyevent(dst_key_t *key, isc_stdtime_t *timep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:20352,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20354,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zone.c:20354,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20356,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:20356,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:20358,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:20369,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:20370,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:20375,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:20380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - rdata
    - flag
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdata_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20383
      start: 20345
    functionDepth: 1
    functionLinenumber: 20345
    functionLinenumberEnd: 20383
    functionName: rr_exists
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_rdata_compare
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_findnsec3node
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rr_exists(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t  const dns_rdata_t *rdata, bool *flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:20369,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:20370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20374
      start: 20367
    functionDepth: 1
    functionLinenumber: 20367
    functionLinenumberEnd: 20374
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:20399,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20408,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20410,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20411,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:20415,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:20416,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20419,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20420,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20424,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20428,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20432,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:20435,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:20443,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:20450,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20453,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20454,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20455,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20456,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:20465,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:20466,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:20474,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:20476,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:20478,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20494,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:20494,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:20499,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20501,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:20501,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20502,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20510,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:20510,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:20512,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20514,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:20514,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20515,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:20523,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20524,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:20524,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20525,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:20525,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20526,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:20526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 78
    argCount: 5
    argNames:
    - db
    - privatetype
    - ver
    - diff
    - sign_all
    argTypes:
    - dns_db_t*
    - dns_rdatatype_t
    - dns_dbversion_t*
    - dns_diff_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20528
      start: 20388
    functionDepth: 4
    functionLinenumber: 20388
    functionLinenumberEnd: 20528
    functionName: add_signing_records
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - UNREACHABLE
    - dns_rdata_compare
    - rr_exists
    - ISC_LIST_APPEND
    - dns_difftuple_create
    - RUNTIME_CHECK
    - do_one_tuple
    - ISC_LIST_EMPTY
    - INSIST
    - dst_algorithm_fromdata
    - dst_region_computeid
    - CHECK
    - ISC_LIST_APPENDLIST
    - ISC_LIST_UNLINK
    - dns_db_origin
    - ISC_LIST_FOREACH
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_signing_records(dns_db_t *db, dns_rdatatype_t privatetype,\n\t\t
      \   dns_dbversion_t *ver, dns_diff_t *diff, bool sign_all)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:20450,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20453,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20454,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20455,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20460
      start: 20448
    functionDepth: 1
    functionLinenumber: 20448
    functionLinenumberEnd: 20460
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 222
    functionsReached:
    - dns_rdata_compare
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (del, deltuple, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:20450,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20453,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20454,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20455,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20459
      start: 20449
    functionDepth: 1
    functionLinenumber: 20449
    functionLinenumberEnd: 20459
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 222
    functionsReached:
    - dns_rdata_compare
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (add, addtuple, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:20474,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:20476,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:20478,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20494,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:20494,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:20499,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20501,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:20501,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20502,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20510,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:20510,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:20512,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20514,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:20514,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20517
      start: 20472
    functionDepth: 4
    functionLinenumber: 20472
    functionLinenumberEnd: 20517
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 222
    functionsReached:
    - rr_exists
    - dns_difftuple_create
    - do_one_tuple
    - INSIST
    - dst_algorithm_fromdata
    - dst_region_computeid
    - CHECK
    - dns_rdata_toregion
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (tuples, tuple, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20544,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:20546,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:20554,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20557,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20559,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:20562,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20566,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 11
    argNames:
    - rrtype
    - zone
    - db
    - ver
    - now
    - diff
    - zonediff
    - keys
    - nkeys
    - inception
    - keyexpire
    argTypes:
    - dns_rdatatype_t
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_diff_t*
    - dns__zonediff_t*
    - dst_key_t**
    - unsigned int
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20574
      start: 20535
    functionDepth: 6
    functionLinenumber: 20535
    functionLinenumberEnd: 20574
    functionName: tickle_apex_rrset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - add_sigs
    - dns_name_equal
    - isc_result_totext
    - del_sigs
    - dnssec_log
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tickle_apex_rrset(dns_rdatatype_t rrtype, dns_zone_t
      *zone, dns_db_t *db,\n\t\t  dns_dbversion_t *ver, isc_stdtime_t now, dns_diff_t
      *diff,\n\t\t  dns__zonediff_t *zonediff, dst_key_t **keys,\n\t\t  unsigned int
      nkeys, isc_stdtime_t inception,\n\t\t  isc_stdtime_t keyexpire)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:20584,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20587,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20589,1
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/dns/zone.c:20594,1
    - Dst: dns_zone_getkeyvalidityinterval
      Src: /src/bind9/lib/dns/zone.c:20596,1
    - Dst: tickle_apex_rrset
      Src: /src/bind9/lib/dns/zone.c:20608,1
    - Dst: tickle_apex_rrset
      Src: /src/bind9/lib/dns/zone.c:20614,1
    - Dst: tickle_apex_rrset
      Src: /src/bind9/lib/dns/zone.c:20620,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:20627,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20632,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20634,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:20640,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 6
    argNames:
    - zone
    - db
    - ver
    - now
    - diff
    - zonediff
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_diff_t*
    - dns__zonediff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20643
      start: 20576
    functionDepth: 7
    functionLinenumber: 20576
    functionLinenumberEnd: 20643
    functionName: sign_apex
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dst_key_free
    - dns_zone_getsigvalidityinterval
    - dns_zone_getkeyvalidityinterval
    - tickle_apex_rrset
    - isc_result_totext
    - dns_zone_findkeys
    - dnssec_log
    - dns__zone_updatesigs
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t sign_apex(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t  isc_stdtime_t now, dns_diff_t *diff, dns__zonediff_t *zonediff)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:20652,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20653,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:20653,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:20655,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:20657,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:20658,1
    - Dst: dns_nsec3param_deletechains
      Src: /src/bind9/lib/dns/zone.c:20664,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:20668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - zone
    - db
    - ver
    - diff
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20671
      start: 20645
    functionDepth: 1
    functionLinenumber: 20645
    functionLinenumberEnd: 20671
    functionName: clean_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_nsec3param_deletechains
    - dns_db_findrdataset
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t clean_nsec3param(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t dns_diff_t *diff)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20681,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:20682,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:20690,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:20691,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:20692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rdataset
    - alg
    argTypes:
    - dns_rdataset_t*
    - dst_algorithm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20700
      start: 20677
    functionDepth: 4
    functionLinenumber: 20677
    functionLinenumberEnd: 20700
    functionName: signed_with_alg
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool signed_with_alg(dns_rdataset_t *rdataset, dst_algorithm_t alg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:20690,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:20691,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:20692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20697
      start: 20686
    functionDepth: 4
    functionLinenumber: 20686
    functionLinenumberEnd: 20697
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - dst_algorithm_fromdata
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:20709,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20710,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/dns/zone.c:20710,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20713,1
    - Dst: dns_nsec3_addnsec3sx
      Src: /src/bind9/lib/dns/zone.c:20713,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:20713,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20716,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:20716,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:20716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - zone
    - db
    - ver
    - diff
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20720
      start: 20702
    functionDepth: 3
    functionLinenumber: 20702
    functionLinenumberEnd: 20720
    functionName: add_chains
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_nsec3_addnsec3sx
    - dns_private_chains
    - CHECK
    - zone_nsecttl
    - dns_db_origin
    - updatesecure
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_chains(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver,\n\t   dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:20725,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/zone.c:20726,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:20728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20729
      start: 20722
    functionDepth: 2
    functionLinenumber: 20722
    functionLinenumberEnd: 20729
    functionName: dnssec_report
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void dnssec_report(const char *format, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20733,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:20733,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20735,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20735,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20740,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20742,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:20742,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:20743,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:20744,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20748,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:20751,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:20753,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/zone.c:20757,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:20760,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:20762,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:20763,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:20766,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:20769,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20771,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:20772,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - checkds
    - locked
    argTypes:
    - dns_checkds_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20773
      start: 20731
    functionDepth: 5
    functionLinenumber: 20731
    functionLinenumberEnd: 20773
    functionName: checkds_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - isc_mem_putanddetach
    - dns_name_free
    - REQUIRE
    - dns_tsigkey_detach
    - ISC_LINK_LINKED
    - dns_adb_destroyfind
    - dns_zone_log
    - LOCK_ZONE
    - ISC_LOG_DEBUG
    - INSIST
    - ISC_LIST_UNLINK
    - zone_idetach
    - UNLOCK_ZONE
    - dns_transport_detach
    - DNS_CHECKDS_VALID
    - LOCKED_ZONE
    - dns_zone_idetach
    - dns_request_destroy
    linkageType: ''
    returnType: void
    signature: void checkds_destroy(dns_checkds_t *checkds, bool locked)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:20782,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/zone.c:20783,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:20788,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/zone.c:20789,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/zone.c:20790,1
    - Dst: dst_key_class
      Src: /src/bind9/lib/dns/zone.c:20790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - key
    - buf
    - bufsize
    - target
    argTypes:
    - dst_key_t*
    - unsigned char*
    - int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20793
      start: 20775
    functionDepth: 3
    functionLinenumber: 20775
    functionLinenumberEnd: 20793
    functionName: make_dnskey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dst_key_todns
    - dst_key_class
    - isc_buffer_init
    - isc_buffer_usedregion
    - dns_rdata_reset
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t make_dnskey(dst_key_t *key, unsigned char *buf, int bufsize,\n\t
      \   dns_rdata_t *target)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:20808,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20812,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/zone.c:20818,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/zone.c:20820,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20821,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20821,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:20824,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/zone.c:20830,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/zone.c:20832,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20833,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20833,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:20836,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20843,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20843,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:20846,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:20848,1
    - Dst: dns_keymgr_checkds_id
      Src: /src/bind9/lib/dns/zone.c:20849,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:20850,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:20851,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:20852,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20855,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:20857,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - zone
    - key
    - now
    - dspublish
    argTypes:
    - dns_zone_t*
    - dst_key_t*
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20862
      start: 20795
    functionDepth: 4
    functionLinenumber: 20795
    functionLinenumberEnd: 20862
    functionName: do_checkds
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_unlock_keyfiles
    - dns_zone_lock_keyfiles
    - dst_key_getnum
    - dst_key_setnum
    - ISC_LOG_DEBUG
    - dst_key_alg
    - isc_result_totext
    - dst_key_id
    - dns_zone_log
    - dns_remote_count
    - dns_keymgr_checkds_id
    linkageType: ''
    returnType: bool
    signature: "bool do_checkds(dns_zone_t *zone, dst_key_t *key, isc_stdtime_t now,\n\t
      \  bool dspublish)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:20866,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:20867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - message
    argTypes:
    - dns_zone_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20880
      start: 20864
    functionDepth: 0
    functionLinenumber: 20864
    functionLinenumberEnd: 20880
    functionName: validate_ds
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_ds(dns_zone_t *zone, dns_message_t *message)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/zone.c:20885,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20902,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:20902,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:20906,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20909,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:20911,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:20912,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20914,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20914,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:20917,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20919,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20921,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:20921,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20922,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:20922,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20924,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:20924,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20926,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20926,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20931,1
    - Dst: validate_ds
      Src: /src/bind9/lib/dns/zone.c:20931,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20935,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20945,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:20955,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20959,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20977,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:20981,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:20982,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20984,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:20984,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:20985,1
    - Dst: KASP_LOCK
      Src: /src/bind9/lib/dns/zone.c:20987,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20988,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20989,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/zone.c:20996,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/zone.c:21002,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/zone.c:21003,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/zone.c:21004,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21031,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:21032,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:21037,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:21040,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:21040,1
    - Dst: make_dnskey
      Src: /src/bind9/lib/dns/zone.c:21046,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zone.c:21047,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:21053,1
    - Dst: do_checkds
      Src: /src/bind9/lib/dns/zone.c:21057,1
    - Dst: do_checkds
      Src: /src/bind9/lib/dns/zone.c:21069,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21075,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:21076,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/lib/dns/zone.c:21080,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21085,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21085,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21087,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:21091,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:21094,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:21098,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:21099,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:21099,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:21102,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:21103,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 131
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21104
      start: 20882
    functionDepth: 6
    functionLinenumber: 20882
    functionLinenumberEnd: 21104
    functionName: checkds_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - KASP_UNLOCK
    - isc_sockaddr_format
    - validate_ds
    - dns_rdataset_current
    - dst_key_getstate
    - isc_time_seconds
    - REQUIRE
    - dns_rdata_tostruct
    - dns_zone_rekey
    - dst_key_gettime
    - dns_db_detach
    - dns_request_getresponse
    - isc_time_now
    - dns_zone_log
    - ISC_LIST_INIT
    - dns_name_compare
    - dns_message_create
    - dns_dnsseckey_destroy
    - checkds_destroy
    - LOCK_ZONE
    - dns_db_currentversion
    - do_checkds
    - dst_algorithm_tosecalg
    - dst_key_alg
    - ISC_LOG_DEBUG
    - INSIST
    - dns_zone_getmctx
    - dns_request_getresult
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - dns_message_detach
    - make_dnskey
    - dns_rdata_compare
    - KASP_LOCK
    - UNLOCK_ZONE
    - dns_request_getarg
    - DNS_CHECKDS_VALID
    - dns_zone_getdb
    - dst_key_role
    - isc_buffer_init
    - isc_result_totext
    - CHECK
    - dst_key_id
    - dns_ds_buildrdata
    - dns_rcode_totext
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void checkds_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:20955,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20973
      start: 20954
    functionDepth: 1
    functionLinenumber: 20954
    functionLinenumberEnd: 20973
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_name_compare
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, DNS_SECTION_ANSWER, name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21031,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:21032,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:21037,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:21040,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:21040,1
    - Dst: make_dnskey
      Src: /src/bind9/lib/dns/zone.c:21046,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zone.c:21047,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:21053,1
    - Dst: do_checkds
      Src: /src/bind9/lib/dns/zone.c:21057,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21064
      start: 21022
    functionDepth: 5
    functionLinenumber: 21022
    functionLinenumberEnd: 21064
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - make_dnskey
    - dns_rdata_compare
    - do_checkds
    - dst_algorithm_tosecalg
    - dst_key_alg
    - dns_rdataset_current
    - dst_key_id
    - dns_ds_buildrdata
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (ds_rrset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:21098,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:21099,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:21099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21100
      start: 21097
    functionDepth: 2
    functionLinenumber: 21097
    functionLinenumberEnd: 21100
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 225
    functionsReached:
    - dns_zone_getmctx
    - dns_dnsseckey_destroy
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (keys, key, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:21109,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:21113,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:21116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - zone
    - name
    - addr
    - key
    - transport
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    - isc_sockaddr_t*
    - dns_tsigkey_t*
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21123
      start: 21106
    functionDepth: 2
    functionLinenumber: 21106
    functionLinenumberEnd: 21123
    functionName: checkds_isqueued
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - dns_name_equal
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: "bool checkds_isqueued(dns_zone_t *zone, dns_name_t *name, isc_sockaddr_t
      *addr,\n\t\t dns_tsigkey_t *key, dns_transport_t *transport)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21129,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:21131,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:21136,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:21137,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:21138,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:21139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - mctx
    - flags
    - checkdsp
    argTypes:
    - isc_mem_t*
    - unsigned int
    - dns_checkds_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21143
      start: 21125
    functionDepth: 2
    functionLinenumber: 21125
    functionLinenumberEnd: 21143
    functionName: checkds_create
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_LINK_INIT
    - isc_sockaddr_any
    - isc_mem_get
    - REQUIRE
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t checkds_create(isc_mem_t *mctx, unsigned int flags, dns_checkds_t
      **checkdsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21152,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:21152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21153,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:21155,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/zone.c:21162,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/zone.c:21164,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:21169,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/zone.c:21170,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/zone.c:21171,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:21173,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/zone.c:21174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - zone
    - messagep
    argTypes:
    - dns_zone_t*
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21179
      start: 21145
    functionDepth: 1
    functionLinenumber: 21145
    functionLinenumberEnd: 21179
    functionName: checkds_createmessage
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - dns_message_addname
    - dns_rdataset_makequestion
    - dns_name_clone
    - dns_message_gettemprdataset
    - dns_message_gettempname
    - REQUIRE
    - dns_message_create
    - DNS_ZONE_VALID
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void checkds_createmessage(dns_zone_t *zone, dns_message_t **messagep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21190,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:21190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21191,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/zone.c:21195,1
    - Dst: checkds_find_address
      Src: /src/bind9/lib/dns/zone.c:21196,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21200,1
    - Dst: checkds_send_tons
      Src: /src/bind9/lib/dns/zone.c:21201,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21202,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:21209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21210
      start: 21184
    functionDepth: 6
    functionLinenumber: 21184
    functionLinenumberEnd: 21210
    functionName: process_checkds_adb_event
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNLOCK_ZONE
    - DNS_CHECKDS_VALID
    - checkds_find_address
    - REQUIRE
    - dns_adb_destroyfind
    - checkds_send_tons
    - checkds_destroy
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void process_checkds_adb_event(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21218,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:21218,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/dns/zone.c:21221,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/dns/zone.c:21224,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/zone.c:21228,1
    - Dst: dns_adb_createfind
      Src: /src/bind9/lib/dns/zone.c:21233,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/zone.c:21237,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21250,1
    - Dst: checkds_send_tons
      Src: /src/bind9/lib/dns/zone.c:21251,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21252,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:21255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - checkds
    argTypes:
    - dns_checkds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21256
      start: 21212
    functionDepth: 6
    functionLinenumber: 21212
    functionLinenumberEnd: 21256
    functionName: checkds_find_address
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - DNS_CHECKDS_VALID
    - isc_net_probeipv4
    - dns_adb_detach
    - dns_view_getadb
    - dns_adb_createfind
    - REQUIRE
    - isc_net_probeipv6
    - checkds_send_tons
    - checkds_destroy
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void checkds_find_address(dns_checkds_t *checkds)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21271,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:21271,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/dns/zone.c:21273,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21275,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:21277,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:21278,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:21290,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/zone.c:21291,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:21293,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21294,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21294,1
    - Dst: checkds_createmessage
      Src: /src/bind9/lib/dns/zone.c:21301,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:21303,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:21309,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:21310,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21313,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:21324,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21325,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21325,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21329,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21329,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:21336,1
    - Dst: dns_peer_getquerysource
      Src: /src/bind9/lib/dns/zone.c:21339,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zone.c:21343,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:21349,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:21353,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:21356,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:21364,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:21367,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21377,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21377,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/dns/zone.c:21382,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:21384,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21390,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21390,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21392,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:21397,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:21400,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21402,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:21404,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21406
      start: 21258
    functionDepth: 6
    functionLinenumber: 21258
    functionLinenumberEnd: 21406
    functionName: checkds_send_toaddr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_getpeertsig
    - isc_sockaddr_format
    - dns_peer_getforcetcp
    - IN6_IS_ADDR_V4MAPPED
    - REQUIRE
    - checkds_createmessage
    - isc_sockaddr_any6
    - dns_tsigkey_detach
    - dns_request_create
    - dns_name_format
    - dns_zone_log
    - checkds_destroy
    - LOCK_ZONE
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - isc_sockaddr_any
    - isc_rlevent_free
    - dns_message_detach
    - isc_sockaddr_equal
    - UNLOCK_ZONE
    - isc_sockaddr_pf
    - DNS_ZONE_FLAG
    - DNS_CHECKDS_VALID
    - dns_peer_getquerysource
    - isc_nm_getinitialtimeout
    - isc_result_totext
    - dns_peerlist_peerbyaddr
    linkageType: ''
    returnType: void
    signature: void checkds_send_toaddr(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21418,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:21418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21419,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:21419,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:21423,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:21427,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:21429,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:21434,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:21438,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:21439,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:21442,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:21443,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:21445,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:21448,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:21451,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:21459,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:21471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - checkds
    argTypes:
    - dns_checkds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21473
      start: 21408
    functionDepth: 6
    functionLinenumber: 21408
    functionLinenumberEnd: 21473
    functionName: checkds_send_tons
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_sockaddr_pf
    - DNS_ZONE_FLAG
    - UNREACHABLE
    - ISC_LIST_APPEND
    - isc_sockaddr_any6
    - DNS_CHECKDS_VALID
    - checkds_isqueued
    - LOCKED_ZONE
    - checkds_create
    - isc_sockaddr_any
    - zone_iattach
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_ratelimiter_enqueue
    - dns_name_dup
    - checkds_destroy
    linkageType: ''
    returnType: void
    signature: void checkds_send_tons(dns_checkds_t *checkds)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:21477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:21485,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:21485,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21487,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21487,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:21489,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:21491,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21492,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21492,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:21497,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:21498,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:21506,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:21508,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:21509,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:21512,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:21514,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:21515,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:21517,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:21522,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:21523,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:21524,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:21524,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:21524,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:21526,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:21532,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21533,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21533,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:21538,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:21541,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21546,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21546,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:21551,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21553,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21553,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:21559,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:21560,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:21564,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:21570,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:21576,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:21577,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21581,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21581,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:21585,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:21589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21591
      start: 21475
    functionDepth: 6
    functionLinenumber: 21475
    functionLinenumberEnd: 21591
    functionName: checkds_send
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_gettsig
    - isc_sockaddr_disabled
    - dns_zone_logc
    - REQUIRE
    - isc_ratelimiter_enqueue
    - dns_name_dup
    - dns_remote_curraddr
    - dns_tsigkey_detach
    - dns_view_gettransport
    - zone_iattach
    - dns_remote_sourceaddr
    - dns_zone_log
    - checkds_destroy
    - dns_zone_getview
    - ISC_LOG_DEBUG
    - checkds_isqueued
    - INSIST
    - checkds_create
    - dns_remote_reset
    - dns_remote_keyname
    - dns_remote_next
    - dns_remote_done
    - isc_sockaddr_pf
    - dns_transport_detach
    - ISC_LIST_APPEND
    - LOCKED_ZONE
    - DNS_ZONE_FLAG
    - dns_remote_count
    - dns_remote_tlsname
    linkageType: ''
    returnType: void
    signature: void checkds_send(dns_zone_t *zone)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:21612,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:21616,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:21620,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:21628,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:21631,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/zone.c:21633,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21635,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:21636,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:21642,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21643,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21643,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21645,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21648,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21648,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21654,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21656,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:21662,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21663,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:21670,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21671,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21679,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/zone.c:21687,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21689,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21698,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:21699,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:21700,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:21702,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21704,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:21705,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21706,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:21710,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21712,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21712,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21714,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:21718,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21718,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:21720,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21721,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21721,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21726,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:21727,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:21728,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:21729,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21730,1
    - Dst: checkds_find_address
      Src: /src/bind9/lib/dns/zone.c:21732,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21735,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21739,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21742,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:21746,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:21748,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:21749,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:21751,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:21752,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/zone.c:21755,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21758,1
    - Dst: nsfetch_levelup
      Src: /src/bind9/lib/dns/zone.c:21759,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:21763,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:21764,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:21766,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21767,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:21770,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 112
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21772
      start: 21598
    functionDepth: 7
    functionLinenumber: 21598
    functionLinenumberEnd: 21772
    functionName: nsfetch_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_name_free
    - zone_free
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_name_dup
    - dns_rdata_reset
    - dns_rdata_tostruct
    - dns_db_detach
    - dns_rdataset_isassociated
    - zone_iattach
    - dns_name_format
    - dns_zone_log
    - LOCK_ZONE
    - isc_log_wouldlog
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - checkds_isqueued
    - exit_check
    - dns_fixedname_name
    - INSIST
    - checkds_create
    - dns_resolver_destroyfetch
    - UNLOCK_ZONE
    - ISC_LIST_APPEND
    - checkds_find_address
    - dns_resolver_freefresp
    - isc_result_totext
    - isc_refcount_decrement
    - nsfetch_levelup
    - dnssec_log
    - DNS_ZONE_FLAG
    - dns_db_detachnode
    - dns_rdataset_count
    linkageType: ''
    returnType: void
    signature: void nsfetch_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21698,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:21699,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:21700,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:21702,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21704,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:21705,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21706,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:21710,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21712,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21712,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:21714,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:21718,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21718,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:21720,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:21721,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21721,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21726,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:21727,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:21728,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:21729,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21730,1
    - Dst: checkds_find_address
      Src: /src/bind9/lib/dns/zone.c:21732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21733
      start: 21692
    functionDepth: 7
    functionLinenumber: 21692
    functionLinenumberEnd: 21733
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - UNLOCK_ZONE
    - ISC_LIST_APPEND
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - checkds_isqueued
    - checkds_find_address
    - dns_rdataset_current
    - checkds_create
    - isc_result_totext
    - dns_name_format
    - zone_iattach
    - dns_zone_log
    - dns_name_dup
    - dns_rdata_reset
    - LOCK_ZONE
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (nsrrset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:21783,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/zone.c:21788,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:21793,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21793,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:21795,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21796,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:21796,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/zone.c:21801,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:21802,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/zone.c:21814,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/zone.c:21820,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:21824,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:21827,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:21828,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21831,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:21833,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:21835,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:21836,1
    - Dst: exit_check
      Src: /src/bind9/lib/dns/zone.c:21838,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:21839,1
    - Dst: zone_free
      Src: /src/bind9/lib/dns/zone.c:21841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21844
      start: 21774
    functionDepth: 4
    functionLinenumber: 21774
    functionLinenumberEnd: 21844
    functionName: do_nsfetch
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - UNLOCK_ZONE
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - dns_name_free
    - dns_resolver_detach
    - exit_check
    - zone_free
    - dns_fixedname_name
    - isc_refcount_decrement
    - dns_view_getresolver
    - dns_resolver_createfetch
    - dnssec_log
    - DNS_ZONE_FLAG
    - dns_name_format
    - LOCK_ZONE
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void do_nsfetch(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21967,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:21968,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:21970,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21980,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:21981,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:21983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - rdataset
    - name
    - ttl
    - diff
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_ttl_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21985
      start: 21957
    functionDepth: 1
    functionLinenumber: 21957
    functionLinenumberEnd: 21985
    functionName: update_ttl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - dns_rdataset_current
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: "void update_ttl(dns_rdataset_t *rdataset, dns_name_t *name, dns_ttl_t
      ttl,\n\t   dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21967,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:21968,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:21970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21971
      start: 21963
    functionDepth: 1
    functionLinenumber: 21963
    functionLinenumberEnd: 21971
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_diff_appendminimal
    - dns_rdataset_current
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:21980,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:21981,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:21983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21984
      start: 21976
    functionDepth: 1
    functionLinenumber: 21976
    functionLinenumberEnd: 21984
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_diff_appendminimal
    - dns_rdataset_current
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:21993,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/zone.c:21996,1
    - Dst: dns_keymgr_key_may_be_purged
      Src: /src/bind9/lib/dns/zone.c:21999,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:22006,1
    - Dst: dst_key_compare
      Src: /src/bind9/lib/dns/zone.c:22007,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/zone.c:22015,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22016,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22016,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - zone
    - newkeys
    - purgeval
    - now
    argTypes:
    - dns_zone_t*
    - dns_dnsseckeylist_t*
    - uint32_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22025
      start: 21987
    functionDepth: 4
    functionLinenumber: 21987
    functionLinenumberEnd: 22025
    functionName: zone_verifykeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - dst_key_compare
    - dst_key_is_unused
    - dnssec_log
    - ISC_LIST_FOREACH
    - dst_key_format
    - dns_keymgr_key_may_be_purged
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t zone_verifykeys(dns_zone_t *zone, dns_dnsseckeylist_t
      *newkeys,\n\t\tuint32_t purgeval, isc_stdtime_t now)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22029,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22037,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:22038,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/zone.c:22040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - zone
    - diff
    - rdataset
    argTypes:
    - dns_zone_t*
    - dns_diff_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22043
      start: 22027
    functionDepth: 1
    functionLinenumber: 22027
    functionLinenumberEnd: 22043
    functionName: remove_rdataset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_diff_append
    - dns_rdataset_current
    - dns_difftuple_create
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void remove_rdataset(dns_zone_t *zone, dns_diff_t *diff, dns_rdataset_t
      *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22037,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:22038,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/zone.c:22040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22041
      start: 22033
    functionDepth: 1
    functionLinenumber: 22033
    functionLinenumberEnd: 22041
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_diff_append
    - dns_rdataset_current
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/dns/zone.c:22049,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:22050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - diff
    - tuple
    argTypes:
    - dns_diff_t*
    - dns_difftuple_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22051
      start: 22045
    functionDepth: 1
    functionLinenumber: 22045
    functionLinenumberEnd: 22051
    functionName: add_tuple
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_diff_appendminimal
    - dns_difftuple_copy
    linkageType: ''
    returnType: void
    signature: void add_tuple(dns_diff_t *diff, dns_difftuple_t *tuple)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22059,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:22059,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22060,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/zone.c:22060,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22061,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/zone.c:22061,1
    - Dst: remove_rdataset
      Src: /src/bind9/lib/dns/zone.c:22064,1
    - Dst: remove_rdataset
      Src: /src/bind9/lib/dns/zone.c:22065,1
    - Dst: remove_rdataset
      Src: /src/bind9/lib/dns/zone.c:22066,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:22069,1
    - Dst: add_tuple
      Src: /src/bind9/lib/dns/zone.c:22072,1
    - Dst: add_tuple
      Src: /src/bind9/lib/dns/zone.c:22076,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:22082,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - zone
    - bundle
    - dnskeyset
    - cdsset
    - cdnskeyset
    - diff
    argTypes:
    - dns_zone_t*
    - dns_skrbundle_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22085
      start: 22053
    functionDepth: 2
    functionLinenumber: 22053
    functionLinenumberEnd: 22085
    functionName: zone_apply_skrbundle
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - add_tuple
    - DNS_SKRBUNDLE_VALID
    - DNS_KASP_VALID
    - INSIST
    - REQUIRE
    - remove_rdataset
    - ISC_LIST_FOREACH
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: "void zone_apply_skrbundle(dns_zone_t *zone, dns_skrbundle_t *bundle,\n\t\t
      \    dns_rdataset_t *dnskeyset, dns_rdataset_t *cdsset,\n\t\t     dns_rdataset_t
      *cdnskeyset, dns_diff_t *diff)"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22112,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:22112,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:22114,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:22115,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:22116,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22117,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22118,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22119,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22120,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22121,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22122,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:22124,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:22125,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:22126,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22128,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:22128,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22129,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:22129,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22130,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:22130,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:22132,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:22133,1
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/zone.c:22136,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22138,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22141,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22141,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22144,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/zone.c:22147,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:22148,1
    - Dst: dns_kasp_sigvalidity_dnskey
      Src: /src/bind9/lib/dns/zone.c:22149,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22153,1
    - Dst: update_ttl
      Src: /src/bind9/lib/dns/zone.c:22164,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22165,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22171,1
    - Dst: dns_dnssec_keylistfromrdataset
      Src: /src/bind9/lib/dns/zone.c:22173,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22177,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22187,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22189,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22190,1
    - Dst: update_ttl
      Src: /src/bind9/lib/dns/zone.c:22194,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22195,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22201,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22203,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22204,1
    - Dst: update_ttl
      Src: /src/bind9/lib/dns/zone.c:22208,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22209,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:22219,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22223,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22225,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22226,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22226,1
    - Dst: dns_skr_lookup
      Src: /src/bind9/lib/dns/zone.c:22232,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22234,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:22241,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/zone.c:22243,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/zone.c:22244,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/zone.c:22245,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22246,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22246,1
    - Dst: zone_apply_skrbundle
      Src: /src/bind9/lib/dns/zone.c:22255,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:22258,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22264,1
    - Dst: KASP_LOCK
      Src: /src/bind9/lib/dns/zone.c:22274,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22276,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/zone.c:22277,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22279,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22282,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22282,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22284,1
    - Dst: zone_verifykeys
      Src: /src/bind9/lib/dns/zone.c:22289,1
    - Dst: dns_kasp_purgekeys
      Src: /src/bind9/lib/dns/zone.c:22290,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22292,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:22295,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22302,1
    - Dst: checkds_cancel
      Src: /src/bind9/lib/dns/zone.c:22303,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:22304,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:22305,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22306,1
    - Dst: dns_zone_getdnsseckeys
      Src: /src/bind9/lib/dns/zone.c:22308,1
    - Dst: zone_checkds
      Src: /src/bind9/lib/dns/zone.c:22311,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22313,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22314,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22318,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22323,1
    - Dst: dns_keymgr_run
      Src: /src/bind9/lib/dns/zone.c:22324,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22327,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22330,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22333,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:22334,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22343,1
    - Dst: dns_keymgr_offline
      Src: /src/bind9/lib/dns/zone.c:22344,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:22346,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22349,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22352,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:22356,1
    - Dst: dns_dnssec_updatekeys
      Src: /src/bind9/lib/dns/zone.c:22372,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22380,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22382,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:22396,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:22396,1
    - Dst: dns_kasp_digests
      Src: /src/bind9/lib/dns/zone.c:22400,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/lib/dns/zone.c:22401,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22404,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22407,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:22413,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22425,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22428,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:22436,1
    - Dst: dns_kasp_digests
      Src: /src/bind9/lib/dns/zone.c:22447,1
    - Dst: dns_dnssec_syncupdate
      Src: /src/bind9/lib/dns/zone.c:22453,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22457,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22459,1
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/zone.c:22474,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:22475,1
    - Dst: dns_dnssec_syncdelete
      Src: /src/bind9/lib/dns/zone.c:22489,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22493,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22496,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:22508,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22515,1
    - Dst: signed_with_alg
      Src: /src/bind9/lib/dns/zone.c:22520,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22520,1
    - Dst: dns_zone_check_dnskey_nsec3
      Src: /src/bind9/lib/dns/zone.c:22538,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:22540,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22542,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22548,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/zone.c:22548,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22549,1
    - Dst: clean_nsec3param
      Src: /src/bind9/lib/dns/zone.c:22549,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22550,1
    - Dst: add_signing_records
      Src: /src/bind9/lib/dns/zone.c:22550,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22552,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:22552,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22554,1
    - Dst: add_chains
      Src: /src/bind9/lib/dns/zone.c:22554,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22555,1
    - Dst: sign_apex
      Src: /src/bind9/lib/dns/zone.c:22555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22556,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:22556,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:22562,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22564,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:22568,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:22570,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:22572,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:22574,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:22578,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22578,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22579,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22581,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22584,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:22589,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22590,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22591,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:22596,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/zone.c:22597,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22598,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:22612,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22613,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22614,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22616,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22619,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:22634,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22635,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22636,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22638,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22641,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zone.c:22650,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:22656,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:22667,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22673,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:22674,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:22679,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22681,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22683,1
    - Dst: resume_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:22692,1
    - Dst: set_resigntime
      Src: /src/bind9/lib/dns/zone.c:22698,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:22701,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:22721,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:22723,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:22724,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22726,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22726,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22728,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:22738,1
    - Dst: next_keyevent
      Src: /src/bind9/lib/dns/zone.c:22744,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:22749,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:22750,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:22757,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:22759,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22760,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22762,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:22767,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:22768,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:22772,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22772,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:22775,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22775,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22777,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22777,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22779,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:22781,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:22782,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22788,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22794,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22798,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22800,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:22801,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:22802,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:22802,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:22804,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22806,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:22808,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:22809,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:22811,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:22812,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:22813,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:22816,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22818,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22819,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22821,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22822,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22824,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22825,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22827,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22828,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22830,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:22831,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:22834,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:22837,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:22840,1
    CyclomaticComplexity: 117
    EdgeCount: 117
    ICount: 387
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22841
      start: 22087
    functionDepth: 9
    functionLinenumber: 22087
    functionLinenumberEnd: 22841
    functionName: zone_rekey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_dnssec_syncdelete
    - isc_time_seconds
    - REQUIRE
    - dns_kasp_digests
    - dns_zone_getkeydirectory
    - dns_diff_init
    - zone_settimer
    - dns_rdata_tostruct
    - dns_zone_lock_keyfiles
    - dst_key_is_signing
    - dns_kasp_purgekeys
    - zone_verifykeys
    - dns_db_detach
    - checkds_cancel
    - dns_kasp_dnskeyttl
    - ISC_LIST_INIT
    - dns_kasp_cdnskey
    - dns_dnssecsignstats_clear
    - RUNTIME_CHECK
    - set_resigntime
    - DNS_ZONE_SETFLAG
    - zone_journal
    - UNLOCK_ZONE
    - update_ttl
    - dns_zone_getdb
    - isc_result_totext
    - isc_buffer_init
    - dns_skr_lookup
    - dnssec_log
    - dns_time32_totext
    - dns_db_detachnode
    - dns_db_closeversion
    - KASP_UNLOCK
    - dns_db_findrdataset
    - dns_rdataset_current
    - isc_time_compare
    - dns_rdataset_disassociate
    - dst_key_is_published
    - isc_buffer_usedregion
    - add_signing_records
    - DNS_ZONE_TIME_ADD
    - dns_zone_check_dnskey_nsec3
    - dns_keymgr_run
    - isc_time_now
    - clear_keylist
    - isc_time_settoepoch
    - dns_db_getoriginnode
    - LOCK_ZONE
    - dns_dnssec_syncupdate
    - isc_log_wouldlog
    - dst_key_alg
    - INSIST
    - dns_zone_getdnsseckeys
    - ISC_LIST_FOREACH
    - next_keyevent
    - update_soa_serial
    - signed_with_alg
    - dns_kasp_offlineksk
    - dns_nsec3param_fromprivate
    - DNS_ZONE_VALID
    - ISC_MIN
    - dns_rdataset_isassociated
    - isc_time_formattimestamp
    - zone_needdump
    - isc_time_nowplusinterval
    - ISC_LIST_NEXT
    - ISC_LIST_EMPTY
    - isc_interval_set
    - ISC_LOG_DEBUG
    - zone_apply_skrbundle
    - dns_kasp_getname
    - dns_diff_clear
    - dns_kasp_sigvalidity_dnskey
    - ISC_LIST_APPEND
    - dns_keymgr_offline
    - dns_zone_getdnssecsignstats
    - CHECK
    - zone_addnsec3chain
    - strcmp
    - dns_dnssec_updatekeys
    - KASP_LOCK
    - sign_apex
    - isc_stdtime_tostring
    - clean_nsec3param
    - memcmp
    - dns_dnssec_findmatchingkeys
    - DNS_ZONE_CLROPTION
    - dns_rdataset_init
    - zone_signwithkey
    - dns_secalg_format
    - resume_addnsec3chain
    - zonediff_init
    - ISC_LIST_UNLINK
    - add_chains
    - dns_dnssec_keylistfromrdataset
    - dns_diff_apply
    - dns_db_newversion
    - dst_key_rid
    - dns_zone_unlock_keyfiles
    - dst_key_id
    - zone_checkds
    - DNS_ZONE_OPTION
    linkageType: ''
    returnType: void
    signature: void zone_rekey(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22407,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:22413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22421
      start: 22405
    functionDepth: 1
    functionLinenumber: 22405
    functionLinenumberEnd: 22421
    functionName: (&cdsset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&cdsset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22428,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:22436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22444
      start: 22426
    functionDepth: 1
    functionLinenumber: 22426
    functionLinenumberEnd: 22444
    functionName: (&cdnskeyset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&cdnskeyset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/zone.c:22474,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:22475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22481
      start: 22471
    functionDepth: 4
    functionLinenumber: 22471
    functionLinenumberEnd: 22481
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 230
    functionsReached:
    - dst_key_is_signing
    - dst_key_is_published
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, key, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:22578,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22578,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22579,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22581,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22584,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:22589,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22590,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22591,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:22596,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/zone.c:22597,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22600
      start: 22577
    functionDepth: 4
    functionLinenumber: 22577
    functionLinenumberEnd: 22600
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 230
    functionsReached:
    - zone_signwithkey
    - dst_key_alg
    - isc_result_totext
    - dst_key_id
    - dnssec_log
    - dns_dnssecsignstats_clear
    - dst_key_rid
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (rmkeys, key, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:22612,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22613,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22614,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22616,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22621
      start: 22607
    functionDepth: 4
    functionLinenumber: 22607
    functionLinenumberEnd: 22621
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 230
    functionsReached:
    - zone_signwithkey
    - dst_key_alg
    - isc_result_totext
    - dst_key_id
    - dnssec_log
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, key, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:22634,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22635,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22636,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22638,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:22641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22643
      start: 22629
    functionDepth: 4
    functionLinenumber: 22629
    functionLinenumberEnd: 22643
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 230
    functionsReached:
    - zone_signwithkey
    - dst_key_alg
    - isc_result_totext
    - dst_key_id
    - dnssec_log
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, key, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_keyevent
      Src: /src/bind9/lib/dns/zone.c:22744,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:22749,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:22750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22755
      start: 22742
    functionDepth: 3
    functionLinenumber: 22742
    functionLinenumberEnd: 22755
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 230
    functionsReached:
    - next_keyevent
    - DNS_ZONE_TIME_ADD
    - isc_time_compare
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, key, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:22772,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22772,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:22775,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:22775,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:22777,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:22777,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:22779,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:22781,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:22782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22783
      start: 22771
    functionDepth: 4
    functionLinenumber: 22771
    functionLinenumberEnd: 22783
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 230
    functionsReached:
    - ISC_LIST_APPEND
    - dst_key_alg
    - ISC_LOG_DEBUG
    - dns_secalg_format
    - dst_key_id
    - dnssec_log
    - ISC_LIST_UNLINK
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dnskeys, key, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22848,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:22851,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:22854,1
    - Dst: zone_settimer
      Src: /src/bind9/lib/dns/zone.c:22856,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:22858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - fullsign
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22860
      start: 22843
    functionDepth: 3
    functionLinenumber: 22843
    functionLinenumberEnd: 22860
    functionName: dns_zone_rekey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - UNLOCK_ZONE
    - isc_time_now
    - zone_settimer
    - LOCK_ZONE
    - DNS_ZONE_SETOPTION
    linkageType: ''
    returnType: void
    signature: void dns_zone_rekey(dns_zone_t *zone, bool fullsign)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22868,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:22868,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22869,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:22871,1
    - Dst: zone_count_ns_rr
      Src: /src/bind9/lib/dns/zone.c:22875,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:22876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - zone
    - db
    - version
    - errors
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22878
      start: 22862
    functionDepth: 3
    functionLinenumber: 22862
    functionLinenumberEnd: 22878
    functionName: dns_zone_nscheck
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - zone_count_ns_rr
    - REQUIRE
    - dns_db_detachnode
    - DNS_ZONE_VALID
    - dns_db_getoriginnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_nscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *version,\n\t\t unsigned int *errors)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:22891,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:22891,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:22893,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22898,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22899,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:22900,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22902,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22908,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22914,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22915,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:22921,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:22934,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:22936,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22941,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:22947,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22959,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22959,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22971,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22972,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:22989,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22996,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22996,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:22998,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23023,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:23025,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23031,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23038,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23050,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23050,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:23052,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23063,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23064,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23064,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:23066,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23091,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23092,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23094,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23095,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23097,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23098,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:23100,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 137
    argCount: 3
    argNames:
    - zone
    - db
    - version
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23102
      start: 22880
    functionDepth: 4
    functionLinenumber: 22880
    functionLinenumberEnd: 23102
    functionName: dns_zone_cdscheck
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - memset
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - memcmp
    - CHECK
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_dnssec_matchdskey
    - dns_db_detachnode
    - DNS_ZONE_VALID
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_cdscheck(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *version)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22941,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:22947,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22959,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22959,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22971,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22972,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:22989,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:22996,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22996,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:22998,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23004
      start: 22937
    functionDepth: 4
    functionLinenumber: 22937
    functionLinenumberEnd: 23004
    functionName: (&cds)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dst_algorithm_fromdata
    - memcmp
    - CHECK
    - dns_dnssec_matchdskey
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&cds)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:22971,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:22972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22981
      start: 22967
    functionDepth: 1
    functionLinenumber: 22967
    functionLinenumberEnd: 22981
    functionName: (&dnskey)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dnskey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23031,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23038,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23050,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23050,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:23052,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23063,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23064,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23064,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:23066,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23075
      start: 23026
    functionDepth: 4
    functionLinenumber: 23026
    functionLinenumberEnd: 23075
    functionName: (&cdnskey)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - dst_algorithm_fromdata
    - memcmp
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&cdnskey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23063,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23064,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23064,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:23066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23074
      start: 23058
    functionDepth: 4
    functionLinenumber: 23058
    functionLinenumberEnd: 23074
    functionName: (&dnskey)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dst_algorithm_fromdata
    - CHECK
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dnskey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23106,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23106,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23108,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - automatic
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23111
      start: 23104
    functionDepth: 1
    functionLinenumber: 23104
    functionLinenumberEnd: 23111
    functionName: dns_zone_setautomatic
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setautomatic(dns_zone_t *zone, bool automatic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23115,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23117
      start: 23113
    functionDepth: 1
    functionLinenumber: 23113
    functionLinenumberEnd: 23117
    functionName: dns_zone_getautomatic
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getautomatic(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23121,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23121,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23123,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - added
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23126
      start: 23119
    functionDepth: 1
    functionLinenumber: 23119
    functionLinenumberEnd: 23126
    functionName: dns_zone_setadded
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setadded(dns_zone_t *zone, bool added)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23130,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23132
      start: 23128
    functionDepth: 1
    functionLinenumber: 23128
    functionLinenumberEnd: 23132
    functionName: dns_zone_getadded
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 7
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getadded(dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:23140,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23146,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23147,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:23148,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23149,1
    - Dst: inline_raw
      Src: /src/bind9/lib/dns/zone.c:23150,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23152,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23154,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:23156,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:23160,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:23161,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23162,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23164,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23168
      start: 23134
    functionDepth: 11
    functionLinenumber: 23134
    functionLinenumberEnd: 23168
    functionName: dns_zone_dlzpostload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - zone_postload
    - isc_thread_yield
    - INSIST
    - TRYLOCK_ZONE
    - inline_secure
    - isc_time_now
    - inline_raw
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_dlzpostload(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23172,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23183
      start: 23170
    functionDepth: 1
    functionLinenumber: 23170
    functionLinenumberEnd: 23183
    functionName: dns_zone_setrefreshkeyinterval
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_setrefreshkeyinterval(dns_zone_t *zone, uint32_t
      interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23187,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - flag
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23189
      start: 23185
    functionDepth: 1
    functionLinenumber: 23185
    functionLinenumberEnd: 23189
    functionName: dns_zone_setrequestixfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrequestixfr(dns_zone_t *zone, bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23193,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23195
      start: 23191
    functionDepth: 1
    functionLinenumber: 23191
    functionLinenumberEnd: 23195
    functionName: dns_zone_getrequestixfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getrequestixfr(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23199,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - maxdiffs
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23201
      start: 23197
    functionDepth: 1
    functionLinenumber: 23197
    functionLinenumberEnd: 23201
    functionName: dns_zone_setrequestixfrmaxdiffs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrequestixfrmaxdiffs(dns_zone_t *zone, uint32_t maxdiffs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23205,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23207
      start: 23203
    functionDepth: 1
    functionLinenumber: 23203
    functionLinenumberEnd: 23207
    functionName: dns_zone_getrequestixfrmaxdiffs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getrequestixfrmaxdiffs(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23211,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - ratio
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23213
      start: 23209
    functionDepth: 1
    functionLinenumber: 23209
    functionLinenumberEnd: 23213
    functionName: dns_zone_setixfrratio
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setixfrratio(dns_zone_t *zone, uint32_t ratio)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23217,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23219
      start: 23215
    functionDepth: 1
    functionLinenumber: 23215
    functionLinenumberEnd: 23219
    functionName: dns_zone_getixfrratio
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getixfrratio(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23223,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - flag
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23225
      start: 23221
    functionDepth: 1
    functionLinenumber: 23221
    functionLinenumberEnd: 23225
    functionName: dns_zone_setrequestexpire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrequestexpire(dns_zone_t *zone, bool flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23229,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23231
      start: 23227
    functionDepth: 1
    functionLinenumber: 23227
    functionLinenumberEnd: 23231
    functionName: dns_zone_getrequestexpire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getrequestexpire(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23235,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - method
    argTypes:
    - dns_zone_t*
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23237
      start: 23233
    functionDepth: 1
    functionLinenumber: 23233
    functionLinenumberEnd: 23237
    functionName: dns_zone_setserialupdatemethod
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setserialupdatemethod(dns_zone_t *zone, dns_updatemethod_t
      method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23241,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23243
      start: 23239
    functionDepth: 1
    functionLinenumber: 23239
    functionLinenumberEnd: 23243
    functionName: dns_zone_getserialupdatemethod
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_updatemethod_t
    signature: dns_updatemethod_t dns_zone_getserialupdatemethod(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23252,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23257,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23257,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23259,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23262,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:23268,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23269,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23270,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/zone.c:23272,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:23275,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:23279,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:23281,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:23283,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23285,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23286,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:23287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - zone
    - raw
    argTypes:
    - dns_zone_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23289
      start: 23248
    functionDepth: 2
    functionLinenumber: 23248
    functionLinenumberEnd: 23289
    functionName: dns_zone_link
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - ISC_LIST_APPEND
    - RWUNLOCK
    - RWLOCK
    - isc_refcount_increment
    - zone_iattach
    - REQUIRE
    - isc_loop_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_link(dns_zone_t *zone, dns_zone_t *raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23293,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23293,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23294,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:23296,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23297,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/zone.c:23299,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - raw
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23302
      start: 23291
    functionDepth: 1
    functionLinenumber: 23291
    functionLinenumberEnd: 23302
    functionName: dns_zone_getraw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 13
    functionsReached:
    - dns_zone_attach
    - LOCK
    - INSIST
    - UNLOCK
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_zone_getraw(dns_zone_t *zone, dns_zone_t **raw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23307,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23307,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:23308,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23312
      start: 23304
    functionDepth: 1
    functionLinenumber: 23304
    functionLinenumberEnd: 23312
    functionName: dns_zone_israw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - LOCK
    - DNS_ZONE_VALID
    - REQUIRE
    - UNLOCK
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_israw(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23317,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23317,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:23318,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23322
      start: 23314
    functionDepth: 1
    functionLinenumber: 23314
    functionLinenumberEnd: 23322
    functionName: dns_zone_issecure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - LOCK
    - DNS_ZONE_VALID
    - REQUIRE
    - UNLOCK
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_issecure(dns_zone_t *zone)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23346,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23346,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:23350,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:23351,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:23353,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:23355,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23357,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:23362,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:23363,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:23365,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:23367,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:23371,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:23376,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23379,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23379,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23383,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23383,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23391,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23408,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23413,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23420,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:23420,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:23426,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23428,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:23428,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/dns/zone.c:23431,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23435,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23438,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:23438,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23441,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:23442,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:23444,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23445,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23449,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23450,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:23454,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:23457,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:23460,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:23462,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:23464,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:23465,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:23466,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23468,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23469,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23470
      start: 23332
    functionDepth: 9
    functionLinenumber: 23332
    functionLinenumberEnd: 23470
    functionName: keydone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_diff_init
    - ZONEDB_LOCK
    - isc_mem_put
    - dns_db_detach
    - dns_rdataset_isassociated
    - zone_needdump
    - dns_db_getoriginnode
    - LOCK_ZONE
    - dns_db_currentversion
    - ISC_LIST_EMPTY
    - dns_db_attach
    - dns_update_signatures
    - INSIST
    - DNS_ZONE_SETFLAG
    - dns_diff_clear
    - update_one_rr
    - ZONEDB_UNLOCK
    - zone_journal
    - dns_db_newversion
    - UNLOCK_ZONE
    - dns_zone_idetach
    - isc_result_totext
    - CHECK
    - dnssec_log
    - dns_db_detachnode
    - update_soa_serial
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void keydone(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23391,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23408,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23413,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23420,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:23420,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23424
      start: 23387
    functionDepth: 1
    functionLinenumber: 23387
    functionLinenumberEnd: 23424
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    - update_one_rr
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23478,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23478,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23480,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:23482,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/zone.c:23485,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/zone.c:23494,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23496,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/zone.c:23499,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23503,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/zone.c:23506,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zone.c:23508,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:23509,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23510,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/lib/dns/zone.c:23510,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:23514,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:23515,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:23515,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/zone.c:23516,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:23517,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:23518,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/zone.c:23519,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:23522,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:23523,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:23528,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - zone
    - keystr
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23532
      start: 23472
    functionDepth: 4
    functionLinenumber: 23472
    functionLinenumberEnd: 23532
    functionName: dns_zone_keydone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_async_run
    - REQUIRE
    - sscanf
    - DNS_ZONE_VALID
    - zone_iattach
    - strcasecmp
    - LOCK_ZONE
    - dst_algorithm_tosecalg
    - strchr
    - isc_mem_get
    - strlen
    - isc_buffer_putuint16
    - UNCONST
    - isc_buffer_putuint8
    - dst_algorithm_fromtext
    - UNLOCK_ZONE
    - isc_buffer_init
    - CHECK
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_keydone(dns_zone_t *zone, const char *keystr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23544,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23544,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23548,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:23549,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23550,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23557,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:23560,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:23568,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23570,1
    - Dst: rss_post
      Src: /src/bind9/lib/dns/zone.c:23575,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:23577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23578
      start: 23538
    functionDepth: 5
    functionLinenumber: 23538
    functionLinenumberEnd: 23578
    functionName: setnsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - ZONEDB_LOCK
    - UNLOCK_ZONE
    - isc_async_run
    - dns_zone_idetach
    - INSIST
    - rss_post
    - DNS_ZONE_FLAG
    - ZONEDB_UNLOCK
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void setnsec3param(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:23590,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/zone.c:23591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - salt
    - saltlen
    - text
    - textlen
    argTypes:
    - unsigned char*
    - uint8_t
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23597
      start: 23580
    functionDepth: 2
    functionLinenumber: 23580
    functionLinenumberEnd: 23597
    functionName: salt2text
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_hex_totext
    linkageType: ''
    returnType: void
    signature: "void salt2text(unsigned char *salt, uint8_t saltlen, unsigned char
      *text,\n\t  unsigned int textlen)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:23623,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:23624,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:23625,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:23627,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:23629,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23631,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:23636,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:23637,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:23639,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:23641,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23645,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:23645,1
    - Dst: dns__zone_lookup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:23659,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:23669,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:23669,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:23671,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23675,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:23684,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23685,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:23685,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:23688,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:23697,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23702,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23705,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23712,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23712,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:23719,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23724,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23727,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23735,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23735,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23745,1
    - Dst: dns_nsec3param_deletechains
      Src: /src/bind9/lib/dns/zone.c:23745,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:23763,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23772,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:23772,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:23782,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23783,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:23783,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/dns/zone.c:23785,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23789,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:23791,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:23791,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23794,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:23795,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:23796,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23797,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23801,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23802,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23804,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23805,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:23808,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:23811,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:23814,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:23817,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23820,1
    - Dst: resume_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:23821,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:23822,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:23824,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:23825,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23827,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23828,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23829
      start: 23605
    functionDepth: 9
    functionLinenumber: 23605
    functionLinenumberEnd: 23829
    functionName: rss_post
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_nsec3param_toprivate
    - dns_nsec3param_deletechains
    - dns_db_findrdataset
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_diff_init
    - ZONEDB_LOCK
    - isc_mem_put
    - dns_db_detach
    - dns_rdataset_isassociated
    - zone_needdump
    - dns_nsec_nseconly
    - dns_db_getoriginnode
    - LOCK_ZONE
    - dns_db_currentversion
    - resume_addnsec3chain
    - ISC_LIST_EMPTY
    - dns_rdata_fromstruct
    - ISC_LOG_DEBUG
    - dns_db_attach
    - dns__zone_lookup_nsec3param
    - INSIST
    - dns_update_signatures
    - DNS_ZONE_SETFLAG
    - dns_diff_clear
    - ZONEDB_UNLOCK
    - update_one_rr
    - zone_journal
    - dns_db_newversion
    - UNLOCK_ZONE
    - isc_result_totext
    - isc_buffer_init
    - CHECK
    - dnssec_log
    - dns_db_detachnode
    - update_soa_serial
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void rss_post(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23702,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23710
      start: 23700
    functionDepth: 1
    functionLinenumber: 23700
    functionLinenumberEnd: 23710
    functionName: (&prdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&prdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23724,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23733
      start: 23722
    functionDepth: 1
    functionLinenumber: 23722
    functionLinenumberEnd: 23733
    functionName: (&nrdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&nrdataset)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:23851,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:23851,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:23853,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:23855,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:23857,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:23859,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:23865,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:23867,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:23870,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:23874,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:23876,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23880,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23880,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:23882,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:23885,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23893,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23894,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23907,1
    - Dst: dns_nsec3_generate_salt
      Src: /src/bind9/lib/dns/zone.c:23944,1
    - Dst: salt2text
      Src: /src/bind9/lib/dns/zone.c:23950,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:23952,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23956,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:23966,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:23970,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:23971,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:23974,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:23977,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:23980,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 104
    argCount: 5
    argNames:
    - zone
    - lookup
    - param
    - saltbuf
    - resalt
    argTypes:
    - dns_zone_t*
    - dns_rdata_nsec3param_t*
    - dns_rdata_nsec3param_t*
    - unsigned char[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23984
      start: 23840
    functionDepth: 4
    functionLinenumber: 23840
    functionLinenumberEnd: 23984
    functionName: dns__zone_lookup_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_nsec3_generate_salt
    - memcmp
    - dns_rdataset_disassociate
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - ZONEDB_LOCK
    - dns_rdata_tostruct
    - dns_db_findnode
    - dns_db_detach
    - dns_rdataset_isassociated
    - dns_zone_log
    - dns_db_currentversion
    - salt2text
    - dns_db_attach
    - INSIST
    - ZONEDB_UNLOCK
    - isc_result_totext
    - dnssec_log
    - dns_db_detachnode
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__zone_lookup_nsec3param(dns_zone_t *zone, dns_rdata_nsec3param_t
      *lookup,\n\t\t\t    dns_rdata_nsec3param_t *param,\n\t\t\t    unsigned char
      saltbuf[255], bool resalt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:23893,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:23894,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:23907,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23921
      start: 23891
    functionDepth: 1
    functionLinenumber: 23891
    functionLinenumberEnd: 23921
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24021,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24021,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24023,1
    - Dst: dns__zone_lookup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:24036,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24039,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:24049,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:24063,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:24063,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:24067,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:24073,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24076,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:24076,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:24079,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:24087,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:24087,1
    - Dst: salt2text
      Src: /src/bind9/lib/dns/zone.c:24090,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:24093,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:24093,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:24110,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:24112,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:24113,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:24115,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:24117,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 56
    argCount: 8
    argNames:
    - zone
    - hash
    - flags
    - iter
    - saltlen
    - salt
    - replace
    - resalt
    argTypes:
    - dns_zone_t*
    - uint8_t
    - uint8_t
    - uint16_t
    - uint8_t
    - unsigned char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24124
      start: 24006
    functionDepth: 5
    functionLinenumber: 24006
    functionLinenumberEnd: 24124
    functionName: dns_zone_setnsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_nsec3param_toprivate
    - isc_async_run
    - REQUIRE
    - DNS_ZONE_VALID
    - ZONEDB_LOCK
    - ISC_LINK_INIT
    - zone_iattach
    - LOCK_ZONE
    - isc_log_wouldlog
    - dns_rdata_fromstruct
    - salt2text
    - ISC_LOG_DEBUG
    - dns__zone_lookup_nsec3param
    - isc_mem_get
    - ZONEDB_UNLOCK
    - UNLOCK_ZONE
    - ISC_LIST_APPEND
    - isc_buffer_init
    - CHECK
    - dnssec_log
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_setnsec3param(dns_zone_t *zone, uint8_t hash,
      uint8_t flags,\n\t\t       uint16_t iter, uint8_t saltlen, unsigned char *salt,\n\t\t
      \      bool replace, bool resalt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24128,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24129,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24131,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - loadtime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24135
      start: 24126
    functionDepth: 1
    functionLinenumber: 24126
    functionLinenumberEnd: 24135
    functionName: dns_zone_getloadtime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getloadtime(dns_zone_t *zone, isc_time_t *loadtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24139,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24140,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24142,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - expiretime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24146
      start: 24137
    functionDepth: 1
    functionLinenumber: 24137
    functionLinenumberEnd: 24146
    functionName: dns_zone_getexpiretime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getexpiretime(dns_zone_t *zone, isc_time_t *expiretime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24150,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24151,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24153,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - refreshtime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24157
      start: 24148
    functionDepth: 1
    functionLinenumber: 24148
    functionLinenumberEnd: 24157
    functionName: dns_zone_getrefreshtime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getrefreshtime(dns_zone_t *zone, isc_time_t *refreshtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24161,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24162,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24164,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - refreshkeytime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24168
      start: 24159
    functionDepth: 1
    functionLinenumber: 24159
    functionLinenumberEnd: 24168
    functionName: dns_zone_getrefreshkeytime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - REQUIRE
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getrefreshkeytime(dns_zone_t *zone, isc_time_t
      *refreshkeytime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24175,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24176,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24178,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/zone.c:24183,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:24184,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:24185,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:24186,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:24188,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - zone
    - includesp
    argTypes:
    - dns_zone_t*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24194
      start: 24170
    functionDepth: 1
    functionLinenumber: 24170
    functionLinenumberEnd: 24194
    functionName: dns_zone_getincludes
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - INSIST
    - REQUIRE
    - isc_mem_strdup
    - ISC_LIST_FOREACH
    - isc_mem_allocate
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zone_getincludes(dns_zone_t *zone, char ***includesp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24198,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - level
    argTypes:
    - dns_zone_t*
    - dns_zonestat_level_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24201
      start: 24196
    functionDepth: 1
    functionLinenumber: 24196
    functionLinenumberEnd: 24201
    functionName: dns_zone_setstatlevel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setstatlevel(dns_zone_t *zone, dns_zonestat_level_t level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24205,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24208
      start: 24203
    functionDepth: 1
    functionLinenumber: 24203
    functionLinenumberEnd: 24208
    functionName: dns_zone_getstatlevel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_zonestat_level_t
    signature: dns_zonestat_level_t dns_zone_getstatlevel(dns_zone_t *zone)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:24223,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24223,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:24233,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:24235,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:24237,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:24239,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:24244,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:24245,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:24247,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:24249,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24253,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/zone.c:24253,1
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/dns/zone.c:24255,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:24258,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:24262,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:24264,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/dns/zone.c:24273,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24274,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:24274,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24275,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:24275,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/dns/zone.c:24276,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24279,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24283,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:24283,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24286,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:24287,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24288,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:24292,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:24295,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:24298,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:24301,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:24304,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:24306,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:24309,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:24310,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:24312,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:24313,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24314
      start: 24210
    functionDepth: 9
    functionLinenumber: 24210
    functionLinenumberEnd: 24314
    functionName: setserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - DNS_ZONE_VALID
    - dns_diff_init
    - dns_difftuple_free
    - ZONEDB_LOCK
    - do_one_tuple
    - dns_db_detach
    - zone_needdump
    - isc_serial_gt
    - dns_zone_log
    - LOCK_ZONE
    - dns_db_currentversion
    - dns_difftuple_copy
    - dns_db_attach
    - dns_update_signatures
    - INSIST
    - dns_soa_getserial
    - dns_soa_setserial
    - dns_diff_clear
    - ZONEDB_UNLOCK
    - zone_journal
    - dns_db_createsoatuple
    - dns_db_newversion
    - UNLOCK_ZONE
    - dns_zone_idetach
    - isc_result_totext
    - CHECK
    - isc_mem_put
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void setserial(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24321,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24321,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24323,1
    - Dst: inline_secure
      Src: /src/bind9/lib/dns/zone.c:24325,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:24326,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:24337,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:24339,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:24340,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:24343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24345
      start: 24316
    functionDepth: 4
    functionLinenumber: 24316
    functionLinenumberEnd: 24345
    functionName: dns_zone_setserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - UNLOCK_ZONE
    - isc_async_run
    - inline_secure
    - isc_mem_get
    - zone_iattach
    - REQUIRE
    - dns_zone_isdynamic
    - DNS_ZONE_VALID
    - LOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_setserial(dns_zone_t *zone, uint32_t serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24349,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24352
      start: 24347
    functionDepth: 1
    functionLinenumber: 24347
    functionLinenumberEnd: 24352
    functionName: dns_zone_getgluecachestats
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_stats_t
    signature: 'isc_stats_t *

      dns_zone_getgluecachestats(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24356,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24356,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:24358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24359
      start: 24354
    functionDepth: 1
    functionLinenumber: 24354
    functionLinenumberEnd: 24359
    functionName: dns_zone_isloaded
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_ZONE_VALID
    - REQUIRE
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_isloaded(dns_zone_t *zone)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24368,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24369,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/zone.c:24373,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:24378,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:24384,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:24390,1
    - Dst: dns_zoneverify_dnssec
      Src: /src/bind9/lib/dns/zone.c:24391,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:24396,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:24400,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:24404,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:24405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - zone
    - db
    - ver
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24410
      start: 24361
    functionDepth: 4
    functionLinenumber: 24361
    functionLinenumberEnd: 24410
    functionName: dns_zone_verifydb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_db_currentversion
    - dns_db_origin
    - isc_result_totext
    - dns_zoneverify_dnssec
    - REQUIRE
    - dnssec_log
    - dns_zone_gettype
    - dns_view_getsecroots
    - DNS_ZONE_VALID
    - dns_keytable_detach
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_verifydb(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t
      *ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24414,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24414,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:24416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24417
      start: 24412
    functionDepth: 1
    functionLinenumber: 24412
    functionLinenumberEnd: 24417
    functionName: zone_nsecttl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - ISC_MIN
    - DNS_ZONE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t zone_nsecttl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24422,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:24422,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24423,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:24425,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:24428,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/zone.c:24431,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:24433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - zmgr
    - tlsctx_cache
    argTypes:
    - dns_zonemgr_t*
    - isc_tlsctx_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24434
      start: 24419
    functionDepth: 6
    functionLinenumber: 24419
    functionLinenumberEnd: 24434
    functionName: dns_zonemgr_set_tlsctx_cache
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_tlsctx_cache_attach
    - RWUNLOCK
    - RWLOCK
    - isc_tlsctx_cache_detach
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_zonemgr_set_tlsctx_cache(dns_zonemgr_t *zmgr,\n\t\t\t     isc_tlsctx_cache_t
      *tlsctx_cache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24438,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:24438,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24439,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:24441,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:24443,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/zone.c:24444,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:24446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zmgr
    - ptlsctx_cache
    argTypes:
    - dns_zonemgr_t*
    - isc_tlsctx_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24447
      start: 24436
    functionDepth: 2
    functionLinenumber: 24436
    functionLinenumberEnd: 24447
    functionName: zmgr_tlsctx_attach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - isc_tlsctx_cache_attach
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - DNS_ZONEMGR_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void zmgr_tlsctx_attach(dns_zonemgr_t *zmgr, isc_tlsctx_cache_t **ptlsctx_cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24452
      start: 24449
    functionDepth: 0
    functionLinenumber: 24449
    functionLinenumberEnd: 24452
    functionName: dns_zone_getmem
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_mem_t
    signature: 'isc_mem_t *

      dns_zone_getmem(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24457
      start: 24454
    functionDepth: 0
    functionLinenumber: 24454
    functionLinenumberEnd: 24457
    functionName: dns_zone_gettid
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zone_gettid(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24462
      start: 24459
    functionDepth: 0
    functionLinenumber: 24459
    functionLinenumberEnd: 24462
    functionName: dns_zone_getloop
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

      dns_zone_getloop(dns_zone_t *zone)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24466,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24466,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24467,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:24471,1
    - Dst: dns_db_setgluecachestats
      Src: /src/bind9/lib/dns/zone.c:24484,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:24489,1
    - Dst: dns_db_setloop
      Src: /src/bind9/lib/dns/zone.c:24497,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:24498,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:24499,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - zone
    - dbp
    argTypes:
    - dns_zone_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24504
      start: 24464
    functionDepth: 3
    functionLinenumber: 24464
    functionLinenumberEnd: 24504
    functionName: dns_zone_makedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_db_setmaxrrperset
    - dns_db_setgluecachestats
    - dns_db_detach
    - REQUIRE
    - dns_db_setloop
    - dns_db_setmaxtypepername
    - DNS_ZONE_VALID
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_makedb(dns_zone_t *zone, dns_db_t **dbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24511,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24511,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24512,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24513,1
    - Dst: dns_skr_create
      Src: /src/bind9/lib/dns/zone.c:24515,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:24517,1
    - Dst: dns_skr_read
      Src: /src/bind9/lib/dns/zone.c:24517,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/zone.c:24518,1
    - Dst: dns_zone_setskr
      Src: /src/bind9/lib/dns/zone.c:24520,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:24521,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:24521,1
    - Dst: dns_skr_detach
      Src: /src/bind9/lib/dns/zone.c:24524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - file
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24527
      start: 24506
    functionDepth: 4
    functionLinenumber: 24506
    functionLinenumberEnd: 24527
    functionName: dns_zone_import_skr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_skr_create
    - dns_skr_detach
    - dns_skr_read
    - ISC_LOG_DEBUG
    - CHECK
    - REQUIRE
    - dns_kasp_dnskeyttl
    - dnssec_log
    - dns_zone_setskr
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_import_skr(dns_zone_t *zone, const char *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24533,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24534,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/zone.c:24534,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/zone.c:24536,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/zone.c:24537,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:24539,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:24540,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/zone.c:24543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24546
      start: 24529
    functionDepth: 1
    functionLinenumber: 24529
    functionLinenumberEnd: 24546
    functionName: dns_zone_getrad
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - rcu_dereference
    - dns_fixedname_name
    - rcu_read_unlock
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_copy
    - DNS_ZONE_VALID
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_getrad(dns_zone_t *zone, dns_name_t *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24550,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:24550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:24551,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/zone.c:24551,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/zone.c:24553,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:24556,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:24558,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:24560,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:24561,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:24561,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/zone.c:24563,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/zone.c:24566,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/zone.c:24568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24569
      start: 24548
    functionDepth: 1
    functionLinenumber: 24548
    functionLinenumberEnd: 24569
    functionName: dns_zone_setrad
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - rcu_xchg_pointer
    - call_rcu
    - dns_fixedname_name
    - rcu_read_unlock
    - isc_mem_get
    - DNS_NAME_VALID
    - REQUIRE
    - dns_fixedname_init
    - dns_name_copy
    - DNS_ZONE_VALID
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrad(dns_zone_t *zone, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - env
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: VALID_DTENV
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DTENV(env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 633
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:153,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:155,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/dns/dnstap.c:158,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnstap.c:160,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dnstap.c:166,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/dnstap.c:167,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dnstap.c:168,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dnstap.c:169,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/dnstap.c:170,1
    - Dst: fstrm_writer_options_init
      Src: /src/bind9/lib/dns/dnstap.c:172,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:174,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/bind9/lib/dns/dnstap.c:177,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:180,1
    - Dst: fstrm_file_options_init
      Src: /src/bind9/lib/dns/dnstap.c:184,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/bind9/lib/dns/dnstap.c:186,1
    - Dst: fstrm_file_writer_init
      Src: /src/bind9/lib/dns/dnstap.c:187,1
    - Dst: fstrm_unix_writer_options_init
      Src: /src/bind9/lib/dns/dnstap.c:190,1
    - Dst: fstrm_unix_writer_options_set_socket_path
      Src: /src/bind9/lib/dns/dnstap.c:192,1
    - Dst: fstrm_unix_writer_init
      Src: /src/bind9/lib/dns/dnstap.c:194,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:197,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:201,1
    - Dst: fstrm_iothr_init
      Src: /src/bind9/lib/dns/dnstap.c:204,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:206,1
    - Dst: fstrm_writer_destroy
      Src: /src/bind9/lib/dns/dnstap.c:209,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:210,1
    - Dst: fstrm_file_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:223,1
    - Dst: fstrm_unix_writer_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:227,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:231,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/dnstap.c:235,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:236,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/dnstap.c:238,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 6
    argNames:
    - mctx
    - mode
    - path
    - foptp
    - loop
    - envp
    argTypes:
    - isc_mem_t*
    - dns_dtmode_t
    - char*
    - struct fstrm_iothr_options**
    - isc_loop_t*
    - dns_dtenv_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 244
    functionName: dns_dt_create
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - isc_stats_detach
    - isc_mem_putanddetach
    - fstrm_unix_writer_init
    - fstrm_unix_writer_options_init
    - fstrm_file_writer_init
    - isc_log_write
    - REQUIRE
    - fstrm_writer_destroy
    - isc_mem_attach
    - isc_mutex_init
    - fstrm_iothr_init
    - fstrm_writer_options_destroy
    - isc_refcount_init
    - fstrm_unix_writer_options_destroy
    - isc_mutex_destroy
    - fstrm_unix_writer_options_set_socket_path
    - fstrm_file_options_init
    - fstrm_writer_options_init
    - atomic_fetch_add_release
    - isc_mem_get
    - isc_stats_create
    - isc_mem_strdup
    - fstrm_writer_options_add_content_type
    - fstrm_file_options_destroy
    - fstrm_file_options_set_file_path
    - isc_mem_free
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dt_create(isc_mem_t *mctx, dns_dtmode_t mode, const
      char *path,\n\t      struct fstrm_iothr_options **foptp, isc_loop_t *loop,\n\t
      \     dns_dtenv_t **envp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:249,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - env
    - max_size
    - rolls
    - suffix
    argTypes:
    - dns_dtenv_t*
    - uint64_t
    - int
    - isc_log_rollsuffix_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 270
    functionName: dns_dt_setupfile
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 1
    functionsReached:
    - VALID_DTENV
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dt_setupfile(dns_dtenv_t *env, uint64_t max_size,
      int rolls,\n\t\t isc_log_rollsuffix_t suffix)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:283,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:283,1
    - Dst: isc_loop_getloopmgr
      Src: /src/bind9/lib/dns/dnstap.c:285,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/lib/dns/dnstap.c:286,1
    - Dst: fstrm_writer_options_init
      Src: /src/bind9/lib/dns/dnstap.c:291,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:293,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/bind9/lib/dns/dnstap.c:296,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:299,1
    - Dst: fstrm_file_options_init
      Src: /src/bind9/lib/dns/dnstap.c:303,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/bind9/lib/dns/dnstap.c:305,1
    - Dst: fstrm_file_writer_init
      Src: /src/bind9/lib/dns/dnstap.c:306,1
    - Dst: fstrm_unix_writer_options_init
      Src: /src/bind9/lib/dns/dnstap.c:309,1
    - Dst: fstrm_unix_writer_options_set_socket_path
      Src: /src/bind9/lib/dns/dnstap.c:311,1
    - Dst: fstrm_unix_writer_init
      Src: /src/bind9/lib/dns/dnstap.c:313,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:316,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:320,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:326,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/dns/dnstap.c:330,1
    - Dst: fstrm_iothr_destroy
      Src: /src/bind9/lib/dns/dnstap.c:333,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dnstap.c:345,1
    - Dst: isc_logfile_roll
      Src: /src/bind9/lib/dns/dnstap.c:352,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:353,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:354,1
    - Dst: fstrm_iothr_init
      Src: /src/bind9/lib/dns/dnstap.c:357,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:359,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:362,1
    - Dst: fstrm_writer_destroy
      Src: /src/bind9/lib/dns/dnstap.c:367,1
    - Dst: fstrm_unix_writer_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:371,1
    - Dst: fstrm_file_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:375,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:379,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/lib/dns/dnstap.c:382,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 2
    argNames:
    - env
    - roll
    argTypes:
    - dns_dtenv_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 272
    functionDepth: 6
    functionLinenumber: 272
    functionLinenumberEnd: 385
    functionName: dns_dt_reopen
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 1
    functionsReached:
    - fstrm_unix_writer_init
    - fstrm_unix_writer_options_init
    - fstrm_file_writer_init
    - VALID_DTENV
    - isc_log_write
    - REQUIRE
    - fstrm_writer_destroy
    - isc_loop_getloopmgr
    - isc_logfile_roll
    - fstrm_iothr_init
    - fstrm_writer_options_destroy
    - isc_loopmgr_resume
    - fstrm_unix_writer_options_destroy
    - fstrm_unix_writer_options_set_socket_path
    - fstrm_file_options_init
    - fstrm_writer_options_init
    - atomic_fetch_add_release
    - isc_mem_strdup
    - fstrm_writer_options_add_content_type
    - fstrm_file_options_destroy
    - fstrm_file_options_set_file_path
    - isc_mem_free
    - isc_loopmgr_pause
    - CHECK
    - fstrm_iothr_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_reopen(dns_dtenv_t *env, int roll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:391,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dnstap.c:394,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:398,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dnstap.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - env
    - r
    - str
    argTypes:
    - dns_dtenv_t*
    - isc_region_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 408
    functionName: toregion
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 37
    functionsReached:
    - isc_mem_strdup
    - strlen
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t toregion(dns_dtenv_t *env, isc_region_t *r, const char
      *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:412,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:412,1
    - Dst: toregion
      Src: /src/bind9/lib/dns/dnstap.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - env
    - identity
    argTypes:
    - dns_dtenv_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: dns_dt_setidentity
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 1
    functionsReached:
    - VALID_DTENV
    - REQUIRE
    - toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_setidentity(dns_dtenv_t *env, const char *identity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:419,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:419,1
    - Dst: toregion
      Src: /src/bind9/lib/dns/dnstap.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - env
    - version
    argTypes:
    - dns_dtenv_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: dns_dt_setversion
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 1
    functionsReached:
    - VALID_DTENV
    - REQUIRE
    - toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_setversion(dns_dtenv_t *env, const char *version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - generation
    - ioq
    argTypes:
    - unsigned int
    - struct fstrm_iothr_queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 428
    functionName: set_dt_ioq
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_dt_ioq(unsigned int generation, struct fstrm_iothr_queue *ioq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:432,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:432,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/dnstap.c:440,1
    - Dst: set_dt_ioq
      Src: /src/bind9/lib/dns/dnstap.c:442,1
    - Dst: fstrm_iothr_get_input_queue
      Src: /src/bind9/lib/dns/dnstap.c:446,1
    - Dst: set_dt_ioq
      Src: /src/bind9/lib/dns/dnstap.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - env
    argTypes:
    - dns_dtenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 451
    functionName: dt_queue
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - fstrm_iothr_get_input_queue
    - set_dt_ioq
    - atomic_load_acquire
    - VALID_DTENV
    - REQUIRE
    linkageType: ''
    returnType: struct fstrm_iothr_queue
    signature: 'struct fstrm_iothr_queue *

      dt_queue(dns_dtenv_t *env)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:455,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:455,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:456,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/dnstap.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - destp
    argTypes:
    - dns_dtenv_t*
    - dns_dtenv_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: dns_dt_attach
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment
    - VALID_DTENV
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_dt_attach(dns_dtenv_t *source, dns_dtenv_t **destp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:464,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:465,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/dnstap.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - env
    - statsp
    argTypes:
    - dns_dtenv_t*
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: dns_dt_getstats
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 2
    functionsReached:
    - VALID_DTENV
    - REQUIRE
    - isc_stats_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_getstats(dns_dtenv_t *env, isc_stats_t **statsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:476,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/lib/dns/dnstap.c:480,1
    - Dst: fstrm_iothr_destroy
      Src: /src/bind9/lib/dns/dnstap.c:483,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:486,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:490,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:494,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:498,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/dnstap.c:501,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - env
    argTypes:
    - dns_dtenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 505
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 476
    functionsReached:
    - isc_stats_detach
    - isc_mem_free
    - atomic_fetch_add
    - isc_mem_putanddetach
    - fstrm_iothr_options_destroy
    - isc_log_write
    - fstrm_iothr_destroy
    linkageType: ''
    returnType: void
    signature: void destroy(dns_dtenv_t *env)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:509,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:509,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/dnstap.c:513,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/dnstap.c:514,1
    - Dst: destroy
      Src: /src/bind9/lib/dns/dnstap.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - envp
    argTypes:
    - dns_dtenv_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 517
    functionName: dns_dt_detach
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 4
    functionsReached:
    - destroy
    - isc_refcount_decrement
    - VALID_DTENV
    - REQUIRE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void dns_dt_detach(dns_dtenv_t **envp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:523,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:524,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dnstap.c:526,1
    - Dst: malloc
      Src: /src/bind9/lib/dns/dnstap.c:532,1
    - Dst: dnstap__dnstap__pack_to_buffer
      Src: /src/bind9/lib/dns/dnstap.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - d
    - buf
    - sz
    argTypes:
    - Dnstap__Dnstap*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 545
    functionName: pack_dt
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - dnstap__dnstap__pack_to_buffer
    - memset
    - REQUIRE
    - malloc
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t pack_dt(const Dnstap__Dnstap *d, void **buf, size_t *sz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:552,1
    - Dst: dt_queue
      Src: /src/bind9/lib/dns/dnstap.c:558,1
    - Dst: free
      Src: /src/bind9/lib/dns/dnstap.c:560,1
    - Dst: fstrm_iothr_submit
      Src: /src/bind9/lib/dns/dnstap.c:564,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/dnstap.c:568,1
    - Dst: free
      Src: /src/bind9/lib/dns/dnstap.c:570,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/dnstap.c:573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - env
    - buf
    - len
    argTypes:
    - dns_dtenv_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 577
    functionName: send_dt
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - fstrm_iothr_submit
    - isc_stats_increment
    - dt_queue
    - REQUIRE
    - free
    linkageType: ''
    returnType: void
    signature: void send_dt(dns_dtenv_t *env, void *buf, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/dnstap.c:581,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - env
    - dm
    - mtype
    argTypes:
    - dns_dtenv_t*
    - dns_dtmsg_t*
    - Dnstap__Message__Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 599
    functionName: init_msg
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_msg(dns_dtenv_t *env, dns_dtmsg_t *dm, Dnstap__Message__Type
      mtype)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - msgtype
    argTypes:
    - dns_dtmsgtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 635
    functionName: dnstap_type
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: Dnstap__Message__Type
    signature: Dnstap__Message__Type dnstap_type(dns_dtmsgtype_t msgtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/dnstap.c:639,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/dnstap.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - p
    - has
    argTypes:
    - isc_buffer_t*
    - ProtobufCBinaryData*
    - protobuf_c_boolean*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: cpbuf
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - isc_buffer_base
    - isc_buffer_usedlength
    linkageType: ''
    returnType: void
    signature: void cpbuf(isc_buffer_t *buf, ProtobufCBinaryData *p, protobuf_c_boolean
      *has)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/dnstap.c:648,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/dnstap.c:658,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/dnstap.c:663,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 7
    argNames:
    - dm
    - sa
    - transport
    - addr
    - has_addr
    - port
    - has_port
    argTypes:
    - dns_dtmsg_t*
    - isc_sockaddr_t*
    - dns_transport_type_t
    - ProtobufCBinaryData*
    - protobuf_c_boolean*
    - uint32_t*
    - protobuf_c_boolean*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 688
    functionName: setaddr
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - ntohs
    - isc_sockaddr_pf
    linkageType: ''
    returnType: void
    signature: "void setaddr(dns_dtmsg_t *dm, isc_sockaddr_t *sa, dns_transport_type_t
      transport,\n\tProtobufCBinaryData *addr, protobuf_c_boolean *has_addr, uint32_t
      *port,\n\tprotobuf_c_boolean *has_port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:697,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:697,1
    - Dst: dns_dt_reopen
      Src: /src/bind9/lib/dns/dnstap.c:700,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dnstap.c:703,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dnstap.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 693
    functionDepth: 7
    functionLinenumber: 693
    functionLinenumberEnd: 706
    functionName: perform_reopen
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dns_dt_reopen
    - UNLOCK
    - VALID_DTENV
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void perform_reopen(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dnstap.c:726,1
    - Dst: stat
      Src: /src/bind9/lib/dns/dnstap.c:727,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/dnstap.c:737,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dnstap.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - env
    argTypes:
    - dns_dtenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 742
    functionName: check_file_size_and_maybe_reopen
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - stat
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void check_file_size_and_maybe_reopen(dns_dtenv_t *env)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:752,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/dnstap.c:752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:762,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:762,1
    - Dst: check_file_size_and_maybe_reopen
      Src: /src/bind9/lib/dns/dnstap.c:765,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/dnstap.c:768,1
    - Dst: init_msg
      Src: /src/bind9/lib/dns/dnstap.c:771,1
    - Dst: dnstap_type
      Src: /src/bind9/lib/dns/dnstap.c:771,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/dnstap.c:786,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/lib/dns/dnstap.c:788,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/dnstap.c:811,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/lib/dns/dnstap.c:813,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:817,1
    - Dst: cpbuf
      Src: /src/bind9/lib/dns/dnstap.c:825,1
    - Dst: cpbuf
      Src: /src/bind9/lib/dns/dnstap.c:827,1
    - Dst: setaddr
      Src: /src/bind9/lib/dns/dnstap.c:848,1
    - Dst: setaddr
      Src: /src/bind9/lib/dns/dnstap.c:853,1
    - Dst: pack_dt
      Src: /src/bind9/lib/dns/dnstap.c:858,1
    - Dst: send_dt
      Src: /src/bind9/lib/dns/dnstap.c:859,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 9
    argNames:
    - view
    - msgtype
    - qaddr
    - raddr
    - transport
    - zone
    - qtime
    - rtime
    - buf
    argTypes:
    - dns_view_t*
    - dns_dtmsgtype_t
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_type_t
    - isc_region_t*
    - isc_time_t*
    - isc_time_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 861
    functionName: dns_dt_send
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 4
    functionsReached:
    - setaddr
    - DNS_VIEW_VALID
    - VALID_DTENV
    - isc_time_now
    - REQUIRE
    - isc_time_seconds
    - isc_log_write
    - cpbuf
    - send_dt
    - dnstap_type
    - isc_time_nanoseconds
    - pack_dt
    - init_msg
    - check_file_size_and_maybe_reopen
    linkageType: ''
    returnType: void
    signature: "void dns_dt_send(dns_view_t *view, dns_dtmsgtype_t msgtype, isc_sockaddr_t
      *qaddr,\n\t    isc_sockaddr_t *raddr, dns_transport_type_t transport,\n\t    isc_region_t
      *zone, isc_time_t *qtime, isc_time_t *rtime,\n\t    isc_buffer_t *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/dnstap.c:867,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dnstap.c:867,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dnstap.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 874
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 66
    functionsReached:
    - strlen
    - isc_buffer_reserve
    - isc_buffer_putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putstr(isc_buffer_t **b, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/dnstap.c:881,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/dnstap.c:885,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - b
    - ip
    argTypes:
    - isc_buffer_t**
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 893
    functionName: putaddr
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putaddr(isc_buffer_t **b, isc_region_t *ip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/dnstap.c:900,1
    - Dst: fstrm_reader_get_control
      Src: /src/bind9/lib/dns/dnstap.c:903,1
    - Dst: fstrm_control_get_num_field_content_type
      Src: /src/bind9/lib/dns/dnstap.c:908,1
    - Dst: fstrm_control_get_field_content_type
      Src: /src/bind9/lib/dns/dnstap.c:913,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dnstap.c:923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct fstrm_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 929
    functionName: dnstap_file
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - fstrm_reader_get_control
    - fstrm_control_get_field_content_type
    - strlen
    - memcmp
    - fstrm_control_get_num_field_content_type
    linkageType: ''
    returnType: bool
    signature: bool dnstap_file(struct fstrm_reader *r)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:939,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnstap.c:941,1
    - Dst: fstrm_file_options_init
      Src: /src/bind9/lib/dns/dnstap.c:948,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:950,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/bind9/lib/dns/dnstap.c:953,1
    - Dst: fstrm_file_reader_init
      Src: /src/bind9/lib/dns/dnstap.c:955,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:957,1
    - Dst: fstrm_reader_open
      Src: /src/bind9/lib/dns/dnstap.c:960,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:962,1
    - Dst: dnstap_file
      Src: /src/bind9/lib/dns/dnstap.c:965,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:966,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:973,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dnstap.c:976,1
    - Dst: fstrm_reader_destroy
      Src: /src/bind9/lib/dns/dnstap.c:983,1
    - Dst: fstrm_file_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:987,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnstap.c:990,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - filename
    - mode
    - mctx
    - handlep
    argTypes:
    - char*
    - dns_dtmode_t
    - isc_mem_t*
    - dns_dthandle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 993
    functionName: dns_dt_open
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - fstrm_file_options_destroy
    - isc_mem_attach
    - UNREACHABLE
    - fstrm_file_options_init
    - fstrm_file_options_set_file_path
    - fstrm_reader_destroy
    - fstrm_file_reader_init
    - isc_mem_get
    - CHECK
    - fstrm_reader_open
    - dnstap_file
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dt_open(const char *filename, dns_dtmode_t mode,
      isc_mem_t *mctx,\n\t    dns_dthandle_t **handlep)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1000,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1001,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1002,1
    - Dst: fstrm_reader_read
      Src: /src/bind9/lib/dns/dnstap.c:1006,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/dnstap.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - handle
    - bufp
    - sizep
    argTypes:
    - dns_dthandle_t*
    - uint8_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1019
    functionName: dns_dt_getframe
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - fstrm_reader_read
    - UNCONST
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_getframe(dns_dthandle_t *handle, uint8_t **bufp,
      size_t *sizep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1025,1
    - Dst: fstrm_reader_destroy
      Src: /src/bind9/lib/dns/dnstap.c:1031,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handlep
    argTypes:
    - dns_dthandle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1035
    functionName: dns_dt_close
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - isc_mem_putanddetach
    - REQUIRE
    - fstrm_reader_destroy
    linkageType: ''
    returnType: void
    signature: void dns_dt_close(dns_dthandle_t **handlep)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1045,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1046,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnstap.c:1048,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dnstap.c:1051,1
    - Dst: dnstap__dnstap__unpack
      Src: /src/bind9/lib/dns/dnstap.c:1053,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1055,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1061,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1111,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnstap.c:1130,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnstap.c:1131,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/dnstap.c:1132,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/dnstap.c:1133,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/dnstap.c:1136,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/dnstap.c:1144,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/dnstap.c:1149,1
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/lib/dns/dnstap.c:1174,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1206,1
    - Dst: dns_message_firstname
      Src: /src/bind9/lib/dns/dnstap.c:1206,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/dnstap.c:1207,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dnstap.c:1208,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnstap.c:1210,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/dnstap.c:1211,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/dnstap.c:1213,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/lib/dns/dnstap.c:1221,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 145
    argCount: 3
    argNames:
    - mctx
    - src
    - destp
    argTypes:
    - isc_mem_t*
    - isc_region_t*
    - dns_dtdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1225
    functionName: dns_dt_parse
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - dns_message_parse
    - REQUIRE
    - dns_message_firstname
    - isc_time_set
    - isc_mem_attach
    - dns_message_currentname
    - ISC_LIST_HEAD
    - dns_rdataclass_format
    - dnstap__dnstap__unpack
    - dns_name_format
    - dns_rdatatype_format
    - dns_message_create
    - dns_dtdata_free
    - isc_mem_get
    - dns_message_detach
    - protobuf_c_enum_descriptor_get_value
    - isc_buffer_init
    - CHECK
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t
      **destp)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1233,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dnstap.c:1235,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dnstap.c:1238,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/dnstap.c:1239,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dnstap.c:1240,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/dnstap.c:1241,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1245,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1245,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1247,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1247,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1248,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1248,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1254,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1254,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1257,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1257,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1260,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1260,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1263,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1263,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1266,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1266,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1269,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1269,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1272,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1272,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1275,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1275,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1278,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1278,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1281,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1281,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1284,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1284,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1287,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1287,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1290,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1290,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1293,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1293,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1301,1
    - Dst: putaddr
      Src: /src/bind9/lib/dns/dnstap.c:1301,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnstap.c:1302,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1303,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1303,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1305,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1305,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1308,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1308,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1310,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1310,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1313,1
    - Dst: putaddr
      Src: /src/bind9/lib/dns/dnstap.c:1313,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnstap.c:1314,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1315,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1315,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1317,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1317,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1320,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1320,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1325,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1325,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1328,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1328,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1331,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1331,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1334,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1334,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1337,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1337,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:1340,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnstap.c:1345,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1346,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1346,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1348,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1348,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1353,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1353,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1355,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1355,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1356,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1356,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1360,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1360,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1362,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1362,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1363,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1363,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1367,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1367,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1369,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1369,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1372,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/dnstap.c:1372,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dnstap.c:1373,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 129
    argCount: 2
    argNames:
    - d
    - dest
    argTypes:
    - dns_dtdata_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1377
    functionName: dns_dt_datatotext
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 2
    functionsReached:
    - isc_time_isepoch
    - UNREACHABLE
    - memset
    - isc_buffer_reserve
    - putaddr
    - isc_time_formattimestamp
    - CHECK
    - snprintf
    - REQUIRE
    - isc_buffer_putuint8
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dt_datatotext(dns_dtdata_t *d, isc_buffer_t **dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1383,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/dnstap.c:1389,1
    - Dst: dnstap__dnstap__free_unpacked
      Src: /src/bind9/lib/dns/dnstap.c:1392,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - dp
    argTypes:
    - dns_dtdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1396
    functionName: dns_dtdata_free
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 4
    functionsReached:
    - dns_message_detach
    - isc_mem_putanddetach
    - REQUIRE
    - dnstap__dnstap__free_unpacked
    linkageType: ''
    returnType: void
    signature: void dns_dtdata_free(dns_dtdata_t **dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/ssu_external.c:47,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/ssu_external.c:48,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu_external.c:49,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/ssu_external.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: ssu_e_log
    functionSourceFile: /src/bind9/lib/dns/ssu_external.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void ssu_e_log(int level, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu_external.c:61,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu_external.c:63,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:64,1
    - Dst: memset
      Src: /src/bind9/lib/dns/ssu_external.c:71,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/ssu_external.c:73,1
    - Dst: socket
      Src: /src/bind9/lib/dns/ssu_external.c:75,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/ssu_external.c:78,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:79,1
    - Dst: connect
      Src: /src/bind9/lib/dns/ssu_external.c:84,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/ssu_external.c:86,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:87,1
    - Dst: close
      Src: /src/bind9/lib/dns/ssu_external.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 3
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: ux_socket_connect
    functionSourceFile: /src/bind9/lib/dns/ssu_external.c
    functionUses: 0
    functionsReached:
    - socket
    - connect
    - memset
    - strlcpy
    - close
    - ssu_e_log
    - strlen
    - strerror_r
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int ux_socket_connect(const char *path)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu_external.c:133,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/ssu_external.c:136,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:137,1
    - Dst: ux_socket_connect
      Src: /src/bind9/lib/dns/ssu_external.c:143,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/ssu_external.c:149,1
    - Dst: dst_key_tkeytoken
      Src: /src/bind9/lib/dns/ssu_external.c:150,1
    - Dst: isc_buffer_region
      Src: /src/bind9/lib/dns/ssu_external.c:156,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu_external.c:162,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu_external.c:167,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/ssu_external.c:170,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/ssu_external.c:175,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu_external.c:180,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu_external.c:181,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu_external.c:182,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu_external.c:183,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu_external.c:184,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/ssu_external.c:189,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ssu_external.c:191,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ssu_external.c:192,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ssu_external.c:193,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/ssu_external.c:196,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ssu_external.c:197,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/ssu_external.c:198,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ssu_external.c:199,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/ssu_external.c:200,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ssu_external.c:201,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/ssu_external.c:202,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ssu_external.c:203,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/ssu_external.c:204,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ssu_external.c:205,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ssu_external.c:207,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/ssu_external.c:209,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/ssu_external.c:212,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/ssu_external.c:212,1
    - Dst: write
      Src: /src/bind9/lib/dns/ssu_external.c:215,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/ssu_external.c:216,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/ssu_external.c:219,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:220,1
    - Dst: close
      Src: /src/bind9/lib/dns/ssu_external.c:222,1
    - Dst: read
      Src: /src/bind9/lib/dns/ssu_external.c:227,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/ssu_external.c:230,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:231,1
    - Dst: close
      Src: /src/bind9/lib/dns/ssu_external.c:233,1
    - Dst: close
      Src: /src/bind9/lib/dns/ssu_external.c:237,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/ssu_external.c:239,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:242,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:246,1
    - Dst: ssu_e_log
      Src: /src/bind9/lib/dns/ssu_external.c:251,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 7
    argNames:
    - identity
    - signer
    - name
    - tcpaddr
    - type
    - key
    - mctx
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - isc_netaddr_t*
    - dns_rdatatype_t
    - dst_key_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 254
    functionName: dns_ssu_external_match
    functionSourceFile: /src/bind9/lib/dns/ssu_external.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_buffer_putstr
    - dst_key_tkeytoken
    - isc_netaddr_format
    - write
    - isc_mem_allocate
    - dns_name_format
    - dns_rdatatype_format
    - isc_buffer_region
    - close
    - ENSURE
    - strlen
    - strerror_r
    - read
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    - ntohl
    - strncmp
    - isc_mem_free
    - ux_socket_connect
    - ssu_e_log
    - isc_buffer_init
    - dst_key_format
    - isc_buffer_putuint32
    linkageType: ''
    returnType: bool
    signature: "bool dns_ssu_external_match(const dns_name_t *identity, const dns_name_t
      *signer,\n\t\t       const dns_name_t *name, const isc_netaddr_t *tcpaddr,\n\t\t
      \      dns_rdatatype_t type, const dst_key_t *key,\n\t\t       isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 638
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: OPTOUT
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTOUT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: CREATE
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CREATE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: INITIAL
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITIAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: REMOVE
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMOVE(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:74,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:76,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:77,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:78,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:82,1
    - Dst: memset
      Src: /src/bind9/lib/dns/nsec3.c:86,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:97,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:101,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/nsec3.c:118,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/nsec3.c:125,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:133,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:153,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/nsec3.c:155,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:161,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:167,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:168,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:171,1
    - Dst: dns_rdatatype_iszonecutauth
      Src: /src/bind9/lib/dns/nsec3.c:172,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:174,1
    - Dst: dns_nsec_compressbitmap
      Src: /src/bind9/lib/dns/nsec3.c:180,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:182,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/nsec3.c:183,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/nsec3.c:183,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 12
    argNames:
    - db
    - version
    - node
    - hashalg
    - flags
    - iterations
    - salt
    - salt_length
    - nexthash
    - hash_length
    - buffer
    - rdata
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 186
    functionName: dns_nsec3_buildrdata
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - memmove
    - dns_db_class
    - memset
    - dns_rdatasetiter_current
    - INSIST
    - dns_nsec_isset
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - REQUIRE
    - dns_rdatatype_iszonecutauth
    - dns_nsec_compressbitmap
    - dns_rdatasetiter_destroy
    - dns_nsec_setbit
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_buildrdata(dns_db_t *db, dns_dbversion_t *version,
      dns_dbnode_t *node,\n\t\t     unsigned int hashalg, unsigned int flags,\n\t\t
      \    unsigned int iterations, const unsigned char *salt,\n\t\t     size_t salt_length,
      const unsigned char *nexthash,\n\t\t     size_t hash_length, unsigned char *buffer,\n\t\t
      \    dns_rdata_t *rdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/nsec3.c:125,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:133,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 154
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_nsec_setbit
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:195,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:196,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:199,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:200,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:204,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:207,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:209,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:217,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec3.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 224
    functionName: dns_nsec3_typepresent
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_rdata_tostruct
    - INSIST
    - dns_rdata_freestruct
    - dns_nsec_isset
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_nsec3_typepresent(dns_rdata_t *rdata, dns_rdatatype_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_nonce_buf
      Src: /src/bind9/lib/dns/nsec3.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - salt
    - saltlen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: dns_nsec3_generate_salt
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - isc_nonce_buf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_nsec3_generate_salt(unsigned char *salt, size_t saltlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/nsec3.c:254,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:256,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/nsec3.c:257,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/nsec3.c:260,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/nsec3.c:267,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:272,1
    - Dst: isc_base32hexnp_totext
      Src: /src/bind9/lib/dns/nsec3.c:273,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/nsec3.c:276,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/nsec3.c:277,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/nsec3.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 9
    argNames:
    - result
    - rethash
    - hash_length
    - name
    - origin
    - hashalg
    - iterations
    - salt
    - saltlength
    argTypes:
    - dns_fixedname_t*
    - unsigned char[]
    - size_t*
    - dns_name_t*
    - dns_name_t*
    - dns_hash_t
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 279
    functionName: dns_nsec3_hashname
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_name_fromtext
    - memset
    - dns_fixedname_initname
    - dns_fixedname_name
    - dns_name_downcase
    - isc_iterated_hash
    - isc_buffer_init
    - isc_base32hexnp_totext
    - dns_fixedname_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_hashname(dns_fixedname_t *result,\n\t\t   unsigned
      char rethash[NSEC3_MAX_HASH_LENGTH],\n\t\t   size_t *hash_length, const dns_name_t
      *name,\n\t\t   const dns_name_t *origin, dns_hash_t hashalg,\n\t\t   unsigned
      int iterations, const unsigned char *salt,\n\t\t   size_t saltlength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - dns_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: dns_nsec3_hashlength
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_nsec3_hashlength(dns_hash_t hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hash
    argTypes:
    - dns_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: dns_nsec3_supportedhash
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_nsec3_supportedhash(dns_hash_t hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/nsec3.c:316,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/nsec3.c:317,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/nsec3.c:322,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/nsec3.c:323,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/nsec3.c:325,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/nsec3.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tuple
    - db
    - ver
    - diff
    argTypes:
    - dns_difftuple_t**
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 338
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 14
    functionsReached:
    - dns_diff_appendminimal
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    - dns_diff_apply
    - dns_diff_init
    - dns_difftuple_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_one_tuple(dns_difftuple_t **tuple, dns_db_t *db, dns_dbversion_t
      *ver,\n\t     dns_diff_t *diff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/nsec3.c:350,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/nsec3.c:359,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/nsec3.c:365,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/nsec3.c:374,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - db
    - version
    - name
    - exists
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 379
    functionName: name_exists
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_db_findnode
    - dns_db_allrdatasets
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t name_exists(dns_db_t *db, dns_dbversion_t *version, const
      dns_name_t *name,\n\t    bool *exists)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - nsec3
    - nsec3param
    argTypes:
    - dns_rdata_nsec3_t*
    - dns_rdata_nsec3param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: match_nsec3param
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool match_nsec3param(const dns_rdata_nsec3_t *nsec3,\n\t\t const
      dns_rdata_nsec3param_t *nsec3param)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:407,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:415,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:416,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:429,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:430,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:430,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:432,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:436,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:438,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:447,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 5
    argNames:
    - db
    - version
    - name
    - nsec3param
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdata_nsec3param_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 452
    functionName: delnsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_difftuple_create
    - do_one_tuple
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_findnsec3node
    - CHECK
    - match_nsec3param
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delnsec3(dns_db_t *db, dns_dbversion_t *version, const
      dns_name_t *name,\n\t const dns_rdata_nsec3param_t *nsec3param, dns_diff_t *diff)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:429,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:430,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:430,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:432,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:436,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 442
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_difftuple_create
    - do_one_tuple
    - dns_rdataset_current
    - CHECK
    - match_nsec3param
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/nsec3.c:458,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/nsec3.c:462,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:469,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:470,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:476,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/nsec3.c:482,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:486,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:490,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:490,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:491,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:495,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - nsec3paramset
    - param
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 497
    functionName: better_param
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - CREATE
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - dns_rdataset_clone
    - REMOVE
    linkageType: ''
    returnType: bool
    signature: bool better_param(dns_rdataset_t *nsec3paramset, dns_rdata_t *param)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:469,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:470,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:476,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/nsec3.c:482,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:486,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:490,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:490,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:491,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 494
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - CREATE
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - REMOVE
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:504,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:505,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nsec3
    - rdataset
    - nsec3param
    argTypes:
    - dns_rdata_nsec3_t*
    - dns_rdataset_t*
    - dns_rdata_nsec3param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 513
    functionName: find_nsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - match_nsec3param
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_nsec3(dns_rdata_nsec3_t *nsec3, dns_rdataset_t *rdataset,\n\t
      \  const dns_rdata_nsec3param_t *nsec3param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:504,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:505,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 510
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - match_nsec3param
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:550,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:551,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:553,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/nsec3.c:555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:575,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:575,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:577,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:583,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:583,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:588,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:588,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:589,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:589,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:590,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:590,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:591,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:598,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:600,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:604,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:605,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:606,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:616,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/nsec3.c:616,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:617,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:624,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:633,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:636,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:636,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:638,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:638,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:639,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:639,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:640,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:643,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:648,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:650,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:655,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/nsec3.c:661,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:662,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/nsec3.c:672,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:673,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:684,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:684,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:691,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:692,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:692,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:695,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:697,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:697,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:698,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:699,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:700,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:703,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:704,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:712,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/nsec3.c:712,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:713,1
    - Dst: dns_nsec3_buildrdata
      Src: /src/bind9/lib/dns/nsec3.c:713,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:716,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:721,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:721,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:725,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:727,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:727,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:728,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:729,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:730,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec3.c:735,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/nsec3.c:736,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:738,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:739,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec3.c:742,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:743,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/nsec3.c:743,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:747,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:747,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:756,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:756,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:757,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:761,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:762,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:764,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/nsec3.c:775,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:776,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:776,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:783,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:783,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:786,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:789,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:789,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:791,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:791,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:792,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:792,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:793,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:796,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:800,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:802,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:812,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:812,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:819,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:820,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:820,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:823,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:825,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:825,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:826,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:827,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:828,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:831,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:832,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:836,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:841,1
    - Dst: dns_nsec3_buildrdata
      Src: /src/bind9/lib/dns/nsec3.c:841,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:847,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:847,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:852,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:854,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:854,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:855,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:856,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:857,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:861,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/nsec3.c:865,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:867,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:868,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:871,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:874,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 197
    argCount: 7
    argNames:
    - db
    - version
    - name
    - nsec3param
    - nsecttl
    - unsecure
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdata_nsec3param_t*
    - dns_ttl_t
    - bool
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 515
    functionDepth: 4
    functionLinenumber: 515
    functionLinenumberEnd: 877
    functionName: dns_nsec3_addnsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - memmove
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_nsec3_buildrdata
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_name_countlabels
    - dns_db_findnode
    - do_one_tuple
    - dns_fixedname_initname
    - dns_dbiterator_prev
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_dbiterator_seek
    - name_exists
    - OPTOUT
    - dns_db_origin
    - dns_dbiterator_destroy
    - dns_rdata_fromstruct
    - dns_difftuple_create
    - dns_nsec3_hashname
    - find_nsec3
    - INSIST
    - dns_name_getlabelsequence
    - CREATE
    - dns_dbiterator_pause
    - isc_buffer_init
    - dns_name_clone
    - CHECK
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_nsec3_delnsec3
    - delnsec3
    - dns_dbiterator_last
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_addnsec3(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \  const dns_name_t *name,\n\t\t   const dns_rdata_nsec3param_t *nsec3param,
      dns_ttl_t nsecttl,\n\t\t   bool unsecure, dns_diff_t *diff)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:892,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:897,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:902,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:905,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:919,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:920,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:920,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:928,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:928,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:933,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:934,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 6
    argNames:
    - db
    - version
    - name
    - nsecttl
    - unsecure
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_ttl_t
    - bool
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 883
    functionDepth: 5
    functionLinenumber: 883
    functionLinenumberEnd: 941
    functionName: dns_nsec3_addnsec3s
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_addnsec3
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_addnsec3s(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \   const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure,\n\t\t    dns_diff_t
      *diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:919,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:920,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:920,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:928,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 916
    functionDepth: 5
    functionLinenumber: 916
    functionLinenumberEnd: 930
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - CHECK
    - dns_rdataset_current
    - dns_nsec3_addnsec3
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:958,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/nsec3.c:959,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/nsec3.c:960,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:961,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/nsec3.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - src
    - target
    - buf
    - buflen
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 967
    functionName: dns_nsec3param_fromprivate
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 18
    functionsReached:
    - isc_buffer_init
    - isc_buffer_setactive
    - dns_rdata_fromwire
    - isc_buffer_add
    linkageType: ''
    returnType: bool
    signature: "bool dns_nsec3param_fromprivate(dns_rdata_t *src, dns_rdata_t *target,\n\t\t\t
      \  unsigned char *buf, size_t buflen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:973,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:975,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/nsec3.c:975,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:977,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/nsec3.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - src
    - target
    - privatetype
    - buf
    - buflen
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    - dns_rdatatype_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 985
    functionName: dns_nsec3param_toprivate
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 6
    functionsReached:
    - ISC_LINK_INIT
    - memmove
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_nsec3param_toprivate(dns_rdata_t *src, dns_rdata_t *target,\n\t\t\t
      dns_rdatatype_t privatetype, unsigned char *buf,\n\t\t\t size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:994,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:996,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:996,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:998,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/nsec3.c:998,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1000,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1011,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/nsec3.c:1012,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1017,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - rdata
    - flag
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdata_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1025
    functionName: rr_exists
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 5
    functionsReached:
    - dns_db_findnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_findnsec3node
    - dns_rdata_casecompare
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rr_exists(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t
      *name,\n\t  const dns_rdata_t *rdata, bool *flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1011,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/nsec3.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1016
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_casecompare
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1034,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1035,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/nsec3.c:1041,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1047,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/nsec3.c:1049,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/nsec3.c:1054,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/nsec3.c:1057,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - nsec3param
    - dst
    - dstlen
    argTypes:
    - dns_rdata_nsec3param_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1060
    functionName: dns_nsec3param_salttotext
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - strlcpy
    - isc_buffer_init
    - REQUIRE
    - isc_buffer_putuint8
    - isc_hex_totext
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3param_salttotext(dns_rdata_nsec3param_t *nsec3param,
      char *dst,\n\t\t\t  size_t dstlen)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/nsec3.c:1072,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/dns/nsec3.c:1073,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec3.c:1075,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1076,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1078,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1086,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1099,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/nsec3.c:1100,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1107,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1107,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1110,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1112,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1112,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1113,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1117,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1123,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1134,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1135,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1136,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1149,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1152,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1160,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1160,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1163,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1165,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1165,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1166,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1174,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1175,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1177,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 5
    argNames:
    - db
    - ver
    - zone
    - nonsec
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_zone_t*
    - bool
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1179
    functionName: dns_nsec3param_deletechains
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - rr_exists
    - dns_nsec3param_toprivate
    - memmove
    - dns_difftuple_create
    - dns_zone_getprivatetype
    - do_one_tuple
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_init
    - INSIST
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - dns_zone_getorigin
    - dns_db_detachnode
    - dns_db_getoriginnode
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3param_deletechains(dns_db_t *db, dns_dbversion_t
      *ver,\n\t\t\t    dns_zone_t *zone, bool nonsec, dns_diff_t *diff)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1099,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/nsec3.c:1100,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1107,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1107,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1110,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1112,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1112,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1115
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - rr_exists
    - dns_nsec3param_toprivate
    - dns_difftuple_create
    - do_one_tuple
    - dns_rdataset_current
    - INSIST
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1134,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1135,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1136,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1149,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1152,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1160,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1160,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1163,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1165,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1165,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1168
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - memmove
    - rr_exists
    - dns_difftuple_create
    - do_one_tuple
    - dns_rdataset_current
    - INSIST
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1191,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1192,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1197,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1202,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1208,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1224,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1225,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1225,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1234,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1234,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1238,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1241,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1252,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1253,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1258,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1258,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1263,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1270,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1270,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1277,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1278,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1280,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1281,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 7
    argNames:
    - db
    - version
    - name
    - nsecttl
    - unsecure
    - type
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_ttl_t
    - bool
    - dns_rdatatype_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1181
    functionDepth: 5
    functionLinenumber: 1181
    functionLinenumberEnd: 1288
    functionName: dns_nsec3_addnsec3sx
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_addnsec3
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - better_param
    - CHECK
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_addnsec3sx(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \    const dns_name_t *name, dns_ttl_t nsecttl, bool unsecure,\n\t\t     dns_rdatatype_t
      type, dns_diff_t *diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1224,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1225,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1225,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1234,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1221
    functionDepth: 5
    functionLinenumber: 1221
    functionLinenumberEnd: 1236
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - CHECK
    - dns_rdataset_current
    - dns_nsec3_addnsec3
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1252,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1253,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1258,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1258,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1263,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1270,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1247
    functionDepth: 5
    functionLinenumber: 1247
    functionLinenumberEnd: 1272
    functionName: (&prdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_addnsec3
    - dns_rdataset_current
    - better_param
    - CHECK
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&prdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/nsec3.c:1301,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/nsec3.c:1303,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/nsec3.c:1306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - db
    - ver
    - name
    - yesno
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1324
    functionName: deleteit
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_init
    - dns_fixedname_name
    - dns_db_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t deleteit(dns_db_t *db, dns_dbversion_t *ver, const dns_name_t
      *name,\n\t bool *yesno)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1355,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1356,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1358,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/nsec3.c:1360,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1375,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:1375,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1378,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:1378,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:1380,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1388,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1388,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1389,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1389,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1390,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1392,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1404,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1407,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1408,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1410,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:1420,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1423,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:1423,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1425,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1425,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1426,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1426,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1427,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1430,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1434,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1436,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1443,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1443,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:1450,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1453,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1454,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:1454,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1457,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1459,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1459,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:1460,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1461,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1468,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1468,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec3.c:1474,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/nsec3.c:1475,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1477,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1478,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec3.c:1481,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1482,1
    - Dst: deleteit
      Src: /src/bind9/lib/dns/nsec3.c:1482,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1487,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:1487,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:1490,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1498,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1498,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1499,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1499,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1500,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1503,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1511,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1514,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1515,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1517,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:1524,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1527,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:1527,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1529,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1529,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1530,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1530,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1531,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1534,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1538,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1540,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1547,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1547,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1554,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1555,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:1555,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1558,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1560,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1560,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:1561,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1562,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1566,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1571,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1571,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/nsec3.c:1579,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1581,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1582,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1585,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 173
    argCount: 5
    argNames:
    - db
    - version
    - name
    - nsec3param
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdata_nsec3param_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1326
    functionDepth: 4
    functionLinenumber: 1326
    functionLinenumberEnd: 1588
    functionName: dns_nsec3_delnsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - memmove
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_name_countlabels
    - do_one_tuple
    - dns_fixedname_initname
    - dns_dbiterator_prev
    - dns_rdataset_isassociated
    - dns_dbiterator_seek
    - dns_db_origin
    - dns_dbiterator_destroy
    - dns_rdata_fromstruct
    - dns_difftuple_create
    - dns_nsec3_hashname
    - find_nsec3
    - deleteit
    - INSIST
    - dns_name_getlabelsequence
    - CREATE
    - dns_dbiterator_pause
    - isc_buffer_init
    - dns_name_clone
    - CHECK
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - delnsec3
    - dns_dbiterator_last
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_delnsec3(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \  const dns_name_t *name,\n\t\t   const dns_rdata_nsec3param_t *nsec3param,
      dns_diff_t *diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_nsec3_delnsec3sx
      Src: /src/bind9/lib/dns/nsec3.c:1593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - version
    - name
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1594
    functionName: dns_nsec3_delnsec3s
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3_delnsec3sx
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_delnsec3s(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \   const dns_name_t *name, dns_diff_t *diff)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1605,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1610,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1615,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1631,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1632,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1632,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1642,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1648,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1665,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1666,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1671,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1671,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1676,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1683,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1683,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1689,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1690,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1693,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 5
    argNames:
    - db
    - version
    - name
    - privatetype
    - diff
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1596
    functionDepth: 5
    functionLinenumber: 1596
    functionLinenumberEnd: 1697
    functionName: dns_nsec3_delnsec3sx
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - better_param
    - CHECK
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - dns_db_detachnode
    - dns_nsec3_delnsec3
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_delnsec3sx(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \    const dns_name_t *name, dns_rdatatype_t privatetype,\n\t\t     dns_diff_t
      *diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1631,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1632,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1632,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1628
    functionDepth: 5
    functionLinenumber: 1628
    functionLinenumberEnd: 1641
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - CHECK
    - dns_rdataset_current
    - dns_nsec3_delnsec3
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1665,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1666,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1671,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1671,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1676,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1683,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1660
    functionDepth: 5
    functionLinenumber: 1660
    functionLinenumberEnd: 1684
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - better_param
    - CHECK
    - dns_nsec3param_fromprivate
    - dns_nsec3_delnsec3
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_nsec3_activex
      Src: /src/bind9/lib/dns/nsec3.c:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - db
    - version
    - complete
    - answer
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1699
    functionDepth: 1
    functionLinenumber: 1699
    functionLinenumberEnd: 1703
    functionName: dns_nsec3_active
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3_activex
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_active(dns_db_t *db, dns_dbversion_t *version,
      bool complete,\n\t\t bool *answer)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1713,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1715,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1717,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1722,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1731,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1738,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1739,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1746,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1751,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1755,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1758,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1773,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1774,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1780,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:1781,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1786,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 5
    argNames:
    - db
    - version
    - complete
    - privatetype
    - answer
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - bool
    - dns_rdatatype_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1705
    functionDepth: 3
    functionLinenumber: 1705
    functionLinenumberEnd: 1790
    functionName: dns_nsec3_activex
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - CREATE
    - dns_db_getoriginnode
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_nsec3param_fromprivate
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_activex(dns_db_t *db, dns_dbversion_t *version,
      bool complete,\n\t\t  dns_rdatatype_t privatetype, bool *answer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1738,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1745
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1773,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1774,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1780,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:1781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1768
    functionDepth: 3
    functionLinenumber: 1768
    functionLinenumberEnd: 1785
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - CREATE
    - dns_rdataset_current
    - dns_nsec3param_fromprivate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1795
    functionName: dns_nsec3_maxiterations
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_nsec3_maxiterations(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1827,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1829,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1830,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1832,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/nsec3.c:1835,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1837,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1841,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1843,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1848,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1850,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1851,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/nsec3.c:1864,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:1869,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1876,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:1877,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nsec3.c:1879,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/nsec3.c:1882,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/nsec3.c:1897,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/nsec3.c:1907,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/nsec3.c:1908,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1909,1
    - Dst: isc_base32hex_decoderegion
      Src: /src/bind9/lib/dns/nsec3.c:1910,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/nsec3.c:1918,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:1926,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1931,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/nsec3.c:1932,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1933,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/nsec3.c:1944,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1951,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:1957,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/nsec3.c:1962,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1963,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1964,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1973,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1982,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1990,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1993,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1994,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2000,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:2006,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:2007,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2014,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:2024,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:2025,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:2026,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:2027,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:2029,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:2030,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nsec3.c:2032,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2034,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nsec3.c:2038,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nsec3.c:2041,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2042,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:2059,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:2061,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nsec3.c:2063,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2064,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:2069,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:2070,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nsec3.c:2072,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2081,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/nsec3.c:2091,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 126
    argCount: 15
    argNames:
    - type
    - name
    - nsec3name
    - nsec3set
    - zonename
    - exists
    - data
    - optout
    - unknown
    - setclosest
    - setnearest
    - closest
    - nearest
    - logit
    - arg
    argTypes:
    - dns_rdatatype_t
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_name_t*
    - bool*
    - bool*
    - bool*
    - bool*
    - bool*
    - bool*
    - dns_name_t*
    - dns_name_t*
    - dns_nseclog_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 1797
    functionDepth: 4
    functionLinenumber: 1797
    functionLinenumberEnd: 2096
    functionName: dns_nsec3_noexistnodata
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_current
    - dns_name_getlabel
    - isc_iterated_hash
    - memcmp
    - dns_rdataset_first
    - REQUIRE
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_name_format
    - dns_name_copy
    - ISC_LOG_DEBUG
    - dns_nsec3_typepresent
    - dns_name_downcase
    - dns_name_split
    - dns_name_equal
    - isc_buffer_init
    - dns_nsec3_supportedhash
    - dns_rdatatype_atparent
    - isc_buffer_usedlength
    - isc_base32hex_decoderegion
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec3_noexistnodata(dns_rdatatype_t type, const dns_name_t
      *name,\n\t\t\tconst dns_name_t *nsec3name, dns_rdataset_t *nsec3set,\n\t\t\tdns_name_t
      *zonename, bool *exists, bool *data,\n\t\t\tbool *optout, bool *unknown, bool
      *setclosest,\n\t\t\tbool *setnearest, dns_name_t *closest,\n\t\t\tdns_name_t
      *nearest, dns_nseclog_t logit, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: RETTOK
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETTOK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 654
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: CHECKTOK
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKTOK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: DNS_AS_STR
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_AS_STR(t)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata.c:363,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/rdata.c:368,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:402,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 404
    functionName: locator_pton
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_hex_char
    - memmove
    - memset
    linkageType: ''
    returnType: int
    signature: int locator_pton(const char *src, unsigned char *dst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/rdata.c:409,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - source
    - mctx
    - target
    argTypes:
    - dns_name_t*
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: name_duporclone
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - dns_name_clone
    - dns_name_dup
    linkageType: ''
    returnType: void
    signature: void name_duporclone(const dns_name_t *source, isc_mem_t *mctx, dns_name_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:419,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/rdata.c:425,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mctx
    - source
    - length
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: mem_maybedup
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - memmove
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_maybedup(isc_mem_t *mctx, void *source, size_t length)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:446,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:446,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata.c:451,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/rdata.c:451,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata.c:456,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata.c:464,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:492,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:492,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:493,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:493,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:494,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:494,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - lexer
    - target
    - allow_empty
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 497
    functionName: typemap_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - memset
    - RETERR
    - isc_lex_getmastertoken
    - mem_tobuffer
    - RETTOK
    - isc_lex_ungettoken
    - uint8_tobuffer
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t typemap_fromtext(isc_lex_t *lexer, isc_buffer_t *target,
      bool allow_empty)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:510,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:510,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:513,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:516,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:518,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:530,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:530,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata.c:533,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:534,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata.c:534,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:537,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:538,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:538,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - sr
    - tctx
    - target
    argTypes:
    - isc_region_t*
    - dns_rdata_textctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 544
    functionName: typemap_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - INSIST
    - snprintf
    - dns_rdatatype_isknown
    - dns_rdatatype_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t typemap_totext(isc_region_t *sr, dns_rdata_textctx_t
      *tctx,\n\t       isc_buffer_t *target)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:558,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:567,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:573,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:579,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:585,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:594,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - sr
    - allow_empty
    argTypes:
    - isc_region_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: typemap_test
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t typemap_test(isc_region_t *sr, bool allow_empty)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:605,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata.c:605,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata.c:605,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata.c:616,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:618,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/bind9/lib/dns/rdata.c:621,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/rdata.c:623,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:624,1
    - Dst: ASN1_OBJECT_free
      Src: /src/bind9/lib/dns/rdata.c:626,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - source
    - alg
    argTypes:
    - isc_buffer_t*
    - dns_secalg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 632
    functionName: check_private
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_fixedname_initname
    - isc_buffer_activeregion
    - d2i_ASN1_OBJECT
    - ERR_clear_error
    - dns_name_fromwire
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_private(isc_buffer_t *source, dns_secalg_t alg)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: isc_utf8_valid
      Src: /src/bind9/lib/dns/rdata.c:657,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata.c:714,1
    - Dst: isalnum
      Src: /src/bind9/lib/dns/rdata.c:740,1
    - Dst: isxdigit
      Src: /src/bind9/lib/dns/rdata.c:766,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata.c:781,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 134
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 802
    functionName: validate_dohpath
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_utf8_valid
    - isalnum
    - memcmp
    - isxdigit
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool validate_dohpath(isc_region_t *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:815,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 824
    functionName: dns_rdata_init
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 48
    functionsReached:
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_init(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:828,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:830,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdata.c:830,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:831,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 838
    functionName: dns_rdata_reset
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 64
    functionsReached:
    - ISC_LINK_LINKED
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: void
    signature: void dns_rdata_reset(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:847,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:849,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:849,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:851,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:851,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:852,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - src
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 859
    functionName: dns_rdata_clone
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 6
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: void
    signature: void dns_rdata_clone(const dns_rdata_t *src, dns_rdata_t *target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:870,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:871,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:872,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:873,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:874,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:874,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:875,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:875,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:891,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:892,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 896
    functionName: dns_rdata_compare
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 35
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: int
    signature: int dns_rdata_compare(const dns_rdata_t *rdata1, const dns_rdata_t
      *rdata2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:891,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:892,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    linkageType: ''
    returnType: COMPARESWITCH
    signature: COMPARESWITCH if (use_default)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:903,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:904,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:905,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:906,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:907,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:907,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:908,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:908,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:924,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:925,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 929
    functionName: dns_rdata_casecompare
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 15
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: int
    signature: int dns_rdata_casecompare(const dns_rdata_t *rdata1, const dns_rdata_t
      *rdata2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:924,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:925,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 927
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    linkageType: ''
    returnType: CASECOMPARESWITCH
    signature: CASECOMPARESWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:938,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:939,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:939,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:940,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:942,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:942,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - rdata
    - rdclass
    - type
    - r
    argTypes:
    - dns_rdata_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 949
    functionName: dns_rdata_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 38
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: void
    signature: "void dns_rdata_fromregion(dns_rdata_t *rdata, dns_rdataclass_t rdclass,\n\t\t
      \    dns_rdatatype_t type, isc_region_t *r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:953,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:954,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:955,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rdata
    - r
    argTypes:
    - dns_rdata_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 959
    functionName: dns_rdata_toregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 28
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: void
    signature: void dns_rdata_toregion(const dns_rdata_t *rdata, isc_region_t *r)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:974,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:975,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:975,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:977,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:978,1
    - Dst: isc_buffer_activelength
      Src: /src/bind9/lib/dns/rdata.c:987,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:988,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:993,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/rdata.c:996,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/rdata.c:996,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata.c:998,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1007,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1007,1
    - Dst: buffer_empty
      Src: /src/bind9/lib/dns/rdata.c:1015,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata.c:1020,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdata.c:1022,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 6
    argNames:
    - rdata
    - rdclass
    - type
    - source
    - dctx
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - isc_buffer_t*
    - dns_decompress_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 1030
    functionName: dns_rdata_fromwire
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - isc_buffer_putmem
    - buffer_empty
    - isc_buffer_forward
    - DNS_RDATA_INITIALIZED
    - INSIST
    - DNS_RDATA_VALIDFLAGS
    - isc_buffer_current
    - REQUIRE
    - isc_buffer_usedlength
    - isc_buffer_used
    - isc_buffer_activelength
    - isc_buffer_availablelength
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_fromwire(dns_rdata_t *rdata, dns_rdataclass_t
      rdclass,\n\t\t   dns_rdatatype_t type, isc_buffer_t *source,\n\t\t   dns_decompress_t
      dctx, isc_buffer_t *target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:993,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/rdata.c:996,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/rdata.c:996,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 1001
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - isc_buffer_forward
    - isc_buffer_putmem
    - isc_buffer_current
    - isc_buffer_availablelength
    linkageType: ''
    returnType: FROMWIRESWITCH
    signature: FROMWIRESWITCH if (use_default)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1040,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1041,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1041,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1047,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1056,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:1060,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1061,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/rdata.c:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - rdata
    - cctx
    - target
    argTypes:
    - dns_rdata_t*
    - dns_compress_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1069
    functionName: dns_rdata_towire
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 3
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - INSIST
    - DNS_RDATA_VALIDFLAGS
    - dns_compress_rollback
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_towire(dns_rdata_t *rdata, dns_compress_t *cctx,\n\t\t
      isc_buffer_t *target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1056,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:1060,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1063
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: TOWIRESWITCH
    signature: TOWIRESWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/rdata.c:1081,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1081,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/rdata.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - src
    - dest
    - rdclass
    - type
    argTypes:
    - isc_buffer_t*
    - isc_buffer_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1076
    functionDepth: 3
    functionLinenumber: 1076
    functionLinenumberEnd: 1086
    functionName: rdata_validate
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_setactive
    - isc_buffer_usedlength
    - dns_rdata_fromwire
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdata_validate(isc_buffer_t *src, isc_buffer_t *dest,
      dns_rdataclass_t rdclass,\n\t       dns_rdatatype_t type)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/rdata.c:1095,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:1099,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:1099,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/rdata.c:1104,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:1107,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1112,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata.c:1118,1
    - Dst: rdata_validate
      Src: /src/bind9/lib/dns/rdata.c:1119,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rdata.c:1122,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata.c:1123,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/rdata.c:1129,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/rdata.c:1133,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - rdclass
    - type
    - lexer
    - mctx
    - target
    argTypes:
    - dns_rdataclass_t
    - dns_rdatatype_t
    - isc_lex_t*
    - isc_mem_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1088
    functionDepth: 4
    functionLinenumber: 1088
    functionLinenumberEnd: 1135
    functionName: unknown_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - rdata_validate
    - RETERR
    - isc_lex_getmastertoken
    - isc_buffer_copyregion
    - dns_rdatatype_ismeta
    - isc_buffer_free
    - isc_hex_tobuffer
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_rdatatype_isknown
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t unknown_fromtext(dns_rdataclass_t rdclass, dns_rdatatype_t
      type,\n\t\t isc_lex_t *lexer, isc_mem_t *mctx, isc_buffer_t *target)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1156,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/rdata.c:1156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1158,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:1158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1159,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1163,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:1174,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:1177,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:1178,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1179,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata.c:1185,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata.c:1185,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:1193,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata.c:1196,1
    - Dst: unknown_fromtext
      Src: /src/bind9/lib/dns/rdata.c:1202,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata.c:1208,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:1221,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:1222,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/rdata.c:1223,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1229,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1240,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1245,1
    - Dst: fromtext_warneof
      Src: /src/bind9/lib/dns/rdata.c:1250,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1256,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1256,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata.c:1262,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdata.c:1264,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 87
    argCount: 9
    argNames:
    - rdata
    - rdclass
    - type
    - lexer
    - origin
    - options
    - mctx
    - target
    - callbacks
    argTypes:
    - dns_rdata_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - isc_lex_t*
    - dns_name_t*
    - unsigned int
    - isc_mem_t*
    - isc_buffer_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1137
    functionDepth: 5
    functionLinenumber: 1137
    functionLinenumberEnd: 1270
    functionName: dns_rdata_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 11
    functionsReached:
    - fromtext_error
    - isc_lex_gettoken
    - strcmp
    - fromtext_warneof
    - isc_buffer_used
    - isc_lex_getmastertoken
    - DNS_RDATA_INITIALIZED
    - isc_lex_getsourcename
    - DNS_RDATA_VALIDFLAGS
    - DNS_AS_STR
    - isc_buffer_usedlength
    - REQUIRE
    - dns_name_isabsolute
    - isc_lex_ungettoken
    - unknown_fromtext
    - isc_lex_getsourceline
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_fromtext(dns_rdata_t *rdata, dns_rdataclass_t
      rdclass,\n\t\t   dns_rdatatype_t type, isc_lex_t *lexer,\n\t\t   const dns_name_t
      *origin, unsigned int options,\n\t\t   isc_mem_t *mctx, isc_buffer_t *target,\n\t\t
      \  dns_rdatacallbacks_t *callbacks)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rdata.c:1279,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1280,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:1285,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1286,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:1287,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1288,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1295,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1297,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata.c:1305,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata.c:1307,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - rdata
    - tctx
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdata_textctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1272
    functionDepth: 2
    functionLinenumber: 1272
    functionLinenumberEnd: 1317
    functionName: unknown_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - str_totext
    - strlcpy
    - INSIST
    - snprintf
    - isc_hex_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t unknown_totext(dns_rdata_t *rdata, dns_rdata_textctx_t
      *tctx,\n\t       isc_buffer_t *target)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1327,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/rdata.c:1327,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1333,1
    - Dst: unknown_totext
      Src: /src/bind9/lib/dns/rdata.c:1338,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1341,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1346,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1348,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/lib/dns/rdata.c:1349,1
    - Dst: unknown_totext
      Src: /src/bind9/lib/dns/rdata.c:1350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rdata
    - tctx
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdata_textctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1319
    functionDepth: 3
    functionLinenumber: 1319
    functionLinenumberEnd: 1354
    functionName: rdata_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 12
    functionsReached:
    - isc_buffer_subtract
    - INSIST
    - isc_buffer_usedlength
    - unknown_totext
    - REQUIRE
    - dns_name_isabsolute
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdata_totext(dns_rdata_t *rdata, dns_rdata_textctx_t
      *tctx,\n\t     isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1361,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1361,1
    - Dst: rdata_totext
      Src: /src/bind9/lib/dns/rdata.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - rdata
    - origin
    - target
    argTypes:
    - dns_rdata_t*
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1356
    functionDepth: 4
    functionLinenumber: 1356
    functionLinenumberEnd: 1371
    functionName: dns_rdata_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 12
    functionsReached:
    - rdata_totext
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_totext(dns_rdata_t *rdata, const dns_name_t
      *origin,\n\t\t isc_buffer_t *target)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1380,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1380,1
    - Dst: rdata_totext
      Src: /src/bind9/lib/dns/rdata.c:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - rdata
    - origin
    - flags
    - width
    - split_width
    - linebreak
    - target
    argTypes:
    - dns_rdata_t*
    - dns_name_t*
    - dns_masterstyle_flags_t
    - unsigned int
    - unsigned int
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1373
    functionDepth: 4
    functionLinenumber: 1373
    functionLinenumberEnd: 1402
    functionName: dns_rdata_tofmttext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 9
    functionsReached:
    - rdata_totext
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_tofmttext(dns_rdata_t *rdata, const dns_name_t
      *origin,\n\t\t    dns_masterstyle_flags_t flags, unsigned int width,\n\t\t    unsigned
      int split_width, const char *linebreak,\n\t\t    isc_buffer_t *target)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1413,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1415,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:1415,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1416,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1416,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1427,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1427,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata.c:1433,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdata.c:1435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - rdata
    - rdclass
    - type
    - source
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - void*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1404
    functionDepth: 2
    functionLinenumber: 1404
    functionLinenumberEnd: 1441
    functionName: dns_rdata_fromstruct
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 33
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - DNS_RDATA_VALIDFLAGS
    - isc_buffer_usedlength
    - REQUIRE
    - isc_buffer_used
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_fromstruct(dns_rdata_t *rdata, dns_rdataclass_t
      rdclass,\n\t\t     dns_rdatatype_t type, void *source, isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1425
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: FROMSTRUCTSWITCH
    signature: FROMSTRUCTSWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1449,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - rdata
    - target
    - mctx
    argTypes:
    - dns_rdata_t*
    - void*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1459
    functionName: dns_rdata_tostruct
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 204
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_tostruct(const dns_rdata_t *rdata, void *target,
      isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1456
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: TOSTRUCTSWITCH
    signature: TOSTRUCTSWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1467
    functionName: dns_rdata_freestruct
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 28
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_freestruct(void *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1482,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - rdata
    - owner
    - add
    - arg
    argTypes:
    - dns_rdata_t*
    - dns_name_t*
    - dns_additionaldatafunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1469
    functionDepth: 1
    functionLinenumber: 1469
    functionLinenumberEnd: 1492
    functionName: dns_rdata_additionaldata
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_additionaldata(dns_rdata_t *rdata, const dns_name_t
      *owner,\n\t\t\t dns_additionaldatafunc_t add, void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1489
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: ADDITIONALDATASWITCH
    signature: ADDITIONALDATASWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1506,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1506,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - rdata
    - digest
    - arg
    argTypes:
    - dns_rdata_t*
    - dns_digestfunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1494
    functionDepth: 2
    functionLinenumber: 1494
    functionLinenumberEnd: 1516
    functionName: dns_rdata_digest
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 2
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_digest(dns_rdata_t *rdata, dns_digestfunc_t
      digest, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1513
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - dns_rdata_toregion
    linkageType: ''
    returnType: DIGESTSWITCH
    signature: DIGESTSWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - name
    - rdclass
    - type
    - wildcard
    argTypes:
    - dns_name_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1525
    functionName: dns_rdata_checkowner
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dns_rdata_checkowner(const dns_name_t *name, dns_rdataclass_t
      rdclass,\n\t\t     dns_rdatatype_t type, bool wildcard)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - rdata
    - owner
    - bad
    argTypes:
    - dns_rdata_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1534
    functionName: dns_rdata_checknames
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool dns_rdata_checknames(dns_rdata_t *rdata, const dns_name_t *owner,\n\t\t
      \    dns_name_t *bad)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1543
    functionName: dns_rdatatype_attributes
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdatatype_attributes(dns_rdatatype_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rdata.c:1557,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rdata.c:1558,1
    - Dst: RDATATYPE_FROMTEXT_SW
      Src: /src/bind9/lib/dns/rdata.c:1567,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata.c:1570,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:1580,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata.c:1582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - typep
    - source
    argTypes:
    - dns_rdatatype_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1590
    functionName: dns_rdatatype_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 27
    functionsReached:
    - strtoul
    - snprintf
    - isc_ascii_tolower
    - RDATATYPE_FROMTEXT_SW
    - strncasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatatype_fromtext(dns_rdatatype_t *typep, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - type
    - target
    argTypes:
    - dns_rdatatype_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1597
    functionName: dns_rdatatype_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatatype_totext(dns_rdatatype_t type, isc_buffer_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:1603,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - target
    argTypes:
    - dns_rdatatype_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1605
    functionName: dns_rdatatype_tounknowntext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - str_totext
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdatatype_tounknowntext(dns_rdatatype_t type, isc_buffer_t
      *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata.c:1616,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata.c:1617,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:1622,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/rdata.c:1623,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rdata.c:1629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rdtype
    - array
    - size
    argTypes:
    - dns_rdatatype_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1631
    functionName: dns_rdatatype_format
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 46
    functionsReached:
    - strlcpy
    - isc_buffer_init
    - isc_buffer_putuint8
    - dns_rdatatype_totext
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void dns_rdatatype_format(dns_rdatatype_t rdtype, char *array, unsigned
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1640
    functionName: name_length
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int name_length(const dns_name_t *name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1658,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1660,1
    - Dst: POST
      Src: /src/bind9/lib/dns/rdata.c:1729,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1731,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:1732,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 4
    argNames:
    - source
    - quote
    - comma
    - target
    argTypes:
    - isc_region_t*
    - bool
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1734
    functionName: commatxt_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_availableregion
    - REQUIRE
    - isc_region_consume
    - POST
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t commatxt_totext(isc_region_t *source, bool quote, bool
      comma,\n\t\tisc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commatxt_totext
      Src: /src/bind9/lib/dns/rdata.c:1738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - source
    - quote
    - target
    argTypes:
    - isc_region_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1736
    functionDepth: 3
    functionLinenumber: 1736
    functionLinenumberEnd: 1739
    functionName: txt_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - commatxt_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t txt_totext(isc_region_t *source, bool quote, isc_buffer_t
      *target)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1751,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1772,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1778,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1787,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata.c:1846,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1857,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 3
    argNames:
    - source
    - comma
    - target
    argTypes:
    - isc_textregion_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1741
    functionDepth: 2
    functionLinenumber: 1741
    functionLinenumberEnd: 1859
    functionName: commatxt_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - decvalue
    - isc_textregion_consume
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t commatxt_fromtext(isc_textregion_t *source, bool comma,
      isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: commatxt_fromtext
      Src: /src/bind9/lib/dns/rdata.c:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_textregion_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1861
    functionDepth: 3
    functionLinenumber: 1861
    functionLinenumberEnd: 1864
    functionName: txt_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - commatxt_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t txt_fromtext(isc_textregion_t *source, isc_buffer_t *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata.c:1872,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1881,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:1887,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata.c:1889,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1866
    functionDepth: 2
    functionLinenumber: 1866
    functionLinenumberEnd: 1892
    functionName: txt_fromwire
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t txt_fromwire(isc_buffer_t *source, isc_buffer_t *target)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1905,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:1946,1
    - Dst: POST
      Src: /src/bind9/lib/dns/rdata.c:1953,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1897
    functionDepth: 2
    functionLinenumber: 1897
    functionLinenumberEnd: 1956
    functionName: multitxt_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - POST
    - isc_buffer_add
    - isc_buffer_availableregion
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t multitxt_totext(isc_region_t *source, isc_buffer_t *target)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1973,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1983,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1989,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1998,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2021,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_textregion_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 1958
    functionDepth: 2
    functionLinenumber: 1958
    functionLinenumberEnd: 2024
    functionName: multitxt_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - decvalue
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t multitxt_fromtext(isc_textregion_t *source, isc_buffer_t
      *target)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rdata.c:2034,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata.c:2038,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata.c:2042,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata.c:2043,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rdata.c:2050,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/rdata.c:2051,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rdata.c:2055,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - name
    - origin
    - target
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2026
    functionDepth: 1
    functionLinenumber: 2026
    functionLinenumberEnd: 2061
    functionName: name_prefix
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - dns_name_caseequal
    - dns_name_issubdomain
    - dns_name_compare
    linkageType: ''
    returnType: bool
    signature: bool name_prefix(dns_name_t *name, const dns_name_t *origin, dns_name_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:2068,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata.c:2069,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:2075,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2078
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 9
    functionsReached:
    - strlen
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t str_totext(const char *source, isc_buffer_t *target)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/rdata.c:2085,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata.c:2088,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:2088,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/rdata.c:2091,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rdata.c:2099,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:2101,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/rdata.c:2104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - af
    - flags
    - src
    - target
    argTypes:
    - int
    - uint32_t
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2080
    functionDepth: 2
    functionLinenumber: 2080
    functionLinenumberEnd: 2110
    functionName: inet_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - inet_ntop
    - isc_buffer_putstr
    - strlen
    - isc_buffer_usedregion
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t inet_totext(int af, uint32_t flags, isc_region_t *src,
      isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2115
    functionName: buffer_empty
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool buffer_empty(isc_buffer_t *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata.c:2119,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2120,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/rdata.c:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - region
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 2117
    functionDepth: 2
    functionLinenumber: 2117
    functionLinenumberEnd: 2122
    functionName: buffer_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_buffer_setactive
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void buffer_fromregion(isc_buffer_t *buffer, isc_region_t *region)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:2128,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/rdata.c:2132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2124
    functionDepth: 2
    functionLinenumber: 2124
    functionLinenumberEnd: 2134
    functionName: uint32_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint32
    - isc_buffer_availableregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t uint32_tobuffer(uint32_t value, isc_buffer_t *target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:2143,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdata.c:2147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2136
    functionDepth: 2
    functionLinenumber: 2136
    functionLinenumberEnd: 2149
    functionName: uint16_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t uint16_tobuffer(uint32_t value, isc_buffer_t *target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:2158,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/rdata.c:2162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2151
    functionDepth: 2
    functionLinenumber: 2151
    functionLinenumberEnd: 2164
    functionName: uint8_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - isc_buffer_availableregion
    - isc_buffer_putuint8
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t uint8_tobuffer(uint32_t value, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata.c:2169,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata.c:2170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - target
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2166
    functionDepth: 3
    functionLinenumber: 2166
    functionLinenumberEnd: 2171
    functionName: name_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - dns_name_toregion
    - isc_buffer_copyregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t name_tobuffer(const dns_name_t *name, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2173
    functionDepth: 1
    functionLinenumber: 2173
    functionLinenumberEnd: 2183
    functionName: uint32_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t uint32_fromregion(isc_region_t *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2187,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2191
    functionName: uint16_consume_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - uint16_fromregion
    - isc_region_consume
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t uint16_consume_fromregion(isc_region_t *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2198
    functionName: uint16_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t uint16_fromregion(isc_region_t *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2205
    functionName: uint8_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t uint8_fromregion(isc_region_t *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2209,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2207
    functionDepth: 2
    functionLinenumber: 2207
    functionLinenumberEnd: 2213
    functionName: uint8_consume_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - uint8_fromregion
    - isc_region_consume
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t uint8_consume_fromregion(isc_region_t *region)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:2223,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:2228,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - target
    - base
    - length
    argTypes:
    - isc_buffer_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2215
    functionDepth: 2
    functionLinenumber: 2215
    functionLinenumberEnd: 2232
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mem_tobuffer(isc_buffer_t *target, void *base, unsigned
      int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/rdata.c:2236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2234
    functionDepth: 1
    functionLinenumber: 2234
    functionLinenumberEnd: 2242
    functionName: hexvalue
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_hex_char
    linkageType: ''
    returnType: int
    signature: int hexvalue(char value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata.c:2246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2251
    functionName: decvalue
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 2
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int decvalue(char value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata.c:2258,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/rdata.c:2260,1
    - Dst: vfprintf
      Src: /src/bind9/lib/dns/rdata.c:2261,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/rdata.c:2262,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/rdata.c:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - callbacks
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2264
    functionName: default_fromtext_callback
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - va_end
    - UNUSED
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void default_fromtext_callback(dns_rdatacallbacks_t *callbacks, const
      char *fmt,\n\t\t\t  ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_isfile
      Src: /src/bind9/lib/dns/rdata.c:2268,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:2269,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:2275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - lexer
    - callbacks
    argTypes:
    - isc_lex_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2277
    functionName: fromtext_warneof
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - isc_lex_isfile
    - isc_lex_getsourcename
    - isc_lex_getsourceline
    linkageType: ''
    returnType: void
    signature: void fromtext_warneof(isc_lex_t *lexer, dns_rdatacallbacks_t *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:2286,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:2287,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata.c:2289,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - token
    - lexer
    - callbacks
    argTypes:
    - isc_token_t*
    - isc_lex_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2279
    functionDepth: 2
    functionLinenumber: 2279
    functionLinenumberEnd: 2292
    functionName: warn_badmx
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - isc_lex_getsourcename
    - isc_lex_getsourceline
    - DNS_AS_STR
    linkageType: ''
    returnType: void
    signature: "void warn_badmx(isc_token_t *token, isc_lex_t *lexer,\n\t   dns_rdatacallbacks_t
      *callbacks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:2302,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:2303,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rdata.c:2304,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - name
    - lexer
    - callbacks
    argTypes:
    - dns_name_t*
    - isc_lex_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2294
    functionDepth: 2
    functionLinenumber: 2294
    functionLinenumberEnd: 2309
    functionName: warn_badname
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - isc_result_totext
    - isc_lex_getsourcename
    - isc_lex_getsourceline
    linkageType: ''
    returnType: void
    signature: "void warn_badname(const dns_name_t *name, isc_lex_t *lexer,\n\t     dns_rdatacallbacks_t
      *callbacks)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2324,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2329,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2335,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata.c:2341,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2342,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2347,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2352,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - callbacks
    - name
    - line
    - token
    - result
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    - unsigned long
    - isc_token_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2354
    functionName: fromtext_error
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - DNS_AS_STR
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: "void fromtext_error(void (*callback)(dns_rdatacallbacks_t *, const
      char *, ...),\n\t       dns_rdatacallbacks_t *callbacks, const char *name,\n\t
      \      unsigned long line, isc_token_t *token, isc_result_t result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: covers_rrsig
      Src: /src/bind9/lib/dns/rdata.c:2359,1
    - Dst: covers_sig
      Src: /src/bind9/lib/dns/rdata.c:2361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2356
    functionDepth: 1
    functionLinenumber: 2356
    functionLinenumberEnd: 2362
    functionName: dns_rdata_covers
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached:
    - covers_sig
    - covers_rrsig
    linkageType: ''
    returnType: dns_rdatatype_t
    signature: dns_rdatatype_t dns_rdata_covers(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2366,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2367,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2364
    functionDepth: 1
    functionLinenumber: 2364
    functionLinenumberEnd: 2374
    functionName: dns_rdata_exists
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_exists(dns_rdata_t *rdata, dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2379,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2386
    functionName: dns_rdata_notexist
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_notexist(dns_rdata_t *rdata, dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2391,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2388
    functionDepth: 1
    functionLinenumber: 2388
    functionLinenumberEnd: 2398
    functionName: dns_rdata_deleterrset
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_deleterrset(dns_rdata_t *rdata, dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2400
    functionDepth: 1
    functionLinenumber: 2400
    functionLinenumberEnd: 2405
    functionName: dns_rdata_makedelete
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_makedelete(dns_rdata_t *rdata)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2410,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - rdata
    - section
    argTypes:
    - dns_rdata_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2448
    functionName: dns_rdata_updateop
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - DNS_RDATA_INITIALIZED
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_rdata_updateop(dns_rdata_t *rdata, dns_section_t section)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rdata.c:2464,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata.c:2465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2450
    functionDepth: 1
    functionLinenumber: 2450
    functionLinenumberEnd: 2470
    functionName: svcb_ishttp
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - memcmp
    - ARRAY_SIZE
    linkageType: ''
    returnType: bool
    signature: bool svcb_ishttp(const char *s, size_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata.c:2478,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata.c:2487,1
    - Dst: svcb_ishttp
      Src: /src/bind9/lib/dns/rdata.c:2489,1
    - Dst: svcb_ishttp
      Src: /src/bind9/lib/dns/rdata.c:2495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - alpn
    argTypes:
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2472
    functionDepth: 2
    functionLinenumber: 2472
    functionLinenumberEnd: 2500
    functionName: svcb_hashttp
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - svcb_ishttp
    - isc_textregion_consume
    linkageType: ''
    returnType: bool
    signature: bool svcb_hashttp(isc_textregion_t *alpn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2507,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2508,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2509,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2510,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:2510,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rdata.c:2512,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdata.c:2513,1
    - Dst: dns_name_isdnssvcb
      Src: /src/bind9/lib/dns/rdata.c:2522,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2529,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2530,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2531,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2532,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2536,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2543,1
    - Dst: svcb_hashttp
      Src: /src/bind9/lib/dns/rdata.c:2544,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2547,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2548,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2549,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2550,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2554,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - owner
    - rdata
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2502
    functionDepth: 3
    functionLinenumber: 2502
    functionLinenumberEnd: 2562
    functionName: dns_rdata_checksvcb
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached:
    - dns_rdata_tostruct
    - svcb_hashttp
    - RUNTIME_CHECK
    - DNS_RDATA_VALIDFLAGS
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_name_isdnssvcb
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_checksvcb(const dns_name_t *owner, const dns_rdata_t
      *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: DNS_ADB_VALID
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADB_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: DNS_ADBNAME_VALID
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBNAME_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: DNS_ADBNAMEHOOK_VALID
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBNAMEHOOK_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DNS_ADBENTRY_VALID
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBENTRY_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: DNS_ADBFETCH_VALID
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBFETCH_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DNS_ADBFETCH6_VALID
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBFETCH6_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: dns_adbname_ref
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbname_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: dns_adbname_unref
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbname_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: dns_adbname_attach
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbname_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: dns_adbname_detach
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbname_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: dns_adbentry_ref
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbentry_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: dns_adbentry_unref
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbentry_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: dns_adbentry_attach
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbentry_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: dns_adbentry_detach
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adbentry_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: FIND_EVENTSENT
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_EVENTSENT(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: NAME_ALIAS
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_ALIAS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: NAME_HAS_V4
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_HAS_V4(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: NAME_HAS_V6
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_HAS_V6(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: NAME_FETCH_A
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_FETCH_A(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: NAME_FETCH_AAAA
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_FETCH_AAAA(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: NAME_FETCH
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_FETCH(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    functionName: FIND_WANTEVENT
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_WANTEVENT(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    functionName: FIND_WANTEMPTYEVENT
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_WANTEMPTYEVENT(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: FIND_AVOIDFETCHES
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_AVOIDFETCHES(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: FIND_STARTATZONE
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_STARTATZONE(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    functionName: FIND_STATICSTUB
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_STATICSTUB(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    functionName: FIND_NOVALIDATE
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_NOVALIDATE(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 431
    functionName: FIND_HAS_ADDRS
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_HAS_ADDRS(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 432
    functionName: FIND_NOFETCH
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIND_NOFETCH(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - options
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: ADBNAME_TYPE
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADBNAME_TYPE(options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: WANT_INET
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANT_INET(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: WANT_INET6
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANT_INET6(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - exp
    - ','
    - now
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: EXPIRE_OK
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPIRE_OK(exp, now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: NCACHE_RESULT
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NCACHE_RESULT(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 456
    functionName: AUTH_NX
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AUTH_NX(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - expire
    - ','
    - now
    - ','
    - ttl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: ADJUSTED_EXPIRE
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUSTED_EXPIRE(expire, now, ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/adb.c:495,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/adb.c:496,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/adb.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: DP
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void DP(int level, const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_resolver_incstats
      Src: /src/bind9/lib/dns/adb.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adb
    - counter
    argTypes:
    - dns_adb_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: inc_resstats
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_resolver_incstats
    linkageType: ''
    returnType: void
    signature: void inc_resstats(dns_adb_t *adb, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/adb.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - adb
    - val
    - counter
    argTypes:
    - dns_adb_t*
    - uint64_t
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: set_adbstat
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_stats_set
    linkageType: ''
    returnType: void
    signature: void set_adbstat(dns_adb_t *adb, uint64_t val, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/dns/adb.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adb
    - counter
    argTypes:
    - dns_adb_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: dec_adbstats
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_stats_decrement
    linkageType: ''
    returnType: void
    signature: void dec_adbstats(dns_adb_t *adb, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/adb.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adb
    - counter
    argTypes:
    - dns_adb_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: inc_adbstats
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_adbstats(dns_adb_t *adb, isc_statscounter_t counter)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ttl
    argTypes:
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: ttlclamp
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t ttlclamp(dns_ttl_t ttl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:558,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:562,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:562,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:580,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/adb.c:580,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/adb.c:591,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:594,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:595,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/adb.c:596,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:600,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:601,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/adb.c:602,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:606,1
    - Dst: get_attached_and_locked_entry
      Src: /src/bind9/lib/dns/adb.c:609,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:612,1
    - Dst: new_adbnamehook
      Src: /src/bind9/lib/dns/adb.c:618,1
    - Dst: dns_adbentry_attach
      Src: /src/bind9/lib/dns/adb.c:619,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:620,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:621,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:623,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:624,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:629,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:631,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:635,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:637,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 3
    argNames:
    - adbname
    - rdataset
    - now
    argTypes:
    - dns_adbname_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 643
    functionName: import_rdataset
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_adbentry_detach
    - dns_rdataset_current
    - DNS_ADB_VALID
    - UNLOCK
    - REQUIRE
    - UNREACHABLE
    - DNS_ADBNAME_VALID
    - new_adbnamehook
    - dns_adbentry_attach
    - get_attached_and_locked_entry
    - isc_sockaddr_fromin
    - dns_rdatatype_isaddr
    - ttlclamp
    - INSIST
    - ADJUSTED_EXPIRE
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    - DP
    - isc_sockaddr_fromin6
    linkageType: ''
    returnType: void
    signature: "void import_rdataset(dns_adbname_t *adbname, dns_rdataset_t *rdataset,\n\t\tisc_stdtime_t
      now)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/adb.c:591,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:594,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:595,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/adb.c:596,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:600,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:601,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/adb.c:602,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:606,1
    - Dst: get_attached_and_locked_entry
      Src: /src/bind9/lib/dns/adb.c:609,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:612,1
    - Dst: new_adbnamehook
      Src: /src/bind9/lib/dns/adb.c:618,1
    - Dst: dns_adbentry_attach
      Src: /src/bind9/lib/dns/adb.c:619,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:620,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:621,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:623,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 625
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 6
    functionsReached:
    - UNREACHABLE
    - memmove
    - ISC_LIST_APPEND
    - dns_adbentry_detach
    - new_adbnamehook
    - dns_rdataset_current
    - dns_adbentry_attach
    - INSIST
    - UNLOCK
    - isc_sockaddr_fromin6
    - get_attached_and_locked_entry
    - ISC_LIST_FOREACH
    - isc_sockaddr_fromin
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/adb.c:650,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:650,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/adb.c:653,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:653,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 656
    functionName: expire_name_async
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - RUNTIME_CHECK
    - ISC_SIEVE_UNLINK
    - isc_loop
    - dns_adbname_detach
    linkageType: ''
    returnType: void
    signature: void expire_name_async(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:663,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:663,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:667,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:667,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:669,1
    - Dst: clean_finds_at_name
      Src: /src/bind9/lib/dns/adb.c:676,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:677,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:678,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:680,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/adb.c:681,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:684,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/adb.c:685,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/adb.c:689,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - adbname
    - astat
    argTypes:
    - dns_adbname_t*
    - dns_adbstatus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 692
    functionName: expire_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBNAME_VALID
    - cds_lfht_del
    - isc_async_run
    - NAME_FETCH_AAAA
    - clean_finds_at_name
    - DP
    - DNS_ADB_VALID
    - NAME_FETCH_A
    - REQUIRE
    - clean_namehooks
    - dns_resolver_cancelfetch
    linkageType: ''
    returnType: void
    signature: void expire_name(dns_adbname_t *adbname, dns_adbstatus_t astat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:699,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:699,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:700,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:700,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:707,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:707,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:708,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:709,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:710,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:720,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:720,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:721,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:722,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:723,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - adbname
    - now
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 729
    functionName: maybe_expire_namehooks
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBNAME_VALID
    - NAME_FETCH_AAAA
    - NAME_HAS_V4
    - NAME_FETCH_A
    - DNS_ADB_VALID
    - DP
    - REQUIRE
    - clean_namehooks
    - NAME_HAS_V6
    - EXPIRE_OK
    linkageType: ''
    returnType: void
    signature: void maybe_expire_namehooks(dns_adbname_t *adbname, isc_stdtime_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:736,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:737,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:738,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:745,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:746,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 731
    functionDepth: 4
    functionLinenumber: 731
    functionLinenumberEnd: 749
    functionName: shutdown_names
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dns_adbname_ref
    - UNLOCK
    - cds_lfht_for_each_entry
    - expire_name
    - dns_adbname_detach
    linkageType: ''
    returnType: void
    signature: void shutdown_names(dns_adb_t *adb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:756,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:757,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:758,1
    - Dst: expire_entry
      Src: /src/bind9/lib/dns/adb.c:759,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:760,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: shutdown_entries
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dns_adbentry_detach
    - UNLOCK
    - cds_lfht_for_each_entry
    - dns_adbentry_ref
    - expire_entry
    linkageType: ''
    returnType: void
    signature: void shutdown_entries(dns_adb_t *adb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:770,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:771,1
    - Dst: DNS_ADBNAMEHOOK_VALID
      Src: /src/bind9/lib/dns/adb.c:771,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:772,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:772,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:780,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:782,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:783,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:784,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:785,1
    - Dst: free_adbnamehook
      Src: /src/bind9/lib/dns/adb.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - namehooks
    argTypes:
    - dns_adb_t*
    - dns_adbnamehooklist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 789
    functionName: clean_namehooks
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - LOCK
    - dns_adbentry_detach
    - DNS_ADBNAMEHOOK_VALID
    - INSIST
    - UNLOCK
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - free_adbnamehook
    - DNS_ADBENTRY_VALID
    linkageType: ''
    returnType: void
    signature: void clean_namehooks(dns_adb_t *adb, dns_adbnamehooklist_t *namehooks)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:799,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/adb.c:803,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:807,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/adb.c:808,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:815,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/adb.c:815,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:822,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/adb.c:822,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:835,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:842,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:845,1
    - Dst: FIND_EVENTSENT
      Src: /src/bind9/lib/dns/adb.c:845,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:847,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:849,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:851,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:854,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:857,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:859,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - name
    - astat
    - addrs
    argTypes:
    - dns_adbname_t*
    - dns_adbstatus_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 794
    functionDepth: 3
    functionLinenumber: 794
    functionLinenumberEnd: 860
    functionName: clean_finds_at_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - LOCK
    - ISC_LOG_DEBUG
    - isc_async_run
    - DP
    - INSIST
    - UNLOCK
    - ISC_LIST_UNLINK
    - atomic_store
    - FIND_EVENTSENT
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: "void clean_finds_at_name(dns_adbname_t *name, dns_adbstatus_t astat,\n\t\t
      \   unsigned int addrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:866,1
    - Dst: dns_adb_ref
      Src: /src/bind9/lib/dns/adb.c:868,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/adb.c:878,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:878,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:883,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/adb.c:886,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:888,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/adb.c:890,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/adb.c:891,1
    - Dst: inc_adbstats
      Src: /src/bind9/lib/dns/adb.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - adb
    - dnsname
    - type
    argTypes:
    - dns_adb_t*
    - dns_name_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 895
    functionName: new_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adb_ref
    - isc_mutex_init
    - isc_loop_ref
    - dns_fixedname_initname
    - isc_mem_get
    - isc_refcount_init
    - fprintf
    - inc_adbstats
    - dns_name_copy
    - isc_loop
    linkageType: ''
    returnType: dns_adbname_t
    signature: 'dns_adbname_t *

      new_adbname(dns_adb_t *adb, const dns_name_t *dnsname, unsigned int type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:905,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:907,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:907,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:911,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:911,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:912,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:913,1
    - Dst: NAME_FETCH
      Src: /src/bind9/lib/dns/adb.c:913,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:914,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:914,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:915,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:915,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:919,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/adb.c:920,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:922,1
    - Dst: dec_adbstats
      Src: /src/bind9/lib/dns/adb.c:924,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 927
    functionName: destroy_adbname_rcu
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBNAME_VALID
    - NAME_HAS_V6
    - ISC_LIST_EMPTY
    - isc_mutex_destroy
    - ISC_LINK_LINKED
    - dns_adb_detach
    - NAME_HAS_V4
    - NAME_FETCH
    - REQUIRE
    - isc_loop_detach
    - dec_adbstats
    - isc_mem_put
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void destroy_adbname_rcu(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/adb.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adbname
    argTypes:
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 932
    functionName: destroy_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - call_rcu
    linkageType: ''
    returnType: void
    signature: void destroy_adbname(dns_adbname_t *adbname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 944
    functionName: new_adbnamehook
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - isc_mem_get
    linkageType: ''
    returnType: dns_adbnamehook_t
    signature: 'dns_adbnamehook_t *

      new_adbnamehook(dns_adb_t *adb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:950,1
    - Dst: DNS_ADBNAMEHOOK_VALID
      Src: /src/bind9/lib/dns/adb.c:950,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:955,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:956,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:956,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:957,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:957,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - namehook
    argTypes:
    - dns_adb_t*
    - dns_adbnamehook_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 962
    functionName: free_adbnamehook
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - ISC_LINK_LINKED
    - isc_mem_put
    - DNS_ADBNAMEHOOK_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void free_adbnamehook(dns_adb_t *adb, dns_adbnamehook_t **namehook)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:968,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/adb.c:970,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/adb.c:974,1
    - Dst: dns_adb_ref
      Src: /src/bind9/lib/dns/adb.c:975,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/adb.c:977,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:977,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:982,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:985,1
    - Dst: inc_adbstats
      Src: /src/bind9/lib/dns/adb.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - adb
    - addr
    - now
    argTypes:
    - dns_adb_t*
    - isc_sockaddr_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 964
    functionDepth: 4
    functionLinenumber: 964
    functionLinenumberEnd: 990
    functionName: new_adbentry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adb_ref
    - isc_mutex_init
    - isc_loop_ref
    - isc_mem_get
    - fprintf
    - inc_adbstats
    - isc_random_uniform
    - ISC_REFCOUNT_INITIALIZER
    - isc_loop
    linkageType: ''
    returnType: dns_adbentry_t
    signature: 'dns_adbentry_t *

      new_adbentry(dns_adb_t *adb, const isc_sockaddr_t *addr, isc_stdtime_t now)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:994,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:997,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:997,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1004,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1004,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1006,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:1006,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/adb.c:1008,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1009,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1012,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:1015,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/adb.c:1016,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1018,1
    - Dst: dec_adbstats
      Src: /src/bind9/lib/dns/adb.c:1020,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 992
    functionDepth: 3
    functionLinenumber: 992
    functionLinenumberEnd: 1023
    functionName: destroy_adbentry_rcu
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_mutex_destroy
    - ISC_LINK_LINKED
    - dns_adb_detach
    - INSIST
    - atomic_load_acquire
    - REQUIRE
    - isc_loop_detach
    - dec_adbstats
    - isc_mem_put
    - caa_container_of
    - DNS_ADBENTRY_VALID
    linkageType: ''
    returnType: void
    signature: void destroy_adbentry_rcu(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/adb.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adbentry
    argTypes:
    - dns_adbentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: destroy_adbentry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - call_rcu
    linkageType: ''
    returnType: void
    signature: void destroy_adbentry(dns_adbentry_t *adbentry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:1040,1
    - Dst: dns_adb_attach
      Src: /src/bind9/lib/dns/adb.c:1050,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - adb
    - port
    argTypes:
    - dns_adb_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1056
    functionName: new_adbfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - dns_adb_attach
    - isc_mutex_init
    linkageType: ''
    returnType: dns_adbfind_t
    signature: 'dns_adbfind_t *

      new_adbfind(dns_adb_t *adb, in_port_t port)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1063,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:1063,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1070,1
    - Dst: FIND_HAS_ADDRS
      Src: /src/bind9/lib/dns/adb.c:1070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1071,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1071,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1072,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1072,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1073,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:1077,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1079,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - findp
    argTypes:
    - dns_adbfind_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1058
    functionDepth: 1
    functionLinenumber: 1058
    functionLinenumberEnd: 1081
    functionName: free_adbfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - FIND_HAS_ADDRS
    - DNS_ADBFIND_VALID
    - ISC_LINK_LINKED
    - dns_adb_detach
    - REQUIRE
    - isc_mem_put
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void free_adbfind(dns_adbfind_t **findp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:1087,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/adb.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1094
    functionName: new_adbfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - dns_rdataset_init
    linkageType: ''
    returnType: dns_adbfetch_t
    signature: 'dns_adbfetch_t *

      new_adbfetch(dns_adb_t *adb)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1100,1
    - Dst: DNS_ADBFETCH_VALID
      Src: /src/bind9/lib/dns/adb.c:1100,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/adb.c:1107,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/adb.c:1108,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - fetchp
    argTypes:
    - dns_adb_t*
    - dns_adbfetch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1112
    functionName: free_adbfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBFETCH_VALID
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_adbfetch(dns_adb_t *adb, dns_adbfetch_t **fetchp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:1122,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1124,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1125,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1128,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/adb.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - adb
    - entry
    - port
    argTypes:
    - dns_adb_t*
    - dns_adbentry_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1118
    functionDepth: 2
    functionLinenumber: 1118
    functionLinenumberEnd: 1135
    functionName: new_adbaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - isc_mem_get
    - dns_adbentry_ref
    - isc_sockaddr_setport
    linkageType: ''
    returnType: dns_adbaddrinfo_t
    signature: 'dns_adbaddrinfo_t *

      new_adbaddrinfo(dns_adb_t *adb, dns_adbentry_t *entry, in_port_t port)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1141,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:1141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1146,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1146,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/adb.c:1151,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1153,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - adb
    - ainfo
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1137
    functionDepth: 3
    functionLinenumber: 1137
    functionLinenumberEnd: 1156
    functionName: free_adbaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - dns_transport_detach
    - dns_adbentry_detach
    - ISC_LINK_LINKED
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_adbaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **ainfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:1160,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/adb.c:1168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ht_node
    - key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1158
    functionDepth: 1
    functionLinenumber: 1158
    functionLinenumberEnd: 1169
    functionName: match_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - dns_name_equal
    linkageType: ''
    returnType: int
    signature: int match_adbname(struct cds_lfht_node *ht_node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/dns/adb.c:1175,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/adb.c:1176,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/adb.c:1178,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/adb.c:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - adbname
    argTypes:
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1171
    functionDepth: 2
    functionLinenumber: 1171
    functionLinenumberEnd: 1180
    functionName: hash_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_hash32_hash
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t hash_adbname(const dns_adbname_t *adbname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/adb.c:1190,1
    - Dst: hash_adbname
      Src: /src/bind9/lib/dns/adb.c:1193,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/adb.c:1194,1
    - Dst: purge_names_overmem
      Src: /src/bind9/lib/dns/adb.c:1195,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/adb.c:1199,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/adb.c:1201,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/adb.c:1201,1
    - Dst: new_adbname
      Src: /src/bind9/lib/dns/adb.c:1206,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1214,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/adb.c:1216,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1223,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/adb.c:1225,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1225,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1232,1
    - Dst: destroy_adbname_rcu
      Src: /src/bind9/lib/dns/adb.c:1234,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:1235,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1238,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/adb.c:1240,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1241,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1245,1
    - Dst: maybe_expire_name
      Src: /src/bind9/lib/dns/adb.c:1248,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1249,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:1250,1
    - Dst: ISC_SIEVE_MARK
      Src: /src/bind9/lib/dns/adb.c:1254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - adb
    - name
    - type
    - now
    argTypes:
    - dns_adb_t*
    - dns_name_t*
    - unsigned int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1185
    functionDepth: 4
    functionLinenumber: 1185
    functionLinenumberEnd: 1257
    functionName: get_attached_and_locked_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adbname_ref
    - cds_lfht_lookup
    - maybe_expire_name
    - cds_lfht_iter_get_node
    - UNLOCK
    - new_adbname
    - ISC_SIEVE_MARK
    - caa_container_of
    - purge_names_overmem
    - LOCK
    - hash_adbname
    - cds_lfht_is_node_deleted
    - ISC_SIEVE_INSERT
    - isc_tid
    - cds_lfht_entry
    - destroy_adbname_rcu
    - UNCONST
    - isc_mem_isovermem
    - cds_lfht_add_unique
    - dns_adbname_detach
    linkageType: ''
    returnType: dns_adbname_t
    signature: "dns_adbname_t *\nget_attached_and_locked_name(dns_adb_t *adb, const
      dns_name_t *name,\n\t\t\t     unsigned int type, isc_stdtime_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:1262,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/adb.c:1264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1265
    functionName: match_adbentry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_sockaddr_equal
    linkageType: ''
    returnType: int
    signature: int match_adbentry(struct cds_lfht_node *ht_node, const void *key)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/lib/dns/adb.c:1274,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/adb.c:1276,1
    - Dst: purge_entries_overmem
      Src: /src/bind9/lib/dns/adb.c:1277,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/adb.c:1281,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/adb.c:1284,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/adb.c:1284,1
    - Dst: new_adbentry
      Src: /src/bind9/lib/dns/adb.c:1289,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1297,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/adb.c:1299,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1306,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/adb.c:1308,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1308,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1315,1
    - Dst: destroy_adbentry_rcu
      Src: /src/bind9/lib/dns/adb.c:1317,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:1318,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1321,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/adb.c:1323,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1324,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1328,1
    - Dst: maybe_expire_entry
      Src: /src/bind9/lib/dns/adb.c:1331,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1332,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1333,1
    - Dst: ISC_SIEVE_MARK
      Src: /src/bind9/lib/dns/adb.c:1337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - adb
    - now
    - addr
    argTypes:
    - dns_adb_t*
    - isc_stdtime_t
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1270
    functionDepth: 5
    functionLinenumber: 1270
    functionLinenumberEnd: 1340
    functionName: get_attached_and_locked_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - cds_lfht_lookup
    - dns_adbentry_detach
    - cds_lfht_iter_get_node
    - destroy_adbentry_rcu
    - UNLOCK
    - ISC_SIEVE_MARK
    - caa_container_of
    - isc_sockaddr_hash
    - LOCK
    - purge_entries_overmem
    - cds_lfht_is_node_deleted
    - ISC_SIEVE_INSERT
    - new_adbentry
    - isc_tid
    - cds_lfht_entry
    - isc_mem_isovermem
    - cds_lfht_add_unique
    - maybe_expire_entry
    - dns_adbentry_ref
    linkageType: ''
    returnType: dns_adbentry_t
    signature: "dns_adbentry_t *\nget_attached_and_locked_entry(dns_adb_t *adb, isc_stdtime_t
      now,\n\t\t\t      const isc_sockaddr_t *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/adb.c:1349,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/adb.c:1350,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/adb.c:1351,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/adb.c:1353,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/adb.c:1354,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/adb.c:1356,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:1358,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:1359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - entry
    - fmt
    argTypes:
    - dns_adbentry_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1342
    functionDepth: 3
    functionLinenumber: 1342
    functionLinenumberEnd: 1360
    functionName: log_quota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - va_end
    - isc_netaddr_fromsockaddr
    - isc_netaddr_format
    - va_start
    - atomic_load_relaxed
    - isc_log_write
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void log_quota(dns_adbentry_t *entry, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:1367,1
    - Dst: adbentry_overquota
      Src: /src/bind9/lib/dns/adb.c:1372,1
    - Dst: new_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:1378,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:1383,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:1388,1
    - Dst: adbentry_overquota
      Src: /src/bind9/lib/dns/adb.c:1393,1
    - Dst: new_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:1399,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:1404,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - adb
    - find
    - name
    argTypes:
    - dns_adb_t*
    - dns_adbfind_t*
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1407
    functionName: copy_namehook_lists
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - new_adbaddrinfo
    - ISC_LIST_APPEND
    - adbentry_overquota
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, dns_adbname_t
      *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1411,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:1411,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:1414,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:1414,1
    - Dst: NAME_FETCH
      Src: /src/bind9/lib/dns/adb.c:1419,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1424,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - adbname
    - now
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1431
    functionName: name_expired
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBNAME_VALID
    - NAME_HAS_V4
    - NAME_FETCH
    - REQUIRE
    - NAME_HAS_V6
    - EXPIRE_OK
    linkageType: ''
    returnType: bool
    signature: bool name_expired(dns_adbname_t *adbname, isc_stdtime_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_expired
      Src: /src/bind9/lib/dns/adb.c:1438,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - adbname
    - now
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1444
    functionName: maybe_expire_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - name_expired
    - expire_name
    linkageType: ''
    returnType: bool
    signature: bool maybe_expire_name(dns_adbname_t *adbname, isc_stdtime_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1451,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:1451,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/adb.c:1453,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1453,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1446
    functionDepth: 1
    functionLinenumber: 1446
    functionLinenumberEnd: 1456
    functionName: expire_entry_async
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - dns_adbentry_detach
    - ISC_SIEVE_UNLINK
    - REQUIRE
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void expire_entry_async(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/adb.c:1462,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - adbentry
    argTypes:
    - dns_adbentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1458
    functionDepth: 2
    functionLinenumber: 1458
    functionLinenumberEnd: 1465
    functionName: expire_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - cds_lfht_del
    linkageType: ''
    returnType: void
    signature: void expire_entry(dns_adbentry_t *adbentry)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:1469,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - adbentry
    - now
    argTypes:
    - dns_adbentry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1478
    functionName: entry_expired
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - EXPIRE_OK
    linkageType: ''
    returnType: bool
    signature: bool entry_expired(dns_adbentry_t *adbentry, isc_stdtime_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1482,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:1482,1
    - Dst: entry_expired
      Src: /src/bind9/lib/dns/adb.c:1484,1
    - Dst: expire_entry
      Src: /src/bind9/lib/dns/adb.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - adbentry
    - now
    argTypes:
    - dns_adbentry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1480
    functionDepth: 3
    functionLinenumber: 1480
    functionLinenumberEnd: 1490
    functionName: maybe_expire_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - entry_expired
    - expire_entry
    - REQUIRE
    - DNS_ADBENTRY_VALID
    linkageType: ''
    returnType: bool
    signature: bool maybe_expire_entry(dns_adbentry_t *adbentry, isc_stdtime_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SIEVE_NEXT
      Src: /src/bind9/lib/dns/adb.c:1497,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1498,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1503,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1504,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:1510,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:1511,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1514,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:1515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - requested
    argTypes:
    - dns_adb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1492
    functionDepth: 4
    functionLinenumber: 1492
    functionLinenumberEnd: 1517
    functionName: purge_names_overmem
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - ISC_SIEVE_NEXT
    - LOCK
    - dns_adbname_ref
    - isc_tid
    - UNLOCK
    - expire_name
    - maybe_expire_namehooks
    - dns_adbname_detach
    linkageType: ''
    returnType: void
    signature: void purge_names_overmem(dns_adb_t *adb, size_t requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:1524,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1525,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1526,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:1533,1
    - Dst: maybe_expire_name
      Src: /src/bind9/lib/dns/adb.c:1534,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1535,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:1536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - now
    argTypes:
    - dns_adb_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1519
    functionDepth: 5
    functionLinenumber: 1519
    functionLinenumberEnd: 1538
    functionName: cleanup_names
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dns_adbname_ref
    - maybe_expire_name
    - cds_lfht_for_each_entry
    - UNLOCK
    - maybe_expire_namehooks
    - dns_adbname_detach
    linkageType: ''
    returnType: void
    signature: void cleanup_names(dns_adb_t *adb, isc_stdtime_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SIEVE_NEXT
      Src: /src/bind9/lib/dns/adb.c:1545,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1546,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1551,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1552,1
    - Dst: expire_entry
      Src: /src/bind9/lib/dns/adb.c:1554,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1557,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - requested
    argTypes:
    - dns_adb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1540
    functionDepth: 3
    functionLinenumber: 1540
    functionLinenumberEnd: 1560
    functionName: purge_entries_overmem
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - ISC_SIEVE_NEXT
    - LOCK
    - isc_tid
    - dns_adbentry_detach
    - UNLOCK
    - dns_adbentry_ref
    - expire_entry
    linkageType: ''
    returnType: void
    signature: void purge_entries_overmem(dns_adb_t *adb, size_t requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:1567,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1568,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1569,1
    - Dst: maybe_expire_entry
      Src: /src/bind9/lib/dns/adb.c:1570,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1571,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - adb
    - now
    argTypes:
    - dns_adb_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1562
    functionDepth: 4
    functionLinenumber: 1562
    functionLinenumberEnd: 1574
    functionName: cleanup_entries
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dns_adbentry_detach
    - cds_lfht_for_each_entry
    - UNLOCK
    - maybe_expire_entry
    - dns_adbentry_ref
    linkageType: ''
    returnType: void
    signature: void cleanup_entries(dns_adb_t *adb, isc_stdtime_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1578,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/adb.c:1582,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/adb.c:1582,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/adb.c:1585,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/adb.c:1585,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/adb.c:1588,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/adb.c:1590,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:1592,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/adb.c:1594,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/adb.c:1595,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/adb.c:1596,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/adb.c:1597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1576
    functionDepth: 3
    functionLinenumber: 1576
    functionLinenumberEnd: 1598
    functionName: dns_adb_destroy
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_stats_detach
    - RUNTIME_CHECK
    - cds_lfht_destroy
    - isc_mem_detach
    - isc_mem_putanddetach
    - DP
    - dns_resolver_detach
    - dns_view_weakdetach
    - isc_mem_cput
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns_adb_destroy(dns_adb_t *adb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1613,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1614,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1615,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/adb.c:1617,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:1618,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:1631,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/adb.c:1634,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/adb.c:1635,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/adb.c:1636,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/adb.c:1638,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/adb.c:1640,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1643,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/adb.c:1646,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1648,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/adb.c:1650,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/adb.c:1653,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/adb.c:1654,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:1657,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/adb.c:1659,1
    - Dst: set_adbstat
      Src: /src/bind9/lib/dns/adb.c:1661,1
    - Dst: set_adbstat
      Src: /src/bind9/lib/dns/adb.c:1662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 4
    argNames:
    - mem
    - loopmgr
    - view
    - adbp
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - dns_view_t*
    - dns_adb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1610
    functionDepth: 3
    functionLinenumber: 1610
    functionLinenumberEnd: 1665
    functionName: dns_adb_create
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - dns_resolver_attach
    - isc_mutex_init
    - cds_lfht_new
    - set_adbstat
    - isc_mem_cget
    - ISC_SIEVE_INIT
    - INSIST
    - isc_mem_get
    - isc_stats_create
    - fprintf
    - REQUIRE
    - dns_view_weakattach
    - isc_mem_create
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: void
    signature: "void dns_adb_create(isc_mem_t *mem, isc_loopmgr_t *loopmgr, dns_view_t
      *view,\n\t       dns_adb_t **adbp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/adb.c:1671,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:1673,1
    - Dst: shutdown_names
      Src: /src/bind9/lib/dns/adb.c:1674,1
    - Dst: shutdown_entries
      Src: /src/bind9/lib/dns/adb.c:1675,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:1676,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1667
    functionDepth: 5
    functionLinenumber: 1667
    functionLinenumberEnd: 1679
    functionName: dns_adb_shutdown_async
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - shutdown_entries
    - synchronize_rcu
    - rcu_read_lock
    - dns_adb_detach
    - rcu_read_unlock
    - shutdown_names
    linkageType: ''
    returnType: void
    signature: void dns_adb_shutdown_async(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/adb.c:1683,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1689,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/adb.c:1691,1
    - Dst: dns_adb_ref
      Src: /src/bind9/lib/dns/adb.c:1698,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:1699,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/adb.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1681
    functionDepth: 3
    functionLinenumber: 1681
    functionLinenumberEnd: 1700
    functionName: dns_adb_shutdown
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - dns_adb_ref
    - isc_async_run
    - DP
    - isc_mem_clearwater
    - atomic_compare_exchange_strong
    - isc_loop_main
    linkageType: ''
    returnType: void
    signature: void dns_adb_shutdown(dns_adb_t *adb)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1738,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:1738,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1740,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1742,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1743,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1746,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:1748,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1750,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:1751,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:1756,1
    - Dst: new_adbfind
      Src: /src/bind9/lib/dns/adb.c:1769,1
    - Dst: FIND_WANTEVENT
      Src: /src/bind9/lib/dns/adb.c:1772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1773,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/adb.c:1776,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/adb.c:1777,1
    - Dst: get_attached_and_locked_name
      Src: /src/bind9/lib/dns/adb.c:1781,1
    - Dst: ADBNAME_TYPE
      Src: /src/bind9/lib/dns/adb.c:1782,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:1789,1
    - Dst: NAME_ALIAS
      Src: /src/bind9/lib/dns/adb.c:1794,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1794,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1796,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:1808,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1808,1
    - Dst: WANT_INET
      Src: /src/bind9/lib/dns/adb.c:1809,1
    - Dst: dbfind_name
      Src: /src/bind9/lib/dns/adb.c:1811,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1815,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1822,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:1850,1
    - Dst: FIND_STATICSTUB
      Src: /src/bind9/lib/dns/adb.c:1850,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:1860,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1860,1
    - Dst: WANT_INET6
      Src: /src/bind9/lib/dns/adb.c:1861,1
    - Dst: dbfind_name
      Src: /src/bind9/lib/dns/adb.c:1863,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1866,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1873,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:1893,1
    - Dst: FIND_STATICSTUB
      Src: /src/bind9/lib/dns/adb.c:1893,1
    - Dst: WANT_INET
      Src: /src/bind9/lib/dns/adb.c:1902,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:1902,1
    - Dst: WANT_INET6
      Src: /src/bind9/lib/dns/adb.c:1903,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:1903,1
    - Dst: FIND_AVOIDFETCHES
      Src: /src/bind9/lib/dns/adb.c:1909,1
    - Dst: FIND_NOFETCH
      Src: /src/bind9/lib/dns/adb.c:1910,1
    - Dst: FIND_NOVALIDATE
      Src: /src/bind9/lib/dns/adb.c:1912,1
    - Dst: FIND_STARTATZONE
      Src: /src/bind9/lib/dns/adb.c:1921,1
    - Dst: WANT_INET
      Src: /src/bind9/lib/dns/adb.c:1928,1
    - Dst: fetch_name
      Src: /src/bind9/lib/dns/adb.c:1929,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1932,1
    - Dst: WANT_INET6
      Src: /src/bind9/lib/dns/adb.c:1941,1
    - Dst: fetch_name
      Src: /src/bind9/lib/dns/adb.c:1942,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1945,1
    - Dst: copy_namehook_lists
      Src: /src/bind9/lib/dns/adb.c:1956,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:1959,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:1962,1
    - Dst: FIND_WANTEVENT
      Src: /src/bind9/lib/dns/adb.c:1970,1
    - Dst: FIND_WANTEMPTYEVENT
      Src: /src/bind9/lib/dns/adb.c:1973,1
    - Dst: FIND_HAS_ADDRS
      Src: /src/bind9/lib/dns/adb.c:1973,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:1986,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:1987,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1991,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2020,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2022,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2029,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2030,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2032,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 159
    argCount: 14
    argNames:
    - adb
    - loop
    - cb
    - cbarg
    - name
    - qname
    - ISC_ATTR_UNUSED
    - options
    - now
    - port
    - depth
    - qc
    - gqc
    - findp
    argTypes:
    - dns_adb_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - dns_name_t*
    - dns_name_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - in_port_t
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - dns_adbfind_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 1719
    functionDepth: 5
    functionLinenumber: 1719
    functionLinenumberEnd: 2035
    functionName: dns_adb_createfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - FIND_HAS_ADDRS
    - FIND_NOVALIDATE
    - WANT_INET6
    - DNS_ADB_VALID
    - dbfind_name
    - UNLOCK
    - rcu_read_unlock
    - REQUIRE
    - fetch_name
    - copy_namehook_lists
    - WANT_INET
    - isc_stdtime_now
    - dns_name_format
    - isc_log_wouldlog
    - ISC_LIST_EMPTY
    - FIND_WANTEVENT
    - ADBNAME_TYPE
    - FIND_STATICSTUB
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - INSIST
    - FIND_STARTATZONE
    - atomic_load
    - dns_adbname_detach
    - EXPIRE_OK
    - new_adbfind
    - FIND_AVOIDFETCHES
    - NAME_ALIAS
    - ISC_LIST_APPEND
    - get_attached_and_locked_name
    - DP
    - NAME_HAS_V4
    - atomic_store
    - FIND_WANTEMPTYEVENT
    - NAME_HAS_V6
    - maybe_expire_namehooks
    - FIND_NOFETCH
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_adb_createfind(dns_adb_t *adb, isc_loop_t *loop,
      isc_job_cb cb, void *cbarg,\n\t\t   const dns_name_t *name, const dns_name_t
      *qname,\n\t\t   dns_rdatatype_t qtype ISC_ATTR_UNUSED, unsigned int options,\n\t\t
      \  isc_stdtime_t now, in_port_t port, unsigned int depth,\n\t\t   isc_counter_t
      *qc, isc_counter_t *gqc,\n\t\t   dns_adbfind_t **findp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2042,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:2042,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2047,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2053,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:2060,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:2061,1
    - Dst: free_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:2062,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2064,1
    - Dst: free_adbfind
      Src: /src/bind9/lib/dns/adb.c:2066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - findp
    argTypes:
    - dns_adbfind_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2037
    functionDepth: 4
    functionLinenumber: 2037
    functionLinenumberEnd: 2067
    functionName: dns_adb_destroyfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 4
    functionsReached:
    - free_adbfind
    - DNS_ADBFIND_VALID
    - LOCK
    - free_adbaddrinfo
    - DP
    - UNLOCK
    - ISC_LIST_UNLINK
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dns_adb_destroyfind(dns_adbfind_t **findp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIND_EVENTSENT
      Src: /src/bind9/lib/dns/adb.c:2074,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2075,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2077,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:2079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - find
    argTypes:
    - dns_adbfind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2072
    functionDepth: 3
    functionLinenumber: 2072
    functionLinenumberEnd: 2081
    functionName: find_sendevent
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - atomic_store
    - FIND_EVENTSENT
    - DP
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void find_sendevent(dns_adbfind_t *find)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2087,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2089,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:2089,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2090,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2090,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2092,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2093,1
    - Dst: FIND_WANTEVENT
      Src: /src/bind9/lib/dns/adb.c:2093,1
    - Dst: find_sendevent
      Src: /src/bind9/lib/dns/adb.c:2098,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2099,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:2106,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2107,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2116,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2117,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:2120,1
    - Dst: find_sendevent
      Src: /src/bind9/lib/dns/adb.c:2124,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2126,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2127,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - find
    argTypes:
    - dns_adbfind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2083
    functionDepth: 4
    functionLinenumber: 2083
    functionLinenumberEnd: 2130
    functionName: dns_adb_cancelfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - DNS_ADBFIND_VALID
    - LOCK
    - FIND_WANTEVENT
    - dns_adbname_ref
    - DP
    - DNS_ADB_VALID
    - find_sendevent
    - UNLOCK
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_adbname_detach
    linkageType: ''
    returnType: void
    signature: void dns_adb_cancelfind(dns_adbfind_t *find)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2134,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:2134,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - find
    argTypes:
    - dns_adbfind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2137
    functionName: dns_adb_findstatus
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - DNS_ADBFIND_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_adb_findstatus(dns_adbfind_t *find)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:2141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2143,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2144,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:2146,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2148,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2149,1
    - Dst: cleanup_names
      Src: /src/bind9/lib/dns/adb.c:2153,1
    - Dst: cleanup_entries
      Src: /src/bind9/lib/dns/adb.c:2154,1
    - Dst: dump_adb
      Src: /src/bind9/lib/dns/adb.c:2155,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - f
    argTypes:
    - dns_adb_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2139
    functionDepth: 6
    functionLinenumber: 2139
    functionLinenumberEnd: 2158
    functionName: dns_adb_dump
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - DNS_ADB_VALID
    - rcu_read_unlock
    - cleanup_entries
    - REQUIRE
    - isc_stdtime_now
    - atomic_load
    - cleanup_names
    - dump_adb
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_adb_dump(dns_adb_t *adb, FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - f
    - legend
    - value
    - now
    argTypes:
    - FILE*
    - char*
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2166
    functionName: dump_ttl
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void dump_ttl(FILE *f, const char *legend, isc_stdtime_t value, isc_stdtime_t
      now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2175,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2176,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2177,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2179,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/adb.c:2180,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:2187,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2188,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2193,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2196,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/adb.c:2197,1
    - Dst: dump_ttl
      Src: /src/bind9/lib/dns/adb.c:2199,1
    - Dst: dump_ttl
      Src: /src/bind9/lib/dns/adb.c:2200,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2202,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2205,1
    - Dst: print_namehook_list
      Src: /src/bind9/lib/dns/adb.c:2207,1
    - Dst: print_namehook_list
      Src: /src/bind9/lib/dns/adb.c:2208,1
    - Dst: print_fetch_list
      Src: /src/bind9/lib/dns/adb.c:2211,1
    - Dst: print_find_list
      Src: /src/bind9/lib/dns/adb.c:2212,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2214,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2219,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:2220,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2221,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:2222,1
    - Dst: dump_entry
      Src: /src/bind9/lib/dns/adb.c:2223,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 4
    argNames:
    - adb
    - f
    - debug
    - now
    argTypes:
    - dns_adb_t*
    - FILE*
    - bool
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2227
    functionName: dump_adb
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - LOCK
    - ISC_LIST_EMPTY
    - isc_refcount_current
    - dns_name_print
    - dump_ttl
    - print_fetch_list
    - print_find_list
    - cds_lfht_for_each_entry
    - UNLOCK
    - dump_entry
    - fprintf
    - print_namehook_list
    linkageType: ''
    returnType: void
    signature: void dump_adb(dns_adb_t *adb, FILE *f, bool debug, isc_stdtime_t now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/adb.c:2235,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/adb.c:2236,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2239,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/adb.c:2240,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2243,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2246,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2246,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2249,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2253,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2255,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2257,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2259,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:2262,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2263,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - f
    - adb
    - entry
    - debug
    - now
    argTypes:
    - FILE*
    - dns_adb_t*
    - dns_adbentry_t*
    - bool
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2229
    functionDepth: 3
    functionLinenumber: 2229
    functionLinenumberEnd: 2268
    functionName: dump_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - isc_refcount_current
    - isc_netaddr_fromsockaddr
    - isc_netaddr_format
    - atomic_load_relaxed
    - fprintf
    - atomic_load
    linkageType: ''
    returnType: void
    signature: "void dump_entry(FILE *f, dns_adb_t *adb, dns_adbentry_t *entry, bool
      debug,\n\t   isc_stdtime_t now)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2281,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2283,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2284,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2287,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:2289,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2290,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:2292,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/adb.c:2296,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/adb.c:2300,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2311,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - find
    - f
    argTypes:
    - dns_adbfind_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2318
    functionName: dumpfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - LOCK
    - ISC_LIST_EMPTY
    - inet_ntop
    - UNLOCK
    - fprintf
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dumpfind(dns_adbfind_t *find, FILE *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:2324,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2326,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2328,1
    - Dst: dump_entry
      Src: /src/bind9/lib/dns/adb.c:2329,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - f
    - legend
    - adb
    - list
    - debug
    - now
    argTypes:
    - FILE*
    - char*
    - dns_adb_t*
    - dns_adbnamehooklist_t*
    - bool
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2320
    functionDepth: 4
    functionLinenumber: 2320
    functionLinenumberEnd: 2332
    functionName: print_namehook_list
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - LOCK
    - dump_entry
    - UNLOCK
    - fprintf
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: "void print_namehook_list(FILE *f, const char *legend, dns_adb_t *adb,\n\t\t
      \   dns_adbnamehooklist_t *list, bool debug,\n\t\t    isc_stdtime_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - ft
    - type
    argTypes:
    - FILE*
    - dns_adbfetch_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2337
    functionName: print_fetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_fetch(FILE *f, dns_adbfetch_t *ft, const char *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2341,1
    - Dst: print_fetch
      Src: /src/bind9/lib/dns/adb.c:2342,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2344,1
    - Dst: print_fetch
      Src: /src/bind9/lib/dns/adb.c:2345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2339
    functionDepth: 1
    functionLinenumber: 2339
    functionLinenumberEnd: 2347
    functionName: print_fetch_list
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - print_fetch
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    linkageType: ''
    returnType: void
    signature: void print_fetch_list(FILE *f, dns_adbname_t *n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:2351,1
    - Dst: dumpfind
      Src: /src/bind9/lib/dns/adb.c:2352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - f
    - name
    argTypes:
    - FILE*
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2349
    functionDepth: 2
    functionLinenumber: 2349
    functionLinenumberEnd: 2354
    functionName: print_find_list
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - dumpfind
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void print_find_list(FILE *f, dns_adbname_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/adb.c:2360,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/adb.c:2360,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/adb.c:2365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2356
    functionDepth: 2
    functionLinenumber: 2356
    functionLinenumberEnd: 2367
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 71
    functionsReached:
    - strlen
    - isc_buffer_reserve
    - isc_buffer_putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putstr(isc_buffer_t **b, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2371,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2371,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:2376,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2377,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2378,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:2382,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2383,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/adb.c:2392,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/adb.c:2393,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/adb.c:2395,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:2397,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/adb.c:2399,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2401,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - adb
    - buf
    argTypes:
    - dns_adb_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2369
    functionDepth: 3
    functionLinenumber: 2369
    functionLinenumberEnd: 2406
    functionName: dns_adb_dumpquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - LOCK
    - isc_netaddr_fromsockaddr
    - DNS_ADB_VALID
    - cds_lfht_for_each_entry
    - UNLOCK
    - rcu_read_unlock
    - isc_netaddr_format
    - atomic_load_relaxed
    - snprintf
    - REQUIRE
    - atomic_load
    - putstr
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_adb_dumpquota(dns_adb_t *adb, isc_buffer_t **buf)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2417,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:2417,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2421,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2421,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2422,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/adb.c:2422,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/adb.c:2424,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/adb.c:2425,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/adb.c:2444,1
    - Dst: import_rdataset
      Src: /src/bind9/lib/dns/adb.c:2465,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2479,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2488,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2505,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2513,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2517,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2537,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2541,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/adb.c:2552,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/adb.c:2553,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 3
    argNames:
    - adbname
    - now
    - rdtype
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2557
      start: 2408
    functionDepth: 4
    functionLinenumber: 2408
    functionLinenumberEnd: 2557
    functionName: dbfind_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - dns_rdatatype_isaddr
    - DNS_ADBNAME_VALID
    - dns_view_find
    - dns_fixedname_initname
    - DP
    - DNS_ADB_VALID
    - ttlclamp
    - dns_rdataset_isassociated
    - ADJUSTED_EXPIRE
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_init
    - import_rdataset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dbfind_name(dns_adbname_t *adbname, isc_stdtime_t now,
      dns_rdatatype_t rdtype)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:2566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2569,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:2569,1
    - Dst: dns_adb_attach
      Src: /src/bind9/lib/dns/adb.c:2570,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2572,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2572,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:2574,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2576,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2578,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2578,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2578,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2580,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2584,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2594,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/adb.c:2600,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/adb.c:2603,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2606,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/adb.c:2615,1
    - Dst: NCACHE_RESULT
      Src: /src/bind9/lib/dns/adb.c:2623,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2624,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2626,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2628,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2637,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2639,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2641,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2650,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2659,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2662,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/adb.c:2673,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2674,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/adb.c:2676,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/adb.c:2686,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2688,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/adb.c:2690,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2692,1
    - Dst: import_rdataset
      Src: /src/bind9/lib/dns/adb.c:2700,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/adb.c:2711,1
    - Dst: free_adbfetch
      Src: /src/bind9/lib/dns/adb.c:2712,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/adb.c:2713,1
    - Dst: clean_finds_at_name
      Src: /src/bind9/lib/dns/adb.c:2715,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2717,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2718,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:2719,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2721,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 108
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2559
    functionDepth: 4
    functionLinenumber: 2559
    functionLinenumberEnd: 2722
    functionName: fetch_callback
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adb_detach
    - DNS_ADB_VALID
    - UNLOCK
    - rcu_read_unlock
    - inc_resstats
    - REQUIRE
    - import_rdataset
    - DNS_ADBNAME_VALID
    - LOCK
    - dns_db_detach
    - dns_adb_attach
    - ISC_MIN
    - clean_finds_at_name
    - cds_lfht_is_node_deleted
    - isc_stdtime_now
    - dns_name_format
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - INSIST
    - ttlclamp
    - ADJUSTED_EXPIRE
    - atomic_load
    - NCACHE_RESULT
    - dns_resolver_destroyfetch
    - free_adbfetch
    - DP
    - dns_resolver_freefresp
    - isc_result_totext
    - dns_db_detachnode
    - dns_adbname_detach
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void fetch_callback(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2737,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:2737,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2741,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2741,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2743,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2743,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2744,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/adb.c:2748,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2751,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/adb.c:2753,1
    - Dst: dns_view_findzonecut
      Src: /src/bind9/lib/dns/adb.c:2754,1
    - Dst: new_adbfetch
      Src: /src/bind9/lib/dns/adb.c:2769,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:2779,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/adb.c:2780,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:2782,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2785,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/adb.c:2786,1
    - Dst: dns_adbname_unref
      Src: /src/bind9/lib/dns/adb.c:2787,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2793,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2796,1
    - Dst: free_adbfetch
      Src: /src/bind9/lib/dns/adb.c:2802,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/adb.c:2804,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/adb.c:2805,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 7
    argNames:
    - adbname
    - start_at_zone
    - no_validation
    - depth
    - qc
    - gqc
    - type
    argTypes:
    - dns_adbname_t*
    - bool
    - bool
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2724
    functionDepth: 3
    functionLinenumber: 2724
    functionLinenumberEnd: 2809
    functionName: fetch_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - dns_adbname_ref
    - DNS_ADB_VALID
    - inc_resstats
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_init
    - DNS_ADBNAME_VALID
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - new_adbfetch
    - dns_view_findzonecut
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - free_adbfetch
    - DP
    - isc_result_totext
    - dns_resolver_createfetch
    - dns_adbname_unref
    - isc_loop
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fetch_name(dns_adbname_t *adbname, bool start_at_zone,
      bool no_validation,\n\t   unsigned int depth, isc_counter_t *qc, isc_counter_t
      *gqc,\n\t   dns_rdatatype_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2814,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2814,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2815,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2815,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2816,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:2820,1
    - Dst: adjustsrtt
      Src: /src/bind9/lib/dns/adb.c:2823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - adb
    - addr
    - rtt
    - factor
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2824
    functionName: dns_adb_adjustsrtt
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - DNS_ADB_VALID
    - adjustsrtt
    - REQUIRE
    - isc_stdtime_now
    linkageType: ''
    returnType: void
    signature: "void dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned
      int rtt,\n\t\t   unsigned int factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2828,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2828,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2829,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2829,1
    - Dst: adjustsrtt
      Src: /src/bind9/lib/dns/adb.c:2831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - adb
    - addr
    - now
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2832
    functionName: dns_adb_agesrtt
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - adjustsrtt
    - REQUIRE
    - DNS_ADB_VALID
    linkageType: ''
    returnType: void
    signature: void dns_adb_agesrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, isc_stdtime_t
      now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2840,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2841,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2843,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2844,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2848,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2851,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - addr
    - rtt
    - factor
    - now
    argTypes:
    - dns_adbaddrinfo_t*
    - unsigned int
    - unsigned int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2834
    functionDepth: 0
    functionLinenumber: 2834
    functionLinenumberEnd: 2854
    functionName: adjustsrtt
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - atomic_load
    - atomic_store
    linkageType: ''
    returnType: void
    signature: "void adjustsrtt(dns_adbaddrinfo_t *addr, unsigned int rtt, unsigned
      int factor,\n\t   isc_stdtime_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2859,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2859,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2860,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2860,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2864,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/adb.c:2865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - adb
    - addr
    - bits
    - mask
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2856
    functionDepth: 1
    functionLinenumber: 2856
    functionLinenumberEnd: 2876
    functionName: dns_adb_changeflags
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - atomic_compare_exchange_strong
    - DNS_ADB_VALID
    - REQUIRE
    - atomic_load
    linkageType: ''
    returnType: void
    signature: "void dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
      unsigned int bits,\n\t\t    unsigned int mask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/adb.c:2905,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2926,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2927,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2928,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2929,1
    - Dst: ISC_CLAMP
      Src: /src/bind9/lib/dns/adb.c:2932,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/adb.c:2937,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/adb.c:2938,1
    - Dst: log_quota
      Src: /src/bind9/lib/dns/adb.c:2939,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/adb.c:2947,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/adb.c:2948,1
    - Dst: log_quota
      Src: /src/bind9/lib/dns/adb.c:2949,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - adb
    - addr
    - timeout
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2901
    functionDepth: 4
    functionLinenumber: 2901
    functionLinenumberEnd: 2953
    functionName: maybe_adjust_quota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - atomic_store_release
    - ISC_CLAMP
    - UNUSED
    - INSIST
    - log_quota
    - ISC_MAX
    linkageType: ''
    returnType: void
    signature: void maybe_adjust_quota(dns_adb_t *adb, dns_adbaddrinfo_t *addr, bool
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2959,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2959,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2960,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2960,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2963,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:2965,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2957
    functionDepth: 5
    functionLinenumber: 2957
    functionLinenumberEnd: 2975
    functionName: dns_adb_plainresponse
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_adb_plainresponse(dns_adb_t *adb, dns_adbaddrinfo_t *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2979,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2979,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2980,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2980,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2983,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:2985,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2995
      start: 2977
    functionDepth: 5
    functionLinenumber: 2977
    functionLinenumberEnd: 2995
    functionName: dns_adb_timeout
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_adb_timeout(dns_adb_t *adb, dns_adbaddrinfo_t *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2999,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2999,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3000,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3000,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3003,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:3005,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 2997
    functionDepth: 5
    functionLinenumber: 2997
    functionLinenumberEnd: 3015
    functionName: dns_adb_ednsto
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_adb_ednsto(dns_adb_t *adb, dns_adbaddrinfo_t *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3019,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3019,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3020,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3020,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3024,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:3032,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - adb
    - addr
    - size
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3017
    functionDepth: 5
    functionLinenumber: 3017
    functionLinenumberEnd: 3042
    functionName: dns_adb_setudpsize
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_adb_setudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3046,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3046,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3047,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3047,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3052,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3044
    functionDepth: 1
    functionLinenumber: 3044
    functionLinenumberEnd: 3057
    functionName: dns_adb_getudpsize
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - DNS_ADB_VALID
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_adb_getudpsize(dns_adb_t *adb, dns_adbaddrinfo_t *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3062,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3062,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3063,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3063,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3067,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:3072,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:3077,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:3082,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - adb
    - addr
    - cookie
    - len
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3059
    functionDepth: 1
    functionLinenumber: 3059
    functionLinenumberEnd: 3085
    functionName: dns_adb_setcookie
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - memmove
    - DNS_ADB_VALID
    - UNLOCK
    - isc_mem_get
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: "void dns_adb_setcookie(dns_adb_t *adb, dns_adbaddrinfo_t *addr,\n\t\t
      \ const unsigned char *cookie, size_t len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3089,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3089,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3093,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:3103,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - addr
    - cookie
    - len
    argTypes:
    - dns_adbaddrinfo_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3111
      start: 3087
    functionDepth: 1
    functionLinenumber: 3087
    functionLinenumberEnd: 3111
    functionName: dns_adb_getcookie
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - memmove
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - UNLOCK
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t dns_adb_getcookie(dns_adbaddrinfo_t *addr, unsigned char *cookie,
      size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3116,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3117,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3119,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3120,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3121,1
    - Dst: get_attached_and_locked_entry
      Src: /src/bind9/lib/dns/adb.c:3125,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/adb.c:3128,1
    - Dst: new_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:3129,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3131,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:3132,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - adb
    - addr
    - adbaddrp
    - now
    argTypes:
    - dns_adb_t*
    - isc_sockaddr_t*
    - dns_adbaddrinfo_t**
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3113
    functionDepth: 6
    functionLinenumber: 3113
    functionLinenumberEnd: 3137
    functionName: dns_adb_findaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_getport
    - dns_adbentry_detach
    - DNS_ADB_VALID
    - new_adbaddrinfo
    - UNLOCK
    - rcu_read_unlock
    - get_attached_and_locked_entry
    - REQUIRE
    - atomic_load
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_adb_findaddrinfo(dns_adb_t *adb, const isc_sockaddr_t
      *addr,\n\t\t     dns_adbaddrinfo_t **adbaddrp, isc_stdtime_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3144,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3150,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3154,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:3154,1
    - Dst: free_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:3156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - addrp
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3139
    functionDepth: 4
    functionLinenumber: 3139
    functionLinenumberEnd: 3157
    functionName: dns_adb_freeaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - free_adbaddrinfo
    - DNS_ADB_VALID
    - REQUIRE
    - DNS_ADBENTRY_VALID
    linkageType: ''
    returnType: void
    signature: void dns_adb_freeaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **addrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3161,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3161,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3163,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3165,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3166,1
    - Dst: cleanup_names
      Src: /src/bind9/lib/dns/adb.c:3170,1
    - Dst: cleanup_entries
      Src: /src/bind9/lib/dns/adb.c:3171,1
    - Dst: dump_adb
      Src: /src/bind9/lib/dns/adb.c:3173,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3159
    functionDepth: 6
    functionLinenumber: 3159
    functionLinenumberEnd: 3177
    functionName: dns_adb_flush
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - DNS_ADB_VALID
    - rcu_read_unlock
    - cleanup_entries
    - REQUIRE
    - atomic_load
    - cleanup_names
    - dump_adb
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_adb_flush(dns_adb_t *adb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/adb.c:3185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3187,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3188,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3190,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3192,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3193,1
    - Dst: hash_adbname
      Src: /src/bind9/lib/dns/adb.c:3206,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/adb.c:3208,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/adb.c:3210,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/adb.c:3210,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:3214,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3215,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/adb.c:3216,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:3217,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3219,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:3220,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - adb
    - name
    argTypes:
    - dns_adb_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3179
    functionDepth: 4
    functionLinenumber: 3179
    functionLinenumberEnd: 3237
    functionName: dns_adb_flushname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - LOCK
    - dns_adbname_ref
    - cds_lfht_lookup
    - cds_lfht_entry
    - cds_lfht_iter_get_node
    - DNS_ADB_VALID
    - dns_name_equal
    - UNLOCK
    - rcu_read_unlock
    - hash_adbname
    - UNCONST
    - REQUIRE
    - expire_name
    - atomic_load
    - dns_adbname_detach
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_adb_flushname(dns_adb_t *adb, const dns_name_t *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3241,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3242,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3244,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3246,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3247,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:3253,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:3254,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3255,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/adb.c:3256,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:3257,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3259,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:3260,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - adb
    - name
    argTypes:
    - dns_adb_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3239
    functionDepth: 4
    functionLinenumber: 3239
    functionLinenumberEnd: 3263
    functionName: dns_adb_flushnames
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - LOCK
    - dns_adbname_ref
    - dns_name_issubdomain
    - DNS_ADB_VALID
    - cds_lfht_for_each_entry
    - UNLOCK
    - rcu_read_unlock
    - REQUIRE
    - expire_name
    - atomic_load
    - dns_adbname_detach
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_adb_flushnames(dns_adb_t *adb, const dns_name_t *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3269,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3269,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/adb.c:3279,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/lib/dns/adb.c:3281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - size
    argTypes:
    - dns_adb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3265
    functionDepth: 2
    functionLinenumber: 3265
    functionLinenumberEnd: 3283
    functionName: dns_adb_setadbsize
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - isc_mem_setwater
    - isc_mem_clearwater
    - REQUIRE
    - DNS_ADB_VALID
    linkageType: ''
    returnType: void
    signature: void dns_adb_setadbsize(dns_adb_t *adb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3288,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - adb
    - quota
    - freq
    - low
    - high
    - discount
    argTypes:
    - dns_adb_t*
    - uint32_t
    - uint32_t
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3285
    functionDepth: 1
    functionLinenumber: 3285
    functionLinenumberEnd: 3295
    functionName: dns_adb_setquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ADB_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_adb_setquota(dns_adb_t *adb, uint32_t quota, uint32_t freq,
      double low,\n\t\t double high, double discount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3300,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3300,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3302,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3304,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3306,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3308,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - adb
    - quotap
    - freqp
    - lowp
    - highp
    - discountp
    argTypes:
    - dns_adb_t*
    - uint32_t*
    - uint32_t*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3297
    functionDepth: 1
    functionLinenumber: 3297
    functionLinenumberEnd: 3311
    functionName: dns_adb_getquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - SET_IF_NOT_NULL
    - REQUIRE
    - DNS_ADB_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_adb_getquota(dns_adb_t *adb, uint32_t *quotap, uint32_t *freqp,\n\t\t
      double *lowp, double *highp, double *discountp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3315,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:3315,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:3317,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/adb.c:3318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - dns_adbentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3313
    functionDepth: 1
    functionLinenumber: 3313
    functionLinenumberEnd: 3321
    functionName: adbentry_overquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - atomic_load_acquire
    - atomic_load_relaxed
    - REQUIRE
    - DNS_ADBENTRY_VALID
    linkageType: ''
    returnType: bool
    signature: bool adbentry_overquota(dns_adbentry_t *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3334,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3335,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3335,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/adb.c:3337,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3339
      start: 3330
    functionDepth: 1
    functionLinenumber: 3330
    functionLinenumberEnd: 3339
    functionName: dns_adb_beginudpfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - DNS_ADB_VALID
    - INSIST
    - atomic_fetch_add_relaxed
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_adb_beginudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3345,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3345,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3346,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3346,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/adb.c:3348,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3341
    functionDepth: 1
    functionLinenumber: 3341
    functionLinenumberEnd: 3350
    functionName: dns_adb_endudpfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DNS_ADBADDRINFO_VALID
    - atomic_fetch_sub_release
    - DNS_ADB_VALID
    - INSIST
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_adb_endudpfetch(dns_adb_t *adb, dns_adbaddrinfo_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3354,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3352
    functionDepth: 1
    functionLinenumber: 3352
    functionLinenumberEnd: 3357
    functionName: dns_adb_getstats
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ADB_VALID
    linkageType: ''
    returnType: isc_stats_t
    signature: 'isc_stats_t *

      dns_adb_getstats(dns_adb_t *adb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: RTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: RRTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRTRACE(r, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: FCTXTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m1
    - ','
    - m2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: FCTXTRACE2
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE2(m1, m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: FCTXTRACE3
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE3(m, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m1
    - ','
    - m2
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: FCTXTRACE4
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE4(m1, m2, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m1
    - ','
    - m2
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: FCTXTRACE5
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE5(m1, m2, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m1
    - ','
    - name
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: FCTXTRACEN
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACEN(m1, name, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: FTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: QTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: RTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: RRTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RRTRACE(r, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: FCTXTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m1
    - ','
    - m2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: FCTXTRACE2
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE2(m1, m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m1
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: FCTXTRACE3
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE3(m1, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m1
    - ','
    - m2
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: FCTXTRACE4
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE4(m1, m2, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m1
    - ','
    - m2
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: FCTXTRACE5
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACE5(m1, m2, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m1
    - ','
    - name
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: FCTXTRACEN
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTXTRACEN(m1, name, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: FTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: QTRACE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QTRACE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: resquery_ref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resquery_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: resquery_unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resquery_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: resquery_attach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resquery_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: resquery_detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: resquery_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - query
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: VALID_QUERY
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_QUERY(query)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: RESQUERY_CONNECTING
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESQUERY_CONNECTING(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: RESQUERY_CANCELED
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESQUERY_CANCELED(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: RESQUERY_SENDING
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESQUERY_SENDING(q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - counter
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: VALID_FCTXCOUNT
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_FCTXCOUNT(counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: VALID_FCTX
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_FCTX(fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: HAVE_ANSWER
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HAVE_ANSWER(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: GLUING
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLUING(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: ADDRWAIT
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDRWAIT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: SHUTTINGDOWN
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHUTTINGDOWN(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: WANTCACHE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTCACHE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: WANTNCACHE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANTNCACHE(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: NEEDEDNS0
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDEDNS0(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 514
    functionName: TRIEDFIND
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIEDFIND(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: TRIEDALT
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRIEDALT(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 518
    functionName: FCTX_ATTR_SET
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTX_ATTR_SET(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 519
    functionName: FCTX_ATTR_CLR
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCTX_ATTR_CLR(f, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fetch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: DNS_FETCH_VALID
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_FETCH_VALID(fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: VALID_RESOLVER
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_RESOLVER(res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: UNMARKED
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNMARKED(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: ISFORWARDER
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISFORWARDER(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: NOCOOKIE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOCOOKIE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: EDNSOK
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EDNSOK(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: BADCOOKIE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BADCOOKIE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: ISDUALSTACK
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISDUALSTACK(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: NXDOMAIN
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NXDOMAIN(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 634
    functionName: NEGATIVE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: STATICSTUB
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATICSTUB(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 641
    functionName: dns_resolver_setfuzzing
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setfuzzing(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fctxp
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 685
    functionName: fctx_done_detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_done_detach(fctxp, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fctx
    - ','
    - result
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: fctx_done_unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_done_unref(fctx, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 693
    functionName: fetchctx_ref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 694
    functionName: fetchctx_unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: fetchctx_attach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 698
    functionName: fetchctx_detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_detach(ptrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/resolver.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - res
    - counter
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 946
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 25
    functionsReached:
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void inc_stats(dns_resolver_t *res, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/dns/resolver.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - res
    - counter
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: dec_stats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - isc_stats_decrement
    linkageType: ''
    returnType: void
    signature: void dec_stats(dns_resolver_t *res, isc_statscounter_t counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/resolver.c:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - res
    - counter
    - val
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: set_stats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_stats_set
    linkageType: ''
    returnType: void
    signature: void set_stats(dns_resolver_t *res, isc_statscounter_t counter, uint64_t
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:970,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:975,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:977,1
    - Dst: dns_validator_create
      Src: /src/bind9/lib/dns/resolver.c:983,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:987,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:988,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - fctx
    - message
    - addrinfo
    - name
    - type
    - rdataset
    - sigrdataset
    - valoptions
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 991
    functionName: valcreate
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - inc_stats
    - RUNTIME_CHECK
    - isc_mem_get
    - fetchctx_attach
    - dns_validator_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t valcreate(fetchctx_t *fctx, dns_message_t *message, dns_adbaddrinfo_t
      *addrinfo,\n\t  dns_name_t *name, dns_rdatatype_t type, dns_rdataset_t *rdataset,\n\t
      \ dns_rdataset_t *sigrdataset, unsigned int valoptions)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:999,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1000,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/resolver.c:1004,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/resolver.c:1008,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:1012,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/resolver.c:1016,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1019,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/resolver.c:1020,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1021,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:1024,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:1027,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:1029,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - query
    argTypes:
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 993
    functionDepth: 8
    functionLinenumber: 993
    functionLinenumberEnd: 1030
    functionName: resquery_destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_detach
    - LOCK
    - atomic_fetch_sub_release
    - dns_tsigkey_detach
    - dns_dispatch_done
    - ISC_LINK_LINKED
    - fetchctx_detach
    - UNLOCK
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void resquery_destroy(resquery_t *query)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_adb_ednsto
      Src: /src/bind9/lib/dns/resolver.c:1051,1
    - Dst: dns_adb_timeout
      Src: /src/bind9/lib/dns/resolver.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - query
    argTypes:
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1042
    functionDepth: 6
    functionLinenumber: 1042
    functionLinenumberEnd: 1055
    functionName: update_edns_stats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_adb_timeout
    - dns_adb_ednsto
    linkageType: ''
    returnType: void
    signature: void update_edns_stats(resquery_t *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1071,1
    - Dst: isc_time_add
      Src: /src/bind9/lib/dns/resolver.c:1072,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:1074,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/resolver.c:1075,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1076,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/resolver.c:1078,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/resolver.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1065
    functionDepth: 3
    functionLinenumber: 1065
    functionLinenumberEnd: 1082
    functionName: fctx_starttimer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_time_add
    - isc_time_compare
    - isc_time_now
    - isc_timer_start
    - isc_time_subtract
    linkageType: ''
    returnType: void
    signature: void fctx_starttimer(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/resolver.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1087
    functionName: fctx_stoptimer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_timer_stop
    linkageType: ''
    returnType: void
    signature: void fctx_stoptimer(fetchctx_t *fctx)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:1094,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1096,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:1101,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1105,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:1121,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1127,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1130,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1133,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1136,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1139,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1142,1
    - Dst: update_edns_stats
      Src: /src/bind9/lib/dns/resolver.c:1149,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:1157,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:1159,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1168,1
    - Dst: isc_random32
      Src: /src/bind9/lib/dns/resolver.c:1169,1
    - Dst: EDNSOK
      Src: /src/bind9/lib/dns/resolver.c:1191,1
    - Dst: dns_adb_adjustsrtt
      Src: /src/bind9/lib/dns/resolver.c:1210,1
    - Dst: dns_adb_endudpfetch
      Src: /src/bind9/lib/dns/resolver.c:1215,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1222,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1223,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1224,1
    - Dst: TRIEDFIND
      Src: /src/bind9/lib/dns/resolver.c:1229,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1230,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1231,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1232,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1233,1
    - Dst: TRIEDALT
      Src: /src/bind9/lib/dns/resolver.c:1240,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1241,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1242,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1243,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1246,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1247,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1248,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1249,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:1261,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1264,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:1265,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1266,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1268,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:1270,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 114
    argCount: 4
    argNames:
    - queryp
    - finish
    - no_response
    - age_untried
    argTypes:
    - resquery_t**
    - isc_time_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1089
    functionDepth: 8
    functionLinenumber: 1089
    functionLinenumberEnd: 1271
    functionName: fctx_cancelquery
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - TRIEDFIND
    - UNMARKED
    - UNLOCK
    - dns_adb_adjustsrtt
    - isc_random32
    - REQUIRE
    - update_edns_stats
    - LOCK
    - ISC_LINK_LINKED
    - TRIEDALT
    - resquery_detach
    - isc_stdtime_now
    - dns_adb_agesrtt
    - inc_stats
    - add_bad
    - INSIST
    - ISC_LIST_FOREACH
    - ISC_LIST_UNLINK
    - ISFORWARDER
    - EDNSOK
    - isc_time_microdiff
    - dns_dispatch_done
    - FCTXTRACE
    - RESQUERY_CANCELED
    - dns_adb_endudpfetch
    linkageType: ''
    returnType: void
    signature: "void fctx_cancelquery(resquery_t **queryp, isc_time_t *finish, bool
      no_response,\n\t\t bool age_untried)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1275,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:1275,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1277,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1278,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:1279,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:1280,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1284,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1285,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:1286,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:1287,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1291,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1292,1
    - Dst: dns_adb_freeaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:1293,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1296,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1297,1
    - Dst: dns_adb_freeaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1273
    functionDepth: 5
    functionLinenumber: 1273
    functionLinenumberEnd: 1300
    functionName: fctx_cleanup
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - fetchctx_unref
    - dns_adb_freeaddrinfo
    - ISC_LIST_UNLINK
    - REQUIRE
    - dns_adb_destroyfind
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void fctx_cleanup(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/dns/resolver.c:1304,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1306,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:1308,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1314,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/dns/resolver.c:1315,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1316,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1324,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - fctx
    - no_response
    - age_untried
    argTypes:
    - fetchctx_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1302
    functionDepth: 9
    functionLinenumber: 1302
    functionLinenumberEnd: 1327
    functionName: fctx_cancelqueries
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST
    - LOCK
    - FCTXTRACE
    - fctx_cancelquery
    - UNLOCK
    - ISC_LIST_MOVE
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void fctx_cancelqueries(fetchctx_t *fctx, bool no_response, bool age_untried)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1324,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1318
    functionDepth: 9
    functionLinenumber: 1318
    functionLinenumberEnd: 1326
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 241
    functionsReached:
    - fctx_cancelquery
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (queries, query, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:1334,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:1344,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:1349,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1352,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - fctx
    - counter
    - final
    argTypes:
    - fetchctx_t*
    - fctxcount_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1371
    functionName: fcount_logspill
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - isc_log_write
    - isc_stdtime_now
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void fcount_logspill(fetchctx_t *fctx, fctxcount_t *counter, bool final)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1379
    functionName: fcount_match
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool fcount_match(void *node, const void *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1392,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1393,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:1396,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/resolver.c:1401,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:1403,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/resolver.c:1404,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:1410,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:1414,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:1415,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:1416,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:1417,1
    - Dst: UPGRADELOCK
      Src: /src/bind9/lib/dns/resolver.c:1419,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/resolver.c:1422,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:1425,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:1426,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1432,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:1435,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1437,1
    - Dst: VALID_FCTXCOUNT
      Src: /src/bind9/lib/dns/resolver.c:1437,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1439,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1440,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1443,1
    - Dst: fcount_logspill
      Src: /src/bind9/lib/dns/resolver.c:1445,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1451,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - fctx
    - force
    argTypes:
    - fetchctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1381
    functionDepth: 5
    functionLinenumber: 1381
    functionLinenumberEnd: 1455
    functionName: fcount_incr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - UNLOCK
    - REQUIRE
    - VALID_FCTXCOUNT
    - isc_mem_attach
    - UNREACHABLE
    - LOCK
    - isc_mutex_init
    - RWUNLOCK
    - dns_fixedname_initname
    - isc_hashmap_find
    - dns_name_copy
    - isc_mutex_destroy
    - dns_name_hash
    - fcount_logspill
    - RWLOCK
    - INSIST
    - atomic_load_acquire
    - isc_mem_get
    - isc_hashmap_add
    - UPGRADELOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fcount_incr(fetchctx_t *fctx, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1460
    functionName: match_ptr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool match_ptr(void *node, const void *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1464,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:1478,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1480,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1481,1
    - Dst: VALID_FCTXCOUNT
      Src: /src/bind9/lib/dns/resolver.c:1481,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1482,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1484,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1485,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/resolver.c:1489,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/resolver.c:1490,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1492,1
    - Dst: fcount_logspill
      Src: /src/bind9/lib/dns/resolver.c:1494,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1495,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:1497,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:1498,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1462
    functionDepth: 4
    functionLinenumber: 1462
    functionLinenumberEnd: 1501
    functionName: fcount_decr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fcount_logspill
    - LOCK
    - isc_mutex_destroy
    - isc_mem_putanddetach
    - RWUNLOCK
    - RWLOCK
    - isc_hashmap_delete
    - INSIST
    - UNLOCK
    - VALID_FCTXCOUNT
    - REQUIRE
    - dns_name_hash
    linkageType: ''
    returnType: void
    signature: void fcount_decr(fetchctx_t *fctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1515,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1517,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1519,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:1525,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:1526,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1528,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1529,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:1534,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1538,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1539,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:1540,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1545,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:1546,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1548,1
    - Dst: dns_ede_copy
      Src: /src/bind9/lib/dns/resolver.c:1557,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1560,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:1561,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1563,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:1565,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1568,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:1570,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/resolver.c:1588,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/resolver.c:1589,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1592,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/resolver.c:1593,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1597,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1599,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - fctx
    - result
    argTypes:
    - fetchctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1506
    functionDepth: 3
    functionLinenumber: 1506
    functionLinenumberEnd: 1605
    functionName: fctx_sendevents
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - UNLOCK
    - isc_log_write
    - REQUIRE
    - HAVE_ANSWER
    - LOCK
    - NEGATIVE
    - dns_rdatatype_ismulti
    - dns_rdataset_isassociated
    - isc_time_now
    - isc_interval_set
    - isc_timer_create
    - INSIST
    - atomic_load_acquire
    - isc_timer_start
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - isc_time_microdiff
    - FCTXTRACE
    - isc_loop
    - dns_ede_copy
    linkageType: ''
    returnType: void
    signature: void fctx_sendevents(fetchctx_t *fctx, isc_result_t result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/dns/resolver.c:1610,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/resolver.c:1611,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/resolver.c:1612,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/resolver.c:1613,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/resolver.c:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1615
    functionName: fctx_hash
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_hash32_hash
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fctx_hash(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:1623,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1617
    functionDepth: 1
    functionLinenumber: 1617
    functionLinenumberEnd: 1624
    functionName: fctx_match
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool fctx_match(void *node, const void *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1632,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1633,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:1633,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1635,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:1638,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:1639,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1641,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1642,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1643,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1646,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1649,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:1653,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1654,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:1657,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/resolver.c:1658,1
    - Dst: fctx_hash
      Src: /src/bind9/lib/dns/resolver.c:1658,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1660,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1664,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:1669,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:1688,1
    - Dst: fctx_stoptimer
      Src: /src/bind9/lib/dns/resolver.c:1689,1
    - Dst: maybe_cancel_validators
      Src: /src/bind9/lib/dns/resolver.c:1696,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/resolver.c:1699,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/resolver.c:1703,1
    - Dst: fctx_sendevents
      Src: /src/bind9/lib/dns/resolver.c:1710,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:1711,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:1713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 5
    argNames:
    - fctx
    - result
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - isc_result_t
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1626
    functionDepth: 10
    functionLinenumber: 1626
    functionLinenumberEnd: 1716
    functionName: fctx__done
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_hash
    - fctx_sendevents
    - fctx_cleanup
    - isc_hashmap_delete
    - UNLOCK
    - isc_log_write
    - REQUIRE
    - maybe_cancel_validators
    - LOCK
    - RWUNLOCK
    - fprintf
    - fctx_cancelqueries
    - isc_tid
    - RWLOCK
    - UNUSED
    - FCTX_ATTR_CLR
    - isc_timer_destroy
    - FCTXTRACE
    - isc_result_totext
    - fctx_stoptimer
    - dns_resolver_cancelfetch
    linkageType: ''
    returnType: bool
    signature: "bool fctx__done(fetchctx_t *fctx, isc_result_t result, const char
      *func,\n\t   const char *file, unsigned int line)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:1724,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1726,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1728,1
    - Dst: VALID_QUERY
      Src: /src/bind9/lib/dns/resolver.c:1728,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1730,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:1730,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1731,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:1731,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:1733,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:1757,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:1760,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1762,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:1763,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:1764,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:1768,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1771,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:1772,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:1777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 3
    argNames:
    - eresult
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1718
    functionDepth: 9
    functionLinenumber: 1718
    functionLinenumberEnd: 1778
    functionName: resquery_senddone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - QTRACE
    - isc_tid
    - add_bad
    - UNUSED
    - fctx_cancelquery
    - resquery_detach
    - REQUIRE
    - VALID_QUERY
    - RESQUERY_CANCELED
    - FCTXTRACE3
    - fctx_try
    - fctx_done_detach
    - FCTX_ATTR_CLR
    linkageType: ''
    returnType: void
    signature: void resquery_senddone(isc_result_t eresult, isc_region_t *region,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_buildopt
      Src: /src/bind9/lib/dns/resolver.c:1786,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/dns/resolver.c:1791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - message
    - version
    - udpsize
    - ednsopts
    - count
    argTypes:
    - dns_message_t*
    - unsigned int
    - uint16_t
    - dns_ednsopt_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1780
    functionDepth: 1
    functionLinenumber: 1780
    functionLinenumberEnd: 1792
    functionName: fctx_addopt
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_message_buildopt
    - dns_message_setopt
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fctx_addopt(dns_message_t *message, unsigned int version,
      uint16_t udpsize,\n\t    dns_ednsopt_t *ednsopts, size_t count)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:1803,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:1804,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1806,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1807,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1859,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - fctx
    - rtt
    argTypes:
    - fetchctx_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1860
      start: 1794
    functionDepth: 3
    functionLinenumber: 1794
    functionLinenumberEnd: 1860
    functionName: fctx_setretryinterval
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - FCTXTRACE
    - isc_time_microdiff
    - isc_time_now
    - isc_interval_set
    linkageType: ''
    returnType: void
    signature: void fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1874,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/resolver.c:1881,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:1899,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:1900,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/resolver.c:1905,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:1914,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/resolver.c:1918,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/resolver.c:1919,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:1923,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1925,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:1926,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:1940,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:1941,1
    - Dst: dns_peer_getquerysource
      Src: /src/bind9/lib/dns/resolver.c:1944,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/resolver.c:1948,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:1968,1
    - Dst: fctx_setretryinterval
      Src: /src/bind9/lib/dns/resolver.c:1972,1
    - Dst: isc_interval_iszero
      Src: /src/bind9/lib/dns/resolver.c:1973,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1974,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:1975,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1979,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:1979,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:1981,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:1990,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/resolver.c:1993,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/resolver.c:2000,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:2003,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2013,1
    - Dst: dns_dispatch_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:2017,1
    - Dst: dns_dispatch_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:2021,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/resolver.c:2032,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/lib/dns/resolver.c:2034,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2042,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/lib/dns/resolver.c:2045,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2052,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/resolver.c:2054,1
    - Dst: dns_resolver_dispatchv4
      Src: /src/bind9/lib/dns/resolver.c:2055,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/resolver.c:2059,1
    - Dst: dns_resolver_dispatchv6
      Src: /src/bind9/lib/dns/resolver.c:2060,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2076,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:2079,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2080,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:2080,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:2081,1
    - Dst: dns_adb_overquota
      Src: /src/bind9/lib/dns/resolver.c:2085,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2086,1
    - Dst: dns_adb_beginudpfetch
      Src: /src/bind9/lib/dns/resolver.c:2092,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:2095,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/resolver.c:2096,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2097,1
    - Dst: isc_interval_ms
      Src: /src/bind9/lib/dns/resolver.c:2100,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/resolver.c:2101,1
    - Dst: resquery_ref
      Src: /src/bind9/lib/dns/resolver.c:2111,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/resolver.c:2112,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:2117,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:2120,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:2123,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:2127,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:2129,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:2132,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:2138,1
    - Dst: dns_adb_endudpfetch
      Src: /src/bind9/lib/dns/resolver.c:2141,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:2146,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:2147,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/resolver.c:2148,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:2149,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2151,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:2154,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/resolver.c:2157,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:2162,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:2163,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 174
    argCount: 3
    argNames:
    - fctx
    - addrinfo
    - options
    argTypes:
    - fetchctx_t*
    - dns_adbaddrinfo_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 1862
    functionDepth: 11
    functionLinenumber: 1862
    functionLinenumberEnd: 2166
    functionName: fctx_query
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - dns_dispatch_connect
    - UNLOCK
    - dns_dispatch_createudp
    - dns_peer_getforcetcp
    - dns_dispatch_createtcp
    - isc_log_write
    - dns_adb_overquota
    - dns_adb_beginudpfetch
    - ISC_LIST_HEAD
    - LOCK
    - isc_mem_put
    - ISC_LINK_LINKED
    - SHUTTINGDOWN
    - isc_refcount_init
    - isc_time_now
    - fprintf
    - dns_dispatch_add
    - ntohs
    - dns_message_create
    - dns_dns64_aaaafroma
    - isc_log_wouldlog
    - isc_sockaddr_setport
    - dns_dispatch_detach
    - isc_interval_iszero
    - fctx_setretryinterval
    - dns_transport_get_type
    - ISC_LIST_EMPTY
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - RUNTIME_CHECK
    - atomic_fetch_sub_release
    - fetchctx_detach
    - INSIST
    - atomic_fetch_add_relaxed
    - isc_mem_get
    - ISC_LIST_UNLINK
    - ISFORWARDER
    - dns_ede_add
    - dns_dispatch_attach
    - dns_resolver_dispatchv4
    - dns_message_detach
    - resquery_ref
    - isc_sockaddr_pf
    - ISC_LIST_APPEND
    - isc_interval_ms
    - dns_resolver_dispatchv6
    - dns_dispatch_done
    - FCTXTRACE
    - dns_peer_getquerysource
    - isc_result_totext
    - isc_sockaddr_fromin6
    - fetchctx_attach
    - RESQUERY_CANCELED
    - dns_peerlist_peerbyaddr
    - dns_dispatch_getlocaladdress
    - dns_adb_endudpfetch
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,\n\t
      \  unsigned int options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2170,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/resolver.c:2171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fctx
    - address
    argTypes:
    - fetchctx_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2168
    functionDepth: 2
    functionLinenumber: 2168
    functionLinenumberEnd: 2177
    functionName: triededns
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: struct tried
    signature: 'struct tried *

      triededns(fetchctx_t *fctx, isc_sockaddr_t *address)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: triededns
      Src: /src/bind9/lib/dns/resolver.c:2181,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:2187,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/resolver.c:2190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fctx
    - address
    argTypes:
    - fetchctx_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2179
    functionDepth: 3
    functionLinenumber: 2179
    functionLinenumberEnd: 2191
    functionName: add_triededns
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - triededns
    - ISC_LIST_INITANDAPPEND
    linkageType: ''
    returnType: void
    signature: void add_triededns(fetchctx_t *fctx, isc_sockaddr_t *address)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:2196,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2199,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:2200,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2203,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:2204,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:2207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufsize
    - sockaddr
    argTypes:
    - void*
    - size_t
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2210
    functionName: addr2buf
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - memmove
    - INSIST
    - isc_netaddr_fromsockaddr
    linkageType: ''
    returnType: size_t
    signature: size_t addr2buf(void *buf, const size_t bufsize, const isc_sockaddr_t
      *sockaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addr2buf
      Src: /src/bind9/lib/dns/resolver.c:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufsize
    - query
    argTypes:
    - uint8_t*
    - size_t
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 3
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: add_serveraddr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - addr2buf
    linkageType: ''
    returnType: size_t
    signature: size_t add_serveraddr(uint8_t *buf, const size_t bufsize, const resquery_t
      *query)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2226,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/dns/resolver.c:2227,1
    - Dst: add_serveraddr
      Src: /src/bind9/lib/dns/resolver.c:2233,1
    - Dst: isc_siphash24
      Src: /src/bind9/lib/dns/resolver.c:2236,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - query
    - cookie
    - len
    argTypes:
    - resquery_t*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2224
    functionDepth: 4
    functionLinenumber: 2224
    functionLinenumberEnd: 2239
    functionName: compute_cc
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - memmove
    - add_serveraddr
    - INSIST
    - isc_siphash24
    - STATIC_ASSERT
    linkageType: ''
    returnType: void
    signature: void compute_cc(const resquery_t *query, uint8_t *cookie, const size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:2253,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:2254,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:2255,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:2256,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:2260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - view
    - name
    - type
    - now
    - checknta
    - ntap
    - issecure
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - bool
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2241
    functionDepth: 2
    functionLinenumber: 2241
    functionLinenumberEnd: 2262
    functionName: issecuredomain
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - dns_view_issecuredomain
    - dns_rdatatype_atparent
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t issecuredomain(dns_view_t *view, const dns_name_t *name,
      dns_rdatatype_t type,\n\t       isc_stdtime_t now, bool checknta, bool *ntap,
      bool *issecure)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:2291,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:2293,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2294,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/resolver.c:2298,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/resolver.c:2299,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/resolver.c:2306,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/resolver.c:2307,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:2308,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/resolver.c:2309,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:2316,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/resolver.c:2346,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:2348,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/dns/resolver.c:2349,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/resolver.c:2354,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:2360,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:2361,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/resolver.c:2369,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:2373,1
    - Dst: triededns
      Src: /src/bind9/lib/dns/resolver.c:2396,1
    - Dst: dns_adb_getudpsize
      Src: /src/bind9/lib/dns/resolver.c:2398,1
    - Dst: dns_adb_endudpfetch
      Src: /src/bind9/lib/dns/resolver.c:2407,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/resolver.c:2455,1
    - Dst: dns_peer_getednsversion
      Src: /src/bind9/lib/dns/resolver.c:2470,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/resolver.c:2477,1
    - Dst: dns_peer_getrequestzoneversion
      Src: /src/bind9/lib/dns/resolver.c:2478,1
    - Dst: dns_peer_getsendcookie
      Src: /src/bind9/lib/dns/resolver.c:2480,1
    - Dst: NOCOOKIE
      Src: /src/bind9/lib/dns/resolver.c:2482,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2486,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2493,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2500,1
    - Dst: dns_adb_getcookie
      Src: /src/bind9/lib/dns/resolver.c:2503,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2508,1
    - Dst: compute_cc
      Src: /src/bind9/lib/dns/resolver.c:2512,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2517,1
    - Dst: dns_peer_gettcpkeepalive
      Src: /src/bind9/lib/dns/resolver.c:2526,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2530,1
    - Dst: dns_peer_getpadding
      Src: /src/bind9/lib/dns/resolver.c:2540,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2543,1
    - Dst: dns_message_setpadding
      Src: /src/bind9/lib/dns/resolver.c:2547,1
    - Dst: fctx_addopt
      Src: /src/bind9/lib/dns/resolver.c:2551,1
    - Dst: NEEDEDNS0
      Src: /src/bind9/lib/dns/resolver.c:2593,1
    - Dst: add_triededns
      Src: /src/bind9/lib/dns/resolver.c:2598,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/resolver.c:2610,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/resolver.c:2616,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/resolver.c:2617,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/resolver.c:2623,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/dns/resolver.c:2629,1
    - Dst: memset
      Src: /src/bind9/lib/dns/resolver.c:2635,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:2636,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/resolver.c:2637,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/resolver.c:2638,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/resolver.c:2640,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/resolver.c:2644,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/resolver.c:2645,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/resolver.c:2645,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/resolver.c:2647,1
    - Dst: dns_dispentry_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:2657,1
    - Dst: dns_message_logpacketfromto
      Src: /src/bind9/lib/dns/resolver.c:2662,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:2665,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/resolver.c:2670,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/resolver.c:2671,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/resolver.c:2673,1
    - Dst: resquery_ref
      Src: /src/bind9/lib/dns/resolver.c:2675,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/lib/dns/resolver.c:2676,1
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:2678,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/resolver.c:2692,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/dns/resolver.c:2699,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/resolver.c:2706,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/resolver.c:2708,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:2713,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 239
    argCount: 1
    argNames:
    - query
    argTypes:
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2264
    functionDepth: 8
    functionLinenumber: 2264
    functionLinenumberEnd: 2716
    functionName: resquery_send
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_peer_getsupportedns
    - dns_view_getpeertsig
    - dns_compress_invalidate
    - dns_dispatch_send
    - memset
    - dns_adb_getcookie
    - dns_peer_getrequestzoneversion
    - dns_message_renderbegin
    - dns_adb_getudpsize
    - dns_message_gettempname
    - isc_buffer_usedregion
    - dns_peer_getrequestnsid
    - dns_message_setpadding
    - dns_message_gettsigkey
    - fctx_addopt
    - dns_message_logpacketfromto
    - dns_tsigkey_detach
    - triededns
    - dns_peer_getudpsize
    - dns_message_gettemprdataset
    - dns_peer_getednsversion
    - compute_cc
    - dns_dispentry_getlocaladdress
    - dns_peer_getsendcookie
    - dns_message_reset
    - add_triededns
    - dns_message_rendersection
    - dns_transport_get_type
    - inc_stats
    - isc_netaddr_fromsockaddr
    - dns_adb_changeflags
    - NEEDEDNS0
    - ISC_LOG_DEBUG
    - dns_message_addname
    - INSIST
    - atomic_load_acquire
    - dns_name_towire
    - ISFORWARDER
    - NOCOOKIE
    - resquery_ref
    - dns_compress_setpermitted
    - dns_dt_send
    - QTRACE
    - ISC_LIST_APPEND
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - dns_dispatch_done
    - FCTXTRACE
    - dns_tsigkey_attach
    - dns_rdataset_makequestion
    - isc_buffer_init
    - dns_name_clone
    - dns_peer_gettcpkeepalive
    - dns_peer_getpadding
    - dns_peerlist_peerbyaddr
    - dns_compress_init
    - dns_message_renderend
    - dns_adb_endudpfetch
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t resquery_send(resquery_t *query)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2727,1
    - Dst: VALID_QUERY
      Src: /src/bind9/lib/dns/resolver.c:2727,1
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:2729,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:2731,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2735,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:2735,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2736,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:2736,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:2740,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:2744,1
    - Dst: resquery_send
      Src: /src/bind9/lib/dns/resolver.c:2770,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2772,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:2775,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:2776,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2782,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2784,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2786,1
    - Dst: dns_rdatatypestats_increment
      Src: /src/bind9/lib/dns/resolver.c:2789,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:2796,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:2797,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:2798,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:2813,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:2816,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:2818,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:2820,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:2821,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:2825,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:2829,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:2830,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:2835,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    argCount: 3
    argNames:
    - eresult
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2718
    functionDepth: 9
    functionLinenumber: 2718
    functionLinenumberEnd: 2836
    functionName: resquery_connected
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - FCTXTRACE3
    - resquery_detach
    - dns_rdatatypestats_increment
    - VALID_QUERY
    - resquery_send
    - isc_tid
    - inc_stats
    - add_bad
    - UNUSED
    - atomic_load_acquire
    - fctx_done_detach
    - FCTX_ATTR_CLR
    - isc_sockaddr_pf
    - QTRACE
    - FCTXTRACE
    - fctx_cancelquery
    - RESQUERY_CANCELED
    - fctx_try
    linkageType: ''
    returnType: void
    signature: void resquery_connected(isc_result_t eresult, isc_region_t *region,
      void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2846,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:2846,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2848,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2850,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:2850,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:2852,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/resolver.c:2853,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2854,1
    - Dst: ADDRWAIT
      Src: /src/bind9/lib/dns/resolver.c:2856,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2860,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:2860,1
    - Dst: dns_adb_findstatus
      Src: /src/bind9/lib/dns/resolver.c:2861,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:2862,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:2866,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:2867,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:2868,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2882,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:2884,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2887,1
    - Dst: fctx_done_unref
      Src: /src/bind9/lib/dns/resolver.c:2890,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:2892,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:2895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2838
    functionDepth: 5
    functionLinenumber: 2838
    functionLinenumberEnd: 2896
    functionName: fctx_finddone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - LOCK
    - VALID_FCTX
    - isc_tid
    - atomic_fetch_sub_release
    - ISC_LIST_EMPTY
    - FCTXTRACE
    - dns_adb_findstatus
    - fetchctx_detach
    - INSIST
    - SHUTTINGDOWN
    - atomic_load_acquire
    - UNLOCK
    - fctx_done_unref
    - REQUIRE
    - ADDRWAIT
    - dns_adb_destroyfind
    - fctx_try
    - FCTX_ATTR_CLR
    linkageType: ''
    returnType: void
    signature: void fctx_finddone(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2900,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/resolver.c:2901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fctx
    - address
    argTypes:
    - fetchctx_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2898
    functionDepth: 2
    functionLinenumber: 2898
    functionLinenumberEnd: 2907
    functionName: bad_server
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool bad_server(fetchctx_t *fctx, isc_sockaddr_t *address)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2927,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2928,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:2929,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2940,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:2941,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2951,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2952,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:2953,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:2961,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:2962,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2909
    functionDepth: 3
    functionLinenumber: 2909
    functionLinenumberEnd: 2970
    functionName: mark_bad
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - bad_server
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool mark_bad(fetchctx_t *fctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:3012,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3019,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:3021,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/resolver.c:3023,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:3030,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:3036,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/resolver.c:3037,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:3038,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:3041,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/resolver.c:3042,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:3043,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:3048,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:3049,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:3050,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:3051,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3052,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:3054,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 5
    argNames:
    - fctx
    - rmessage
    - addrinfo
    - reason
    - badtype
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - isc_result_t
    - badnstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 2972
    functionDepth: 3
    functionLinenumber: 2972
    functionLinenumberEnd: 3056
    functionName: add_bad
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - dns_opcode_totext
    - bad_server
    - isc_sockaddr_format
    - ISC_LIST_INITANDAPPEND
    - FCTXTRACE
    - dns_rdataclass_format
    - isc_result_totext
    - isc_buffer_init
    - isc_mem_get
    - isc_log_write
    - isc_buffer_usedlength
    - dns_name_format
    - ISFORWARDER
    - dns_rdatatype_format
    - dns_rcode_totext
    linkageType: ''
    returnType: void
    signature: "void add_bad(fetchctx_t *fctx, dns_message_t *rmessage, dns_adbaddrinfo_t
      *addrinfo,\n\tisc_result_t reason, badnstype_t badtype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:3067,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3068,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3070,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3072,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3075,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3078,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3085,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:3087,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3088,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - find
    - bias
    argTypes:
    - dns_adbfind_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3061
    functionDepth: 2
    functionLinenumber: 3061
    functionLinenumberEnd: 3091
    functionName: sort_adbfind
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - ISC_LIST_UNLINK
    - ISC_LIST_INIT
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void sort_adbfind(dns_adbfind_t *find, unsigned int bias)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3103,1
    - Dst: sort_adbfind
      Src: /src/bind9/lib/dns/resolver.c:3104,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:3108,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3109,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3113,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3114,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3115,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3117,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3120,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3123,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3124,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3126,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3133,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:3135,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - findlist
    - bias
    argTypes:
    - dns_adbfindlist_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3096
    functionDepth: 3
    functionLinenumber: 3096
    functionLinenumberEnd: 3139
    functionName: sort_finds
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_pf
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - INSIST
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - ISC_LIST_INIT
    - sort_adbfind
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void sort_finds(dns_adbfindlist_t *findlist, unsigned int bias)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - find
    - type
    argTypes:
    - dns_adbfind_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3172
    functionName: waiting_for
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool waiting_for(dns_adbfind_t *find, dns_rdatatype_t type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3183,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:3192,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3213,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:3213,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:3214,1
    - Dst: dns_adb_createfind
      Src: /src/bind9/lib/dns/resolver.c:3215,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3220,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3221,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:3223,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3232,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:3234,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3235,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3241,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3245,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3250,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3252,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/resolver.c:3255,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3261,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3263,1
    - Dst: waiting_for
      Src: /src/bind9/lib/dns/resolver.c:3276,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:3276,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3278,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/resolver.c:3283,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/resolver.c:3284,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3286,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3287,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/resolver.c:3297,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3338,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3339,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 9
    argNames:
    - fctx
    - name
    - port
    - options
    - flags
    - now
    - overquota
    - need_alternate
    - no_addresses
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - in_port_t
    - unsigned int
    - unsigned int
    - isc_stdtime_t
    - bool*
    - bool*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3174
    functionDepth: 6
    functionLinenumber: 3174
    functionLinenumberEnd: 3340
    functionName: findname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 12
    functionsReached:
    - fetchctx_ref
    - isc_log_write
    - dns_name_issubdomain
    - SHUTTINGDOWN
    - dns_adb_destroyfind
    - dns_name_format
    - isc_sockaddr_setport
    - ISC_LIST_EMPTY
    - ISC_LOG_DEBUG
    - fetchctx_detach
    - INSIST
    - atomic_fetch_add_relaxed
    - ISC_LIST_FOREACH
    - dns_adb_cancelfind
    - ISC_LIST_APPEND
    - FCTXTRACE
    - waiting_for
    - dns_name_equal
    - isc_result_totext
    - dns_adb_createfind
    linkageType: ''
    returnType: void
    signature: "void findname(fetchctx_t *fctx, const dns_name_t *name, in_port_t
      port,\n\t unsigned int options, unsigned int flags, isc_stdtime_t now,\n\t bool
      *overquota, bool *need_alternate, unsigned int *no_addresses)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3342
    functionDepth: 1
    functionLinenumber: 3342
    functionLinenumberEnd: 3350
    functionName: isstrictsubdomain
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_fullcompare
    linkageType: ''
    returnType: bool
    signature: bool isstrictsubdomain(const dns_name_t *name1, const dns_name_t *name2)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE5
      Src: /src/bind9/lib/dns/resolver.c:3367,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3374,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3381,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3382,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3393,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3393,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3394,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3394,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3413,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:3423,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:3424,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:3427,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:3428,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:3429,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/lib/dns/resolver.c:3433,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3436,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:3438,1
    - Dst: isstrictsubdomain
      Src: /src/bind9/lib/dns/resolver.c:3440,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:3442,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:3443,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:3444,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:3446,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:3450,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3455,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3457,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3460,1
    - Dst: dns_adb_findaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:3464,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/resolver.c:3469,1
    - Dst: dns_adb_freeaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:3473,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3477,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3479,1
    - Dst: ISC_LIST_INSERTBEFORE
      Src: /src/bind9/lib/dns/resolver.c:3482,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3485,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3489,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:3531,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3534,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3534,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3535,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3535,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3537,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:3542,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:3546,1
    - Dst: STATICSTUB
      Src: /src/bind9/lib/dns/resolver.c:3551,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:3552,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/resolver.c:3558,1
    - Dst: findname
      Src: /src/bind9/lib/dns/resolver.c:3562,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/resolver.c:3569,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/resolver.c:3570,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3583,1
    - Dst: findname
      Src: /src/bind9/lib/dns/resolver.c:3585,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3590,1
    - Dst: dns_adb_findaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:3594,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3600,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3602,1
    - Dst: ISC_LIST_INSERTBEFORE
      Src: /src/bind9/lib/dns/resolver.c:3605,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3608,1
    - Dst: mark_bad
      Src: /src/bind9/lib/dns/resolver.c:3619,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:3628,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3641,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:3652,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:3661,1
    - Dst: sort_finds
      Src: /src/bind9/lib/dns/resolver.c:3670,1
    - Dst: sort_finds
      Src: /src/bind9/lib/dns/resolver.c:3671,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 169
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3352
    functionDepth: 7
    functionLinenumber: 3352
    functionLinenumberEnd: 3676
    functionName: fctx_getaddresses
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fcount_incr
    - dns_rdataset_current
    - isc_log_write
    - fcount_decr
    - FCTXTRACE5
    - dns_rdata_reset
    - dns_rdata_tostruct
    - dns_name_countlabels
    - ISC_LIST_HEAD
    - isstrictsubdomain
    - dns_view_gettransport
    - dns_rdata_freestruct
    - isc_stdtime_now
    - dns_name_copy
    - dns_adb_findaddrinfo
    - ISC_LIST_NEXT
    - sort_finds
    - mark_bad
    - ISC_LIST_EMPTY
    - inc_stats
    - ISC_LOG_DEBUG
    - dns_fwdtable_find
    - INSIST
    - DNS_RDATASET_FOREACH
    - dns_adb_freeaddrinfo
    - atomic_load_acquire
    - STATICSTUB
    - findname
    - ISC_LIST_FOREACH
    - dns_forwarders_detach
    - dns_name_getlabelsequence
    - isc_sockaddr_pf
    - ISC_LIST_APPEND
    - FCTXTRACE
    - dns_name_equal
    - ISC_LIST_INSERTBEFORE
    - dns_rdatatype_atparent
    - dns_rdataset_count
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fctx_getaddresses(fetchctx_t *fctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:3690,1
    - Dst: dns_dispatchmgr_getblackhole
      Src: /src/bind9/lib/dns/resolver.c:3691,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:3692,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/resolver.c:3697,1
    - Dst: dns_peer_getbogus
      Src: /src/bind9/lib/dns/resolver.c:3705,1
    - Dst: isc_sockaddr_isnetzero
      Src: /src/bind9/lib/dns/resolver.c:3714,1
    - Dst: isc_sockaddr_ismulticast
      Src: /src/bind9/lib/dns/resolver.c:3717,1
    - Dst: isc_sockaddr_isexperimental
      Src: /src/bind9/lib/dns/resolver.c:3720,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/resolver.c:3725,1
    - Dst: IN6_IS_ADDR_V4COMPAT
      Src: /src/bind9/lib/dns/resolver.c:3728,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:3735,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3735,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:3737,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/resolver.c:3738,1
    - Dst: FCTXTRACE2
      Src: /src/bind9/lib/dns/resolver.c:3739,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - fctx
    - addr
    argTypes:
    - fetchctx_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3678
    functionDepth: 3
    functionLinenumber: 3678
    functionLinenumberEnd: 3741
    functionName: possibly_mark
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_peer_getbogus
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - IN6_IS_ADDR_V4COMPAT
    - isc_sockaddr_isnetzero
    - FCTXTRACE2
    - isc_netaddr_format
    - isc_sockaddr_ismulticast
    - IN6_IS_ADDR_V4MAPPED
    - dns_peerlist_peerbyaddr
    - dns_acl_match
    - isc_sockaddr_isexperimental
    - dns_dispatchmgr_getblackhole
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3755,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3756,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:3759,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3760,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:3781,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3785,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3787,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3789,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3799,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3800,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:3803,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3804,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3813,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3815,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:3829,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3833,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3835,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3837,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3847,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3848,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:3851,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3852,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3861,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3863,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3871,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3872,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:3875,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:3876,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 104
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3894
      start: 3743
    functionDepth: 4
    functionLinenumber: 3743
    functionLinenumberEnd: 3894
    functionName: fctx_nextaddress
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - UNMARKED
    - FCTX_ATTR_SET
    - possibly_mark
    - ISC_LIST_FOREACH
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: dns_adbaddrinfo_t
    signature: 'dns_adbaddrinfo_t *

      fctx_nextaddress(fetchctx_t *fctx)'
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE5
      Src: /src/bind9/lib/dns/resolver.c:3902,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:3902,1
    - Dst: FCTXTRACE5
      Src: /src/bind9/lib/dns/resolver.c:3904,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:3904,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:3907,1
    - Dst: ADDRWAIT
      Src: /src/bind9/lib/dns/resolver.c:3907,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:3908,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:3908,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:3913,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:3913,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3914,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3916,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:3919,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:3920,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:3926,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:3926,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3928,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3929,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:3932,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:3933,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:3938,1
    - Dst: dns_adb_overquota
      Src: /src/bind9/lib/dns/resolver.c:3941,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:3942,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:3947,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:3948,1
    - Dst: fctx_getaddresses
      Src: /src/bind9/lib/dns/resolver.c:3949,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3955,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:3956,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:3962,1
    - Dst: dns_adb_overquota
      Src: /src/bind9/lib/dns/resolver.c:3965,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:3967,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:3992,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:3993,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:3997,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:3999,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4001,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:4026,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:4027,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:4035,1
    - Dst: isc_counter_increment
      Src: /src/bind9/lib/dns/resolver.c:4041,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4043,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4044,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4047,1
    - Dst: isc_counter_increment
      Src: /src/bind9/lib/dns/resolver.c:4052,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4054,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4055,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4058,1
    - Dst: fctx_query
      Src: /src/bind9/lib/dns/resolver.c:4063,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:4068,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:4073,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 2
    argNames:
    - fctx
    - retrying
    argTypes:
    - fetchctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4075
      start: 3896
    functionDepth: 12
    functionLinenumber: 3896
    functionLinenumberEnd: 4075
    functionName: fctx_try
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - VALID_FCTX
    - fetchctx_ref
    - fctx_cleanup
    - isc_log_write
    - REQUIRE
    - dns_adb_overquota
    - FCTXTRACE5
    - fctx_nextaddress
    - fctx_query
    - dns_name_format
    - dns_rdatatype_format
    - fctx_cancelqueries
    - fctx_getaddresses
    - isc_tid
    - inc_stats
    - ISC_LOG_DEBUG
    - isc_counter_used
    - fetchctx_unref
    - ADDRWAIT
    - fctx_done_detach
    - isc_counter_getlimit
    - FCTXTRACE
    - FCTX_ATTR_SET
    - isc_counter_increment
    - dns_resolver_createfetch
    - DNS_FETCH_VALID
    linkageType: ''
    returnType: void
    signature: void fctx_try(fetchctx_t *fctx, bool retrying)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4092,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4092,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4096,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4096,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4098,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4100,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4101,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:4103,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:4104,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:4107,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:4108,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:4111,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:4112,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4115,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4116,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4117,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4119,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4120,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4121,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4123,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/resolver.c:4127,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4129,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:4130,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4133,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/resolver.c:4135,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:4158,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4160,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4161,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4163,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4164,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4167,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4170,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:4174,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:4177,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4180,1
    - Dst: clone_results
      Src: /src/bind9/lib/dns/resolver.c:4181,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4182,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4185,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:4221,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4228,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4229,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4231,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4232,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4235,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4238,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:4242,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:4245,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4248,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4250,1
    - Dst: clone_results
      Src: /src/bind9/lib/dns/resolver.c:4255,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4256,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4259,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4274,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4275,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:4277,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4281,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4282,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:4285,1
    - Dst: dns_view_findzonecut
      Src: /src/bind9/lib/dns/resolver.c:4288,1
    - Dst: FCTXTRACEN
      Src: /src/bind9/lib/dns/resolver.c:4291,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:4311,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4313,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:4315,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4320,1
    - Dst: fctx_minimize_qname
      Src: /src/bind9/lib/dns/resolver.c:4324,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:4333,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4334,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:4337,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:4341,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:4344,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4346,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4347,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4349,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4350,1
    - Dst: fctx_done_unref
      Src: /src/bind9/lib/dns/resolver.c:4354,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4356,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 166
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4077
    functionDepth: 13
    functionLinenumber: 4077
    functionLinenumberEnd: 4357
    functionName: resume_qmin
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fcount_incr
    - VALID_FCTX
    - fctx_cleanup
    - UNLOCK
    - dns_rdataset_disassociate
    - isc_log_write
    - REQUIRE
    - fcount_decr
    - dns_rdataset_init
    - dns_name_countlabels
    - ISC_LIST_HEAD
    - LOCK
    - clone_results
    - dns_fixedname_initname
    - dns_db_detach
    - dns_rdataset_isassociated
    - SHUTTINGDOWN
    - dns_db_attachnode
    - dns_name_copy
    - fctx_cancelqueries
    - dns_view_findzonecut
    - isc_tid
    - ISC_LOG_DEBUG
    - fctx_minimize_qname
    - dns_db_attach
    - fctx_try
    - fetchctx_detach
    - dns_rdataset_clone
    - dns_resolver_destroyfetch
    - FCTXTRACEN
    - FCTXTRACE
    - dns_resolver_freefresp
    - isc_result_totext
    - dns_rdatatype_atparent
    - fctx_done_unref
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void resume_qmin(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4363,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4364,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4365,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4365,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4366,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4366,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4367,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4367,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4368,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:4368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4369,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4369,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4370,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4372,1
    - Dst: dec_stats
      Src: /src/bind9/lib/dns/resolver.c:4378,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4381,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:4382,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:4383,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4386,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:4387,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:4388,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4392,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4395,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4397,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4399,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:4401,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:4402,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4403,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4404,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:4406,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/resolver.c:4407,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:4409,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/dns/resolver.c:4411,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:4413,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resolver.c:4415,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:4416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4417
      start: 4359
    functionDepth: 5
    functionLinenumber: 4359
    functionLinenumberEnd: 4417
    functionName: fctx_destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - isc_mem_putanddetach
    - dns_adb_detach
    - fcount_decr
    - dns_rdataset_disassociate
    - REQUIRE
    - dec_stats
    - dns_db_detach
    - isc_counter_detach
    - dns_rdataset_isassociated
    - dns_ede_invalidate
    - isc_mutex_destroy
    - ISC_LIST_EMPTY
    - atomic_load_acquire
    - dns_resolver_detach
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_message_detach
    - isc_mem_free
    - FCTXTRACE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void fctx_destroy(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4423,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4423,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4424,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4424,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4426,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:4431,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:4433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4419
    functionDepth: 3
    functionLinenumber: 4419
    functionLinenumberEnd: 4434
    functionName: fctx_expired
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - isc_tid
    - isc_log_write
    - REQUIRE
    - dns_ede_add
    - fctx_done_detach
    linkageType: ''
    returnType: void
    signature: void fctx_expired(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4440,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4440,1
    - Dst: fctx_done_unref
      Src: /src/bind9/lib/dns/resolver.c:4442,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4436
    functionDepth: 1
    functionLinenumber: 4436
    functionLinenumberEnd: 4444
    functionName: fctx_shutdown
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_done_unref
    - VALID_FCTX
    - REQUIRE
    - fetchctx_detach
    linkageType: ''
    returnType: void
    signature: void fctx_shutdown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4450,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4450,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4452,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4454,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:4455,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4456,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4464,1
    - Dst: fctx_starttimer
      Src: /src/bind9/lib/dns/resolver.c:4473,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:4474,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4478
      start: 4446
    functionDepth: 13
    functionLinenumber: 4446
    functionLinenumberEnd: 4478
    functionName: fctx_start
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - LOCK
    - VALID_FCTX
    - fctx_starttimer
    - FCTXTRACE
    - fetchctx_detach
    - SHUTTINGDOWN
    - UNLOCK
    - REQUIRE
    - fctx_try
    linkageType: ''
    returnType: void
    signature: void fctx_start(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4491,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:4493,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:4508,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4510,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/resolver.c:4517,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:4519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 10
    argNames:
    - fctx
    - loop
    - client
    - id
    - cb
    - arg
    - edectx
    - rdataset
    - sigrdataset
    - fetch
    argTypes:
    - fetchctx_t*
    - isc_loop_t*
    - isc_sockaddr_t*
    - dns_messageid_t
    - isc_job_cb
    - void*
    - dns_edectx_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_fetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4521
      start: 4484
    functionDepth: 1
    functionLinenumber: 4484
    functionLinenumberEnd: 4521
    functionName: fctx_add_event
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    - isc_mem_attach
    - ISC_LIST_APPEND
    - dns_fixedname_initname
    - FCTXTRACE
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: "void fctx_add_event(fetchctx_t *fctx, isc_loop_t *loop, const isc_sockaddr_t
      *client,\n\t       dns_messageid_t id, isc_job_cb cb, void *arg,\n\t       dns_edectx_t
      *edectx, dns_rdataset_t *rdataset,\n\t       dns_rdataset_t *sigrdataset, dns_fetch_t
      *fetch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4528,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4530,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:4530,1
    - Dst: fctx_add_event
      Src: /src/bind9/lib/dns/resolver.c:4532,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:4536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - fctx
    - loop
    - client
    - id
    - cb
    - arg
    - edectx
    - rdataset
    - sigrdataset
    - fetch
    argTypes:
    - fetchctx_t*
    - isc_loop_t*
    - isc_sockaddr_t*
    - dns_messageid_t
    - isc_job_cb
    - void*
    - dns_edectx_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_fetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4537
      start: 4523
    functionDepth: 2
    functionLinenumber: 4523
    functionLinenumberEnd: 4537
    functionName: fctx_join
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_add_event
    - FCTXTRACE
    - SHUTTINGDOWN
    - fetchctx_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void fctx_join(fetchctx_t *fctx, isc_loop_t *loop, const isc_sockaddr_t
      *client,\n\t  dns_messageid_t id, isc_job_cb cb, void *arg, dns_edectx_t *edectx,\n\t
      \ dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t  dns_fetch_t *fetch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4544,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4545,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4546,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fctx
    - where
    argTypes:
    - fetchctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4539
    functionDepth: 2
    functionLinenumber: 4539
    functionLinenumberEnd: 4550
    functionName: log_ns_ttl
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - isc_log_write
    - ISC_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void log_ns_ttl(fetchctx_t *fctx, const char *where)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/resolver.c:4564,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/resolver.c:4566,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/resolver.c:4567,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4572,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:4574,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4579,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:4588,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/resolver.c:4589,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:4591,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/dns/resolver.c:4593,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4599,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/resolver.c:4600,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:4601,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:4602,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/resolver.c:4603,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4605,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/resolver.c:4608,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/resolver.c:4612,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/resolver.c:4616,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4617,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4618,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4620,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/resolver.c:4622,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4623,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4624,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/resolver.c:4630,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4631,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4632,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4635,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:4639,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/resolver.c:4642,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4644,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4645,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4646,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4647,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4648,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4649,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4650,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4651,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4652,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/resolver.c:4654,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4656,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4657,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4658,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4659,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4660,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4661,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4663,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4664,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:4666,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:4667,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:4668,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:4669,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:4671,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:4675,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/resolver.c:4678,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:4692,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:4693,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:4695,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:4696,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:4697,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/lib/dns/resolver.c:4702,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4706,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:4707,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4715,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4716,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4723,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:4730,1
    - Dst: dns_view_findzonecut
      Src: /src/bind9/lib/dns/resolver.c:4733,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4741,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4742,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4747,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4748,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:4749,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:4765,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:4768,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:4773,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:4775,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4776,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/resolver.c:4777,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/resolver.c:4783,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:4790,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/resolver.c:4792,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/resolver.c:4794,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:4795,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:4805,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:4810,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/resolver.c:4811,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:4813,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:4823,1
    - Dst: fctx_minimize_qname
      Src: /src/bind9/lib/dns/resolver.c:4824,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:4827,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/resolver.c:4829,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:4836,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:4839,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4842,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:4843,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resolver.c:4845,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4847,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4850,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4852,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4854,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:4857,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:4858,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 164
    argCount: 12
    argNames:
    - res
    - loop
    - name
    - type
    - domain
    - nameservers
    - client
    - options
    - depth
    - qc
    - gqc
    - fctxp
    argTypes:
    - dns_resolver_t*
    - isc_loop_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_rdataset_t*
    - isc_sockaddr_t*
    - unsigned int
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4552
    functionDepth: 6
    functionLinenumber: 4552
    functionLinenumberEnd: 4861
    functionName: fctx_create
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - fcount_incr
    - strlcpy
    - isc_sockaddr_format
    - isc_mem_putanddetach
    - strlcat
    - isc_log_write
    - fcount_decr
    - REQUIRE
    - dns_rdataset_disassociate
    - isc_counter_create
    - dns_rdataset_init
    - isc_mem_attach
    - dns_name_countlabels
    - isc_mutex_init
    - dns_name_issubdomain
    - dns_fixedname_initname
    - isc_counter_detach
    - dns_rdataset_isassociated
    - dns_view_getadb
    - isc_refcount_init
    - isc_time_now
    - fprintf
    - dns_name_format
    - dns_ede_init
    - dns_rdatatype_format
    - ISC_LIST_INIT
    - isc_loop_getmctx
    - dns_name_copy
    - dns_message_create
    - isc_time_nowplusinterval
    - dns_view_findzonecut
    - isc_interval_set
    - isc_timer_create
    - isc_tid
    - inc_stats
    - ISC_LOG_DEBUG
    - isc_counter_used
    - UNEXPECTED_ERROR
    - dns_fwdtable_find
    - log_ns_ttl
    - dns_db_attach
    - INSIST
    - fctx_minimize_qname
    - isc_mem_get
    - isc_mem_strdup
    - dns_rdataset_clone
    - dns_resolver_detach
    - isc_counter_attach
    - dns_forwarders_detach
    - dns_message_detach
    - dns_name_getlabelsequence
    - dns_resolver_attach
    - isc_mem_free
    - FCTXTRACE
    - isc_result_totext
    - atomic_load_relaxed
    - atomic_init
    - dns_rdatatype_atparent
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fctx_create(dns_resolver_t *res, isc_loop_t *loop, const
      dns_name_t *name,\n\t    dns_rdatatype_t type, const dns_name_t *domain,\n\t
      \   dns_rdataset_t *nameservers, const isc_sockaddr_t *client,\n\t    unsigned
      int options, unsigned int depth, isc_counter_t *qc,\n\t    isc_counter_t *gqc,
      fetchctx_t **fctxp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4884,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:4891,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - fctx
    - message
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4906
      start: 4866
    functionDepth: 1
    functionLinenumber: 4866
    functionLinenumberEnd: 4906
    functionName: is_lame
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_fullcompare
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool is_lame(fetchctx_t *fctx, dns_message_t *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4884,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:4891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4903
      start: 4883
    functionDepth: 1
    functionLinenumber: 4883
    functionLinenumberEnd: 4903
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_fullcompare
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, DNS_SECTION_AUTHORITY, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4914,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4915,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:4916,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fctx
    - addrinfo
    argTypes:
    - fetchctx_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4920
      start: 4908
    functionDepth: 3
    functionLinenumber: 4908
    functionLinenumberEnd: 4920
    functionName: log_lame
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - isc_sockaddr_format
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void log_lame(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/resolver.c:4928,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/resolver.c:4929,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/resolver.c:4930,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:4932,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fctx
    - format
    argTypes:
    - fetchctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4922
    functionDepth: 3
    functionLinenumber: 4922
    functionLinenumberEnd: 4938
    functionName: log_formerr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - va_end
    - isc_sockaddr_format
    - va_start
    - isc_log_write
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void log_formerr(fetchctx_t *fctx, const char *format, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:4969,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:4973,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:4977,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4981,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4984,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4985,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:4986,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:4987,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:4987,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:4991,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4997,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:4998,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:5000,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:5001,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - fctx
    - message
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 4940
    functionDepth: 4
    functionLinenumber: 4940
    functionLinenumberEnd: 5007
    functionName: same_question
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - dns_name_equal
    - INSIST
    - dns_rdataclass_format
    - dns_name_format
    - dns_rdatatype_format
    - log_formerr
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t same_question(fetchctx_t *fctx, dns_message_t *message)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5013,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5023,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5026,1
    - Dst: FCTXTRACEN
      Src: /src/bind9/lib/dns/resolver.c:5027,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5033,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:5034,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:5035,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5037,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5038,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:5039,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:5040,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5043,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:5046,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:5049,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5053
      start: 5009
    functionDepth: 1
    functionLinenumber: 5009
    functionLinenumberEnd: 5053
    functionName: clone_results
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - FCTXTRACEN
    - dns_rdataset_clone
    - FCTXTRACE
    - dns_db_attach
    - INSIST
    - dns_rdataset_isassociated
    - dns_db_attachnode
    - ISC_LIST_FOREACH
    - dns_name_copy
    linkageType: ''
    returnType: void
    signature: void clone_results(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5056
      start: 5055
    functionDepth: 0
    functionLinenumber: 5055
    functionLinenumberEnd: 5056
    functionName: CACHE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5057
      start: 5056
    functionDepth: 0
    functionLinenumber: 5056
    functionLinenumberEnd: 5057
    functionName: ANSWER
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANSWER(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5058
      start: 5057
    functionDepth: 0
    functionLinenumber: 5057
    functionLinenumberEnd: 5058
    functionName: ANSWERSIG
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANSWERSIG(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5059
      start: 5058
    functionDepth: 0
    functionLinenumber: 5058
    functionLinenumberEnd: 5059
    functionName: EXTERNAL
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTERNAL(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5060
      start: 5059
    functionDepth: 0
    functionLinenumber: 5059
    functionLinenumberEnd: 5060
    functionName: CHAINING
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHAINING(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5061
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5061
    functionName: CHASE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHASE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5062
      start: 5061
    functionDepth: 0
    functionLinenumber: 5061
    functionLinenumberEnd: 5062
    functionName: CHECKNAMES
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKNAMES(r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:5073,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:5074,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5079,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:5079,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5080,1
    - Dst: dns_validator_cancel
      Src: /src/bind9/lib/dns/resolver.c:5081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5071
    functionDepth: 6
    functionLinenumber: 5071
    functionLinenumberEnd: 5083
    functionName: maybe_cancel_validators
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - SHUTTINGDOWN
    - atomic_load_acquire
    - REQUIRE
    - dns_validator_cancel
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void maybe_cancel_validators(fetchctx_t *fctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:5103,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5110,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:5111,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5112,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resolver.c:5115,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5117,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5123
      start: 5099
    functionDepth: 2
    functionLinenumber: 5099
    functionLinenumberEnd: 5123
    functionName: is_minimal_nsec
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    linkageType: ''
    returnType: bool
    signature: bool is_minimal_nsec(dns_rdataset_t *nsecset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5110,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:5111,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5112,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resolver.c:5115,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5120
      start: 5105
    functionDepth: 2
    functionLinenumber: 5105
    functionLinenumberEnd: 5120
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - memcmp
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:5132,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5136,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5137,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5138,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5139,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5141,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5147
      start: 5128
    functionDepth: 1
    functionLinenumber: 5128
    functionLinenumberEnd: 5147
    functionName: check_soa_and_dnskey
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_nsec_typepresent
    - dns_rdataset_clone
    linkageType: ''
    returnType: bool
    signature: bool check_soa_and_dnskey(dns_rdataset_t *nsecset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5136,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5137,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5138,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5139,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5144
      start: 5134
    functionDepth: 1
    functionLinenumber: 5134
    functionLinenumberEnd: 5144
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_nsec_typepresent
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:5156,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5160,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5164,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5170
      start: 5152
    functionDepth: 1
    functionLinenumber: 5152
    functionLinenumberEnd: 5170
    functionName: has_000_label
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_clone
    linkageType: ''
    returnType: bool
    signature: bool has_000_label(dns_rdataset_t *nsecset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5160,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5167
      start: 5158
    functionDepth: 1
    functionLinenumber: 5158
    functionLinenumberEnd: 5167
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5203,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:5203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5204,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:5204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5209,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:5209,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5211,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:5219,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:5220,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5221,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:5228,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5229,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/resolver.c:5229,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:5232,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:5236,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:5244,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5245,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:5249,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:5256,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5261,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5275,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:5277,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5290,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5291,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5297,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:5301,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:5306,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5311,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5321,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5325,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5331,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5336,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:5340,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5342,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5344,1
    - Dst: dns_validator_send
      Src: /src/bind9/lib/dns/resolver.c:5346,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:5355,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:5358,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5363,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5365,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5391,1
    - Dst: ncache_adderesult
      Src: /src/bind9/lib/dns/resolver.c:5409,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5418,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5421,1
    - Dst: dns_rdataset_addnoqname
      Src: /src/bind9/lib/dns/resolver.c:5424,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5426,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5427,1
    - Dst: dns_rdataset_addclosest
      Src: /src/bind9/lib/dns/resolver.c:5430,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5433,1
    - Dst: findnoqname
      Src: /src/bind9/lib/dns/resolver.c:5440,1
    - Dst: dns_rdataset_addnoqname
      Src: /src/bind9/lib/dns/resolver.c:5443,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5445,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5455,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5464,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:5469,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/resolver.c:5470,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5476,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5489,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:5490,1
    - Dst: maybe_cancel_validators
      Src: /src/bind9/lib/dns/resolver.c:5491,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5493,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:5497,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5498,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5499,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:5499,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5505,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5506,1
    - Dst: dns_validator_send
      Src: /src/bind9/lib/dns/resolver.c:5507,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5507,1
    - Dst: MSG_SECTION_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5516,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5517,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5528,1
    - Dst: dns_nsec_requiredtypespresent
      Src: /src/bind9/lib/dns/resolver.c:5546,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:5556,1
    - Dst: is_minimal_nsec
      Src: /src/bind9/lib/dns/resolver.c:5557,1
    - Dst: check_soa_and_dnskey
      Src: /src/bind9/lib/dns/resolver.c:5566,1
    - Dst: has_000_label
      Src: /src/bind9/lib/dns/resolver.c:5575,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5580,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5586,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5589,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5593,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:5604,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:5607,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5612,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5614,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5619,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5623,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:5634,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5640,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:5641,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:5642,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5643,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5662,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:5663,1
    - Dst: dns_db_transfernode
      Src: /src/bind9/lib/dns/resolver.c:5664,1
    - Dst: clone_results
      Src: /src/bind9/lib/dns/resolver.c:5665,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5670,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5673,1
    - Dst: fctx_done_unref
      Src: /src/bind9/lib/dns/resolver.c:5678,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/resolver.c:5686,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/resolver.c:5687,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:5688,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5689,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 299
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5175
    functionDepth: 13
    functionLinenumber: 5175
    functionLinenumberEnd: 5690
    functionName: validated
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_validator_detach
    - VALID_FCTX
    - has_000_label
    - UNLOCK
    - REQUIRE
    - maybe_cancel_validators
    - ncache_adderesult
    - UNREACHABLE
    - ISC_LIST_HEAD
    - LOCK
    - dns_db_findnode
    - dns_db_addrdataset
    - dns_validator_send
    - is_minimal_nsec
    - dns_fixedname_initname
    - NEGATIVE
    - dns_rdatatype_ismulti
    - dns_db_transfernode
    - clone_results
    - SHUTTINGDOWN
    - dns_rdataset_isassociated
    - dns_validator_shutdown
    - isc_stdtime_now
    - dns_name_copy
    - ISC_LIST_EMPTY
    - dns_rdataset_addnoqname
    - isc_tid
    - inc_stats
    - RUNTIME_CHECK
    - dns_rdataset_addclosest
    - add_bad
    - dns_db_attach
    - fctx_try
    - dns_fixedname_name
    - INSIST
    - fetchctx_detach
    - CHAINING
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - NXDOMAIN
    - dns_db_detachnode
    - check_soa_and_dnskey
    - FCTXTRACE
    - FCTX_ATTR_SET
    - dns_name_equal
    - fctx_done_unref
    - dns_db_deleterdataset
    - dns_nsec_requiredtypespresent
    - isc_mem_put
    - MSG_SECTION_FOREACH
    - findnoqname
    linkageType: ''
    returnType: void
    signature: void validated(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/resolver.c:5698,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/resolver.c:5699,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/resolver.c:5700,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:5702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5704
      start: 5692
    functionDepth: 2
    functionLinenumber: 5692
    functionLinenumberEnd: 5704
    functionName: fctx_log
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - va_start
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void fctx_log(void *arg, int level, const char *fmt, ...)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5722,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5724,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5729,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:5740,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5745,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:5746,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5747,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:5760,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:5761,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:5762,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5767,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:5780,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:5780,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:5791,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:5791,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5806,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 5
    argNames:
    - fctx
    - message
    - name
    - type
    - noqnamep
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5817
      start: 5706
    functionDepth: 5
    functionLinenumber: 5706
    functionLinenumberEnd: 5817
    functionName: findnoqname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_countlabels
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - FCTXTRACE
    - dns_rdataset_current
    - dns_nsec_noexistnodata
    - NXND
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_nsec3_noexistnodata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnoqname(fetchctx_t *fctx, dns_message_t *message,
      dns_name_t *name,\n\t    dns_rdatatype_t type, dns_name_t **noqnamep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5745,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:5746,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5754
      start: 5743
    functionDepth: 2
    functionLinenumber: 5743
    functionLinenumberEnd: 5754
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 7
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (sigrdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5765
      start: 5764
    functionDepth: 0
    functionLinenumber: 5764
    functionLinenumberEnd: 5765
    functionName: NXND
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NXND(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5767,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:5780,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:5780,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:5791,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:5791,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5803
      start: 5766
    functionDepth: 5
    functionLinenumber: 5766
    functionLinenumberEnd: 5803
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_nsec3_noexistnodata
    - dns_nsec_noexistnodata
    - NXND
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, DNS_SECTION_AUTHORITY, nsec)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5838,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:5853,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5872,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5876,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:5887,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5899,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5908,1
    - Dst: CACHE
      Src: /src/bind9/lib/dns/resolver.c:5911,1
    - Dst: CHECKNAMES
      Src: /src/bind9/lib/dns/resolver.c:5914,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:5919,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:5920,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:5922,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:5924,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:5930,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5931,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5962,1
    - Dst: EXTERNAL
      Src: /src/bind9/lib/dns/resolver.c:5982,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:5995,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/resolver.c:6009,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6038,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6040,1
    - Dst: findnoqname
      Src: /src/bind9/lib/dns/resolver.c:6045,1
    - Dst: dns_rdataset_addnoqname
      Src: /src/bind9/lib/dns/resolver.c:6051,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:6066,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:6073,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/resolver.c:6084,1
    - Dst: dns_rdataset_equals
      Src: /src/bind9/lib/dns/resolver.c:6095,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:6117,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6127,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6132,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:6133,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6141,1
    - Dst: valcreate
      Src: /src/bind9/lib/dns/resolver.c:6156,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:6161,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6165,1
    - Dst: EXTERNAL
      Src: /src/bind9/lib/dns/resolver.c:6170,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6174,1
    - Dst: ANSWERSIG
      Src: /src/bind9/lib/dns/resolver.c:6176,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:6181,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6185,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6211,1
    - Dst: findnoqname
      Src: /src/bind9/lib/dns/resolver.c:6216,1
    - Dst: dns_rdataset_addnoqname
      Src: /src/bind9/lib/dns/resolver.c:6220,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:6228,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6233,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:6234,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/resolver.c:6243,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:6258,1
    - Dst: valcreate
      Src: /src/bind9/lib/dns/resolver.c:6266,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:6271,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:6277,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:6278,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6279,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:6300,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:6302,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:6304,1
    - Dst: dns_db_transfernode
      Src: /src/bind9/lib/dns/resolver.c:6305,1
    - Dst: clone_results
      Src: /src/bind9/lib/dns/resolver.c:6306,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:6311,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 251
    argCount: 5
    argNames:
    - fctx
    - name
    - message
    - addrinfo
    - now
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6315
      start: 5819
    functionDepth: 6
    functionLinenumber: 5819
    functionLinenumberEnd: 6315
    functionName: cache_name
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ANSWER
    - isc_log_write
    - CACHE
    - ISC_LIST_HEAD
    - dns_db_findnode
    - clone_results
    - dns_db_addrdataset
    - dns_db_transfernode
    - ISC_MIN
    - dns_rdatatype_ismulti
    - NEGATIVE
    - dns_rdataclass_format
    - dns_rdataset_isassociated
    - dns_db_detach
    - dns_name_format
    - dns_name_copy
    - dns_rdatatype_format
    - dns_rdataset_addnoqname
    - EXTERNAL
    - CHECKNAMES
    - INSIST
    - dns_db_attach
    - CHAINING
    - ISC_LIST_FOREACH
    - ANSWERSIG
    - valcreate
    - NXDOMAIN
    - dns_rdataset_equals
    - FCTXTRACE
    - FCTX_ATTR_SET
    - issecuredomain
    - dns_db_detachnode
    - findnoqname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cache_name(fetchctx_t *fctx, dns_name_t *name, dns_message_t
      *message,\n\t   dns_adbaddrinfo_t *addrinfo, isc_stdtime_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:6320,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:6322,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:6324,1
    - Dst: cache_name
      Src: /src/bind9/lib/dns/resolver.c:6332,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:6342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - fctx
    - message
    - addrinfo
    - now
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6344
      start: 6317
    functionDepth: 7
    functionLinenumber: 6317
    functionLinenumberEnd: 6344
    functionName: cache_message
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - cache_name
    - LOCK
    - FCTXTRACE
    - UNLOCK
    - FCTX_ATTR_CLR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cache_message(fetchctx_t *fctx, dns_message_t *message,\n\t
      \     dns_adbaddrinfo_t *addrinfo, isc_stdtime_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cache_name
      Src: /src/bind9/lib/dns/resolver.c:6332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6338
      start: 6330
    functionDepth: 7
    functionLinenumber: 6330
    functionLinenumberEnd: 6338
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - cache_name
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, section, name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:6359,1
    - Dst: dns_ncache_addoptout
      Src: /src/bind9/lib/dns/resolver.c:6363,1
    - Dst: dns_ncache_add
      Src: /src/bind9/lib/dns/resolver.c:6367,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:6376,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/resolver.c:6380,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:6405,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:6406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 11
    argNames:
    - message
    - cache
    - node
    - covers
    - now
    - minttl
    - maxttl
    - optout
    - secure
    - ardataset
    - eresultp
    argTypes:
    - dns_message_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_ttl_t
    - dns_ttl_t
    - bool
    - bool
    - dns_rdataset_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6410
      start: 6350
    functionDepth: 2
    functionLinenumber: 6350
    functionLinenumberEnd: 6410
    functionName: ncache_adderesult
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - NEGATIVE
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_ncache_add
    - dns_ncache_addoptout
    - dns_rdataset_init
    - NXDOMAIN
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ncache_adderesult(dns_message_t *message, dns_db_t *cache,
      dns_dbnode_t *node,\n\t\t  dns_rdatatype_t covers, isc_stdtime_t now, dns_ttl_t
      minttl,\n\t\t  dns_ttl_t maxttl, bool optout, bool secure,\n\t\t  dns_rdataset_t
      *ardataset, isc_result_t *eresultp)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:6428,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:6430,1
    - Dst: POST
      Src: /src/bind9/lib/dns/resolver.c:6432,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6438,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:6449,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6471,1
    - Dst: valcreate
      Src: /src/bind9/lib/dns/resolver.c:6481,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:6491,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6493,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:6494,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:6497,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:6503,1
    - Dst: ncache_adderesult
      Src: /src/bind9/lib/dns/resolver.c:6532,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6539,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:6540,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:6545,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:6547,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:6549,1
    - Dst: dns_db_transfernode
      Src: /src/bind9/lib/dns/resolver.c:6550,1
    - Dst: clone_results
      Src: /src/bind9/lib/dns/resolver.c:6551,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:6556,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:6559,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 5
    argNames:
    - fctx
    - message
    - addrinfo
    - covers
    - now
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6563
      start: 6412
    functionDepth: 5
    functionLinenumber: 6412
    functionLinenumberEnd: 6563
    functionName: ncache_message
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - HAVE_ANSWER
    - ncache_adderesult
    - ISC_LIST_HEAD
    - LOCK
    - dns_db_findnode
    - clone_results
    - dns_db_transfernode
    - dns_db_detach
    - dns_name_copy
    - dns_db_attach
    - INSIST
    - ISC_LIST_FOREACH
    - valcreate
    - FCTX_ATTR_CLR
    - FCTXTRACE
    - FCTX_ATTR_SET
    - issecuredomain
    - POST
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ncache_message(fetchctx_t *fctx, dns_message_t *message,\n\t
      \      dns_adbaddrinfo_t *addrinfo, dns_rdatatype_t covers,\n\t       isc_stdtime_t
      now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6474
      start: 6470
    functionDepth: 0
    functionLinenumber: 6470
    functionLinenumberEnd: 6474
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, DNS_SECTION_AUTHORITY, tname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CACHE
      Src: /src/bind9/lib/dns/resolver.c:6584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - name
    - rdataset
    - external
    - gluing
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6592
      start: 6565
    functionDepth: 1
    functionLinenumber: 6565
    functionLinenumberEnd: 6592
    functionName: mark_related
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - CACHE
    linkageType: ''
    returnType: void
    signature: "void mark_related(dns_name_t *name, dns_rdataset_t *rdataset, bool
      external,\n\t     bool gluing)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISDUALSTACK
      Src: /src/bind9/lib/dns/resolver.c:6610,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:6610,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:6617,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:6627,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:6628,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:6629,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:6630,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/resolver.c:6642,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/resolver.c:6644,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:6645,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/resolver.c:6647,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/lib/dns/resolver.c:6656,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:6659,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:6664,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:6666,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:6681,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:6682,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - name
    - type
    - fctx
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6687
      start: 6600
    functionDepth: 2
    functionLinenumber: 6600
    functionLinenumberEnd: 6687
    functionName: name_external
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - ISC_LIST_EMPTY
    - dns_fwdtable_find
    - dns_view_findzone
    - dns_zone_detach
    - dns_name_equal
    - dns_rdatatype_atparent
    - dns_name_fullcompare
    - ISDUALSTACK
    - dns_zone_getorigin
    - ISFORWARDER
    - dns_forwarders_detach
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool name_external(const dns_name_t *name, dns_rdatatype_t type, fetchctx_t
      *fctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:6700,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:6700,1
    - Dst: GLUING
      Src: /src/bind9/lib/dns/resolver.c:6708,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:6709,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/resolver.c:6711,1
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:6714,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6716,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:6717,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:6722,1
    - Dst: mark_related
      Src: /src/bind9/lib/dns/resolver.c:6723,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/resolver.c:6729,1
    - Dst: mark_related
      Src: /src/bind9/lib/dns/resolver.c:6731,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:6733,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/resolver.c:6739,1
    - Dst: mark_related
      Src: /src/bind9/lib/dns/resolver.c:6743,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - arg
    - addname
    - type
    - found
    - section
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6751
      start: 6689
    functionDepth: 3
    functionLinenumber: 6689
    functionLinenumberEnd: 6751
    functionName: check_section
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isaddr
    - VALID_FCTX
    - name_external
    - dns_message_findtype
    - dns_rdataset_clone
    - dns_name_equal
    - REQUIRE
    - GLUING
    - ISC_LIST_FOREACH
    - dns_rdatatype_issig
    - mark_related
    - dns_message_findname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_section(void *arg, const dns_name_t *addname, dns_rdatatype_t
      type,\n\t      dns_rdataset_t *found, dns_section_t section)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_section
      Src: /src/bind9/lib/dns/resolver.c:6756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - addname
    - type
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6757
      start: 6753
    functionDepth: 4
    functionLinenumber: 6753
    functionLinenumberEnd: 6757
    functionName: check_related
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - check_section
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_related(void *arg, const dns_name_t *addname, dns_rdatatype_t
      type,\n\t      dns_rdataset_t *found DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_section
      Src: /src/bind9/lib/dns/resolver.c:6767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - addname
    - type
    - found
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6768
      start: 6764
    functionDepth: 4
    functionLinenumber: 6764
    functionLinenumberEnd: 6768
    functionName: check_answer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - check_section
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_answer(void *arg, const dns_name_t *addname, dns_rdatatype_t
      type,\n\t     dns_rdataset_t *found)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:6794,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/resolver.c:6804,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6805,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6807,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:6808,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/resolver.c:6809,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6811,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:6812,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/resolver.c:6813,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/resolver.c:6816,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/resolver.c:6819,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6820,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:6821,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:6823,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:6825,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - view
    - name
    - rdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6834
      start: 6771
    functionDepth: 10
    functionLinenumber: 6771
    functionLinenumberEnd: 6834
    functionName: is_answeraddress_allowed
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromin
    - memmove
    - dns_rdataset_current
    - dns_rdataclass_format
    - INSIST
    - isc_netaddr_format
    - isc_log_write
    - dns_nametree_covered
    - dns_acl_match
    - isc_netaddr_fromin6
    - dns_rdatatype_format
    - dns_rdata_reset
    - dns_name_format
    linkageType: ''
    returnType: bool
    signature: "bool is_answeraddress_allowed(dns_view_t *view, dns_name_t *name,\n\t\t\t
      dns_rdataset_t *rdataset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/resolver.c:6804,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6805,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6807,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:6808,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/resolver.c:6809,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6811,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:6812,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/resolver.c:6813,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/resolver.c:6816,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/resolver.c:6819,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6820,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:6821,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:6823,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:6825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6831
      start: 6803
    functionDepth: 3
    functionLinenumber: 6803
    functionLinenumberEnd: 6831
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 7
    functionsReached:
    - isc_netaddr_fromin
    - memmove
    - dns_rdataset_current
    - dns_rdataclass_format
    - INSIST
    - isc_netaddr_format
    - isc_log_write
    - dns_acl_match
    - isc_netaddr_fromin6
    - dns_rdatatype_format
    - dns_rdata_reset
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:6850,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:6851,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:6851,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/resolver.c:6861,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:6862,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6863,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6866,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:6867,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:6871,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6876,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:6877,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:6878,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:6879,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:6880,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/resolver.c:6881,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/resolver.c:6882,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:6884,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:6887,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:6890,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:6893,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:6903,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:6916,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:6923,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6928,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6929,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:6930,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:6931,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:6933,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 5
    argNames:
    - fctx
    - qname
    - rname
    - rdataset
    - chainingp
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6940
      start: 6836
    functionDepth: 10
    functionLinenumber: 6836
    functionLinenumberEnd: 6940
    functionName: is_answertarget_allowed
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - isc_log_write
    - dns_rdataset_first
    - REQUIRE
    - dns_rdata_tostruct
    - dns_name_countlabels
    - UNREACHABLE
    - SET_IF_NOT_NULL
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_rdataclass_format
    - dns_nametree_covered
    - dns_name_concatenate
    - dns_name_format
    - dns_rdatatype_format
    - RUNTIME_CHECK
    - dns_rdatatype_isalias
    - dns_name_split
    - dns_name_fullcompare
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: "bool is_answertarget_allowed(fetchctx_t *fctx, dns_name_t *qname,
      dns_name_t *rname,\n\t\t\tdns_rdataset_t *rdataset, bool *chainingp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6949,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6950,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:6951,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:6953,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:6954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - fctx
    - name
    - rdataset
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6961
      start: 6942
    functionDepth: 3
    functionLinenumber: 6942
    functionLinenumberEnd: 6961
    functionName: trim_ns_ttl
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - isc_log_write
    - ISC_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void trim_ns_ttl(fetchctx_t *fctx, dns_name_t *name, dns_rdataset_t
      *rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:6970,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:6978,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:6982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rdataset
    - fctx
    argTypes:
    - dns_rdataset_t*
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6986
      start: 6963
    functionDepth: 4
    functionLinenumber: 6963
    functionLinenumberEnd: 6986
    functionName: validinanswer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - log_formerr
    linkageType: ''
    returnType: bool
    signature: bool validinanswer(dns_rdataset_t *rdataset, fetchctx_t *fctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7008,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:7008,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7012,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:7012,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7014,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:7017,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:7020,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/resolver.c:7027,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:7029,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:7030,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:7033,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:7038,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7042,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:7044,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:7045,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:7047,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:7052,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:7053,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:7058,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:7060,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:7061,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:7062,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:7068,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:7075,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:7076,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:7084,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:7085,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:7094,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:7100,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:7101,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:7102,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:7107,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:7108,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7111,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:7112,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7114,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:7116,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:7117,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:7123,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:7129,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:7130,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/resolver.c:7135,1
    - Dst: fctx_done_unref
      Src: /src/bind9/lib/dns/resolver.c:7139,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:7142,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 89
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7143
      start: 6994
    functionDepth: 13
    functionLinenumber: 6994
    functionLinenumberEnd: 7143
    functionName: resume_dslookup
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fcount_incr
    - VALID_FCTX
    - fetchctx_ref
    - UNLOCK
    - dns_rdataset_disassociate
    - fcount_decr
    - REQUIRE
    - FTRACE
    - dns_rdataset_init
    - dns_name_countlabels
    - LOCK
    - dns_fixedname_initname
    - dns_db_detach
    - SHUTTINGDOWN
    - dns_rdataset_isassociated
    - dns_name_copy
    - isc_tid
    - log_ns_ttl
    - fetchctx_detach
    - fetchctx_unref
    - dns_rdataset_clone
    - dns_name_getlabelsequence
    - dns_db_detachnode
    - dns_resolver_destroyfetch
    - FCTXTRACE
    - dns_resolver_freefresp
    - dns_name_equal
    - dns_resolver_createfetch
    - fctx_done_unref
    - fctx_try
    linkageType: ''
    returnType: void
    signature: void resume_dslookup(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7148,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7151,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/resolver.c:7152,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/resolver.c:7154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - message
    - section
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7161
      start: 7145
    functionDepth: 1
    functionLinenumber: 7145
    functionLinenumberEnd: 7161
    functionName: checknamessection
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdata_checkowner
    - dns_rdataset_current
    - dns_rdata_checknames
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void checknamessection(dns_message_t *message, dns_section_t section)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7148,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7151,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/resolver.c:7152,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/resolver.c:7154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7160
      start: 7147
    functionDepth: 1
    functionLinenumber: 7147
    functionLinenumberEnd: 7160
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_rdata_checkowner
    - dns_rdataset_current
    - dns_rdata_checknames
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (message, section, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7151,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/resolver.c:7152,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/resolver.c:7154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7158
      start: 7149
    functionDepth: 1
    functionLinenumber: 7149
    functionLinenumberEnd: 7158
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 7
    functionsReached:
    - dns_rdata_checkowner
    - dns_rdataset_current
    - dns_rdata_checknames
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checknamessection
      Src: /src/bind9/lib/dns/resolver.c:7165,1
    - Dst: checknamessection
      Src: /src/bind9/lib/dns/resolver.c:7166,1
    - Dst: checknamessection
      Src: /src/bind9/lib/dns/resolver.c:7167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7168
      start: 7163
    functionDepth: 2
    functionLinenumber: 7163
    functionLinenumberEnd: 7168
    functionName: checknames
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 15
    functionsReached:
    - checknamessection
    linkageType: ''
    returnType: void
    signature: void checknames(dns_message_t *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:7178,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/resolver.c:7179,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:7180,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/resolver.c:7181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - src
    - srclen
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7182
      start: 7170
    functionDepth: 2
    functionLinenumber: 7170
    functionLinenumberEnd: 7182
    functionName: make_hex
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_hex_totext
    - isc_buffer_putuint8
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void make_hex(unsigned char *src, size_t srclen, char *buf, size_t
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7186,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/resolver.c:7189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - src
    - srclen
    - buf
    - buflen
    argTypes:
    - unsigned char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7192
      start: 7184
    functionDepth: 0
    functionLinenumber: 7184
    functionLinenumberEnd: 7192
    functionName: make_printable
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isprint
    linkageType: ''
    returnType: void
    signature: void make_printable(unsigned char *src, size_t srclen, char *buf, size_t
      buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7203,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7207,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7208,1
    - Dst: make_hex
      Src: /src/bind9/lib/dns/resolver.c:7211,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:7211,1
    - Dst: make_printable
      Src: /src/bind9/lib/dns/resolver.c:7214,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:7214,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7216,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7218,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7221,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - opt
    - nsid_len
    - query
    - level
    - mctx
    argTypes:
    - isc_buffer_t*
    - size_t
    - resquery_t*
    - int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7223
      start: 7197
    functionDepth: 3
    functionLinenumber: 7197
    functionLinenumberEnd: 7223
    functionName: log_nsid
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - make_printable
    - isc_mem_get
    - isc_log_write
    - isc_buffer_current
    - REQUIRE
    - isc_mem_put
    - make_hex
    linkageType: ''
    returnType: void
    signature: "void log_nsid(isc_buffer_t *opt, size_t nsid_len, resquery_t *query,
      int level,\n\t isc_mem_t *mctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7242,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7252,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7258,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/resolver.c:7265,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7266,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7270,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7271,1
    - Dst: make_hex
      Src: /src/bind9/lib/dns/resolver.c:7274,1
    - Dst: make_printable
      Src: /src/bind9/lib/dns/resolver.c:7277,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7284,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7289,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7297,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7298,1
    - Dst: make_hex
      Src: /src/bind9/lib/dns/resolver.c:7301,1
    - Dst: make_printable
      Src: /src/bind9/lib/dns/resolver.c:7305,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7308,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7315,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7316,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7320,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 7
    argNames:
    - version
    - version_len
    - nsid
    - nsid_len
    - query
    - level
    - mctx
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - resquery_t*
    - int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7325
      start: 7225
    functionDepth: 3
    functionLinenumber: 7225
    functionLinenumberEnd: 7325
    functionName: log_zoneversion
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - isc_sockaddr_format
    - make_printable
    - INSIST
    - isc_mem_get
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - isc_mem_put
    - make_hex
    linkageType: ''
    returnType: void
    signature: "void log_zoneversion(unsigned char *version, size_t version_len, unsigned
      char *nsid,\n\t\tsize_t nsid_len, resquery_t *query, int level,\n\t\tisc_mem_t
      *mctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isstrictsubdomain
      Src: /src/bind9/lib/dns/resolver.c:7332,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7343
      start: 7327
    functionDepth: 2
    functionLinenumber: 7327
    functionLinenumberEnd: 7343
    functionName: betterreferral
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isstrictsubdomain
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool betterreferral(respctx_t *rctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isstrictsubdomain
      Src: /src/bind9/lib/dns/resolver.c:7332,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7341
      start: 7331
    functionDepth: 2
    functionLinenumber: 7331
    functionLinenumberEnd: 7341
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - isstrictsubdomain
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_AUTHORITY, name)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7360,1
    - Dst: VALID_QUERY
      Src: /src/bind9/lib/dns/resolver.c:7360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7362,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:7362,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7363,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:7363,1
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:7365,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:7368,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7369,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7371,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7375,1
    - Dst: rctx_respinit
      Src: /src/bind9/lib/dns/resolver.c:7376,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:7379,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7382,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7384,1
    - Dst: rctx_timedout
      Src: /src/bind9/lib/dns/resolver.c:7388,1
    - Dst: rctx_dispfail
      Src: /src/bind9/lib/dns/resolver.c:7400,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/dns/resolver.c:7406,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/resolver.c:7410,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7413,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7414,1
    - Dst: dns_message_setclass
      Src: /src/bind9/lib/dns/resolver.c:7419,1
    - Dst: dns_adb_setudpsize
      Src: /src/bind9/lib/dns/resolver.c:7423,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:7425,1
    - Dst: dns_adb_plainresponse
      Src: /src/bind9/lib/dns/resolver.c:7427,1
    - Dst: rctx_parse
      Src: /src/bind9/lib/dns/resolver.c:7434,1
    - Dst: rctx_logpacket
      Src: /src/bind9/lib/dns/resolver.c:7442,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7446,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7447,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/dns/resolver.c:7454,1
    - Dst: rctx_opt
      Src: /src/bind9/lib/dns/resolver.c:7456,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:7467,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7469,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7471,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7475,1
    - Dst: same_question
      Src: /src/bind9/lib/dns/resolver.c:7500,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7502,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7504,1
    - Dst: dns_message_checksig_async
      Src: /src/bind9/lib/dns/resolver.c:7518,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7521,1
    - Dst: dns_message_checksig
      Src: /src/bind9/lib/dns/resolver.c:7527,1
    - Dst: resquery_response_continue
      Src: /src/bind9/lib/dns/resolver.c:7528,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:7534,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 3
    argNames:
    - eresult
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7535
      start: 7349
    functionDepth: 6
    functionLinenumber: 7349
    functionLinenumberEnd: 7535
    functionName: resquery_response
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - isc_mem_putanddetach
    - isc_sockaddr_format
    - isc_log_write
    - REQUIRE
    - FCTXTRACE3
    - dns_message_checksig_async
    - rctx_done
    - dns_adb_setudpsize
    - rctx_timedout
    - rctx_logpacket
    - VALID_QUERY
    - isc_log_wouldlog
    - isc_tid
    - inc_stats
    - rctx_parse
    - dns_message_getopt
    - INSIST
    - atomic_load_acquire
    - isc_mem_get
    - rctx_opt
    - dns_message_checksig
    - dns_message_setquerytsig
    - isc_sockaddr_pf
    - QTRACE
    - rctx_respinit
    - dns_message_settsigkey
    - FCTXTRACE
    - resquery_response_continue
    - same_question
    - isc_buffer_usedlength
    - dns_adb_plainresponse
    - dns_message_setclass
    - rctx_dispfail
    linkageType: ''
    returnType: void
    signature: void resquery_response(isc_result_t eresult, isc_region_t *region,
      void *arg)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:7543,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7546,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7552,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7560,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/resolver.c:7569,1
    - Dst: dns_adb_getcookie
      Src: /src/bind9/lib/dns/resolver.c:7573,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:7576,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7578,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7580,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7589,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:7594,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:7596,1
    - Dst: dns_peer_getrequirecookie
      Src: /src/bind9/lib/dns/resolver.c:7600,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:7603,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7606,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7611,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7622,1
    - Dst: rctx_edns
      Src: /src/bind9/lib/dns/resolver.c:7629,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7639,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7647,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7648,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7658,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7659,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7671,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7674,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7677,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7680,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7683,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7686,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7689,1
    - Dst: rctx_badserver
      Src: /src/bind9/lib/dns/resolver.c:7696,1
    - Dst: rctx_lameserver
      Src: /src/bind9/lib/dns/resolver.c:7704,1
    - Dst: checknames
      Src: /src/bind9/lib/dns/resolver.c:7715,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:7721,1
    - Dst: rctx_answer
      Src: /src/bind9/lib/dns/resolver.c:7731,1
    - Dst: rctx_answer_none
      Src: /src/bind9/lib/dns/resolver.c:7743,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7764,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7765,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7775,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7776,1
    - Dst: rctx_additional
      Src: /src/bind9/lib/dns/resolver.c:7783,1
    - Dst: WANTCACHE
      Src: /src/bind9/lib/dns/resolver.c:7789,1
    - Dst: cache_message
      Src: /src/bind9/lib/dns/resolver.c:7791,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7794,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7795,1
    - Dst: rctx_ncache
      Src: /src/bind9/lib/dns/resolver.c:7803,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7805,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7806,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:7809,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 159
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7810
      start: 7537
    functionDepth: 8
    functionLinenumber: 7537
    functionLinenumberEnd: 7810
    functionName: resquery_response_continue
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_mem_putanddetach
    - dns_message_gettsig
    - isc_sockaddr_format
    - dns_adb_getcookie
    - isc_log_write
    - rctx_edns
    - FCTXTRACE3
    - rctx_ncache
    - rctx_additional
    - rctx_answer_none
    - isc_log_wouldlog
    - inc_stats
    - isc_netaddr_fromsockaddr
    - rctx_badserver
    - INSIST
    - WANTCACHE
    - dns_peer_getrequirecookie
    - FCTX_ATTR_CLR
    - QTRACE
    - rctx_answer
    - rctx_lameserver
    - FCTXTRACE
    - checknames
    - cache_message
    - dns_peerlist_peerbyaddr
    - rctx_done
    linkageType: ''
    returnType: void
    signature: void resquery_response_continue(void *arg, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7827,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:7828,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:7829,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/dns/resolver.c:7831,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:7833,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/resolver.c:7835,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:7836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - query
    - fctx
    - result
    - region
    - rctx
    argTypes:
    - resquery_t*
    - fetchctx_t*
    - isc_result_t
    - isc_region_t*
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7837
      start: 7818
    functionDepth: 3
    functionLinenumber: 7818
    functionLinenumberEnd: 7837
    functionName: rctx_respinit
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_buffer_init
    - isc_buffer_initnull
    - isc_time_now
    - REQUIRE
    - isc_time_seconds
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: "void rctx_respinit(resquery_t *query, fetchctx_t *fctx, isc_result_t
      result,\n\t      isc_region_t *region, respctx_t *rctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:7862,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7869,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7889
      start: 7846
    functionDepth: 1
    functionLinenumber: 7846
    functionLinenumberEnd: 7889
    functionName: rctx_answer_init
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_rdatatype_issig
    linkageType: ''
    returnType: void
    signature: void rctx_answer_init(respctx_t *rctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7935,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7936,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7938
      start: 7895
    functionDepth: 1
    functionLinenumber: 7895
    functionLinenumberEnd: 7938
    functionName: rctx_dispfail
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - rctx_done
    - FCTXTRACE3
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_dispfail(respctx_t *rctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7951,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:7952,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:7959,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:7961,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7962,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:7964,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7967,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7977
      start: 7944
    functionDepth: 3
    functionLinenumber: 7944
    functionLinenumberEnd: 7977
    functionName: rctx_timedout
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - inc_stats
    - FCTXTRACE
    - isc_time_now
    - dns_ede_add
    - FCTX_ATTR_CLR
    - isc_time_microdiff
    - rctx_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_timedout(respctx_t *rctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/resolver.c:7989,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7994,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8027,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8033,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8044,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8050,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8056,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8061
      start: 7983
    functionDepth: 1
    functionLinenumber: 7983
    functionLinenumberEnd: 8061
    functionName: rctx_parse
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_message_parse
    - rctx_done
    - inc_stats
    - FCTXTRACE3
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_parse(respctx_t *rctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/resolver.c:8082,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/resolver.c:8087,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:8088,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:8089,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:8090,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/resolver.c:8092,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/resolver.c:8097,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/resolver.c:8098,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:8099,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/resolver.c:8099,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:8106,1
    - Dst: log_nsid
      Src: /src/bind9/lib/dns/resolver.c:8109,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:8120,1
    - Dst: compute_cc
      Src: /src/bind9/lib/dns/resolver.c:8121,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:8122,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8125,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resolver.c:8128,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8139,1
    - Dst: dns_adb_setcookie
      Src: /src/bind9/lib/dns/resolver.c:8141,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:8150,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/resolver.c:8156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:8158,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/resolver.c:8158,1
    - Dst: log_zoneversion
      Src: /src/bind9/lib/dns/resolver.c:8163,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8166
      start: 8067
    functionDepth: 5
    functionLinenumber: 8067
    functionLinenumberEnd: 8166
    functionName: rctx_opt
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_adb_setcookie
    - log_zoneversion
    - inc_stats
    - isc_buffer_forward
    - dns_rdataset_current
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_init
    - compute_cc
    - memcmp
    - dns_rdataset_first
    - isc_buffer_current
    - isc_buffer_add
    - log_nsid
    - isc_buffer_getuint16
    linkageType: ''
    returnType: void
    signature: void rctx_opt(respctx_t *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EDNSOK
      Src: /src/bind9/lib/dns/resolver.c:8182,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:8189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8192
      start: 8173
    functionDepth: 2
    functionLinenumber: 8173
    functionLinenumberEnd: 8192
    functionName: rctx_edns
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - EDNSOK
    - dns_adb_changeflags
    linkageType: ''
    returnType: void
    signature: void rctx_edns(respctx_t *rctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:8207,1
    - Dst: rctx_answer_positive
      Src: /src/bind9/lib/dns/resolver.c:8209,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8211,1
    - Dst: betterreferral
      Src: /src/bind9/lib/dns/resolver.c:8213,1
    - Dst: rctx_answer_positive
      Src: /src/bind9/lib/dns/resolver.c:8214,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8216,1
    - Dst: rctx_answer_none
      Src: /src/bind9/lib/dns/resolver.c:8223,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8225,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8248,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8249,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8258,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8264
      start: 8200
    functionDepth: 3
    functionLinenumber: 8200
    functionLinenumberEnd: 8264
    functionName: rctx_answer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - rctx_answer_positive
    - betterreferral
    - FCTXTRACE3
    - ISFORWARDER
    - rctx_answer_none
    - rctx_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer(respctx_t *rctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:8278,1
    - Dst: rctx_answer_init
      Src: /src/bind9/lib/dns/resolver.c:8280,1
    - Dst: rctx_answer_scan
      Src: /src/bind9/lib/dns/resolver.c:8281,1
    - Dst: rctx_answer_any
      Src: /src/bind9/lib/dns/resolver.c:8289,1
    - Dst: rctx_answer_match
      Src: /src/bind9/lib/dns/resolver.c:8294,1
    - Dst: rctx_answer_cname
      Src: /src/bind9/lib/dns/resolver.c:8299,1
    - Dst: rctx_answer_dname
      Src: /src/bind9/lib/dns/resolver.c:8304,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8309,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:8316,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8330,1
    - Dst: rctx_authority_positive
      Src: /src/bind9/lib/dns/resolver.c:8339,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:8341,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8344,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8345,1
    - Dst: trim_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:8347,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8351
      start: 8273
    functionDepth: 4
    functionLinenumber: 8273
    functionLinenumberEnd: 8351
    functionName: rctx_answer_positive
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - rctx_authority_positive
    - rctx_answer_cname
    - FCTXTRACE
    - FCTX_ATTR_SET
    - rctx_answer_match
    - log_ns_ttl
    - dns_name_equal
    - trim_ns_ttl
    - rctx_answer_scan
    - rctx_answer_any
    - rctx_answer_init
    - rctx_answer_dname
    - log_formerr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_positive(respctx_t *rctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:8371,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8375,1
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8397,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8418,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8448
      start: 8361
    functionDepth: 3
    functionLinenumber: 8361
    functionLinenumberEnd: 8448
    functionName: rctx_answer_scan
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_fullcompare
    - name_external
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void rctx_answer_scan(respctx_t *rctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:8371,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8375,1
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8397,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8418,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8431
      start: 8366
    functionDepth: 3
    functionLinenumber: 8366
    functionLinenumberEnd: 8431
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_name_fullcompare
    - name_external
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_ANSWER, name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8460,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8461,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:8466,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:8472,1
    - Dst: is_answeraddress_allowed
      Src: /src/bind9/lib/dns/resolver.c:8473,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:8480,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8481,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8496
      start: 8456
    functionDepth: 11
    functionLinenumber: 8456
    functionLinenumberEnd: 8496
    functionName: rctx_answer_any
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdatatype_isaddr
    - dns_rdatatype_isalias
    - is_answeraddress_allowed
    - is_answertarget_allowed
    - validinanswer
    - ISC_LIST_FOREACH
    - dns_rdatatype_issig
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_any(respctx_t *rctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8509,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:8514,1
    - Dst: is_answeraddress_allowed
      Src: /src/bind9/lib/dns/resolver.c:8515,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:8521,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8524,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:8536,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8540,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8541,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8559
      start: 8505
    functionDepth: 11
    functionLinenumber: 8505
    functionLinenumberEnd: 8559
    functionName: rctx_answer_match
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdatatype_isaddr
    - dns_rdataset_additionaldata
    - dns_rdatatype_isalias
    - is_answeraddress_allowed
    - is_answertarget_allowed
    - validinanswer
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_match(respctx_t *rctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8570,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:8579,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8580,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8585,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8600,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8620
      start: 8566
    functionDepth: 11
    functionLinenumber: 8566
    functionLinenumberEnd: 8620
    functionName: rctx_answer_cname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - is_answertarget_allowed
    - validinanswer
    - ISC_LIST_FOREACH
    - dns_rdatatype_format
    - log_formerr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_cname(respctx_t *rctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8630,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8635,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8650,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8669
      start: 8626
    functionDepth: 11
    functionLinenumber: 8626
    functionLinenumberEnd: 8669
    functionName: rctx_answer_dname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - is_answertarget_allowed
    - validinanswer
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_dname(respctx_t *rctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8688,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8693,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:8718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8727
      start: 8682
    functionDepth: 3
    functionLinenumber: 8682
    functionLinenumberEnd: 8727
    functionName: rctx_authority_positive
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - name_external
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void rctx_authority_positive(respctx_t *rctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8688,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8693,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:8718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8726
      start: 8687
    functionDepth: 3
    functionLinenumber: 8687
    functionLinenumberEnd: 8726
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_additionaldata
    - name_external
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_AUTHORITY, name)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:8741,1
    - Dst: rctx_answer_init
      Src: /src/bind9/lib/dns/resolver.c:8743,1
    - Dst: rctx_authority_negative
      Src: /src/bind9/lib/dns/resolver.c:8759,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:8764,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8767,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8768,1
    - Dst: trim_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:8770,1
    - Dst: rctx_authority_dnssec
      Src: /src/bind9/lib/dns/resolver.c:8787,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8798,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8799,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8812,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8815,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:8820,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:8822,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:8823,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8825,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8830,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8841,1
    - Dst: rctx_referral
      Src: /src/bind9/lib/dns/resolver.c:8848,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:8862,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8866
      start: 8736
    functionDepth: 4
    functionLinenumber: 8736
    functionLinenumberEnd: 8866
    functionName: rctx_answer_none
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_rdatatype_format
    - dns_name_issubdomain
    - FCTXTRACE
    - log_ns_ttl
    - FCTX_ATTR_SET
    - dns_name_equal
    - rctx_authority_dnssec
    - rctx_referral
    - trim_ns_ttl
    - rctx_answer_init
    - rctx_authority_negative
    - log_formerr
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_none(respctx_t *rctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8884,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8888,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:8890,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8895,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:8900,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:8901,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:8902,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8903,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8921,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8946,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:8961,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8974
      start: 8875
    functionDepth: 4
    functionLinenumber: 8875
    functionLinenumberEnd: 8974
    functionName: rctx_authority_negative
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_issubdomain
    - ISC_LIST_FOREACH
    - dns_name_format
    - ISFORWARDER
    - dns_rdatatype_format
    - dns_rdatatype_issig
    - log_formerr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_authority_negative(respctx_t *rctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8884,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8888,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:8890,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8895,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:8900,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:8901,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:8902,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8903,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8921,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8946,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:8961,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8971
      start: 8883
    functionDepth: 4
    functionLinenumber: 8883
    functionLinenumberEnd: 8971
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_name_issubdomain
    - ISC_LIST_FOREACH
    - dns_name_format
    - ISFORWARDER
    - dns_rdatatype_format
    - dns_rdatatype_issig
    - log_formerr
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WANTNCACHE
      Src: /src/bind9/lib/dns/resolver.c:8987,1
    - Dst: ncache_message
      Src: /src/bind9/lib/dns/resolver.c:9005,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:9008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9010
      start: 8981
    functionDepth: 6
    functionLinenumber: 8981
    functionLinenumberEnd: 9010
    functionName: rctx_ncache
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - WANTNCACHE
    - FCTXTRACE3
    - ncache_message
    linkageType: ''
    returnType: void
    signature: void rctx_ncache(respctx_t *rctx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9025,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:9031,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9035,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:9040,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9058,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9077,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9087,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:9104,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9118,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9131
      start: 9018
    functionDepth: 4
    functionLinenumber: 9018
    functionLinenumberEnd: 9131
    functionName: rctx_authority_dnssec
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_HEAD
    - dns_name_issubdomain
    - issecuredomain
    - ISC_LIST_FOREACH
    - ISFORWARDER
    - dns_rdatatype_issig
    - log_formerr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_authority_dnssec(respctx_t *rctx)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9025,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:9031,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9035,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:9040,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9058,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9077,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9087,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:9104,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9118,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9128
      start: 9024
    functionDepth: 4
    functionLinenumber: 9024
    functionLinenumberEnd: 9128
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_HEAD
    - dns_name_issubdomain
    - issecuredomain
    - ISC_LIST_FOREACH
    - ISFORWARDER
    - dns_rdatatype_issig
    - log_formerr
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_AUTHORITY, name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:9153,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9154,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9163,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9165,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9166,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9176,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:9177,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9181,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:9191,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9192,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:9196,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9215,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:9215,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:9216,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:9218,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:9219,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9222,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9225,1
    - Dst: fctx_minimize_qname
      Src: /src/bind9/lib/dns/resolver.c:9227,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:9230,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:9236,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:9238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9261
      start: 9138
    functionDepth: 6
    functionLinenumber: 9138
    functionLinenumberEnd: 9261
    functionName: rctx_referral
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_countlabels
    - dns_rdatatype_isaddr
    - dns_rdataset_additionaldata
    - fcount_incr
    - dns_name_issubdomain
    - FCTXTRACE
    - FCTX_ATTR_SET
    - fctx_minimize_qname
    - dns_name_equal
    - INSIST
    - dns_rdataset_isassociated
    - log_ns_ttl
    - fcount_decr
    - dns_rdataset_disassociate
    - dns_name_copy
    - FCTX_ATTR_CLR
    - log_formerr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_referral(respctx_t *rctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9282,1
    - Dst: CHASE
      Src: /src/bind9/lib/dns/resolver.c:9283,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9295
      start: 9268
    functionDepth: 1
    functionLinenumber: 9268
    functionLinenumberEnd: 9295
    functionName: rctx_additional
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - CHASE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void rctx_additional(respctx_t *rctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9282,1
    - Dst: CHASE
      Src: /src/bind9/lib/dns/resolver.c:9283,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9291
      start: 9277
    functionDepth: 1
    functionLinenumber: 9277
    functionLinenumberEnd: 9291
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_additionaldata
    - CHASE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:9316,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:9325,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:9326,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9329,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:9332,1
    - Dst: dns_view_findzonecut
      Src: /src/bind9/lib/dns/resolver.c:9341,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9345,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9346,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9349,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9354,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9355,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:9359,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9361,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9362,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:9364,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9366,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:9371,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:9372,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:9379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 4
    argNames:
    - rctx
    - message
    - addrinfo
    - result
    argTypes:
    - respctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9380
      start: 9302
    functionDepth: 13
    functionLinenumber: 9302
    functionLinenumberEnd: 9380
    functionName: rctx_nextserver
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_view_findzonecut
    - fcount_incr
    - dns_name_issubdomain
    - dns_fixedname_initname
    - FCTXTRACE
    - add_bad
    - fctx_cleanup
    - fctx_try
    - fctx_cancelqueries
    - dns_rdatatype_atparent
    - fcount_decr
    - dns_name_copy
    - fctx_done_detach
    linkageType: ''
    returnType: void
    signature: "void rctx_nextserver(respctx_t *rctx, dns_message_t *message,\n\t\tdns_adbaddrinfo_t
      *addrinfo, isc_result_t result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9395,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9396,1
    - Dst: fctx_query
      Src: /src/bind9/lib/dns/resolver.c:9397,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rctx
    - addrinfo
    argTypes:
    - respctx_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9401
      start: 9390
    functionDepth: 12
    functionLinenumber: 9390
    functionLinenumberEnd: 9401
    functionName: rctx_resend
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_done_detach
    - FCTXTRACE
    - fctx_query
    - inc_stats
    linkageType: ''
    returnType: void
    signature: void rctx_resend(respctx_t *rctx, dns_adbaddrinfo_t *addrinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9415,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9416,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9417,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/resolver.c:9418,1
    - Dst: dns_dispatch_getnext
      Src: /src/bind9/lib/dns/resolver.c:9419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9421
      start: 9410
    functionDepth: 5
    functionLinenumber: 9410
    functionLinenumberEnd: 9421
    functionName: rctx_next
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - inc_stats
    - FCTXTRACE
    - INSIST
    - dns_dispatch_getnext
    - dns_message_reset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_next(respctx_t *rctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:9434,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:9435,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:9436,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:9438,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:9439,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9441,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:9443,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:9444,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9453,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:9454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - rctx
    - message
    - addrinfo
    - result
    argTypes:
    - respctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9457
      start: 9428
    functionDepth: 10
    functionLinenumber: 9428
    functionLinenumberEnd: 9457
    functionName: rctx_chaseds
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - fetchctx_ref
    - fctx_cleanup
    - add_bad
    - FCTXTRACE
    - fctx_done_detach
    - fetchctx_detach
    - dns_resolver_createfetch
    - fctx_cancelqueries
    linkageType: ''
    returnType: void
    signature: "void rctx_chaseds(respctx_t *rctx, dns_message_t *message,\n\t     dns_adbaddrinfo_t
      *addrinfo, isc_result_t result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_attach
      Src: /src/bind9/lib/dns/resolver.c:9480,1
    - Dst: FCTXTRACE4
      Src: /src/bind9/lib/dns/resolver.c:9482,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:9489,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9498,1
    - Dst: rctx_next
      Src: /src/bind9/lib/dns/resolver.c:9500,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:9507,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:9512,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:9513,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9517,1
    - Dst: rctx_nextserver
      Src: /src/bind9/lib/dns/resolver.c:9520,1
    - Dst: rctx_resend
      Src: /src/bind9/lib/dns/resolver.c:9522,1
    - Dst: rctx_chaseds
      Src: /src/bind9/lib/dns/resolver.c:9524,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:9525,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9530,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:9531,1
    - Dst: fctx_done_detach
      Src: /src/bind9/lib/dns/resolver.c:9536,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:9540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - rctx
    - result
    argTypes:
    - respctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9541
      start: 9467
    functionDepth: 14
    functionLinenumber: 9467
    functionLinenumberEnd: 9541
    functionName: rctx_done
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 6
    functionsReached:
    - LOCK
    - rctx_next
    - ISC_LIST_EMPTY
    - rctx_chaseds
    - fctx_done_detach
    - rctx_nextserver
    - rctx_resend
    - FCTXTRACE
    - fctx_cancelquery
    - UNLOCK
    - dns_message_detach
    - fctx_cancelqueries
    - dns_message_attach
    - REQUIRE
    - FCTXTRACE4
    - HAVE_ANSWER
    linkageType: ''
    returnType: void
    signature: void rctx_done(respctx_t *rctx, isc_result_t result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispentry_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:9561,1
    - Dst: dns_message_logpacketfromto
      Src: /src/bind9/lib/dns/resolver.c:9567,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:9570,1
    - Dst: memset
      Src: /src/bind9/lib/dns/resolver.c:9576,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/resolver.c:9577,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/resolver.c:9578,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:9579,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/resolver.c:9580,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/resolver.c:9582,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/resolver.c:9584,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/resolver.c:9593,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/dns/resolver.c:9601,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9605
      start: 9547
    functionDepth: 4
    functionLinenumber: 9547
    functionLinenumberEnd: 9605
    functionName: rctx_logpacket
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - dns_compress_setpermitted
    - dns_dt_send
    - memset
    - dns_message_logpacketfromto
    - dns_transport_get_type
    - ISC_LOG_DEBUG
    - isc_buffer_init
    - dns_name_towire
    - dns_dispentry_getlocaladdress
    - isc_buffer_usedregion
    - dns_compress_init
    linkageType: ''
    returnType: void
    signature: void rctx_logpacket(respctx_t *rctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:9619,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9638,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9646,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9655,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9663,1
    - Dst: EDNSOK
      Src: /src/bind9/lib/dns/resolver.c:9676,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:9678,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:9693,1
    - Dst: BADCOOKIE
      Src: /src/bind9/lib/dns/resolver.c:9709,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9714,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:9729,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/resolver.c:9730,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:9731,1
    - Dst: FCTXTRACE2
      Src: /src/bind9/lib/dns/resolver.c:9732,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:9733,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 2
    argNames:
    - rctx
    - result
    argTypes:
    - respctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9736
      start: 9611
    functionDepth: 15
    functionLinenumber: 9611
    functionLinenumberEnd: 9736
    functionName: rctx_badserver
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - QTRACE
    - inc_stats
    - dns_adb_changeflags
    - rctx_done
    - INSIST
    - FCTXTRACE2
    - isc_buffer_init
    - isc_buffer_usedlength
    - dns_rcode_totext
    - ISFORWARDER
    - BADCOOKIE
    - EDNSOK
    - log_formerr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_badserver(respctx_t *rctx, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9748,1
    - Dst: is_lame
      Src: /src/bind9/lib/dns/resolver.c:9748,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9752,1
    - Dst: log_lame
      Src: /src/bind9/lib/dns/resolver.c:9753,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9756,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:9757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9760
      start: 9742
    functionDepth: 15
    functionLinenumber: 9742
    functionLinenumberEnd: 9760
    functionName: rctx_lameserver
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - is_lame
    - inc_stats
    - FCTXTRACE
    - log_lame
    - ISFORWARDER
    - rctx_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_lameserver(respctx_t *rctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9769,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:9769,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9770,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:9772,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/resolver.c:9776,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/resolver.c:9777,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/dns/resolver.c:9780,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/resolver.c:9783,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:9786,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:9787,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9789,1
    - Dst: isc_hashmap_count
      Src: /src/bind9/lib/dns/resolver.c:9789,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/resolver.c:9790,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/resolver.c:9791,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9793,1
    - Dst: isc_hashmap_count
      Src: /src/bind9/lib/dns/resolver.c:9793,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/resolver.c:9794,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/resolver.c:9795,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/resolver.c:9798,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/resolver.c:9801,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:9803,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:9804,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/resolver.c:9806,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:9808,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/resolver.c:9811,1
    - Dst: dns_message_destroypools
      Src: /src/bind9/lib/dns/resolver.c:9814,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/resolver.c:9816,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/resolver.c:9818,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:9821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9822
      start: 9765
    functionDepth: 3
    functionLinenumber: 9765
    functionLinenumberEnd: 9822
    functionName: dns_resolver__destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_stats_detach
    - isc_mem_putanddetach
    - dns_name_free
    - isc_hashmap_count
    - REQUIRE
    - dns_view_weakdetach
    - isc_hashmap_destroy
    - dns_message_destroypools
    - ISC_LIST_HEAD
    - isc_rwlock_destroy
    - isc_mutex_destroy
    - RTRACE
    - INSIST
    - atomic_load_acquire
    - ISC_LIST_UNLINK
    - dns_stats_detach
    - dns_nametree_detach
    - isc_mem_put
    - isc_mem_cput
    - dns_dispatchset_destroy
    linkageType: ''
    returnType: void
    signature: void dns_resolver__destroy(dns_resolver_t *res)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9829,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:9829,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/resolver.c:9831,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:9832,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:9836,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9837,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:9837,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:9842,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9844,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:9846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9850
      start: 9824
    functionDepth: 2
    functionLinenumber: 9824
    functionLinenumberEnd: 9850
    functionName: spillattimer_countdown
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - LOCK
    - isc_timer_destroy
    - INSIST
    - UNLOCK
    - atomic_load_acquire
    - isc_log_write
    - REQUIRE
    - atomic_load
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void spillattimer_countdown(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9863,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/resolver.c:9863,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9864,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9865,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9866,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:9868,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/resolver.c:9884,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:9889,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/resolver.c:9891,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:9892,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:9898,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/resolver.c:9901,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/resolver.c:9903,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/resolver.c:9904,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/resolver.c:9906,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/resolver.c:9907,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/resolver.c:9910,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/resolver.c:9915,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:9919,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:9920,1
    - Dst: dns_nametree_create
      Src: /src/bind9/lib/dns/resolver.c:9922,1
    - Dst: dns_nametree_create
      Src: /src/bind9/lib/dns/resolver.c:9924,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/resolver.c:9927,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/resolver.c:9929,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/resolver.c:9932,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/resolver.c:9933,1
    - Dst: dns_message_createpools
      Src: /src/bind9/lib/dns/resolver.c:9935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 8
    argNames:
    - view
    - loopmgr
    - nm
    - options
    - tlsctx_cache
    - dispatchv4
    - dispatchv6
    - resp
    argTypes:
    - dns_view_t*
    - isc_loopmgr_t*
    - isc_nm_t*
    - unsigned int
    - isc_tlsctx_cache_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    - dns_resolver_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9944
      start: 9852
    functionDepth: 5
    functionLinenumber: 9852
    functionLinenumberEnd: 9944
    functionName: dns_resolver_create
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_dispatchset_create
    - isc_mem_attach
    - isc_mutex_init
    - isc_rwlock_init
    - isc_mem_cget
    - dns_message_createpools
    - isc_loop_getmctx
    - RTRACE
    - isc_mem_get
    - DNS_VIEW_VALID
    - isc_refcount_init
    - isc_loop_get
    - REQUIRE
    - dns_view_weakattach
    - fprintf
    - dns_nametree_create
    - isc_hashmap_create
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_resolver_create(dns_view_t *view, isc_loopmgr_t *loopmgr,
      isc_nm_t *nm,\n\t\t    unsigned int options, isc_tlsctx_cache_t *tlsctx_cache,\n\t\t
      \   dns_dispatch_t *dispatchv4, dns_dispatch_t *dispatchv6,\n\t\t    dns_resolver_t
      **resp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9953,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:9953,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:9955,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:9957,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:9959,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:9961,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9964,1
    - Dst: atomic_compare_exchange_enforced
      Src: /src/bind9/lib/dns/resolver.c:9966,1
    - Dst: dns_cache_attachdb
      Src: /src/bind9/lib/dns/resolver.c:9971,1
    - Dst: dns_root_checkhints
      Src: /src/bind9/lib/dns/resolver.c:9972,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:9973,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:9977,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:9980,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:9982,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:9983,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9985,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:9987,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/resolver.c:9988,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/resolver.c:9989,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9990
      start: 9946
    functionDepth: 4
    functionLinenumber: 9946
    functionLinenumberEnd: 9990
    functionName: prime_done
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - LOCK
    - dns_root_checkhints
    - isc_mem_put
    - ISC_LOG_DEBUG
    - dns_db_detach
    - dns_resolver_freefresp
    - isc_result_totext
    - UNLOCK
    - dns_rdataset_isassociated
    - INSIST
    - isc_log_write
    - dns_rdataset_disassociate
    - REQUIRE
    - atomic_compare_exchange_enforced
    - dns_db_detachnode
    - dns_cache_attachdb
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void prime_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9997,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:9997,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9998,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10000,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10002,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/dns/resolver.c:10003,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10017,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:10019,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:10021,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10023,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:10024,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/resolver.c:10027,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10029,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:10032,1
    - Dst: atomic_compare_exchange_enforced
      Src: /src/bind9/lib/dns/resolver.c:10033,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:10036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10038
      start: 9992
    functionDepth: 1
    functionLinenumber: 9992
    functionLinenumberEnd: 10038
    functionName: dns_resolver_prime
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - LOCK
    - inc_stats
    - RTRACE
    - dns_rdataset_init
    - UNLOCK
    - atomic_load_acquire
    - isc_mem_get
    - dns_resolver_createfetch
    - REQUIRE
    - atomic_compare_exchange_strong_acq_rel
    - atomic_compare_exchange_enforced
    - isc_mem_put
    - isc_loop
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_prime(dns_resolver_t *res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10046,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10049
      start: 10040
    functionDepth: 1
    functionLinenumber: 10040
    functionLinenumberEnd: 10049
    functionName: dns_resolver_freeze
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_freeze(dns_resolver_t *res)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10056,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10056,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10058,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/resolver.c:10060,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10063,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:10065,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/resolver.c:10066,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/resolver.c:10067,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/resolver.c:10069,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/resolver.c:10073,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10074,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10076,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10077,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/resolver.c:10079,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10080,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10082,1
    - Dst: isc_timer_async_destroy
      Src: /src/bind9/lib/dns/resolver.c:10084,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10088
      start: 10051
    functionDepth: 3
    functionLinenumber: 10051
    functionLinenumberEnd: 10088
    functionName: dns_resolver_shutdown
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_iter_next
    - LOCK
    - RWUNLOCK
    - RWLOCK
    - fetchctx_ref
    - isc_async_run
    - RTRACE
    - INSIST
    - UNLOCK
    - isc_hashmap_iter_create
    - REQUIRE
    - atomic_compare_exchange_strong
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    - isc_timer_async_destroy
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_shutdown(dns_resolver_t *res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:10100,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:10106,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10110,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:10111,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10115
      start: 10096
    functionDepth: 3
    functionLinenumber: 10096
    functionLinenumberEnd: 10115
    functionName: log_fetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_log_write
    - dns_name_format
    - dns_rdatatype_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void log_fetch(const dns_name_t *name, dns_rdatatype_t type)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10123,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10123,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:10125,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:10127,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:10128,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:10167,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:10168,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/resolver.c:10173,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/resolver.c:10180,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:10183,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:10184,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:10210,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:10215,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10221,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10222,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:10223,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10227
      start: 10117
    functionDepth: 2
    functionLinenumber: 10117
    functionLinenumberEnd: 10227
    functionName: fctx_minimize_qname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - VALID_FCTX
    - dns_db_find
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - dns_name_copy
    - dns_rdataset_init
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void fctx_minimize_qname(fetchctx_t *fctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/resolver.c:10237,1
    - Dst: fctx_hash
      Src: /src/bind9/lib/dns/resolver.c:10243,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:10246,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/resolver.c:10247,1
    - Dst: fctx_create
      Src: /src/bind9/lib/dns/resolver.c:10253,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10256,1
    - Dst: UPGRADELOCK
      Src: /src/bind9/lib/dns/resolver.c:10260,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/resolver.c:10263,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:10273,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10275,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:10281,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10283,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10284,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10291,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10292,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:10294,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10301,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:10304,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/resolver.c:10305,1
    - Dst: fctx_hash
      Src: /src/bind9/lib/dns/resolver.c:10305,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10307,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 13
    argNames:
    - res
    - loop
    - name
    - type
    - domain
    - nameservers
    - client
    - options
    - depth
    - qc
    - gqc
    - fctxp
    - new_fctx
    argTypes:
    - dns_resolver_t*
    - isc_loop_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_rdataset_t*
    - isc_sockaddr_t*
    - unsigned int
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_t**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10319
      start: 10229
    functionDepth: 7
    functionLinenumber: 10229
    functionLinenumberEnd: 10319
    functionName: get_attached_fctx
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_hash
    - UNREACHABLE
    - LOCK
    - isc_timer_destroy
    - RWUNLOCK
    - RWLOCK
    - fetchctx_ref
    - isc_hashmap_delete
    - fetchctx_detach
    - isc_hashmap_add
    - INSIST
    - SHUTTINGDOWN
    - UNLOCK
    - fctx_create
    - UNCONST
    - isc_hashmap_find
    - UPGRADELOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_attached_fctx(dns_resolver_t *res, isc_loop_t *loop,
      const dns_name_t *name,\n\t\t  dns_rdatatype_t type, const dns_name_t *domain,\n\t\t
      \ dns_rdataset_t *nameservers, const isc_sockaddr_t *client,\n\t\t  unsigned
      int options, unsigned int depth, isc_counter_t *qc,\n\t\t  isc_counter_t *gqc,
      fetchctx_t **fctxp, bool *new_fctx)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/resolver.c:10339,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:10341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10343,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10343,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10347,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/resolver.c:10347,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10353,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:10353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10354,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:10354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10355,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10357,1
    - Dst: log_fetch
      Src: /src/bind9/lib/dns/resolver.c:10361,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:10363,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/resolver.c:10366,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:10367,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10375,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10378,1
    - Dst: get_attached_fctx
      Src: /src/bind9/lib/dns/resolver.c:10380,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10388,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:10388,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10392,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/resolver.c:10394,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:10408,1
    - Dst: fctx_create
      Src: /src/bind9/lib/dns/resolver.c:10415,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:10423,1
    - Dst: fctx_join
      Src: /src/bind9/lib/dns/resolver.c:10431,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10435,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10436,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10441,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:10442,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:10447,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:10448,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:10452,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 19
    argNames:
    - res
    - name
    - type
    - domain
    - nameservers
    - forwarders
    - client
    - id
    - options
    - depth
    - qc
    - gqc
    - loop
    - cb
    - arg
    - edectx
    - rdataset
    - sigrdataset
    - fetchp
    argTypes:
    - dns_resolver_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_rdataset_t*
    - dns_forwarders_t*
    - isc_sockaddr_t*
    - dns_messageid_t
    - unsigned int
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - dns_edectx_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_fetch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10456
      start: 10321
    functionDepth: 8
    functionLinenumber: 10321
    functionLinenumberEnd: 10456
    functionName: dns_resolver_createfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 12
    functionsReached:
    - isc_mem_putanddetach
    - fetchctx_ref
    - isc_async_run
    - get_attached_fctx
    - UNLOCK
    - REQUIRE
    - FTRACE
    - isc_mem_attach
    - LOCK
    - dns_rdataset_isassociated
    - SHUTTINGDOWN
    - DNS_RDATASET_VALID
    - isc_loop_getmctx
    - VALID_RESOLVER
    - inc_stats
    - RUNTIME_CHECK
    - UNUSED
    - log_fetch
    - INSIST
    - atomic_load_acquire
    - isc_mem_get
    - fctx_create
    - fetchctx_unref
    - ISC_LIST_FOREACH
    - dns_resolver_detach
    - isc_sockaddr_equal
    - dns_resolver_attach
    - fctx_join
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_resolver_createfetch(dns_resolver_t *res, const dns_name_t
      *name,\n\t\t\t dns_rdatatype_t type, const dns_name_t *domain,\n\t\t\t dns_rdataset_t
      *nameservers,\n\t\t\t dns_forwarders_t *forwarders,\n\t\t\t const isc_sockaddr_t
      *client, dns_messageid_t id,\n\t\t\t unsigned int options, unsigned int depth,\n\t\t\t
      isc_counter_t *qc, isc_counter_t *gqc,\n\t\t\t isc_loop_t *loop, isc_job_cb
      cb, void *arg,\n\t\t\t dns_edectx_t *edectx, dns_rdataset_t *rdataset,\n\t\t\t
      dns_rdataset_t *sigrdataset, dns_fetch_t **fetchp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10463,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:10463,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10465,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10465,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:10467,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10469,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10477,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:10480,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10481,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:10487,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10490,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10493,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_fetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10496
      start: 10458
    functionDepth: 2
    functionLinenumber: 10458
    functionLinenumberEnd: 10496
    functionName: dns_resolver_cancelfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - LOCK
    - VALID_FCTX
    - ISC_LIST_EMPTY
    - isc_async_run
    - fetchctx_ref
    - UNLOCK
    - ISC_LIST_UNLINK
    - REQUIRE
    - ISC_LIST_FOREACH
    - FTRACE
    - DNS_FETCH_VALID
    linkageType: ''
    returnType: void
    signature: void dns_resolver_cancelfetch(dns_fetch_t *fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10507,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:10507,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10509,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10509,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:10512,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10516,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10522,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:10523,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10526,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:10528,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10530,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:10531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - fetchp
    argTypes:
    - dns_fetch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10532
      start: 10498
    functionDepth: 1
    functionLinenumber: 10498
    functionLinenumberEnd: 10532
    functionName: dns_resolver_destroyfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 14
    functionsReached:
    - LOCK
    - VALID_FCTX
    - RUNTIME_CHECK
    - isc_mem_putanddetach
    - dns_resolver_detach
    - fetchctx_detach
    - UNLOCK
    - REQUIRE
    - ISC_LIST_FOREACH
    - FTRACE
    - DNS_FETCH_VALID
    linkageType: ''
    returnType: void
    signature: void dns_resolver_destroyfetch(dns_fetch_t **fetchp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10539,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:10539,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10541,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10541,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10543,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10547,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10548,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:10557,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:10558,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - fetch
    - category
    - module
    - level
    - duplicateok
    argTypes:
    - dns_fetch_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10567
      start: 10534
    functionDepth: 2
    functionLinenumber: 10534
    functionLinenumberEnd: 10567
    functionName: dns_resolver_logfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - LOCK
    - VALID_FCTX
    - isc_result_totext
    - UNLOCK
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - DNS_FETCH_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_logfetch(dns_fetch_t *fetch, isc_logcategory_t category,\n\t\t
      \     isc_logmodule_t module, int level, bool duplicateok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10571,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10571,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/resolver.c:10572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10573
      start: 10569
    functionDepth: 2
    functionLinenumber: 10569
    functionLinenumberEnd: 10573
    functionName: dns_resolver_dispatchv4
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_dispatchset_get
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: dns_dispatch_t
    signature: 'dns_dispatch_t *

      dns_resolver_dispatchv4(dns_resolver_t *resolver)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10577,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10577,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/resolver.c:10578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10579
      start: 10575
    functionDepth: 2
    functionLinenumber: 10575
    functionLinenumberEnd: 10579
    functionName: dns_resolver_dispatchv6
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_dispatchset_get
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: dns_dispatch_t
    signature: 'dns_dispatch_t *

      dns_resolver_dispatchv6(dns_resolver_t *resolver)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10586,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10586,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10587,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10588,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:10590,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:10597,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/resolver.c:10598,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/resolver.c:10600,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:10601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - res
    - alt
    - name
    - port
    argTypes:
    - dns_resolver_t*
    - isc_sockaddr_t*
    - dns_name_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10602
      start: 10581
    functionDepth: 1
    functionLinenumber: 10581
    functionLinenumberEnd: 10602
    functionName: dns_resolver_addalternate
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - isc_mem_get
    - REQUIRE
    - dns_name_dup
    - VALID_RESOLVER
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_addalternate(dns_resolver_t *res, const isc_sockaddr_t
      *alt,\n\t\t\t  const dns_name_t *name, in_port_t port)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10607,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10607,1
    - Dst: dns_nametree_add
      Src: /src/bind9/lib/dns/resolver.c:10613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - name
    - alg
    argTypes:
    - dns_resolver_t*
    - dns_name_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10614
      start: 10604
    functionDepth: 13
    functionLinenumber: 10604
    functionLinenumberEnd: 10614
    functionName: dns_resolver_disable_algorithm
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_nametree_add
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_resolver_disable_algorithm(dns_resolver_t *resolver,
      const dns_name_t *name,\n\t\t\t       unsigned int alg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10619,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10619,1
    - Dst: dns_nametree_add
      Src: /src/bind9/lib/dns/resolver.c:10625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - name
    - digest_type
    argTypes:
    - dns_resolver_t*
    - dns_name_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10626
      start: 10616
    functionDepth: 13
    functionLinenumber: 10616
    functionLinenumberEnd: 10626
    functionName: dns_resolver_disable_ds_digest
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - dns_nametree_add
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_resolver_disable_ds_digest(dns_resolver_t *resolver,
      const dns_name_t *name,\n\t\t\t       unsigned int digest_type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10632,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10632,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:10644,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:10645,1
    - Dst: dst_algorithm_fromprivatedns
      Src: /src/bind9/lib/dns/resolver.c:10646,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:10654,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:10655,1
    - Dst: dst_algorithm_fromprivateoid
      Src: /src/bind9/lib/dns/resolver.c:10656,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:10661,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/resolver.c:10665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - resolver
    - name
    - alg
    - private
    - len
    argTypes:
    - dns_resolver_t*
    - dns_name_t*
    - unsigned int
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10666
      start: 10628
    functionDepth: 10
    functionLinenumber: 10628
    functionLinenumberEnd: 10666
    functionName: dns_resolver_algorithm_supported
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 8
    functionsReached:
    - dst_algorithm_supported
    - isc_buffer_init
    - dst_algorithm_fromprivateoid
    - dst_algorithm_fromprivatedns
    - REQUIRE
    - dns_nametree_covered
    - isc_buffer_add
    - VALID_RESOLVER
    linkageType: ''
    returnType: bool
    signature: "bool dns_resolver_algorithm_supported(dns_resolver_t *resolver,\n\t\t\t\t
      const dns_name_t *name, unsigned int alg,\n\t\t\t\t unsigned char *private,
      size_t len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10672,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10672,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:10674,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/dns/resolver.c:10678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - name
    - digest_type
    argTypes:
    - dns_resolver_t*
    - dns_name_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10679
      start: 10668
    functionDepth: 10
    functionLinenumber: 10668
    functionLinenumberEnd: 10679
    functionName: dns_resolver_ds_digest_supported
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - dst_ds_digest_supported
    - dns_nametree_covered
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: bool
    signature: "bool dns_resolver_ds_digest_supported(dns_resolver_t *resolver,\n\t\t\t\t
      const dns_name_t *name,\n\t\t\t\t unsigned int digest_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10684,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10684,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10686,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:10687,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:10688,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:10689,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - resolver
    - cur
    - min
    - max
    argTypes:
    - dns_resolver_t*
    - uint32_t*
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10691
      start: 10681
    functionDepth: 1
    functionLinenumber: 10681
    functionLinenumberEnd: 10691
    functionName: dns_resolver_getclientsperquery
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - LOCK
    - UNLOCK
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_getclientsperquery(dns_resolver_t *resolver, uint32_t
      *cur,\n\t\t\t\tuint32_t *min, uint32_t *max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10696,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10696,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10698,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - resolver
    - min
    - max
    argTypes:
    - dns_resolver_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10702
      start: 10693
    functionDepth: 1
    functionLinenumber: 10693
    functionLinenumberEnd: 10702
    functionName: dns_resolver_setclientsperquery
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - LOCK
    - REQUIRE
    - UNLOCK
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_setclientsperquery(dns_resolver_t *resolver, uint32_t
      min,\n\t\t\t\tuint32_t max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10706,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10706,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/resolver.c:10708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - clients
    argTypes:
    - dns_resolver_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10709
      start: 10704
    functionDepth: 1
    functionLinenumber: 10704
    functionLinenumberEnd: 10709
    functionName: dns_resolver_setfetchesperzone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - atomic_store_release
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setfetchesperzone(dns_resolver_t *resolver, uint32_t
      clients)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10713,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10713,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/resolver.c:10715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10716
      start: 10711
    functionDepth: 1
    functionLinenumber: 10711
    functionLinenumberEnd: 10716
    functionName: dns_resolver_getfetchesperzone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - atomic_load_relaxed
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_resolver_getfetchesperzone(dns_resolver_t *resolver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10720,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10723
      start: 10718
    functionDepth: 1
    functionLinenumber: 10718
    functionLinenumberEnd: 10723
    functionName: dns_resolver_getzeronosoattl
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: bool
    signature: bool dns_resolver_getzeronosoattl(dns_resolver_t *resolver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10727,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - state
    argTypes:
    - dns_resolver_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10730
      start: 10725
    functionDepth: 1
    functionLinenumber: 10725
    functionLinenumberEnd: 10730
    functionName: dns_resolver_setzeronosoattl
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setzeronosoattl(dns_resolver_t *resolver, bool state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10734,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10737
      start: 10732
    functionDepth: 1
    functionLinenumber: 10732
    functionLinenumberEnd: 10737
    functionName: dns_resolver_getoptions
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_resolver_getoptions(dns_resolver_t *resolver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10741,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10744
      start: 10739
    functionDepth: 1
    functionLinenumber: 10739
    functionLinenumberEnd: 10744
    functionName: dns_resolver_gettimeout
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_resolver_gettimeout(dns_resolver_t *resolver)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10748,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - resolver
    - timeout
    argTypes:
    - dns_resolver_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10765
      start: 10746
    functionDepth: 1
    functionLinenumber: 10746
    functionLinenumberEnd: 10765
    functionName: dns_resolver_settimeout
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int
      timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10769,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10769,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/resolver.c:10770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - max
    argTypes:
    - dns_resolver_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10771
      start: 10767
    functionDepth: 1
    functionLinenumber: 10767
    functionLinenumberEnd: 10771
    functionName: dns_resolver_setmaxvalidations
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - atomic_store
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setmaxvalidations(dns_resolver_t *resolver, uint32_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10775,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10775,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/resolver.c:10776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - max
    argTypes:
    - dns_resolver_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10777
      start: 10773
    functionDepth: 1
    functionLinenumber: 10773
    functionLinenumberEnd: 10777
    functionName: dns_resolver_setmaxvalidationfails
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - atomic_store
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setmaxvalidationfails(dns_resolver_t *resolver, uint32_t
      max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10781,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - maxdepth
    argTypes:
    - dns_resolver_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10783
      start: 10779
    functionDepth: 1
    functionLinenumber: 10779
    functionLinenumberEnd: 10783
    functionName: dns_resolver_setmaxdepth
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setmaxdepth(dns_resolver_t *resolver, unsigned int
      maxdepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10787,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10789
      start: 10785
    functionDepth: 1
    functionLinenumber: 10785
    functionLinenumberEnd: 10789
    functionName: dns_resolver_getmaxdepth
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_resolver_getmaxdepth(dns_resolver_t *resolver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10793,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - queries
    argTypes:
    - dns_resolver_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10795
      start: 10791
    functionDepth: 1
    functionLinenumber: 10791
    functionLinenumberEnd: 10795
    functionName: dns_resolver_setmaxqueries
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setmaxqueries(dns_resolver_t *resolver, unsigned
      int queries)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10799,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10797
    functionDepth: 1
    functionLinenumber: 10797
    functionLinenumberEnd: 10801
    functionName: dns_resolver_getmaxqueries
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_resolver_getmaxqueries(dns_resolver_t *resolver)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10809,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10809,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10810,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10811,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10813,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:10814,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10816,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:10818,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/resolver.c:10819,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/resolver.c:10820,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/resolver.c:10821,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/resolver.c:10828,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10830,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/resolver.c:10831,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/lib/dns/resolver.c:10833,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:10836,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:10838,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10842,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10846,1
    - Dst: isc_timer_running
      Src: /src/bind9/lib/dns/resolver.c:10850,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/resolver.c:10851,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/lib/dns/resolver.c:10852,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/resolver.c:10855,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:10858,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10865,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/resolver.c:10867,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 3
    argNames:
    - res
    - format
    - fp
    argTypes:
    - dns_resolver_t*
    - isc_statsformat_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10869
      start: 10803
    functionDepth: 3
    functionLinenumber: 10803
    functionLinenumberEnd: 10869
    functionName: dns_resolver_dumpfetches
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_iter_next
    - LOCK
    - isc_time_formatISO8601ms
    - strlcpy
    - RWUNLOCK
    - RWLOCK
    - dns_name_print
    - isc_timer_running
    - UNLOCK
    - isc_hashmap_iter_create
    - fprintf
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_hashmap_iter_destroy
    - dns_rdatatype_format
    - isc_hashmap_iter_first
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_dumpfetches(dns_resolver_t *res, isc_statsformat_t
      format,\n\t\t\t FILE *fp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10877,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10877,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10879,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:10884,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/resolver.c:10885,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/resolver.c:10886,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/resolver.c:10887,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/resolver.c:10894,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10896,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10900,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10906,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/resolver.c:10907,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/resolver.c:10912,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resolver.c:10912,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/resolver.c:10916,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/resolver.c:10923,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10924,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - res
    - buf
    argTypes:
    - dns_resolver_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10926
      start: 10871
    functionDepth: 3
    functionLinenumber: 10871
    functionLinenumberEnd: 10926
    functionName: dns_resolver_dumpquota
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_iter_next
    - LOCK
    - RWUNLOCK
    - RWLOCK
    - isc_buffer_reserve
    - isc_buffer_putstr
    - UNLOCK
    - atomic_load_acquire
    - strlen
    - isc_hashmap_iter_create
    - REQUIRE
    - snprintf
    - dns_name_format
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    - VALID_RESOLVER
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_resolver_dumpquota(dns_resolver_t *res, isc_buffer_t
      **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10931,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10931,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10932,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - resolver
    - which
    - resp
    argTypes:
    - dns_resolver_t*
    - dns_quotatype_t
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10936
      start: 10928
    functionDepth: 1
    functionLinenumber: 10928
    functionLinenumberEnd: 10936
    functionName: dns_resolver_setquotaresponse
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_setquotaresponse(dns_resolver_t *resolver, dns_quotatype_t
      which,\n\t\t\t      isc_result_t resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10940,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10940,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - resolver
    - which
    argTypes:
    - dns_resolver_t*
    - dns_quotatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10944
      start: 10938
    functionDepth: 1
    functionLinenumber: 10938
    functionLinenumberEnd: 10944
    functionName: dns_resolver_getquotaresponse
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_resolver_getquotaresponse(dns_resolver_t *resolver,
      dns_quotatype_t which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10948,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10948,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10949,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/resolver.c:10951,1
    - Dst: set_stats
      Src: /src/bind9/lib/dns/resolver.c:10954,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/resolver.c:10955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - res
    - stats
    argTypes:
    - dns_resolver_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10956
      start: 10946
    functionDepth: 3
    functionLinenumber: 10946
    functionLinenumberEnd: 10956
    functionName: dns_resolver_setstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - set_stats
    - REQUIRE
    - VALID_RESOLVER
    - isc_loopmgr_nloops
    - isc_stats_attach
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setstats(dns_resolver_t *res, isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10960,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10960,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10961,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/resolver.c:10964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - res
    - statsp
    argTypes:
    - dns_resolver_t*
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10966
      start: 10958
    functionDepth: 2
    functionLinenumber: 10958
    functionLinenumberEnd: 10966
    functionName: dns_resolver_getstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_stats_attach
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_getstats(dns_resolver_t *res, isc_stats_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10970,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10970,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/resolver.c:10972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - res
    - counter
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10973
      start: 10968
    functionDepth: 2
    functionLinenumber: 10968
    functionLinenumberEnd: 10973
    functionName: dns_resolver_incstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_stats_increment
    - REQUIRE
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_incstats(dns_resolver_t *res, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10977,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10977,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10978,1
    - Dst: dns_stats_attach
      Src: /src/bind9/lib/dns/resolver.c:10980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - res
    - stats
    argTypes:
    - dns_resolver_t*
    - dns_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10981
      start: 10975
    functionDepth: 2
    functionLinenumber: 10975
    functionLinenumberEnd: 10981
    functionName: dns_resolver_setquerystats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_stats_attach
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setquerystats(dns_resolver_t *res, dns_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10985,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10985,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10986,1
    - Dst: dns_stats_attach
      Src: /src/bind9/lib/dns/resolver.c:10989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - res
    - statsp
    argTypes:
    - dns_resolver_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10991
      start: 10983
    functionDepth: 2
    functionLinenumber: 10983
    functionLinenumberEnd: 10991
    functionName: dns_resolver_getquerystats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_stats_attach
    - VALID_RESOLVER
    linkageType: ''
    returnType: void
    signature: void dns_resolver_getquerystats(dns_resolver_t *res, dns_stats_t **statsp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10995,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:11004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - frespp
    argTypes:
    - dns_fetchresponse_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11005
      start: 10993
    functionDepth: 1
    functionLinenumber: 10993
    functionLinenumberEnd: 11005
    functionName: dns_resolver_freefresp
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns_resolver_freefresp(dns_fetchresponse_t **frespp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: VALID_TSIGKEYRING
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TSIGKEYRING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: VALID_TSIGKEY
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_TSIGKEY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: is_response
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_response(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: dns__tsig_algvalid
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns__tsig_algvalid(unsigned int alg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/tsig.c:113,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:117,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/tsig.c:119,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:123,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/tsig.c:125,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/tsig.c:128,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/tsig.c:129,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/tsig.c:130,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/tsig.c:132,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/tsig.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - key
    - level
    - fmt
    argTypes:
    - dns_tsigkey_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 139
    functionName: tsig_log
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - va_end
    - strlcpy
    - va_start
    - isc_log_write
    - dns_name_format
    - vsnprintf
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void tsig_log(dns_tsigkey_t *key, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: tkey_match
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool tkey_match(void *node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: match_ptr
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool match_ptr(void *node, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:155,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:156,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:156,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/tsig.c:158,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/tsig.c:158,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tsig.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: rm_hashmap
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_tsigkey_detach
    - isc_hashmap_delete
    - REQUIRE
    - VALID_TSIGKEYRING
    - VALID_TSIGKEY
    - dns_name_hash
    linkageType: ''
    returnType: void
    signature: void rm_hashmap(dns_tsigkey_t *tkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:165,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:166,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:166,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/tsig.c:168,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tsig.c:169,1
    - Dst: dns_tsigkey_unref
      Src: /src/bind9/lib/dns/tsig.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - tkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: rm_lru
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - VALID_TSIGKEYRING
    - ISC_LINK_LINKED
    - REQUIRE
    - ISC_LIST_UNLINK
    - VALID_TSIGKEY
    - dns_tsigkey_unref
    linkageType: ''
    returnType: void
    signature: void rm_lru(dns_tsigkey_t *tkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:178,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/tsig.c:183,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tsig.c:185,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tsig.c:186,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 190
    functionName: adjust_lru
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - RWUNLOCK
    - RWLOCK
    - ISC_LINK_LINKED
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void adjust_lru(dns_tsigkey_t *tkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:203,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:205,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:216,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tsig.c:217,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/tsig.c:218,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:221,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:231,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/tsig.c:232,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/tsig.c:233,1
    - Dst: dst_key_attach
      Src: /src/bind9/lib/dns/tsig.c:237,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/tsig.c:240,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/tsig.c:241,1
    - Dst: dst_key_size
      Src: /src/bind9/lib/dns/tsig.c:246,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:250,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/tsig.c:251,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:260,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tsig.c:260,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:262,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tsig.c:262,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:264,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tsig.c:264,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/tsig.c:267,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:271,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 10
    argNames:
    - name
    - algorithm
    - dstkey
    - generated
    - restored
    - creator
    - inception
    - expire
    - mctx
    - keyp
    argTypes:
    - dns_name_t*
    - dst_algorithm_t
    - dst_key_t*
    - bool
    - bool
    - dns_name_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - isc_mem_t*
    - dns_tsigkey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 274
    functionName: dns_tsigkey_createfromkey
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - SET_IF_NOT_NULL
    - tsig_log
    - isc_mem_put
    - dst_key_alg
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - dst_key_size
    - dns_name_downcase
    - isc_mem_get
    - isc_refcount_init
    - isc_log_write
    - REQUIRE
    - dst_key_attach
    - dns_name_format
    - dns_name_copy
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tsigkey_createfromkey(const dns_name_t *name, dst_algorithm_t
      algorithm,\n\t\t\t  dst_key_t *dstkey, bool generated, bool restored,\n\t\t\t
      \ const dns_name_t *creator, isc_stdtime_t inception,\n\t\t\t  isc_stdtime_t
      expire, isc_mem_t *mctx,\n\t\t\t  dns_tsigkey_t **keyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:281,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/tsig.c:282,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/tsig.c:283,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/lib/dns/tsig.c:284,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/tsig.c:287,1
    - Dst: rm_lru
      Src: /src/bind9/lib/dns/tsig.c:288,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tsig.c:289,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/tsig.c:291,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/tsig.c:292,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:293,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/tsig.c:297,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/tsig.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 299
    functionName: destroyring
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_destroy
    - dns_tsigkey_detach
    - RWUNLOCK
    - RWLOCK
    - isc_mem_putanddetach
    - isc_hashmap_iter_delcurrent_next
    - rm_lru
    - isc_hashmap_iter_create
    - isc_rwlock_destroy
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    linkageType: ''
    returnType: void
    signature: void destroyring(dns_tsigkeyring_t *ring)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/tsig.c:312,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: dns__tsig_algfromname
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - dns_name_equal
    linkageType: ''
    returnType: dst_algorithm_t
    signature: dst_algorithm_t dns__tsig_algfromname(const dns_name_t *algorithm)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/bind9/lib/dns/tsig.c:337,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/tsig.c:346,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:350,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:351,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:351,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:352,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:352,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tsig.c:353,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:358,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:359,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:359,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:360,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:360,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tsig.c:361,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:366,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:367,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:367,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:368,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:368,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tsig.c:369,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tsig.c:374,1
    - Dst: dst_key_restore
      Src: /src/bind9/lib/dns/tsig.c:379,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tsig.c:386,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/lib/dns/tsig.c:390,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tsig.c:392,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tsig.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 3
    argNames:
    - ring
    - now
    - fp
    argTypes:
    - dns_tsigkeyring_t*
    - isc_stdtime_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 397
    functionName: restore_key
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_tsigkeyring_add
    - dns_name_fromtext
    - dst_key_free
    - isc_serial_lt
    - dns_tsigkey_createfromkey
    - dns_fixedname_initname
    - dns_tsigkey_detach
    - dst_key_restore
    - isc_buffer_init
    - strlen
    - fscanf
    - isc_buffer_add
    - dns__tsig_algfromname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t restore_key(dns_tsigkeyring_t *ring, isc_stdtime_t now,
      FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:409,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:411,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:412,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:413,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/tsig.c:413,1
    - Dst: dst_key_dump
      Src: /src/bind9/lib/dns/tsig.c:415,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/tsig.c:417,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tkey
    - fp
    argTypes:
    - dns_tsigkey_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: dump_key
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_tsigkey_algorithm
    - fprintf
    - REQUIRE
    - dst_key_dump
    - dns_name_format
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void dump_key(dns_tsigkey_t *tkey, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:433,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:433,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:435,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/tsig.c:436,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/tsig.c:437,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/tsig.c:438,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/tsig.c:441,1
    - Dst: dump_key
      Src: /src/bind9/lib/dns/tsig.c:444,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/tsig.c:448,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ring
    - fp
    argTypes:
    - dns_tsigkeyring_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 452
    functionName: dns_tsigkeyring_dump
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached:
    - isc_hashmap_iter_current
    - isc_hashmap_iter_next
    - RWUNLOCK
    - RWLOCK
    - isc_hashmap_iter_create
    - REQUIRE
    - isc_stdtime_now
    - VALID_TSIGKEYRING
    - dump_key
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_tsigkeyring_dump(dns_tsigkeyring_t *ring, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:456,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - tsigkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 466
    functionName: dns_tsigkey_identity
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - VALID_TSIGKEY
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_tsigkey_identity(const dns_tsigkey_t *tsigkey)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:477,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:480,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:484,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:485,1
    - Dst: dst_key_frombuffer
      Src: /src/bind9/lib/dns/tsig.c:486,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tsig.c:498,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tsig.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 6
    argNames:
    - name
    - algorithm
    - secret
    - length
    - mctx
    - key
    argTypes:
    - dns_name_t*
    - dst_algorithm_t
    - unsigned char*
    - int
    - isc_mem_t*
    - dns_tsigkey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 504
    functionName: dns_tsigkey_create
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 6
    functionsReached:
    - dst_key_free
    - isc_buffer_init
    - dns__tsig_algvalid
    - REQUIRE
    - isc_buffer_add
    - dst_key_frombuffer
    - dns_tsigkey_createfromkey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tsigkey_create(const dns_name_t *name, dst_algorithm_t
      algorithm,\n\t\t   unsigned char *secret, int length, isc_mem_t *mctx,\n\t\t
      \  dns_tsigkey_t **key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:508,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:508,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tsig.c:512,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/tsig.c:515,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:516,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/tsig.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 506
    functionDepth: 4
    functionLinenumber: 506
    functionLinenumberEnd: 519
    functionName: destroy_tsigkey
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dst_key_free
    - isc_mem_putanddetach
    - dns_name_free
    - REQUIRE
    - isc_mem_put
    - VALID_TSIGKEY
    linkageType: ''
    returnType: void
    signature: void destroy_tsigkey(dns_tsigkey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:529,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:529,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:531,1
    - Dst: rm_lru
      Src: /src/bind9/lib/dns/tsig.c:532,1
    - Dst: rm_hashmap
      Src: /src/bind9/lib/dns/tsig.c:533,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 5
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: dns_tsigkey_delete
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - rm_lru
    - VALID_TSIGKEY
    - REQUIRE
    - rm_hashmap
    linkageType: ''
    returnType: void
    signature: void dns_tsigkey_delete(dns_tsigkey_t *key)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:557,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:559,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:559,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/tsig.c:565,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:574,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/tsig.c:586,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tsig.c:587,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/tsig.c:587,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:589,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:596,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:597,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/tsig.c:613,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/tsig.c:631,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:633,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:637,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:638,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:643,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/tsig.c:644,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/tsig.c:650,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:652,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:653,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:663,1
    - Dst: dns_message_renderheader
      Src: /src/bind9/lib/dns/tsig.c:664,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:665,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:666,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:674,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/tsig.c:675,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:676,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:685,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:686,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:691,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:692,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/tsig.c:693,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:694,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:695,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:700,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:701,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:707,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:711,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:712,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:713,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:714,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:723,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:724,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:725,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:727,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:728,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:739,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:746,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:750,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:752,1
    - Dst: dst_context_sign
      Src: /src/bind9/lib/dns/tsig.c:753,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:757,1
    - Dst: dst_key_getbits
      Src: /src/bind9/lib/dns/tsig.c:758,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tsig.c:764,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tsig.c:765,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tsig.c:769,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/tsig.c:776,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/tsig.c:777,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/tsig.c:778,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/tsig.c:784,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:787,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tsig.c:790,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tsig.c:791,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/tsig.c:793,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tsig.c:795,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tsig.c:798,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/tsig.c:799,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tsig.c:809,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/tsig.c:810,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:813,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:817,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 192
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 820
    functionName: dns_tsig_sign
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_tsigkey_algorithm
    - isc_buffer_putmem
    - dns_rdataset_current
    - dst_context_adddata
    - is_response
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_allocate
    - dns_message_takebuffer
    - isc_buffer_usedregion
    - dns_message_gettempname
    - isc_buffer_putuint32
    - dns_message_gettsigkey
    - dns_rdata_tostruct
    - dns_message_puttemprdata
    - isc_buffer_putuint48
    - dst_context_sign
    - dns_name_toregion
    - dns_message_gettemprdataset
    - isc_stdtime_now
    - dns_name_copy
    - dst_key_sigsize
    - dst_key_getbits
    - dst_context_destroy
    - dns_message_gettemprdata
    - isc_buffer_clear
    - dns_rdata_fromstruct
    - INSIST
    - dst_context_create
    - isc_buffer_putuint16
    - isc_mem_get
    - isc_buffer_free
    - isc_buffer_availablelength
    - dns_message_renderheader
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - isc_buffer_init
    - dns_name_clone
    - isc_buffer_usedlength
    - isc_region_consume
    - isc_mem_put
    - VALID_TSIGKEY
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_tsig_sign(dns_message_t *msg)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:843,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:844,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/tsig.c:844,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:845,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/tsig.c:846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:848,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:848,1
    - Dst: tsig_verify_tcp
      Src: /src/bind9/lib/dns/tsig.c:858,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:884,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:888,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:889,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/tsig.c:893,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:895,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:899,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:900,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:910,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:911,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:914,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:925,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tsig.c:934,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tsig.c:938,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tsig.c:943,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/lib/dns/tsig.c:944,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tsig.c:950,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:954,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:965,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:966,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:970,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:972,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:978,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/tsig.c:990,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:997,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:998,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:999,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1000,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1007,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1017,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1018,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/tsig.c:1019,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1024,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/tsig.c:1025,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:1026,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1027,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:1032,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1033,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1040,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1048,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1051,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:1059,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1060,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:1065,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1066,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/tsig.c:1067,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1068,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1069,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:1077,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/tsig.c:1077,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1078,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:1083,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:1084,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1085,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1086,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1087,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1088,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1089,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1097,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/tsig.c:1103,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1106,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1116,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1132,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1137,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:1142,1
    - Dst: dst_key_getbits
      Src: /src/bind9/lib/dns/tsig.c:1143,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1149,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1157,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:1178,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 249
    argCount: 4
    argNames:
    - source
    - msg
    - ring1
    - ring2
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dns_tsigkeyring_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 1182
    functionName: dns_tsig_verify
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - dns_tsigkey_algorithm
    - memmove
    - dns_rdataset_current
    - dst_context_adddata
    - tsig_verify_tcp
    - dns__tsig_algvalid
    - is_response
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_usedregion
    - isc_buffer_putuint32
    - dns_rdata_reset
    - dns_message_gettsigkey
    - dns_rdata_tostruct
    - isc_buffer_putuint48
    - dns_name_toregion
    - isc_stdtime_now
    - ntohs
    - dns_tsigkey_find
    - dst_key_sigsize
    - dst_context_verify
    - dns__tsig_algfromname
    - dst_key_getbits
    - dst_context_destroy
    - isc_buffer_clear
    - DNS_MESSAGE_VALID
    - dst_key_alg
    - dst_context_create
    - isc_buffer_putuint16
    - tsig_log
    - htons
    - dns_name_equal
    - isc_buffer_init
    - dns_tsigkey_create
    - dns_name_clone
    - isc_region_consume
    - VALID_TSIGKEY
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tsig_verify(isc_buffer_t *source, dns_message_t *msg,\n\t\tdns_tsigkeyring_t
      *ring1, dns_tsigkeyring_t *ring2)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1205,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:1205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1207,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/tsig.c:1212,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:1218,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:1224,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:1228,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:1229,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/tsig.c:1233,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:1242,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:1246,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:1247,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:1255,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:1256,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1260,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:1268,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:1269,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:1273,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1275,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1284,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/tsig.c:1293,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:1302,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1303,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1304,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1305,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1316,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1326,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1327,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/tsig.c:1328,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1336,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/tsig.c:1337,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:1338,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1339,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:1347,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1348,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1356,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1364,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1371,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:1380,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:1381,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1382,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1383,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1384,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1400,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/tsig.c:1406,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1408,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:1430,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1435,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1441,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:1446,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:1447,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:1451,1
    - Dst: dst_key_getbits
      Src: /src/bind9/lib/dns/tsig.c:1452,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1458,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1468,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:1496,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/tsig.c:1500,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 222
    argCount: 2
    argNames:
    - source
    - msg
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1184
    functionDepth: 3
    functionLinenumber: 1184
    functionLinenumberEnd: 1503
    functionName: tsig_verify_tcp
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached:
    - memmove
    - dns_rdataset_current
    - dst_context_adddata
    - dns__tsig_algvalid
    - is_response
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_usedregion
    - dns_rdata_reset
    - dns_message_gettsigkey
    - dns_rdata_tostruct
    - isc_buffer_putuint48
    - dns_rdata_freestruct
    - isc_stdtime_now
    - ntohs
    - dst_key_sigsize
    - dst_context_verify
    - dst_key_getbits
    - dst_context_destroy
    - dst_key_alg
    - dst_context_create
    - isc_buffer_putuint16
    - tsig_log
    - htons
    - dns_name_equal
    - isc_buffer_init
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tsig_verify_tcp(isc_buffer_t *source, dns_message_t *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:1511,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1513,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1514,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:1514,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1515,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:1518,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/tsig.c:1519,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/tsig.c:1519,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1522,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tsig.c:1526,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1527,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/tsig.c:1530,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1535,1
    - Dst: rm_lru
      Src: /src/bind9/lib/dns/tsig.c:1540,1
    - Dst: rm_hashmap
      Src: /src/bind9/lib/dns/tsig.c:1541,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1542,1
    - Dst: dns_tsigkey_ref
      Src: /src/bind9/lib/dns/tsig.c:1545,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1546,1
    - Dst: adjust_lru
      Src: /src/bind9/lib/dns/tsig.c:1547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - tsigkey
    - name
    - algorithm
    - ring
    argTypes:
    - dns_tsigkey_t**
    - dns_name_t*
    - dns_name_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1505
    functionDepth: 5
    functionLinenumber: 1505
    functionLinenumberEnd: 1550
    functionName: dns_tsigkey_find
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 2
    functionsReached:
    - dns_tsigkey_ref
    - isc_serial_lt
    - RWUNLOCK
    - RWLOCK
    - rm_lru
    - adjust_lru
    - isc_hashmap_find
    - REQUIRE
    - isc_stdtime_now
    - VALID_TSIGKEYRING
    - rm_hashmap
    - dns_name_hash
    - dns__tsig_algfromname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tsigkey_find(dns_tsigkey_t **tsigkey, const dns_name_t
      *name,\n\t\t const dns_name_t *algorithm, dns_tsigkeyring_t *ring)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1554,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:1554,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/tsig.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - tkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1583
    functionName: dns_tsigkey_algorithm
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - UNREACHABLE
    - VALID_TSIGKEY
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_tsigkey_algorithm(dns_tsigkey_t *tkey)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1590,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:1592,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/tsig.c:1597,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/tsig.c:1598,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/tsig.c:1599,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/tsig.c:1600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - ringp
    argTypes:
    - isc_mem_t*
    - dns_tsigkeyring_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1585
    functionDepth: 3
    functionLinenumber: 1585
    functionLinenumberEnd: 1604
    functionName: dns_tsigkeyring_create
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - isc_rwlock_init
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - isc_hashmap_create
    linkageType: ''
    returnType: void
    signature: void dns_tsigkeyring_create(isc_mem_t *mctx, dns_tsigkeyring_t **ringp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1610,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:1610,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1611,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:1611,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1612,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:1614,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/tsig.c:1615,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/tsig.c:1615,1
    - Dst: dns_tsigkey_ref
      Src: /src/bind9/lib/dns/tsig.c:1618,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tsig.c:1628,1
    - Dst: dns_tsigkey_ref
      Src: /src/bind9/lib/dns/tsig.c:1629,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/tsig.c:1631,1
    - Dst: rm_lru
      Src: /src/bind9/lib/dns/tsig.c:1632,1
    - Dst: rm_hashmap
      Src: /src/bind9/lib/dns/tsig.c:1633,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - ring
    - tkey
    argTypes:
    - dns_tsigkeyring_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1606
    functionDepth: 5
    functionLinenumber: 1606
    functionLinenumberEnd: 1642
    functionName: dns_tsigkeyring_add
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 5
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_APPEND
    - dns_tsigkey_ref
    - RWUNLOCK
    - RWLOCK
    - rm_hashmap
    - rm_lru
    - isc_hashmap_add
    - REQUIRE
    - VALID_TSIGKEYRING
    - VALID_TSIGKEY
    - dns_name_hash
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_tsigkeyring_add(dns_tsigkeyring_t *ring, dns_tsigkey_t
      *tkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:1646,1
    - Dst: restore_key
      Src: /src/bind9/lib/dns/tsig.c:1650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ring
    - fp
    argTypes:
    - dns_tsigkeyring_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1644
    functionDepth: 6
    functionLinenumber: 1644
    functionLinenumberEnd: 1658
    functionName: dns_tsigkeyring_restore
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached:
    - restore_key
    - isc_stdtime_now
    linkageType: ''
    returnType: void
    signature: void dns_tsigkeyring_restore(dns_tsigkeyring_t *ring, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: decode_uint32
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t decode_uint32(unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - val
    - p
    argTypes:
    - uint32_t
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: encode_uint32
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void encode_uint32(uint32_t val, unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/soa.c:42,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/soa.c:53,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/soa.c:54,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/soa.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rdata
    - offset
    argTypes:
    - dns_rdata_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 56
    functionName: soa_get
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - decode_uint32
    - INSIST
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t soa_get(dns_rdata_t *rdata, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/soa.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/soa.c:67,1
    - Dst: memset
      Src: /src/bind9/lib/dns/soa.c:69,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/soa.c:70,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/soa.c:80,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/soa.c:81,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/soa.c:82,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/soa.c:83,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/soa.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 10
    argNames:
    - origin
    - contact
    - rdclass
    - serial
    - refresh
    - retry
    - expire
    - minimum
    - buffer
    - rdata
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_rdataclass_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - unsigned char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 87
    functionName: dns_soa_buildrdata
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 3
    functionsReached:
    - memset
    - dns_rdata_fromstruct
    - isc_buffer_init
    - dns_name_clone
    - REQUIRE
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_soa_buildrdata(const dns_name_t *origin, const dns_name_t
      *contact,\n\t\t   dns_rdataclass_t rdclass, uint32_t serial, uint32_t refresh,\n\t\t
      \  uint32_t retry, uint32_t expire, uint32_t minimum,\n\t\t   unsigned char
      *buffer, dns_rdata_t *rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_get
      Src: /src/bind9/lib/dns/soa.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: dns_soa_getserial
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 11
    functionsReached:
    - soa_get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_soa_getserial(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_get
      Src: /src/bind9/lib/dns/soa.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: dns_soa_getrefresh
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_soa_getrefresh(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_get
      Src: /src/bind9/lib/dns/soa.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: dns_soa_getretry
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_soa_getretry(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_get
      Src: /src/bind9/lib/dns/soa.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: dns_soa_getexpire
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_soa_getexpire(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_get
      Src: /src/bind9/lib/dns/soa.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: dns_soa_getminimum
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 2
    functionsReached:
    - soa_get
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_soa_getminimum(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/soa.c:112,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/soa.c:113,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/soa.c:114,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/soa.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rdata
    - val
    - offset
    argTypes:
    - dns_rdata_t*
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: soa_set
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - encode_uint32
    - INSIST
    linkageType: ''
    returnType: void
    signature: void soa_set(dns_rdata_t *rdata, uint32_t val, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_set
      Src: /src/bind9/lib/dns/soa.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - rdata
    argTypes:
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: dns_soa_setserial
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 5
    functionsReached:
    - soa_set
    linkageType: ''
    returnType: void
    signature: void dns_soa_setserial(uint32_t val, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_set
      Src: /src/bind9/lib/dns/soa.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - rdata
    argTypes:
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: dns_soa_setrefresh
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_set
    linkageType: ''
    returnType: void
    signature: void dns_soa_setrefresh(uint32_t val, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_set
      Src: /src/bind9/lib/dns/soa.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - rdata
    argTypes:
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: dns_soa_setretry
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_set
    linkageType: ''
    returnType: void
    signature: void dns_soa_setretry(uint32_t val, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_set
      Src: /src/bind9/lib/dns/soa.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - rdata
    argTypes:
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: dns_soa_setexpire
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_set
    linkageType: ''
    returnType: void
    signature: void dns_soa_setexpire(uint32_t val, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: soa_set
      Src: /src/bind9/lib/dns/soa.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - val
    - rdata
    argTypes:
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 137
    functionName: dns_soa_setminimum
    functionSourceFile: /src/bind9/lib/dns/soa.c
    functionUses: 0
    functionsReached:
    - soa_set
    linkageType: ''
    returnType: void
    signature: void dns_soa_setminimum(uint32_t val, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:30,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: dns_remote_addresses
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      dns_remote_addresses(dns_remote_t *remote)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:36,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: dns_remote_sources
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: 'isc_sockaddr_t *

      dns_remote_sources(dns_remote_t *remote)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:42,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: dns_remote_count
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_remote_count(dns_remote_t *remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:48,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: dns_remote_keynames
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t **

      dns_remote_keynames(dns_remote_t *remote)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:54,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: dns_remote_tlsnames
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t **

      dns_remote_tlsnames(dns_remote_t *remote)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:65,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:69,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/remote.c:75,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/remote.c:77,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/remote.c:84,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/remote.c:86,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/remote.c:92,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/remote.c:100,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/remote.c:101,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/remote.c:102,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/remote.c:111,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/remote.c:119,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/remote.c:120,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/remote.c:121,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/remote.c:130,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 8
    argNames:
    - remote
    - count
    - addrs
    - srcs
    - keynames
    - tlsnames
    - mark
    - mctx
    argTypes:
    - dns_remote_t*
    - unsigned int
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_name_t**
    - dns_name_t**
    - bool
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 140
    functionName: dns_remote_init
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 3
    functionsReached:
    - memmove
    - DNS_REMOTE_VALID
    - isc_mem_cget
    - isc_mem_get
    - REQUIRE
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void dns_remote_init(dns_remote_t *remote, unsigned int count,\n\t\tconst
      isc_sockaddr_t *addrs, const isc_sockaddr_t *srcs,\n\t\tdns_name_t **keynames,
      dns_name_t **tlsnames, bool mark,\n\t\tisc_mem_t *mctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/remote.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - oldlist
    - newlist
    - count
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: same_addrs
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    linkageType: ''
    returnType: bool
    signature: "bool same_addrs(isc_sockaddr_t const *oldlist, isc_sockaddr_t const
      *newlist,\n\t   uint32_t count)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/remote.c:179,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - oldlist
    - newlist
    - count
    argTypes:
    - dns_name_t**
    - dns_name_t**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 185
    functionName: same_names
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: "bool same_names(dns_name_t *const *oldlist, dns_name_t *const *newlist,\n\t
      \  uint32_t count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:192,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:192,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/remote.c:202,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/remote.c:206,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/remote.c:211,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/remote.c:219,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/remote.c:220,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/remote.c:224,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/remote.c:232,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/remote.c:233,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/remote.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 244
    functionName: dns_remote_clear
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 3
    functionsReached:
    - DNS_REMOTE_VALID
    - dns_name_free
    - REQUIRE
    - isc_mem_put
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void dns_remote_clear(dns_remote_t *remote)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:248,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:249,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:249,1
    - Dst: same_addrs
      Src: /src/bind9/lib/dns/remote.c:255,1
    - Dst: same_names
      Src: /src/bind9/lib/dns/remote.c:258,1
    - Dst: same_names
      Src: /src/bind9/lib/dns/remote.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dns_remote_t*
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: dns_remote_equal
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 3
    functionsReached:
    - same_addrs
    - REQUIRE
    - same_names
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_remote_equal(dns_remote_t *a, dns_remote_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:270,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - remote
    - clear_ok
    argTypes:
    - dns_remote_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: dns_remote_reset
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_remote_reset(dns_remote_t *remote, bool clear_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:283,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: dns_remote_curraddr
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t dns_remote_curraddr(dns_remote_t *remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:292,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:293,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - remote
    - i
    argTypes:
    - dns_remote_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: dns_remote_addr
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t dns_remote_addr(dns_remote_t *remote, unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:301,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: dns_remote_sourceaddr
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t dns_remote_sourceaddr(dns_remote_t *remote)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:310,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: dns_remote_keyname
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_remote_keyname(dns_remote_t *remote)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:324,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 334
    functionName: dns_remote_tlsname
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_remote_tlsname(dns_remote_t *remote)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:338,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - remote
    - skip_good
    argTypes:
    - dns_remote_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: dns_remote_next
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_remote_next(dns_remote_t *remote, bool skip_good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:354,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - remote
    argTypes:
    - dns_remote_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: dns_remote_done
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_remote_done(dns_remote_t *remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:361,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/remote.c:361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/remote.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - remote
    - good
    argTypes:
    - dns_remote_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: dns_remote_mark
    functionSourceFile: /src/bind9/lib/dns/remote.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_REMOTE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_remote_mark(dns_remote_t *remote, bool good)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:56,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:56,1
    - Dst: dns_dbiterator_t*::methods::seek
      Src: /src/bind9/lib/dns/dbiterator.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: dns__dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_t*::methods::seek
    - DNS_DBITERATOR_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__dbiterator_seek(dns_dbiterator_t *iterator,\n\t\t
      \    const dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:84,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:86,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/dbiterator.c:86,1
    - Dst: dns_dbiterator_t*::methods::current
      Src: /src/bind9/lib/dns/dbiterator.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - iterator
    - nodep
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_dbnode_t**
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: dns__dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_t*::methods::current
    - dns_name_hasbuffer
    - DNS_DBITERATOR_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t
      **nodep,\n\t\t\tdns_name_t *name DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:94,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:94,1
    - Dst: dns_dbiterator_t*::methods::pause
      Src: /src/bind9/lib/dns/dbiterator.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - dns_dbiterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: dns_dbiterator_pause
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 16
    functionsReached:
    - dns_dbiterator_t*::methods::pause
    - DNS_DBITERATOR_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dbiterator_pause(dns_dbiterator_t *iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:101,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:103,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/dbiterator.c:103,1
    - Dst: dns_dbiterator_t*::methods::origin
      Src: /src/bind9/lib/dns/dbiterator.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: dns_dbiterator_origin
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_t*::methods::origin
    - dns_name_hasbuffer
    - DNS_DBITERATOR_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:119,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/peer.c:121,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/peer.c:123,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/peer.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - list
    argTypes:
    - isc_mem_t*
    - dns_peerlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: dns_peerlist_new
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_INIT
    - isc_mem_get
    - REQUIRE
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: void dns_peerlist_new(isc_mem_t *mem, dns_peerlist_t **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:133,1
    - Dst: DNS_PEERLIST_VALID
      Src: /src/bind9/lib/dns/peer.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:135,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/peer.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_peerlist_t*
    - dns_peerlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: dns_peerlist_attach
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - DNS_PEERLIST_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_peerlist_attach(dns_peerlist_t *source, dns_peerlist_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:148,1
    - Dst: DNS_PEERLIST_VALID
      Src: /src/bind9/lib/dns/peer.c:148,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/peer.c:153,1
    - Dst: peerlist_delete
      Src: /src/bind9/lib/dns/peer.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_peerlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: dns_peerlist_detach
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 2
    functionsReached:
    - peerlist_delete
    - DNS_PEERLIST_VALID
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_peerlist_detach(dns_peerlist_t **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:163,1
    - Dst: DNS_PEERLIST_VALID
      Src: /src/bind9/lib/dns/peer.c:163,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/peer.c:168,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/peer.c:170,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/peer.c:171,1
    - Dst: dns_peer_detach
      Src: /src/bind9/lib/dns/peer.c:172,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_peerlist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: peerlist_delete
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 1
    functionsReached:
    - dns_peer_detach
    - DNS_PEERLIST_VALID
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void peerlist_delete(dns_peerlist_t **list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_peer_attach
      Src: /src/bind9/lib/dns/peer.c:184,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/peer.c:185,1
    - Dst: ISC_LIST_INSERTBEFORE
      Src: /src/bind9/lib/dns/peer.c:187,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/peer.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - peers
    - peer
    argTypes:
    - dns_peerlist_t*
    - dns_peer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: dns_peerlist_addpeer
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 2
    functionsReached:
    - dns_peer_attach
    - ISC_LIST_INSERTBEFORE
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dns_peerlist_addpeer(dns_peerlist_t *peers, dns_peer_t *peer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:199,1
    - Dst: DNS_PEERLIST_VALID
      Src: /src/bind9/lib/dns/peer.c:199,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/peer.c:201,1
    - Dst: isc_netaddr_eqprefix
      Src: /src/bind9/lib/dns/peer.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - servers
    - addr
    - retval
    argTypes:
    - dns_peerlist_t*
    - isc_netaddr_t*
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: dns_peerlist_peerbyaddr
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 15
    functionsReached:
    - isc_netaddr_eqprefix
    - DNS_PEERLIST_VALID
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_peerlist_peerbyaddr(dns_peerlist_t *servers, const
      isc_netaddr_t *addr,\n\t\t\tdns_peer_t **retval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/peer.c:217,1
    - Dst: dns_peer_attach
      Src: /src/bind9/lib/dns/peer.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - peers
    - retval
    argTypes:
    - dns_peerlist_t*
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: dns_peerlist_currpeer
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached:
    - dns_peer_attach
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_peerlist_currpeer(dns_peerlist_t *peers, dns_peer_t
      **retval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:228,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/peer.c:237,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/lib/dns/peer.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - mem
    - addr
    - peerptr
    argTypes:
    - isc_mem_t*
    - isc_netaddr_t*
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 241
    functionName: dns_peer_new
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached:
    - dns_peer_newprefix
    - UNREACHABLE
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_peer_new(isc_mem_t *mem, const isc_netaddr_t *addr,
      dns_peer_t **peerptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:248,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/peer.c:250,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/peer.c:260,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/peer.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - mem
    - addr
    - prefixlen
    - peerptr
    argTypes:
    - isc_mem_t*
    - isc_netaddr_t*
    - unsigned int
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 267
    functionName: dns_peer_newprefix
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 4
    functionsReached:
    - isc_mem_get
    - ISC_LINK_INIT
    - REQUIRE
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_peer_newprefix(isc_mem_t *mem, const isc_netaddr_t
      *addr,\n\t\t   unsigned int prefixlen, dns_peer_t **peerptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:271,1
    - Dst: DNS_PEER_VALID
      Src: /src/bind9/lib/dns/peer.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:273,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/peer.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_peer_t*
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: dns_peer_attach
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment
    - DNS_PEER_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_peer_attach(dns_peer_t *source, dns_peer_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:286,1
    - Dst: DNS_PEER_VALID
      Src: /src/bind9/lib/dns/peer.c:286,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/peer.c:291,1
    - Dst: peer_delete
      Src: /src/bind9/lib/dns/peer.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - peer
    argTypes:
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: dns_peer_detach
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 6
    functionsReached:
    - DNS_PEER_VALID
    - REQUIRE
    - isc_refcount_decrement
    - peer_delete
    linkageType: ''
    returnType: void
    signature: void dns_peer_detach(dns_peer_t **peer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:302,1
    - Dst: DNS_PEER_VALID
      Src: /src/bind9/lib/dns/peer.c:302,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/peer.c:307,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/peer.c:314,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:315,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:319,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:323,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:327,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - peer
    argTypes:
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 332
    functionName: peer_delete
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 1
    functionsReached:
    - dns_name_free
    - DNS_PEER_VALID
    - REQUIRE
    - isc_mem_put
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void peer_delete(dns_peer_t **peer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - macro
    - ','
    - type
    - ','
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 353
    functionName: ACCESS_OPTION
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_OPTION(name, macro, type, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - name
    - ','
    - macro
    - ','
    - type
    - ','
    - element
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 396
    functionName: ACCESS_OPTIONMAX
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_OPTIONMAX(name, macro, type, element, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - macro
    - ','
    - type
    - ','
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: ACCESS_OPTION_OVERWRITE
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_OPTION_OVERWRITE(name, macro, type, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:452,1
    - Dst: DNS_PEER_VALID
      Src: /src/bind9/lib/dns/peer.c:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/peer.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - peer
    - retval
    argTypes:
    - dns_peer_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: dns_peer_getkey
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 1
    functionsReached:
    - DNS_PEER_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_peer_getkey(dns_peer_t *peer, dns_name_t **retval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/peer.c:467,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - peer
    - keyval
    argTypes:
    - dns_peer_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 476
    functionName: dns_peer_setkey
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_peer_setkey(dns_peer_t *peer, dns_name_t **keyval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/peer.c:485,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/peer.c:486,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/peer.c:486,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/peer.c:487,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/peer.c:487,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/peer.c:488,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/peer.c:488,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/peer.c:494,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/peer.c:496,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/peer.c:497,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/peer.c:497,1
    - Dst: dns_peer_setkey
      Src: /src/bind9/lib/dns/peer.c:499,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - peer
    - keyval
    argTypes:
    - dns_peer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 505
    functionName: dns_peer_setkeybycharp
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 1
    functionsReached:
    - dns_name_fromtext
    - dns_name_init
    - dns_fixedname_name
    - strlen
    - isc_mem_get
    - dns_peer_setkey
    - isc_buffer_add
    - dns_fixedname_init
    - isc_mem_put
    - dns_name_dup
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/fixedname.c:20,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/fixedname.c:21,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/dns/fixedname.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fixed
    argTypes:
    - dns_fixedname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 2
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: dns_fixedname_init
    functionSourceFile: /src/bind9/lib/dns/fixedname.c
    functionUses: 53
    functionsReached:
    - isc_buffer_init
    - dns_name_setbuffer
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void dns_fixedname_init(dns_fixedname_t *fixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/fixedname.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed
    argTypes:
    - dns_fixedname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: dns_fixedname_invalidate
    functionSourceFile: /src/bind9/lib/dns/fixedname.c
    functionUses: 1
    functionsReached:
    - dns_name_invalidate
    linkageType: ''
    returnType: void
    signature: void dns_fixedname_invalidate(dns_fixedname_t *fixed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed
    argTypes:
    - dns_fixedname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: dns_fixedname_name
    functionSourceFile: /src/bind9/lib/dns/fixedname.c
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_fixedname_name(dns_fixedname_t *fixed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/fixedname.c:37,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/fixedname.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fixed
    argTypes:
    - dns_fixedname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: dns_fixedname_initname
    functionSourceFile: /src/bind9/lib/dns/fixedname.c
    functionUses: 258
    functionsReached:
    - dns_fixedname_init
    - dns_fixedname_name
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_fixedname_initname(dns_fixedname_t *fixed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: VALID_SSUTABLE
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SSUTABLE(table)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: VALID_SSURULE
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SSURULE(table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:67,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ssu.c:69,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/ssu.c:70,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/ssu.c:72,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/ssu.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - mctx
    - tablep
    argTypes:
    - isc_mem_t*
    - dns_ssutable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: dns_ssutable_create
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void dns_ssutable_create(isc_mem_t *mctx, dns_ssutable_t **tablep)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:82,1
    - Dst: VALID_SSUTABLE
      Src: /src/bind9/lib/dns/ssu.c:82,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/ssu.c:85,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/ssu.c:87,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ssu.c:88,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/ssu.c:92,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ssu.c:93,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/ssu.c:96,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/ssu.c:100,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/ssu.c:102,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ssu.c:104,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/ssu.c:106,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/ssu.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - table
    argTypes:
    - dns_ssutable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 505
    functionsReached:
    - VALID_SSUTABLE
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - ISC_LIST_UNLINK
    - isc_refcount_destroy
    - REQUIRE
    - ISC_LIST_FOREACH
    - isc_mem_put
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void destroy(dns_ssutable_t *table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:113,1
    - Dst: VALID_SSUTABLE
      Src: /src/bind9/lib/dns/ssu.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:114,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/ssu.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_ssutable_t*
    - dns_ssutable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 119
    functionName: dns_ssutable_attach
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 2
    functionsReached:
    - isc_refcount_increment
    - VALID_SSUTABLE
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_ssutable_attach(dns_ssutable_t *source, dns_ssutable_t **targetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:128,1
    - Dst: VALID_SSUTABLE
      Src: /src/bind9/lib/dns/ssu.c:128,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/ssu.c:130,1
    - Dst: destroy
      Src: /src/bind9/lib/dns/ssu.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tablep
    argTypes:
    - dns_ssutable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: dns_ssutable_detach
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 5
    functionsReached:
    - VALID_SSUTABLE
    - destroy
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_ssutable_detach(dns_ssutable_t **tablep)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 1
    argNames:
    - matchtype
    argTypes:
    - dns_ssumatchtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 178
    functionName: mtypetostring
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      mtypetostring(dns_ssumatchtype_t matchtype)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:188,1
    - Dst: VALID_SSUTABLE
      Src: /src/bind9/lib/dns/ssu.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:189,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/ssu.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:190,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/ssu.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:193,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/ssu.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:198,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ssu.c:201,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ssu.c:205,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ssu.c:206,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/ssu.c:209,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ssu.c:215,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/ssu.c:216,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ssu.c:217,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/ssu.c:218,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ssu.c:221,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/ssu.c:224,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/ssu.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 8
    argNames:
    - table
    - grant
    - identity
    - matchtype
    - name
    - ntypes
    - types
    - debug
    argTypes:
    - dns_ssutable_t*
    - bool
    - dns_name_t*
    - dns_ssumatchtype_t
    - dns_name_t*
    - unsigned int
    - dns_ssuruletype_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 227
    functionName: dns_ssutable_addrule
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 2
    functionsReached:
    - VALID_SSUTABLE
    - memmove
    - isc_mem_cget
    - ISC_LIST_INITANDAPPEND
    - dns_name_iswildcard
    - isc_mem_get
    - REQUIRE
    - isc_mem_strdup
    - dns_name_isabsolute
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void dns_ssutable_addrule(dns_ssutable_t *table, bool grant,\n\t\t
      \    const dns_name_t *identity, dns_ssumatchtype_t matchtype,\n\t\t     const
      dns_name_t *name, unsigned int ntypes,\n\t\t     dns_ssuruletype_t *types, const
      char *debug)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: isusertype
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isusertype(dns_rdatatype_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/bind9/lib/dns/ssu.c:245,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ssu.c:246,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/ssu.c:250,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ssu.c:254,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/ssu.c:273,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/ssu.c:276,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ssu.c:278,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu.c:278,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ssu.c:279,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu.c:279,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/ssu.c:280,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/ssu.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - tcpself
    - tcpaddr
    argTypes:
    - dns_name_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 282
    functionName: reverse_from_address
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - ntohl
    - UNREACHABLE
    - dns_name_fromtext
    - RUNTIME_CHECK
    - isc_buffer_init
    - strlen
    - snprintf
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void reverse_from_address(dns_name_t *tcpself, const isc_netaddr_t
      *tcpaddr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/bind9/lib/dns/ssu.c:294,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ssu.c:295,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/ssu.c:301,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ssu.c:305,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/ssu.c:313,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/ssu.c:316,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ssu.c:318,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu.c:318,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ssu.c:319,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/ssu.c:319,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/ssu.c:320,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/ssu.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - stfself
    - tcpaddr
    argTypes:
    - dns_name_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 322
    functionName: stf_from_address
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - ntohl
    - UNREACHABLE
    - dns_name_fromtext
    - RUNTIME_CHECK
    - isc_buffer_init
    - strlen
    - snprintf
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void stf_from_address(dns_name_t *stfself, const isc_netaddr_t *tcpaddr)
  - BBCount: 132
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/ssu.c:338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:340,1
    - Dst: VALID_SSUTABLE
      Src: /src/bind9/lib/dns/ssu.c:340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:341,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/ssu.c:341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:342,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/ssu.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:343,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu.c:353,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu.c:355,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu.c:357,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/ssu.c:359,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/ssu.c:361,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:364,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:365,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/ssu.c:376,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:378,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:379,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/ssu.c:389,1
    - Dst: reverse_from_address
      Src: /src/bind9/lib/dns/ssu.c:390,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu.c:391,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:393,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:396,1
    - Dst: mtypetostring
      Src: /src/bind9/lib/dns/ssu.c:398,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/ssu.c:403,1
    - Dst: stf_from_address
      Src: /src/bind9/lib/dns/ssu.c:404,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/ssu.c:405,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:407,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:410,1
    - Dst: mtypetostring
      Src: /src/bind9/lib/dns/ssu.c:412,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:430,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:433,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/ssu.c:439,1
    - Dst: dns_name_matcheswildcard
      Src: /src/bind9/lib/dns/ssu.c:440,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:444,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:447,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:456,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:458,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:461,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:480,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:483,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:494,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:497,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:511,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:513,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:516,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/ssu.c:524,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:526,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:529,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:539,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:542,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/ssu.c:548,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:550,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:553,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/ssu.c:559,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/ssu.c:560,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/ssu.c:561,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/ssu.c:563,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:566,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:575,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:578,1
    - Dst: dns_name_matcheswildcard
      Src: /src/bind9/lib/dns/ssu.c:586,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:588,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:591,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:600,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:602,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:605,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/ssu.c:614,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:616,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:619,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/ssu.c:628,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/ssu.c:629,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:633,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:636,1
    - Dst: dns_name_matcheswildcard
      Src: /src/bind9/lib/dns/ssu.c:643,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:645,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:648,1
    - Dst: dst_gssapi_identitymatchesrealmkrb5
      Src: /src/bind9/lib/dns/ssu.c:657,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:663,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:665,1
    - Dst: dst_gssapi_identitymatchesrealmms
      Src: /src/bind9/lib/dns/ssu.c:671,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:677,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:679,1
    - Dst: dst_gssapi_identitymatchesrealmkrb5
      Src: /src/bind9/lib/dns/ssu.c:685,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:691,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:693,1
    - Dst: dst_gssapi_identitymatchesrealmms
      Src: /src/bind9/lib/dns/ssu.c:700,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:706,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:708,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/ssu.c:716,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:718,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:721,1
    - Dst: dst_gssapi_identitymatchesrealmkrb5
      Src: /src/bind9/lib/dns/ssu.c:741,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:747,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:749,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/ssu.c:757,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:759,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:762,1
    - Dst: dst_gssapi_identitymatchesrealmms
      Src: /src/bind9/lib/dns/ssu.c:782,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:788,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:790,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/ssu.c:797,1
    - Dst: reverse_from_address
      Src: /src/bind9/lib/dns/ssu.c:798,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/ssu.c:799,1
    - Dst: dns_name_matcheswildcard
      Src: /src/bind9/lib/dns/ssu.c:800,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:804,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:807,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:816,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:818,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:821,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:830,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:832,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:835,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/ssu.c:844,1
    - Dst: stf_from_address
      Src: /src/bind9/lib/dns/ssu.c:845,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/ssu.c:846,1
    - Dst: dns_name_matcheswildcard
      Src: /src/bind9/lib/dns/ssu.c:847,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:851,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:854,1
    - Dst: mtypetostring
      Src: /src/bind9/lib/dns/ssu.c:859,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:865,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:867,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:870,1
    - Dst: mtypetostring
      Src: /src/bind9/lib/dns/ssu.c:874,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ssu.c:880,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:882,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:885,1
    - Dst: mtypetostring
      Src: /src/bind9/lib/dns/ssu.c:889,1
    - Dst: dns_ssu_external_match
      Src: /src/bind9/lib/dns/ssu.c:895,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:900,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:903,1
    - Dst: dns_dlz_ssumatch
      Src: /src/bind9/lib/dns/ssu.c:911,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:915,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:918,1
    - Dst: isusertype
      Src: /src/bind9/lib/dns/ssu.c:933,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:936,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:939,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:955,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:958,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:969,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:970,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/ssu.c:978,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/ssu.c:979,1
    CyclomaticComplexity: 162
    EdgeCount: 162
    ICount: 372
    argCount: 10
    argNames:
    - table
    - signer
    - name
    - addr
    - tcp
    - env
    - type
    - target
    - key
    - rulep
    argTypes:
    - dns_ssutable_t*
    - dns_name_t*
    - dns_name_t*
    - isc_netaddr_t*
    - bool
    - dns_aclenv_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dst_key_t*
    - dns_ssurule_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 984
    functionName: dns_ssutable_checkrules
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 5
    functionsReached:
    - mtypetostring
    - reverse_from_address
    - dns_name_matcheswildcard
    - dns_ssu_external_match
    - isc_netaddr_format
    - rcu_read_unlock
    - isc_log_write
    - REQUIRE
    - stf_from_address
    - rcu_dereference
    - dns_name_issubdomain
    - dst_gssapi_identitymatchesrealmkrb5
    - dns_fixedname_initname
    - dns_name_iswildcard
    - dns_name_format
    - dns_rdatatype_format
    - dns_acl_match
    - dns_name_concatenate
    - isc_log_wouldlog
    - ISC_LOG_DEBUG
    - isusertype
    - ISC_LIST_FOREACH
    - dns_name_isabsolute
    - VALID_SSUTABLE
    - dns_name_equal
    - dst_gssapi_identitymatchesrealmms
    - dns_dlz_ssumatch
    - rcu_read_lock
    linkageType: ''
    returnType: bool
    signature: "bool dns_ssutable_checkrules(dns_ssutable_t *table, const dns_name_t
      *signer,\n\t\t\tconst dns_name_t *name, const isc_netaddr_t *addr,\n\t\t\tbool
      tcp, dns_aclenv_t *env, dns_rdatatype_t type,\n\t\t\tconst dns_name_t *target,
      const dst_key_t *key,\n\t\t\tconst dns_ssurule_t **rulep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:988,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - dns_ssurule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 990
    functionName: dns_ssurule_isgrant
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: bool
    signature: bool dns_ssurule_isgrant(const dns_ssurule_t *rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:994,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - dns_ssurule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: dns_ssurule_identity
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_ssurule_identity(const dns_ssurule_t *rule)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1000,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - dns_ssurule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: dns_ssurule_matchtype
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_ssurule_matchtype(const dns_ssurule_t *rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1006,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - dns_ssurule_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: dns_ssurule_name
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_ssurule_name(const dns_ssurule_t *rule)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1012,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:1012,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rule
    - types
    argTypes:
    - dns_ssurule_t*
    - dns_ssuruletype_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    functionName: dns_ssurule_types
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_ssurule_types(const dns_ssurule_t *rule, dns_ssuruletype_t
      **types)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1023,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rule
    - type
    argTypes:
    - dns_ssurule_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1034
    functionName: dns_ssurule_max
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_ssurule_max(const dns_ssurule_t *rule, dns_rdatatype_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1038,1
    - Dst: VALID_SSUTABLE
      Src: /src/bind9/lib/dns/ssu.c:1038,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1039,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/ssu.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - table
    - rule
    argTypes:
    - dns_ssutable_t*
    - dns_ssurule_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1042
    functionName: dns_ssutable_firstrule
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - VALID_SSUTABLE
    - ISC_LIST_HEAD
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ssutable_firstrule(const dns_ssutable_t *table, dns_ssurule_t
      **rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1046,1
    - Dst: VALID_SSURULE
      Src: /src/bind9/lib/dns/ssu.c:1046,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1047,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/ssu.c:1048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rule
    - nextrule
    argTypes:
    - dns_ssurule_t*
    - dns_ssurule_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1050
    functionName: dns_ssutable_nextrule
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - REQUIRE
    - VALID_SSURULE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ssutable_nextrule(dns_ssurule_t *rule, dns_ssurule_t
      **nextrule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1061,1
    - Dst: dns_ssutable_create
      Src: /src/bind9/lib/dns/ssu.c:1063,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ssu.c:1067,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/ssu.c:1075,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/ssu.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mctx
    - tablep
    - dlzdatabase
    argTypes:
    - isc_mem_t*
    - dns_ssutable_t**
    - dns_dlzdb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1079
    functionName: dns_ssutable_createdlz
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 0
    functionsReached:
    - dns_ssutable_create
    - ISC_LIST_INITANDAPPEND
    - isc_mem_get
    - isc_mem_strdup
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_ssutable_createdlz(isc_mem_t *mctx, dns_ssutable_t **tablep,\n\t\t
      \      dns_dlzdb_t *dlzdatabase)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1083,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ssu.c:1084,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1086,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1088,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1090,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1092,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1094,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1096,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1098,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1100,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1102,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1104,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1106,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1108,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1110,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1112,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1114,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1116,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1118,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/ssu.c:1120,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - str
    - mtype
    argTypes:
    - char*
    - dns_ssumatchtype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1126
    functionName: dns_ssu_mtypefromstring
    functionSourceFile: /src/bind9/lib/dns/ssu.c
    functionUses: 4
    functionsReached:
    - strcasecmp
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ssu_mtypefromstring(const char *str, dns_ssumatchtype_t
      *mtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: DNS_DCTX_VALID
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DCTX_VALID(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 670
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: STALE
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: ANCIENT
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANCIENT(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: NXDOMAIN
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NXDOMAIN(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:304,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:316,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:320,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:325,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:327,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:339,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - current
    - to
    - tabwidth
    - target
    argTypes:
    - unsigned int*
    - unsigned int
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: indent
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 5
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t indent(unsigned int *current, unsigned int to, int tabwidth,\n
      \      isc_buffer_t *target)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:354,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/masterdump.c:367,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:377,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:380,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:385,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/masterdump.c:390,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:392,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/masterdump.c:395,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:400,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:405,1
    - Dst: indent
      Src: /src/bind9/lib/dns/masterdump.c:408,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:424,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:429,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 60
    argCount: 3
    argNames:
    - style
    - indentctx
    - ctx
    argTypes:
    - dns_master_style_t*
    - dns_indent_t*
    - dns_totext_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 443
    functionName: totext_ctx_init
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putstr
    - isc_buffer_availableregion
    - indent
    - isc_buffer_init
    - strlen
    - REQUIRE
    - isc_buffer_add
    - dns_fixedname_init
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t totext_ctx_init(const dns_master_style_t *style, const
      dns_indent_t *indentctx,\n\t\tdns_totext_ctx_t *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - col
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 456
    functionName: INDENT_TO
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDENT_TO(col)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:462,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/masterdump.c:463,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:469,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 472
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 9
    functionsReached:
    - strlen
    - memmove
    - isc_buffer_availableregion
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t str_totext(const char *source, isc_buffer_t *target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:480,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/masterdump.c:489,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:490,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:495,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:496,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - target
    - start
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 503
    functionName: yaml_stringify
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - memmove
    - strchr
    - isc_buffer_availableregion
    - isc_buffer_add
    - isc_buffer_used
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t yaml_stringify(isc_buffer_t *target, char *start)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/masterdump.c:513,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/masterdump.c:516,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:523,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:523,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:529,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:529,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:532,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:532,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:539,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:539,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:540,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:540,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:542,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:542,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:543,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:543,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:544,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:544,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:547,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:548,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:548,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:549,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:549,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:554,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:554,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:555,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:557,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:557,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:559,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/masterdump.c:560,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/masterdump.c:567,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 4
    argNames:
    - rdataset
    - omit_final_dot
    - ctx
    - target
    argTypes:
    - dns_rdataset_t*
    - bool
    - dns_totext_ctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 505
    functionDepth: 5
    functionLinenumber: 505
    functionLinenumberEnd: 572
    functionName: ncache_summary
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - str_totext
    - dns_name_init
    - dns_rdata_tofmttext
    - yaml_stringify
    - dns_rdataset_next
    - RETERR
    - dns_rdataset_current
    - dns_rdataset_isassociated
    - CHECK
    - dns_rdataset_disassociate
    - dns_rdatatype_totext
    - isc_buffer_used
    - dns_ncache_current
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ncache_summary(dns_rdataset_t *rdataset, bool omit_final_dot,\n\t
      \      dns_totext_ctx_t *ctx, isc_buffer_t *target)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:523,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:523,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:529,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:529,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:532,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:532,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:539,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:539,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:540,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:540,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:542,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:542,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:543,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:543,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:544,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:544,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:547,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:548,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:548,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:549,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:549,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:554,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:554,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:555,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:557,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 517
    functionDepth: 5
    functionLinenumber: 517
    functionLinenumberEnd: 558
    functionName: (&rds)
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - str_totext
    - dns_rdata_tofmttext
    - yaml_stringify
    - RETERR
    - dns_rdataset_current
    - CHECK
    - dns_rdatatype_totext
    - isc_buffer_used
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rds)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:597,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/masterdump.c:597,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/masterdump.c:603,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/masterdump.c:604,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/masterdump.c:605,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:618,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:618,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:627,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:630,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:630,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:641,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:641,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:659,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/masterdump.c:662,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/masterdump.c:669,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:671,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:672,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:676,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:677,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:699,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:704,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/masterdump.c:707,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:726,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:729,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:729,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:735,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/masterdump.c:740,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:748,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:751,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:762,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/masterdump.c:764,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:765,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:765,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:767,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:767,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:771,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:771,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:773,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:773,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    - Dst: ncache_summary
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:786,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:788,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:788,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:795,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:795,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:796,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:796,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:798,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:798,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 126
    argCount: 5
    argNames:
    - rdataset
    - owner_name
    - ctx
    - omit_final_dot
    - target
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_totext_ctx_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 581
    functionDepth: 6
    functionLinenumber: 581
    functionLinenumberEnd: 817
    functionName: rdataset_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 7
    functionsReached:
    - dns_name_totext
    - memmove
    - yaml_stringify
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_buffer_availableregion
    - dns_rdataclass_totext
    - snprintf
    - REQUIRE
    - str_totext
    - dns_fixedname_initname
    - dns_name_copy
    - dns_ttl_totext
    - DNS_RDATASET_VALID
    - RETERR
    - dns_rdatatype_tounknowntext
    - INSIST
    - INDENT_TO
    - ncache_summary
    - dns_rdatatype_totext
    - isc_buffer_used
    - isc_buffer_availablelength
    - NXDOMAIN
    - dns_rdata_tofmttext
    - dns_rdataclass_tounknowntext
    - isc_buffer_add
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t
      *owner_name,\n\t\tdns_totext_ctx_t *ctx, bool omit_final_dot,\n\t\tisc_buffer_t
      *target)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:618,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:618,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:627,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:630,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:630,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:641,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:641,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:659,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/masterdump.c:662,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/masterdump.c:669,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:671,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:672,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:676,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:677,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:699,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:704,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/masterdump.c:707,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:726,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:729,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:729,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:735,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/masterdump.c:740,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:748,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:751,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:762,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/masterdump.c:764,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:765,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:765,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:767,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:767,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:771,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:771,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:773,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:773,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    - Dst: ncache_summary
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:786,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:788,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:788,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:795,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:795,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:796,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:796,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:798,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:798,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 608
    functionDepth: 6
    functionLinenumber: 608
    functionLinenumberEnd: 803
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 7
    functionsReached:
    - dns_name_totext
    - memmove
    - yaml_stringify
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_buffer_availableregion
    - dns_rdataclass_totext
    - snprintf
    - str_totext
    - dns_ttl_totext
    - RETERR
    - dns_rdatatype_tounknowntext
    - INSIST
    - INDENT_TO
    - ncache_summary
    - dns_rdatatype_totext
    - isc_buffer_used
    - NXDOMAIN
    - isc_buffer_availablelength
    - dns_rdata_tofmttext
    - dns_rdataclass_tounknowntext
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:832,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/masterdump.c:832,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/masterdump.c:833,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:834,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:839,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:839,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:840,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:847,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:847,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:854,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:857,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/masterdump.c:860,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:872,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:875,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:878,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:887,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:887,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:888,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:888,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:890,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 5
    argNames:
    - rdataset
    - owner_name
    - ctx
    - omit_final_dot
    - target
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_totext_ctx_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 893
    functionName: question_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - str_totext
    - yaml_stringify
    - isc_buffer_used
    - RETERR
    - dns_rdatatype_tounknowntext
    - dns_rdataclass_totext
    - INDENT_TO
    - dns_rdataset_first
    - REQUIRE
    - dns_rdataclass_tounknowntext
    - dns_rdatatype_totext
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t question_totext(dns_rdataset_t *rdataset, const dns_name_t
      *owner_name,\n\t\tdns_totext_ctx_t *ctx, bool omit_final_dot,\n\t\tisc_buffer_t
      *target)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: totext_ctx_init
      Src: /src/bind9/lib/dns/masterdump.c:900,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:902,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/masterdump.c:912,1
    - Dst: question_totext
      Src: /src/bind9/lib/dns/masterdump.c:917,1
    - Dst: rdataset_totext
      Src: /src/bind9/lib/dns/masterdump.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - rdataset
    - owner_name
    - omit_final_dot
    - question
    - target
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - bool
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 895
    functionDepth: 7
    functionLinenumber: 895
    functionLinenumberEnd: 923
    functionName: dns_rdataset_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 7
    functionsReached:
    - dns_name_countlabels
    - UNEXPECTED_ERROR
    - question_totext
    - totext_ctx_init
    - rdataset_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataset_totext(dns_rdataset_t *rdataset, const dns_name_t
      *owner_name,\n\t\t    bool omit_final_dot, bool question, isc_buffer_t *target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: totext_ctx_init
      Src: /src/bind9/lib/dns/masterdump.c:932,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:934,1
    - Dst: rdataset_totext
      Src: /src/bind9/lib/dns/masterdump.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - owner_name
    - rdataset
    - style
    - indent
    - target
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dns_master_style_t*
    - dns_indent_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 925
    functionDepth: 7
    functionLinenumber: 925
    functionLinenumberEnd: 939
    functionName: dns_master_rdatasettotext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - totext_ctx_init
    - UNEXPECTED_ERROR
    - rdataset_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_rdatasettotext(const dns_name_t *owner_name,\n\t\t\t
      \ dns_rdataset_t *rdataset,\n\t\t\t  const dns_master_style_t *style, dns_indent_t
      *indent,\n\t\t\t  isc_buffer_t *target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: totext_ctx_init
      Src: /src/bind9/lib/dns/masterdump.c:948,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:950,1
    - Dst: question_totext
      Src: /src/bind9/lib/dns/masterdump.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - owner_name
    - rdataset
    - style
    - target
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - dns_master_style_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 941
    functionDepth: 4
    functionLinenumber: 941
    functionLinenumberEnd: 955
    functionName: dns_master_questiontotext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - totext_ctx_init
    - question_totext
    - UNEXPECTED_ERROR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_questiontotext(const dns_name_t *owner_name,\n\t\t\t
      \ dns_rdataset_t *rdataset,\n\t\t\t  const dns_master_style_t *style,\n\t\t\t
      \ isc_buffer_t *target)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:970,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:981,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/masterdump.c:982,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:984,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:985,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:986,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:989,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:996,1
    - Dst: rdataset_totext
      Src: /src/bind9/lib/dns/masterdump.c:1005,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1011,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1012,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1013,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1022,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/masterdump.c:1023,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:1026,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 6
    argNames:
    - mctx
    - name
    - rdataset
    - ctx
    - buffer
    - f
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_totext_ctx_t*
    - isc_buffer_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 964
    functionDepth: 7
    functionLinenumber: 964
    functionLinenumberEnd: 1032
    functionName: dump_rdataset
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - isc_buffer_clear
    - isc_mem_put
    - UNEXPECTED_ERROR
    - INSIST
    - isc_result_totext
    - isc_buffer_init
    - isc_mem_get
    - REQUIRE
    - fprintf
    - isc_buffer_usedregion
    - dns_ttl_totext
    - rdataset_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_rdataset(isc_mem_t *mctx, const dns_name_t *name,
      dns_rdataset_t *rdataset,\n\t      dns_totext_ctx_t *ctx, isc_buffer_t *buffer,
      FILE *f)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - rds
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1066
    functionName: dump_order
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dump_order(const dns_rdataset_t *rds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_order
      Src: /src/bind9/lib/dns/masterdump.c:1070,1
    - Dst: dump_order
      Src: /src/bind9/lib/dns/masterdump.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: dump_order_compare
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dump_order
    linkageType: ''
    returnType: int
    signature: int dump_order_compare(const void *a, const void *b)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/masterdump.c:1096,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:1100,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:1101,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1102,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1103,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1104,1
    - Dst: dns_rdatasetiter_next
      Src: /src/bind9/lib/dns/masterdump.c:1114,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/masterdump.c:1116,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/masterdump.c:1117,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/masterdump.c:1122,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/masterdump.c:1127,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1131,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1141,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1144,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/masterdump.c:1144,1
    - Dst: STALE
      Src: /src/bind9/lib/dns/masterdump.c:1152,1
    - Dst: memset
      Src: /src/bind9/lib/dns/masterdump.c:1155,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1156,1
    - Dst: dns_time64_totext
      Src: /src/bind9/lib/dns/masterdump.c:1157,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1158,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/masterdump.c:1159,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1160,1
    - Dst: dump_rdataset
      Src: /src/bind9/lib/dns/masterdump.c:1162,1
    - Dst: memset
      Src: /src/bind9/lib/dns/masterdump.c:1176,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1177,1
    - Dst: dns_time64_totext
      Src: /src/bind9/lib/dns/masterdump.c:1178,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1184,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1187,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1189,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 6
    argNames:
    - mctx
    - name
    - rdsiter
    - ctx
    - buffer
    - f
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_rdatasetiter_t*
    - dns_totext_ctx_t*
    - isc_buffer_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1086
    functionDepth: 8
    functionLinenumber: 1086
    functionLinenumberEnd: 1209
    functionName: dump_rdatasets_text
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - isc_buffer_clear
    - dns_rdatasetiter_next
    - memset
    - RUNTIME_CHECK
    - dns_rdatasetiter_current
    - dump_rdataset
    - isc_buffer_init
    - dns_rdataset_disassociate
    - ANCIENT
    - fprintf
    - dns_trust_totext
    - STALE
    - isc_buffer_usedregion
    - dns_rdatasetiter_first
    - qsort
    - dns_time64_totext
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_rdatasets_text(isc_mem_t *mctx, const dns_name_t
      *name,\n\t\t    dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx,\n\t\t    isc_buffer_t
      *buffer, FILE *f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1223,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1223,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/masterdump.c:1227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1228,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:1230,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:1237,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1238,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1239,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1240,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1241,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1242,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1243,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1244,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/masterdump.c:1244,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1245,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1246,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/masterdump.c:1248,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1249,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:1249,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1251,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/masterdump.c:1252,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:1258,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/masterdump.c:1259,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1260,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:1269,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1276,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1277,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1278,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1281,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/masterdump.c:1282,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1292,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:1293,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1294,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1295,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1295,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/masterdump.c:1300,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:1303,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 5
    argNames:
    - mctx
    - name
    - rdataset
    - buffer
    - f
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_rdataset_t*
    - isc_buffer_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1309
    functionName: dump_rdataset_raw
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - isc_buffer_availableregion
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_usedregion
    - isc_buffer_putuint32
    - isc_stdio_write
    - dns_name_toregion
    - DNS_RDATASET_VALID
    - isc_buffer_clear
    - UNEXPECTED_ERROR
    - INSIST
    - isc_mem_get
    - isc_buffer_putuint16
    - isc_buffer_availablelength
    - isc_buffer_copyregion
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_usedlength
    - isc_mem_put
    - dns_rdataset_count
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_rdataset_raw(isc_mem_t *mctx, const dns_name_t *name,\n\t\t
      \ dns_rdataset_t *rdataset, isc_buffer_t *buffer, FILE *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:1258,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/masterdump.c:1259,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1260,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:1269,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1276,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1277,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1278,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1281,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/masterdump.c:1282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1255
    functionDepth: 3
    functionLinenumber: 1255
    functionLinenumberEnd: 1284
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 7
    functionsReached:
    - dns_rdataset_current
    - isc_buffer_copyregion
    - INSIST
    - isc_buffer_init
    - isc_mem_get
    - isc_buffer_putuint16
    - isc_mem_put
    - dns_rdata_toregion
    - isc_buffer_availablelength
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/masterdump.c:1317,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/masterdump.c:1319,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/masterdump.c:1322,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/masterdump.c:1324,1
    - Dst: dump_rdataset_raw
      Src: /src/bind9/lib/dns/masterdump.c:1331,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - mctx
    - owner_name
    - rdsiter
    - ctx
    - buffer
    - f
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_rdatasetiter_t*
    - dns_totext_ctx_t*
    - isc_buffer_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1341
    functionName: dump_rdatasets_raw
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dump_rdataset_raw
    - dns_name_copy
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_rdatasets_raw(isc_mem_t *mctx, const dns_name_t
      *owner_name,\n\t\t   dns_rdatasetiter_t *rdsiter, dns_totext_ctx_t *ctx,\n\t\t
      \  isc_buffer_t *buffer, FILE *f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/masterdump.c:1322,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/masterdump.c:1324,1
    - Dst: dump_rdataset_raw
      Src: /src/bind9/lib/dns/masterdump.c:1331,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1338
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dump_rdataset_raw
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1361,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1362,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/masterdump.c:1364,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/masterdump.c:1366,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1368,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1371,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/masterdump.c:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1374
    functionName: dumpctx_destroy
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_db_detach
    - dns_dbiterator_destroy
    - isc_mutex_destroy
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dumpctx_destroy(dns_dumpctx_t *dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1378,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1379,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/masterdump.c:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_dumpctx_t*
    - dns_dumpctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1384
    functionName: dns_dumpctx_attach
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - REQUIRE
    - DNS_DCTX_VALID
    linkageType: ''
    returnType: void
    signature: void dns_dumpctx_attach(dns_dumpctx_t *source, dns_dumpctx_t **target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1393,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1393,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/masterdump.c:1395,1
    - Dst: dumpctx_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dctxp
    argTypes:
    - dns_dumpctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1398
    functionName: dns_dumpctx_detach
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 3
    functionsReached:
    - dumpctx_destroy
    - REQUIRE
    - isc_refcount_decrement
    - DNS_DCTX_VALID
    linkageType: ''
    returnType: void
    signature: void dns_dumpctx_detach(dns_dumpctx_t **dctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1402,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1404
    functionName: dns_dumpctx_version
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DCTX_VALID
    linkageType: ''
    returnType: dns_dbversion_t
    signature: 'dns_dbversion_t *

      dns_dumpctx_version(dns_dumpctx_t *dctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1408,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1410
    functionName: dns_dumpctx_db
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DCTX_VALID
    linkageType: ''
    returnType: dns_db_t
    signature: 'dns_db_t *

      dns_dumpctx_db(dns_dumpctx_t *dctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1414,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1414,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/masterdump.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1412
    functionDepth: 1
    functionLinenumber: 1412
    functionLinenumberEnd: 1417
    functionName: dns_dumpctx_cancel
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 2
    functionsReached:
    - atomic_store_release
    - REQUIRE
    - DNS_DCTX_VALID
    linkageType: ''
    returnType: void
    signature: void dns_dumpctx_cancel(dns_dumpctx_t *dctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdio_flush
      Src: /src/bind9/lib/dns/masterdump.c:1424,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1428,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1431,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1433,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1436,1
    - Dst: isc_stdio_sync
      Src: /src/bind9/lib/dns/masterdump.c:1442,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1446,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1449,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1451,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - f
    - result
    - temp
    argTypes:
    - FILE*
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1419
    functionDepth: 2
    functionLinenumber: 1419
    functionLinenumberEnd: 1458
    functionName: flushandsync
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_stdio_sync
    - isc_stdio_flush
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t flushandsync(FILE *f, isc_result_t result, const char
      *temp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: flushandsync
      Src: /src/bind9/lib/dns/masterdump.c:1466,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/masterdump.c:1471,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1476,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1479,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/dns/masterdump.c:1483,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/masterdump.c:1485,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1488,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - f
    - result
    - temp
    - file
    argTypes:
    - FILE*
    - isc_result_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1460
    functionDepth: 3
    functionLinenumber: 1460
    functionLinenumberEnd: 1494
    functionName: closeandrename
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_file_rename
    - isc_result_totext
    - flushandsync
    - isc_file_remove
    - isc_log_write
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t closeandrename(FILE *f, isc_result_t result, const char
      *temp,\n\t       const char *file)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1503,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1503,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/masterdump.c:1505,1
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/masterdump.c:1508,1
    - Dst: closeandrename
      Src: /src/bind9/lib/dns/masterdump.c:1513,1
    - Dst: flushandsync
      Src: /src/bind9/lib/dns/masterdump.c:1519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1499
    functionDepth: 4
    functionLinenumber: 1499
    functionLinenumberEnd: 1523
    functionName: master_dump_cb
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dumptostream
    - closeandrename
    - flushandsync
    - atomic_load_acquire
    - REQUIRE
    - DNS_DCTX_VALID
    linkageType: ''
    returnType: void
    signature: void master_dump_cb(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/masterdump.c:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1528
    functionDepth: 3
    functionLinenumber: 1528
    functionLinenumberEnd: 1534
    functionName: master_dump_done_cb
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_dumpctx_detach
    linkageType: ''
    returnType: void
    signature: void master_dump_done_cb(void *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1544,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/masterdump.c:1551,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/masterdump.c:1564,1
    - Dst: totext_ctx_init
      Src: /src/bind9/lib/dns/masterdump.c:1567,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:1569,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/masterdump.c:1573,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/masterdump.c:1574,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/masterdump.c:1576,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/lib/dns/masterdump.c:1578,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/masterdump.c:1589,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/masterdump.c:1594,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/lib/dns/masterdump.c:1597,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/masterdump.c:1598,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/masterdump.c:1599,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/masterdump.c:1601,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/masterdump.c:1603,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1610,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/masterdump.c:1613,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1615,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 8
    argNames:
    - mctx
    - db
    - version
    - style
    - f
    - dctxp
    - format
    - header
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_master_style_t*
    - FILE*
    - dns_dumpctx_t**
    - dns_masterformat_t
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1536
    functionDepth: 4
    functionLinenumber: 1536
    functionLinenumberEnd: 1617
    functionName: dumpctx_create
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_db_currentversion
    - UNREACHABLE
    - dns_master_initrawheader
    - dns_db_getservestalettl
    - isc_mutex_init
    - UNEXPECTED_ERROR
    - dns_db_attachversion
    - isc_mem_attach
    - dns_db_detach
    - dns_db_attach
    - dns_db_createiterator
    - isc_mem_get
    - isc_refcount_init
    - isc_stdtime_now
    - dns_db_iscache
    - isc_mem_put
    - totext_ctx_init
    - dns_dbiterator_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dumpctx_create(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t
      *version,\n\t       const dns_master_style_t *style, FILE *f, dns_dumpctx_t
      **dctxp,\n\t       dns_masterformat_t format, dns_masterrawheader_t *header)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1628,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1630,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1643,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/masterdump.c:1645,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1646,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1647,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1648,1
    - Dst: isc_buffer_region
      Src: /src/bind9/lib/dns/masterdump.c:1655,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1662,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1663,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1664,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1667,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1668,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1670,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1673,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1673,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/masterdump.c:1674,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1675,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/masterdump.c:1683,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1619
    functionDepth: 2
    functionLinenumber: 1619
    functionLinenumberEnd: 1688
    functionName: writeheader
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - UNREACHABLE
    - isc_buffer_region
    - RUNTIME_CHECK
    - INSIST
    - isc_buffer_init
    - isc_mem_get
    - isc_buffer_usedlength
    - fprintf
    - dns_time32_totext
    - isc_mem_put
    - isc_buffer_putuint32
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t writeheader(dns_dumpctx_t *dctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1703,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1705,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/masterdump.c:1707,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1709,1
    - Dst: writeheader
      Src: /src/bind9/lib/dns/masterdump.c:1709,1
    - Dst: DNS_DBITERATOR_FOREACH
      Src: /src/bind9/lib/dns/masterdump.c:1711,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/masterdump.c:1715,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/masterdump.c:1721,1
    - Dst: dns_dbiterator_origin
      Src: /src/bind9/lib/dns/masterdump.c:1722,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1723,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/masterdump.c:1732,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1733,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/masterdump.c:1735,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/masterdump.c:1738,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1743,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/masterdump.c:1745,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/masterdump.c:1748,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1755,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/masterdump.c:1755,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1756,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1690
    functionDepth: 4
    functionLinenumber: 1690
    functionLinenumberEnd: 1758
    functionName: dumptostream
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 5
    functionsReached:
    - isc_mem_put
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - dns_dbiterator_pause
    - dns_fixedname_name
    - isc_buffer_init
    - isc_mem_get
    - CHECK
    - dns_dbiterator_current
    - dns_db_allrdatasets
    - dns_db_detachnode
    - writeheader
    - dns_rdatasetiter_destroy
    - dns_dbiterator_origin
    - DNS_DBITERATOR_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dumptostream(dns_dumpctx_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1769,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1770,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1771,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1773,1
    - Dst: dns_dumpctx_attach
      Src: /src/bind9/lib/dns/masterdump.c:1781,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/masterdump.c:1782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 9
    argNames:
    - mctx
    - db
    - version
    - style
    - f
    - loop
    - done
    - done_arg
    - dctxp
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_master_style_t*
    - FILE*
    - isc_loop_t*
    - dns_dumpdonefunc_t
    - void*
    - dns_dumpctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1760
    functionDepth: 5
    functionLinenumber: 1760
    functionLinenumberEnd: 1785
    functionName: dns_master_dumptostreamasync
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - isc_work_enqueue
    - dumpctx_create
    - REQUIRE
    - dns_dumpctx_attach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_dumptostreamasync(isc_mem_t *mctx, dns_db_t
      *db,\n\t\t\t     dns_dbversion_t *version,\n\t\t\t     const dns_master_style_t
      *style, FILE *f,\n\t\t\t     isc_loop_t *loop, dns_dumpdonefunc_t done,\n\t\t\t
      \    void *done_arg, dns_dumpctx_t **dctxp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1795,1
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/masterdump.c:1801,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1802,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/masterdump.c:1803,1
    - Dst: flushandsync
      Src: /src/bind9/lib/dns/masterdump.c:1805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - mctx
    - db
    - version
    - style
    - format
    - header
    - f
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_master_style_t*
    - dns_masterformat_t
    - dns_masterrawheader_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1787
    functionDepth: 5
    functionLinenumber: 1787
    functionLinenumberEnd: 1807
    functionName: dns_master_dumptostream
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 2
    functionsReached:
    - dumptostream
    - INSIST
    - flushandsync
    - dumpctx_create
    - dns_dumpctx_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_dumptostream(isc_mem_t *mctx, dns_db_t *db,
      dns_dbversion_t *version,\n\t\t\tconst dns_master_style_t *style,\n\t\t\tdns_masterformat_t
      format,\n\t\t\tdns_masterrawheader_t *header, FILE *f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/masterdump.c:1816,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/masterdump.c:1817,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/lib/dns/masterdump.c:1819,1
    - Dst: isc_file_openunique
      Src: /src/bind9/lib/dns/masterdump.c:1824,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1826,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1829,1
    - Dst: posix_fadvise
      Src: /src/bind9/lib/dns/masterdump.c:1834,1
    - Dst: fileno
      Src: /src/bind9/lib/dns/masterdump.c:1834,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - mctx
    - file
    - tempp
    - fp
    argTypes:
    - isc_mem_t*
    - char*
    - char**
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1809
    functionDepth: 2
    functionLinenumber: 1809
    functionLinenumberEnd: 1844
    functionName: opentmp
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_file_mktemplate
    - isc_result_totext
    - posix_fadvise
    - strlen
    - isc_log_write
    - isc_file_openunique
    - isc_mem_allocate
    - fileno
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opentmp(isc_mem_t *mctx, const char *file, char **tempp,
      FILE **fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/masterdump.c:1858,1
    - Dst: opentmp
      Src: /src/bind9/lib/dns/masterdump.c:1860,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1865,1
    - Dst: dns_dumpctx_attach
      Src: /src/bind9/lib/dns/masterdump.c:1876,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/masterdump.c:1877,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/masterdump.c:1882,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/masterdump.c:1883,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1884,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 11
    argNames:
    - mctx
    - db
    - version
    - style
    - filename
    - loop
    - done
    - done_arg
    - dctxp
    - format
    - header
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_master_style_t*
    - char*
    - isc_loop_t*
    - dns_dumpdonefunc_t
    - void*
    - dns_dumpctx_t**
    - dns_masterformat_t
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1846
    functionDepth: 5
    functionLinenumber: 1846
    functionLinenumberEnd: 1890
    functionName: dns_master_dumpasync
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - opentmp
    - isc_mem_free
    - isc_work_enqueue
    - dns_dumpctx_attach
    - isc_file_remove
    - dumpctx_create
    - isc_mem_strdup
    - isc_stdio_close
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_dumpasync(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t
      *version,\n\t\t     const dns_master_style_t *style, const char *filename,\n\t\t
      \    isc_loop_t *loop, dns_dumpdonefunc_t done, void *done_arg,\n\t\t     dns_dumpctx_t
      **dctxp, dns_masterformat_t format,\n\t\t     dns_masterrawheader_t *header)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opentmp
      Src: /src/bind9/lib/dns/masterdump.c:1901,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1906,1
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/masterdump.c:1912,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1913,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/masterdump.c:1914,1
    - Dst: closeandrename
      Src: /src/bind9/lib/dns/masterdump.c:1916,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - mctx
    - db
    - version
    - style
    - filename
    - format
    - header
    argTypes:
    - isc_mem_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_master_style_t*
    - char*
    - dns_masterformat_t
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1892
    functionDepth: 5
    functionLinenumber: 1892
    functionLinenumberEnd: 1921
    functionName: dns_master_dump
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 3
    functionsReached:
    - dumptostream
    - opentmp
    - isc_mem_free
    - closeandrename
    - INSIST
    - dumpctx_create
    - dns_dumpctx_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_dump(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t
      *version,\n\t\tconst dns_master_style_t *style, const char *filename,\n\t\tdns_masterformat_t
      format, dns_masterrawheader_t *header)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - style
    argTypes:
    - dns_master_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1923
    functionDepth: 1
    functionLinenumber: 1923
    functionLinenumberEnd: 1927
    functionName: dns_master_styleflags
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: dns_masterstyle_flags_t
    signature: dns_masterstyle_flags_t dns_master_styleflags(const dns_master_style_t
      *style)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1938,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 10
    argNames:
    - stylep
    - flags
    - ttl_column
    - class_column
    - type_column
    - rdata_column
    - line_length
    - tab_width
    - split_width
    - mctx
    argTypes:
    - dns_master_style_t**
    - dns_masterstyle_flags_t
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1929
    functionDepth: 1
    functionLinenumber: 1929
    functionLinenumberEnd: 1951
    functionName: dns_master_stylecreate
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_master_stylecreate(dns_master_style_t **stylep,\n\t\t
      \      dns_masterstyle_flags_t flags, unsigned int ttl_column,\n\t\t       unsigned
      int class_column, unsigned int type_column,\n\t\t       unsigned int rdata_column,
      unsigned int line_length,\n\t\t       unsigned int tab_width, unsigned int split_width,\n\t\t
      \      isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1957,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stylep
    - mctx
    argTypes:
    - dns_master_style_t**
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1953
    functionDepth: 1
    functionLinenumber: 1953
    functionLinenumberEnd: 1961
    functionName: dns_master_styledestroy
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - isc_mem_put
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_master_styledestroy(dns_master_style_t **stylep, isc_mem_t
      *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - zt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: VALID_ZT
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_ZT(zt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_ref
      Src: /src/bind9/lib/dns/zt.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: ztqpattach
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - dns_zone_ref
    linkageType: ''
    returnType: void
    signature: "void ztqpattach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t   uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: ztqpdetach
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    linkageType: ''
    returnType: void
    signature: "void ztqpdetach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t   uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zt.c:79,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/zt.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: ztqpmakekey
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    - dns_zone_getorigin
    linkageType: ''
    returnType: size_t
    signature: "size_t ztqpmakekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t    uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/zt.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ztqptriename
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void ztqptriename(void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:102,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/zt.c:104,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zt.c:106,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zt.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mctx
    - view
    - ztp
    argTypes:
    - isc_mem_t*
    - dns_view_t*
    - dns_zt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: dns_zt_create
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_qpmulti_create
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void dns_zt_create(isc_mem_t *mctx, dns_view_t *view, dns_zt_t **ztp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:129,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:129,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/zt.c:131,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/zt.c:132,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/zt.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 10
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: dns_zt_compact
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_commit
    - VALID_ZT
    - REQUIRE
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: void dns_zt_compact(dns_zt_t *zt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:141,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:141,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/zt.c:143,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/zt.c:144,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/zt.c:145,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/zt.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zt
    - zone
    argTypes:
    - dns_zt_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 11
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: dns_zt_mount
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_qpmulti_commit
    - VALID_ZT
    - REQUIRE
    - dns_qp_insert
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zt_mount(dns_zt_t *zt, dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:156,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:156,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/zt.c:158,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/zt.c:159,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zt.c:159,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/zt.c:161,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/zt.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zt
    - zone
    argTypes:
    - dns_zt_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 12
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: dns_zt_unmount
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_qpmulti_commit
    - dns_qp_deletename
    - VALID_ZT
    - REQUIRE
    - dns_zone_getorigin
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zt_unmount(dns_zt_t *zt, dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:177,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:178,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/zt.c:180,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/zt.c:183,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/zt.c:186,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/zt.c:191,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/zt.c:193,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/zt.c:201,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/zt.c:223,1
    - Dst: dns_zone_isloaded
      Src: /src/bind9/lib/dns/zt.c:224,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/zt.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - zt
    - name
    - options
    - zonep
    argTypes:
    - dns_zt_t*
    - dns_name_t*
    - dns_ztfind_t
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 167
    functionDepth: 9
    functionLinenumber: 167
    functionLinenumberEnd: 233
    functionName: dns_zt_find
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 4
    functionsReached:
    - dns_zone_attach
    - dns_qpmulti_query
    - dns_zone_isloaded
    - dns_qp_lookup
    - dns_qpread_destroy
    - VALID_ZT
    - REQUIRE
    - dns_qpchain_length
    - dns_zone_gettype
    - dns_qpchain_node
    - dns_qp_getname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zt_find(dns_zt_t *zt, const dns_name_t *name, dns_ztfind_t
      options,\n\t    dns_zone_t **zonep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:237,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:237,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:238,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zt.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - zt
    - ztp
    argTypes:
    - dns_zt_t*
    - dns_zt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: dns_zt_attach
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment
    - VALID_ZT
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zt_attach(dns_zt_t *zt, dns_zt_t **ztp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zt.c:247,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/zt.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: flush
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 58
    functionsReached:
    - dns_zone_flush
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t flush(dns_zone_t *zone, void *uap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zt.c:253,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zt.c:254,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/zt.c:256,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:257,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/zt.c:260,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zt.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: zt_destroy
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - dns_zt_apply
    - isc_mem_putanddetach
    - atomic_load_acquire
    - dns_qpmulti_destroy
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void zt_destroy(dns_zt_t *zt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:269,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:269,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:274,1
    - Dst: zt_destroy
      Src: /src/bind9/lib/dns/zt.c:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ztp
    argTypes:
    - dns_zt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: dns_zt_detach
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - zt_destroy
    - VALID_ZT
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_zt_detach(dns_zt_t **ztp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:281,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:281,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/zt.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: dns_zt_flush
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - atomic_store_release
    - VALID_ZT
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_zt_flush(dns_zt_t *zt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_load
      Src: /src/bind9/lib/dns/zt.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 6
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: load
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 156
    functionsReached:
    - dns_zone_load
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load(dns_zone_t *zone, void *uap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:299,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:299,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - zt
    - stop
    - newonly
    argTypes:
    - dns_zt_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: dns_zt_load
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_zt_apply
    - VALID_ZT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zt_load(dns_zt_t *zt, bool stop, bool newonly)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct zt_load_params*::loaddone
      Src: /src/bind9/lib/dns/zt.c:306,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zt.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct zt_load_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: loaded_all
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - struct zt_load_params*::loaddone
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void loaded_all(struct zt_load_params *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:321,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:321,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:323,1
    - Dst: loaded_all
      Src: /src/bind9/lib/dns/zt.c:324,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:327,1
    - Dst: zt_destroy
      Src: /src/bind9/lib/dns/zt.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 332
    functionName: loaded_one
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - loaded_all
    - isc_refcount_decrement
    - VALID_ZT
    - REQUIRE
    - zt_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loaded_one(void *uap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:345,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:345,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:346,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zt.c:348,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zt.c:349,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/lib/dns/zt.c:351,1
    - Dst: isc_refcount_decrement1
      Src: /src/bind9/lib/dns/zt.c:357,1
    - Dst: isc_refcount_decrement1
      Src: /src/bind9/lib/dns/zt.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: asyncload
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 7
    functionsReached:
    - isc_refcount_decrement1
    - isc_refcount_increment
    - VALID_ZT
    - REQUIRE
    - dns_zone_asyncload
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t asyncload(dns_zone_t *zone, void *uap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:370,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:370,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zt.c:377,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zt.c:378,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zt.c:380,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:388,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:393,1
    - Dst: loaded_all
      Src: /src/bind9/lib/dns/zt.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - zt
    - newonly
    - loaddone
    - arg
    argTypes:
    - dns_zt_t*
    - bool
    - dns_zt_callback_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 398
    functionName: dns_zt_asyncload
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 2
    functionsReached:
    - dns_zt_apply
    - loaded_all
    - isc_refcount_increment0
    - INSIST
    - isc_refcount_decrement
    - isc_mem_get
    - VALID_ZT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zt_asyncload(dns_zt_t *zt, bool newonly, dns_zt_callback_t
      *loaddone,\n\t\t void *arg)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/dns/zt.c:413,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zt.c:417,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:419,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/zt.c:423,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:425,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zt.c:429,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:431,1
    - Dst: dns_zone_getupdatedisabled
      Src: /src/bind9/lib/dns/zt.c:436,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/zt.c:442,1
    - Dst: dns_zone_setupdatedisabled
      Src: /src/bind9/lib/dns/zt.c:445,1
    - Dst: dns_zone_loadandthaw
      Src: /src/bind9/lib/dns/zt.c:449,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zt.c:457,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zt.c:458,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zt.c:459,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/zt.c:467,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/zt.c:467,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zt.c:469,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zt.c:469,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zt.c:470,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zt.c:471,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zt.c:474,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:476,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 400
    functionDepth: 6
    functionLinenumber: 400
    functionLinenumberEnd: 479
    functionName: freezezones
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 2
    functionsReached:
    - dns_zone_flush
    - dns_zone_getview
    - strcmp
    - ISC_LOG_DEBUG
    - dns_rdataclass_format
    - dns_zone_detach
    - isc_result_totext
    - dns_zone_loadandthaw
    - dns_zone_getclass
    - isc_log_write
    - dns_zone_getorigin
    - dns_zone_gettype
    - dns_zone_isdynamic
    - dns_zone_setupdatedisabled
    - dns_zone_getraw
    - dns_zone_getupdatedisabled
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t freezezones(dns_zone_t *zone, void *uap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:486,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:486,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - zt
    - view
    - freeze
    argTypes:
    - dns_zt_t*
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 493
    functionName: dns_zt_freezezones
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_zt_apply
    - VALID_ZT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zt_freezezones(dns_zt_t *zt, dns_view_t *view, bool
      freeze)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/bind9/lib/dns/zt.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: setview
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 10
    functionsReached:
    - cb
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setview(dns_zone_t *zone, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: dns_zt_setviewcommit
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_zt_apply
    linkageType: ''
    returnType: void
    signature: void dns_zt_setviewcommit(dns_zt_t *zt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: dns_zt_setviewrevert
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_zt_apply
    linkageType: ''
    returnType: void
    signature: void dns_zt_setviewrevert(dns_zt_t *zt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:524,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:524,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:525,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/zt.c:527,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/zt.c:528,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/zt.c:530,1
    - Dst: action
      Src: /src/bind9/lib/dns/zt.c:531,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/zt.c:539,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zt.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - zt
    - stop
    - sub
    - uap
    argTypes:
    - dns_zt_t*
    - bool
    - isc_result_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 515
    functionDepth: 6
    functionLinenumber: 515
    functionLinenumberEnd: 544
    functionName: dns_zt_apply
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 9
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_qpmulti_query
    - action
    - dns_qpiter_next
    - dns_qpiter_init
    - dns_qpread_destroy
    - VALID_ZT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zt_apply(dns_zt_t *zt, bool stop, isc_result_t *sub,\n\t
      \    isc_result_t (*action)(dns_zone_t *, void *), void *uap)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 105
    functionName: dns_name_isvalid
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 2
    functionsReached:
    - DNS_NAME_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_name_isvalid(const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:113,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: dns_name_hasbuffer
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 6
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_hasbuffer(const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:128,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: dns_name_isabsolute
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 23
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_isabsolute(const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: hyphenchar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hyphenchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: asterchar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: asterchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: alphachar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alphachar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: digitchar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: digitchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: borderchar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: borderchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: middlechar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: middlechar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: domainchar
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: domainchar(c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:148,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:150,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:161,1
    - Dst: domainchar
      Src: /src/bind9/lib/dns/name.c:164,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:178,1
    - Dst: borderchar
      Src: /src/bind9/lib/dns/name.c:183,1
    - Dst: middlechar
      Src: /src/bind9/lib/dns/name.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 195
    functionName: dns_name_ismailbox
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - borderchar
    - domainchar
    - INSIST
    - DNS_NAME_VALID
    - REQUIRE
    - middlechar
    linkageType: ''
    returnType: bool
    signature: bool dns_name_ismailbox(const dns_name_t *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:203,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:205,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:227,1
    - Dst: borderchar
      Src: /src/bind9/lib/dns/name.c:232,1
    - Dst: middlechar
      Src: /src/bind9/lib/dns/name.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - name
    - wildcard
    argTypes:
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 244
    functionName: dns_name_ishostname
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - borderchar
    - INSIST
    - DNS_NAME_VALID
    - REQUIRE
    - middlechar
    linkageType: ''
    returnType: bool
    signature: bool dns_name_ishostname(const dns_name_t *name, bool wildcard)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:254,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: dns_name_iswildcard
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 15
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_iswildcard(const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:277,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:277,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:284,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:288,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 300
    functionName: dns_name_internalwildcard
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 3
    functionsReached:
    - dns_name_countlabels
    - DNS_NAME_VALID
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: bool
    signature: bool dns_name_internalwildcard(const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:304,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:304,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/name.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: dns_name_hash
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 15
    functionsReached:
    - isc_hash32
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_name_hash(const dns_name_t *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:329,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:330,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:336,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:340,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/name.c:345,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/name.c:346,1
    - Dst: isc_ascii_lowercmp
      Src: /src/bind9/lib/dns/name.c:372,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 4
    argNames:
    - name1
    - name2
    - orderp
    - nlabelsp
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 403
    functionName: dns_name_fullcompare
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 17
    functionsReached:
    - dns_name_countlabels
    - isc_ascii_lowercmp
    - DNS_NAME_VALID
    - dns_name_offsets
    - REQUIRE
    linkageType: ''
    returnType: dns_namereln_t
    signature: "dns_namereln_t dns_name_fullcompare(const dns_name_t *name1, const
      dns_name_t *name2,\n\t\t     int *orderp, unsigned int *nlabelsp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/name.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 423
    functionName: dns_name_compare
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 17
    functionsReached:
    - dns_name_fullcompare
    linkageType: ''
    returnType: int
    signature: int dns_name_compare(const dns_name_t *name1, const dns_name_t *name2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:438,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:438,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:439,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:443,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/lib/dns/name.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 456
    functionName: dns_name_equal
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 160
    functionsReached:
    - isc_ascii_lowerequal
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_equal(const dns_name_t *name1, const dns_name_t *name2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:469,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:470,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:470,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:474,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/name.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 485
    functionName: dns_name_caseequal
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 5
    functionsReached:
    - memcmp
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_caseequal(const dns_name_t *name1, const dns_name_t *name2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:493,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:493,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:494,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:495,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:496,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:498,1
    - Dst: isc_ascii_lowercmp
      Src: /src/bind9/lib/dns/name.c:501,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/name.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 503
    functionName: dns_name_rdatacompare
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - isc_ascii_lowercmp
    - DNS_NAME_VALID
    - ISC_MIN
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int dns_name_rdatacompare(const dns_name_t *name1, const dns_name_t
      *name2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/name.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: dns_name_issubdomain
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 67
    functionsReached:
    - dns_name_fullcompare
    linkageType: ''
    returnType: bool
    signature: bool dns_name_issubdomain(const dns_name_t *name1, const dns_name_t
      *name2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:536,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:537,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:538,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:538,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:539,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:541,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/name.c:541,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:543,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/name.c:544,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/name.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - name
    - wname
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 551
    functionName: dns_name_matcheswildcard
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 2
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - DNS_NAME_VALID
    - dns_name_fullcompare
    - REQUIRE
    - dns_name_iswildcard
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool dns_name_matcheswildcard(const dns_name_t *name, const dns_name_t
      *wname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:561,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:561,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:562,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/name.c:564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - name
    - n
    - label
    argTypes:
    - dns_name_t*
    - unsigned int
    - dns_label_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 575
    functionName: dns_name_getlabel
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 5
    functionsReached:
    - DNS_NAME_VALID
    - dns_name_offsets
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_getlabel(const dns_name_t *name, unsigned int n, dns_label_t
      *label)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:589,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:590,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:590,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:591,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:591,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:593,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - source
    - first
    - n
    - target
    argTypes:
    - dns_name_t*
    - unsigned int
    - unsigned int
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 625
    functionName: dns_name_getlabelsequence
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 32
    functionsReached:
    - DNS_NAME_BINDABLE
    - dns_name_countlabels
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_name_getlabelsequence(const dns_name_t *source, unsigned
      int first,\n\t\t\t  unsigned int n, dns_name_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:633,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:633,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:634,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:634,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:635,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 642
    functionName: dns_name_clone
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 41
    functionsReached:
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_clone(const dns_name_t *source, dns_name_t *target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:653,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:654,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:655,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:655,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:659,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/name.c:660,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:678,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:682,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:685,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:702,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - name
    - r
    argTypes:
    - dns_name_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 707
    functionName: dns_name_fromregion
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 17
    functionsReached:
    - isc_buffer_clear
    - memmove
    - isc_buffer_availableregion
    - INSIST
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void dns_name_fromregion(dns_name_t *name, const isc_region_t *r)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:722,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:722,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:723,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:723,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:724,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:724,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:730,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:733,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:733,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/name.c:739,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:741,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:742,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:800,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:817,1
    - Dst: POST
      Src: /src/bind9/lib/dns/name.c:833,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/name.c:836,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:842,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/name.c:855,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:869,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/name.c:878,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:887,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:892,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:893,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:896,1
    - Dst: POST
      Src: /src/bind9/lib/dns/name.c:905,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:908,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:915,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:922,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/name.c:936,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:937,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 198
    argCount: 5
    argNames:
    - source
    - origin
    - options
    - name
    - target
    argTypes:
    - isc_buffer_t*
    - dns_name_t*
    - unsigned int
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 940
    functionName: convert_text
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - isc_buffer_used
    - FATAL_ERROR
    - isc_buffer_forward
    - INSIST
    - isc_buffer_remaininglength
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - isc_ascii_tolower
    - REQUIRE
    - isc_buffer_add
    - POST
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t convert_text(isc_buffer_t *source, const dns_name_t *origin,\n\t
      \    unsigned int options, dns_name_t *name, isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:947,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:947,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:949,1
    - Dst: convert_text
      Src: /src/bind9/lib/dns/name.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - source
    - origin
    - options
    - target
    argTypes:
    - isc_buffer_t*
    - dns_name_t*
    - unsigned int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 951
    functionName: dns_name_wirefromtext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - convert_text
    - ISC_BUFFER_VALID
    - REQUIRE
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_wirefromtext(isc_buffer_t *source, const dns_name_t
      *origin,\n\t\t      unsigned int options, isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:956,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:956,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:957,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:957,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:959,1
    - Dst: convert_text
      Src: /src/bind9/lib/dns/name.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - name
    - source
    - origin
    - options
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - dns_name_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 961
    functionName: dns_name_fromtext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 96
    functionsReached:
    - isc_buffer_clear
    - convert_text
    - DNS_NAME_VALID
    - REQUIRE
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_fromtext(dns_name_t *name, isc_buffer_t *source,\n\t\t
      \ const dns_name_t *origin, unsigned int options)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:980,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:980,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:981,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:981,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:987,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:988,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:989,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1045,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/name.c:1100,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/name.c:1101,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1128,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 116
    argCount: 3
    argNames:
    - name
    - options
    - target
    argTypes:
    - dns_name_t*
    - unsigned int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 1135
    functionName: dns_name_totext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 24
    functionsReached:
    - dns_name_countlabels
    - UNREACHABLE
    - isc_buffer_used
    - FATAL_ERROR
    - INSIST
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_add
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_totext(const dns_name_t *name, unsigned int
      options,\n\t\tisc_buffer_t *target)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1151,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1153,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1153,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:1157,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1158,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1159,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1189,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/name.c:1213,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/name.c:1222,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/name.c:1223,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1247,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 3
    argNames:
    - name
    - omit_final_dot
    - target
    argTypes:
    - dns_name_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1250
    functionName: dns_name_tofilenametext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 7
    functionsReached:
    - dns_name_countlabels
    - UNREACHABLE
    - isc_buffer_used
    - FATAL_ERROR
    - INSIST
    - DNS_NAME_VALID
    - snprintf
    - REQUIRE
    - isc_buffer_add
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_tofilenametext(const dns_name_t *name, bool
      omit_final_dot,\n\t\t\tisc_buffer_t *target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1258,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1259,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1259,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1262,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/name.c:1263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1267,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1267,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1268,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1268,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1270,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/name.c:1274,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - source
    - name
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1283
    functionName: dns_name_downcase
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 15
    functionsReached:
    - isc_ascii_lowercopy
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_add
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_name_downcase(const dns_name_t *source, dns_name_t
      *name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1339,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1339,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1340,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1341,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1341,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1342,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1346,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1349,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/name.c:1350,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1351,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/name.c:1371,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1372,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/name.c:1373,1
    - Dst: dns_decompress_getpermitted
      Src: /src/bind9/lib/dns/name.c:1402,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1421,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1434,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/name.c:1436,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1441,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - name
    - source
    - dctx
    - target
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - dns_decompress_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1444
    functionName: dns_name_fromwire
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 8
    functionsReached:
    - isc_buffer_clear
    - memmove
    - isc_buffer_used
    - ISC_MIN
    - isc_buffer_forward
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - isc_buffer_current
    - REQUIRE
    - dns_decompress_getpermitted
    - isc_buffer_add
    - isc_buffer_base
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_fromwire(dns_name_t *const name, isc_buffer_t
      *const source,\n\t\t  const dns_decompress_t dctx, isc_buffer_t *target)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1460,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1461,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1461,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1464,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1467,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1467,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1468,1
    - Dst: dns_compress_getpermitted
      Src: /src/bind9/lib/dns/name.c:1473,1
    - Dst: dns_compress_getmultiuse
      Src: /src/bind9/lib/dns/name.c:1474,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1481,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/name.c:1484,1
    - Dst: dns_compress_name
      Src: /src/bind9/lib/dns/name.c:1494,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/name.c:1504,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1510,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1513,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1513,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1514,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1521,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/name.c:1524,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - name
    - cctx
    - target
    argTypes:
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1446
    functionDepth: 5
    functionLinenumber: 1446
    functionLinenumberEnd: 1528
    functionName: dns_name_towire
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 9
    functionsReached:
    - memmove
    - isc_buffer_used
    - dns_compress_name
    - dns_compress_getmultiuse
    - isc_buffer_putuint16
    - DNS_NAME_VALID
    - isc_buffer_usedlength
    - REQUIRE
    - dns_compress_getpermitted
    - isc_buffer_add
    - ISC_BUFFER_VALID
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_towire(const dns_name_t *name, dns_compress_t
      *cctx,\n\t\tisc_buffer_t *target)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1545,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1545,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1546,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1546,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1547,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1547,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1547,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1548,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1558,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:1561,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1566,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1596,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1604,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1611,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - prefix
    - suffix
    - name
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1530
    functionDepth: 2
    functionLinenumber: 1530
    functionLinenumberEnd: 1614
    functionName: dns_name_concatenate
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 18
    functionsReached:
    - isc_buffer_clear
    - memmove
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_add
    - ISC_BUFFER_VALID
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_concatenate(const dns_name_t *prefix, const
      dns_name_t *suffix,\n\t\t     dns_name_t *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1622,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1623,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1624,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1624,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1625,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1625,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/name.c:1627,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - source
    - mctx
    - target
    argTypes:
    - dns_name_t*
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1634
    functionName: dns_name_dup
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 40
    functionsReached:
    - memmove
    - DNS_NAME_BINDABLE
    - isc_mem_get
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_dup(const dns_name_t *source, isc_mem_t *mctx, dns_name_t
      *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1644,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1645,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/name.c:1648,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/name.c:1649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - name
    - mctx
    argTypes:
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1650
    functionName: dns_name_free
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 48
    functionsReached:
    - isc_mem_put
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_invalidate
    linkageType: ''
    returnType: void
    signature: void dns_name_free(dns_name_t *name, isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1656,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1665
    functionName: dns_name_size
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: size_t
    signature: size_t dns_name_size(const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1673,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1673,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1674,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/name.c:1677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - name
    - digest
    - arg
    argTypes:
    - dns_name_t*
    - dns_digestfunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1667
    functionDepth: 2
    functionLinenumber: 1667
    functionLinenumberEnd: 1684
    functionName: dns_name_digest
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - isc_ascii_lowercopy
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_name_digest(const dns_name_t *name, dns_digestfunc_t
      digest, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1688,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1686
    functionDepth: 1
    functionLinenumber: 1686
    functionLinenumberEnd: 1695
    functionName: dns_name_dynamic
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 22
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_dynamic(const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1708,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1708,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/name.c:1710,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/name.c:1711,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/name.c:1715,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/name.c:1716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - name
    - stream
    argTypes:
    - dns_name_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1697
    functionDepth: 3
    functionLinenumber: 1697
    functionLinenumberEnd: 1719
    functionName: dns_name_print
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 5
    functionsReached:
    - dns_name_totext
    - isc_buffer_init
    - DNS_NAME_VALID
    - REQUIRE
    - fprintf
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_name_print(const dns_name_t *name, FILE *stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - proc
    argTypes:
    - dns_name_totextfilter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1739
    functionName: dns_name_settotextfilter
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_name_settotextfilter(dns_name_totextfilter_t *proc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1746,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/name.c:1751,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/name.c:1752,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/name.c:1754,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/name.c:1756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - name
    - cp
    - size
    argTypes:
    - dns_name_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1741
    functionDepth: 3
    functionLinenumber: 1741
    functionLinenumberEnd: 1758
    functionName: dns_name_format
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 223
    functionsReached:
    - dns_name_totext
    - isc_buffer_init
    - snprintf
    - REQUIRE
    - isc_buffer_putuint8
    linkageType: ''
    returnType: void
    signature: void dns_name_format(const dns_name_t *name, char *cp, unsigned int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1771,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1771,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1772,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/name.c:1774,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/name.c:1775,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/name.c:1780,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/name.c:1781,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - name
    - target
    - mctx
    argTypes:
    - dns_name_t*
    - char**
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1764
    functionDepth: 3
    functionLinenumber: 1764
    functionLinenumberEnd: 1787
    functionName: dns_name_tostring
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - dns_name_totext
    - memmove
    - isc_mem_allocate
    - isc_buffer_init
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_name_tostring(const dns_name_t *name, char **target,
      isc_mem_t *mctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1798,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/name.c:1800,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:1800,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1801,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:1801,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1802,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/name.c:1805,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/name.c:1808,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/name.c:1814,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - target
    - src
    - origin
    - options
    - mctx
    argTypes:
    - dns_name_t*
    - char*
    - dns_name_t*
    - unsigned int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1789
    functionDepth: 4
    functionLinenumber: 1789
    functionLinenumberEnd: 1817
    functionName: dns_name_fromstring
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 65
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_initname
    - DNS_NAME_BINDABLE
    - strlen
    - REQUIRE
    - isc_buffer_add
    - dns_name_dup
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_name_fromstring(dns_name_t *target, const char *src,\n\t\t
      \   const dns_name_t *origin, unsigned int options,\n\t\t    isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1824,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1824,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1825,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1825,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1826,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1826,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1830,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1831,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1833,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1839,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1819
    functionDepth: 2
    functionLinenumber: 1819
    functionLinenumberEnd: 1847
    functionName: dns_name_copy
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 101
    functionsReached:
    - isc_buffer_clear
    - memmove
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: void dns_name_copy(const dns_name_t *source, dns_name_t *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:1871,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:1872,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/name.c:1873,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/name.c:1875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1866
    functionDepth: 3
    functionLinenumber: 1866
    functionLinenumberEnd: 1882
    functionName: dns_name_isdnssd
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - dns_name_equal
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool dns_name_isdnssd(const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/name.c:1922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1917
    functionDepth: 4
    functionLinenumber: 1917
    functionLinenumberEnd: 1927
    functionName: dns_name_isrfc1918
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - dns_name_issubdomain
    linkageType: ''
    returnType: bool
    signature: bool dns_name_isrfc1918(const dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/name.c:1940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1935
    functionDepth: 4
    functionLinenumber: 1935
    functionLinenumberEnd: 1945
    functionName: dns_name_isula
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - dns_name_issubdomain
    linkageType: ''
    returnType: bool
    signature: bool dns_name_isula(const dns_name_t *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1952,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1952,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1960,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:1971,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:1972,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1980,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1981,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1982,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1982,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1983,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1991
    functionName: dns_name_istat
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 3
    functionsReached:
    - INSIST
    - DNS_NAME_VALID
    - isc_ascii_tolower
    - REQUIRE
    - isc_hex_char
    linkageType: ''
    returnType: bool
    signature: bool dns_name_istat(const dns_name_t *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1998,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1998,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2006,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/name.c:2012,1
    - Dst: memcpy
      Src: /src/bind9/lib/dns/name.c:2023,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/name.c:2025,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2034,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2036,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/name.c:2040,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 1993
    functionDepth: 1
    functionLinenumber: 1993
    functionLinenumberEnd: 2045
    functionName: dns_name_isdnssvcb
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - INSIST
    - DNS_NAME_VALID
    - strtol
    - REQUIRE
    - strncasecmp
    - memcpy
    - isdigit
    linkageType: ''
    returnType: bool
    signature: bool dns_name_isdnssvcb(const dns_name_t *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:2054,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:2054,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:2055,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:2055,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:2057,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:2058,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2065,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2065,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:2070,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/name.c:2071,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2074,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2074,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/name.c:2080,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2081,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:2082,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:2084,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/name.c:2089,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/name.c:2103,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2104,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:2105,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:2107,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/name.c:2110,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/name.c:2115,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - name
    - rad
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2047
    functionDepth: 4
    functionLinenumber: 2047
    functionLinenumberEnd: 2116
    functionName: dns_name_israd
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - memmove
    - strtoul
    - dns_name_issubdomain
    - INSIST
    - tolower
    - strlen
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool dns_name_israd(const dns_name_t *name, const dns_name_t *rad)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:2120,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:2120,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2129,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2135,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2138,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - name
    - offsets
    argTypes:
    - dns_name_t*
    - dns_offsets_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2118
    functionDepth: 1
    functionLinenumber: 2118
    functionLinenumberEnd: 2147
    functionName: dns_name_offsets
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 4
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t dns_name_offsets(const dns_name_t *name, dns_offsets_t offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: DST_RET
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DST_RET(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:74,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:77,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:77,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:78,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:79,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:81,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pctx
    - key_alg
    argTypes:
    - EVP_PKEY_CTX*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 87
    functionName: opensslecdsa_set_deterministic
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - dst__openssl_toresult2
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - UNCONST
    - OSSL_PARAM_construct_uint
    - EVP_PKEY_CTX_set_params
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_set_deterministic(EVP_PKEY_CTX *pctx, unsigned
      int key_alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: opensslecdsa_valid_key_alg
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool opensslecdsa_valid_key_alg(unsigned int key_alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: opensslecdsa_key_alg_to_group_nid
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: int
    signature: int opensslecdsa_key_alg_to_group_nid(unsigned int key_alg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 123
    functionName: opensslecdsa_key_alg_to_publickey_size
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: size_t
    signature: size_t opensslecdsa_key_alg_to_publickey_size(unsigned int key_alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EC_POINT_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:131,1
    - Dst: EC_POINT_mul
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:135,1
    - Dst: EC_POINT_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - group
    - privkey
    argTypes:
    - EC_GROUP*
    - BIGNUM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: opensslecdsa_generate_public_key
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EC_POINT_free
    - EC_POINT_mul
    - EC_POINT_new
    linkageType: ''
    returnType: EC_POINT
    signature: 'EC_POINT *

      opensslecdsa_generate_public_key(const EC_GROUP *group, const BIGNUM *privkey)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:144,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:146,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bn
    - buf
    - size
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: BN_bn2bin_fixed
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin
    - BN_num_bytes
    - INSIST
    linkageType: ''
    returnType: int
    signature: int BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: opensslecdsa_key_alg_to_group_name
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    linkageType: ''
    returnType: char
    signature: 'char *

      opensslecdsa_key_alg_to_group_name(unsigned int key_alg)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: opensslecdsa_key_alg_to_group_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:175,1
    - Dst: opensslecdsa_key_alg_to_group_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:176,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:185,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:187,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:187,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:190,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:193,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:193,1
    - Dst: EC_GROUP_new_by_curve_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:199,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:201,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:201,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:206,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:208,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:208,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:212,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:215,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:215,1
    - Dst: opensslecdsa_generate_public_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:219,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:221,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:221,1
    - Dst: EC_POINT_point2oct
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:225,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:229,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:229,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:233,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:235,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:240,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:243,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:243,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:248,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:250,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:250,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:253,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:255,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:255,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:258,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:262,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:262,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:264,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:268,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:268,1
    - Dst: OSSL_PARAM_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:275,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:276,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:277,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:278,1
    - Dst: EC_POINT_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:279,1
    - Dst: EC_GROUP_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:280,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 5
    argNames:
    - key_alg
    - private
    - key
    - key_len
    - pkey
    argTypes:
    - unsigned int
    - bool
    - unsigned char*
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 283
    functionName: opensslecdsa_create_pkey_params
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - memmove
    - DST_RET
    - BN_bin2bn
    - EC_GROUP_new_by_curve_name
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_push_BN
    - OSSL_PARAM_BLD_push_utf8_string
    - EC_GROUP_free
    - opensslecdsa_key_alg_to_group_name
    - EC_POINT_free
    - OSSL_PARAM_BLD_push_octet_string
    - opensslecdsa_key_alg_to_group_nid
    - dst__openssl_toresult2
    - INSIST
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_free
    - BN_clear_free
    - opensslecdsa_generate_public_key
    - dst__openssl_toresult
    - OSSL_PARAM_BLD_to_param
    - OSSL_PARAM_free
    - EC_POINT_point2oct
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslecdsa_create_pkey_params(unsigned int key_alg,
      bool private,\n\t\t\t\tconst unsigned char *key, size_t key_len,\n\t\t\t\tEVP_PKEY
      **pkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:293,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:294,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:296,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:297,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:300,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - key
    - dst
    - dstlen
    argTypes:
    - dst_key_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: opensslecdsa_extract_public_key_params
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin_fixed
    - EVP_PKEY_get_bn_param
    - BN_clear_free
    linkageType: ''
    returnType: bool
    signature: "bool opensslecdsa_extract_public_key_params(const dst_key_t *key,
      unsigned char *dst,\n\t\t\t\t       size_t dstlen)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: opensslecdsa_key_alg_to_group_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:319,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:321,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:323,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:323,1
    - Dst: EC_KEY_get0_group
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:327,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:329,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:331,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:331,1
    - Dst: EC_KEY_set_private_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:333,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:334,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:334,1
    - Dst: opensslecdsa_generate_public_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:337,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:339,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:339,1
    - Dst: EC_KEY_set_public_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:341,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:342,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:342,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:346,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:348,1
    - Dst: o2i_ECPublicKey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:349,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:350,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:350,1
    - Dst: EC_KEY_check_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:352,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:353,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:353,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:357,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:359,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:359,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:361,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:362,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:362,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:369,1
    - Dst: EC_POINT_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:370,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:371,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 5
    argNames:
    - key_alg
    - private
    - key
    - key_len
    - retkey
    argTypes:
    - unsigned int
    - bool
    - unsigned char*
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 374
    functionName: opensslecdsa_create_pkey_legacy
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - memmove
    - DST_RET
    - BN_bin2bn
    - EVP_PKEY_new
    - EC_KEY_check_key
    - EC_KEY_set_public_key
    - EVP_PKEY_free
    - EVP_PKEY_set1_EC_KEY
    - EC_KEY_set_private_key
    - EC_POINT_free
    - opensslecdsa_key_alg_to_group_nid
    - INSIST
    - EC_KEY_get0_group
    - BN_clear_free
    - opensslecdsa_generate_public_key
    - o2i_ECPublicKey
    - dst__openssl_toresult
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslecdsa_create_pkey_legacy(unsigned int key_alg,
      bool private,\n\t\t\t\tconst unsigned char *key, size_t key_len,\n\t\t\t\tEVP_PKEY
      **retkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:380,1
    - Dst: EC_KEY_get0_group
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:382,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:384,1
    - Dst: EC_POINT_point2oct
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:392,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - key
    - dst
    - dstlen
    argTypes:
    - dst_key_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 399
    functionName: opensslecdsa_extract_public_key_legacy
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_public_key
    - memmove
    - EVP_PKEY_get0_EC_KEY
    - EC_POINT_point2oct
    - EC_KEY_get0_group
    linkageType: ''
    returnType: bool
    signature: "bool opensslecdsa_extract_public_key_legacy(const dst_key_t *key,
      unsigned char *dst,\n\t\t\t\t       size_t dstlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opensslecdsa_extract_public_key_params
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:407,1
    - Dst: opensslecdsa_extract_public_key_legacy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - dst
    - dstlen
    argTypes:
    - dst_key_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 416
    functionName: opensslecdsa_extract_public_key
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_extract_public_key_legacy
    - opensslecdsa_extract_public_key_params
    linkageType: ''
    returnType: bool
    signature: "bool opensslecdsa_extract_public_key(const dst_key_t *key, unsigned
      char *dst,\n\t\t\t\tsize_t dstlen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opensslecdsa_create_pkey_params
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:424,1
    - Dst: opensslecdsa_create_pkey_legacy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - key_alg
    - private
    - key
    - key_len
    - retkey
    argTypes:
    - unsigned int
    - bool
    - unsigned char*
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 437
    functionName: opensslecdsa_create_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_create_pkey_params
    - opensslecdsa_create_pkey_legacy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslecdsa_create_pkey(unsigned int key_alg, bool private,\n\t\t\t
      const unsigned char *key, size_t key_len,\n\t\t\t EVP_PKEY **retkey)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:446,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:451,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:452,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:454,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:456,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:458,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:458,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:462,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:464,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:464,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:468,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:470,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:470,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:479,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:481,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:481,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:487,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:489,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:489,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - group_nid
    - label
    - retkey
    argTypes:
    - int
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 498
    functionName: opensslecdsa_generate_pkey_with_uri
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - DST_RET
    - dst__openssl_toresult2
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_construct_end
    - OSSL_PARAM_construct_utf8_string
    - UNCONST
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_free
    - EVP_PKEY_generate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslecdsa_generate_pkey_with_uri(int group_nid, const
      char *label,\n\t\t\t\t    EVP_PKEY **retkey)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opensslecdsa_key_alg_to_group_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:506,1
    - Dst: opensslecdsa_generate_pkey_with_uri
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:510,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:515,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:517,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:517,1
    - Dst: EVP_PKEY_paramgen_init
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:520,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:522,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:522,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:525,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:527,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:527,1
    - Dst: EVP_PKEY_paramgen
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:531,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:533,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:533,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:536,1
    - Dst: EVP_PKEY_CTX_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:539,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:541,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:541,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:545,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:547,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:547,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:550,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:552,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:552,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:558,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - key_alg
    - label
    - retkey
    argTypes:
    - unsigned int
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 561
    functionName: opensslecdsa_generate_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - opensslecdsa_key_alg_to_group_nid
    - DST_RET
    - dst__openssl_toresult2
    - EVP_PKEY_free
    - EVP_PKEY_CTX_new
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    - EVP_PKEY_keygen
    - opensslecdsa_generate_pkey_with_uri
    - EVP_PKEY_paramgen_init
    - EVP_PKEY_paramgen
    - EVP_PKEY_CTX_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslecdsa_generate_pkey(unsigned int key_alg, const
      char *label,\n\t\t\t   EVP_PKEY **retkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opensslecdsa_key_alg_to_group_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:565,1
    - Dst: EVP_PKEY_get_group_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:568,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key_alg
    - pkey
    argTypes:
    - unsigned int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: opensslecdsa_validate_pkey_group
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - strcmp
    - opensslecdsa_key_alg_to_group_name
    - EVP_PKEY_get_group_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_validate_pkey_group(unsigned int key_alg,
      EVP_PKEY *pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:583,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:587,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - key
    - buf
    - buflen
    argTypes:
    - dst_key_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 590
    functionName: opensslecdsa_extract_private_key
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin_fixed
    - EVP_PKEY_get_bn_param
    - BN_clear_free
    linkageType: ''
    returnType: bool
    signature: "bool opensslecdsa_extract_private_key(const dst_key_t *key, unsigned
      char *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:602,1
    - Dst: opensslecdsa_key_alg_to_group_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:604,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:606,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:608,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:608,1
    - Dst: EC_KEY_generate_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:612,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:613,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:613,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:617,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:619,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:619,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:621,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:622,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:622,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:630,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - key_alg
    - label
    - retkey
    argTypes:
    - unsigned int
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 633
    functionName: opensslecdsa_generate_pkey
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_key_alg_to_group_nid
    - dst__openssl_toresult
    - DST_RET
    - dst__openssl_toresult2
    - EVP_PKEY_free
    - EVP_PKEY_new
    - UNUSED
    - EVP_PKEY_set1_EC_KEY
    - EC_KEY_generate_key
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t opensslecdsa_generate_pkey(unsigned int key_alg, const
      char *label,\n\t\t\t   EVP_PKEY **retkey)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:637,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:641,1
    - Dst: opensslecdsa_key_alg_to_group_nid
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:644,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:646,1
    - Dst: EC_KEY_get0_group
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key_alg
    - pkey
    argTypes:
    - unsigned int
    - EVP_PKEY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 651
    functionName: opensslecdsa_validate_pkey_group
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_key_alg_to_group_nid
    - dst__openssl_toresult
    - EVP_PKEY_get0_EC_KEY
    - EC_GROUP_get_curve_name
    - EC_KEY_get0_group
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_validate_pkey_group(unsigned int key_alg,
      EVP_PKEY *pkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:659,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:661,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:665,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:667,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - key
    - buf
    - buflen
    argTypes:
    - dst_key_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 673
    functionName: opensslecdsa_extract_private_key
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_private_key
    - BN_bn2bin_fixed
    - ERR_clear_error
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: bool
    signature: "bool opensslecdsa_extract_private_key(const dst_key_t *key, unsigned
      char *buf,\n\t\t\t\t size_t buflen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:684,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:685,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:685,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:686,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:688,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:690,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:690,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:699,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:702,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:703,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:703,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:709,1
    - Dst: opensslecdsa_set_deterministic
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:710,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:719,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:722,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:723,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 733
    functionName: opensslecdsa_createctx
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_create
    - dst__openssl_toresult
    - DST_RET
    - EVP_DigestSignInit
    - UNUSED
    - opensslecdsa_valid_key_alg
    - EVP_MD_CTX_destroy
    - EVP_DigestVerifyInit
    - isc_crypto_fips_mode
    - REQUIRE
    - dst__openssl_toresult3
    - opensslecdsa_set_deterministic
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_createctx(dst_key_t *key, dst_context_t *dctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:739,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:739,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:740,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: opensslecdsa_destroyctx
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - REQUIRE
    - opensslecdsa_valid_key_alg
    linkageType: ''
    returnType: void
    signature: void opensslecdsa_destroyctx(dst_context_t *dctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:753,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:753,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:754,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:757,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:760,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:760,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:765,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:768,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 776
    functionName: opensslecdsa_adddata
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyUpdate
    - DST_RET
    - opensslecdsa_valid_key_alg
    - REQUIRE
    - dst__openssl_toresult3
    - EVP_DigestSignUpdate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_adddata(dst_context_t *dctx, const isc_region_t
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:790,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:790,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:791,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:799,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:801,1
    - Dst: EVP_DigestSignFinal
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:804,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:805,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:805,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:809,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:811,1
    - Dst: EVP_DigestSignFinal
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:813,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:814,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:814,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:818,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:819,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:819,1
    - Dst: ECDSA_SIG_get0
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:823,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:824,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:825,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:826,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:827,1
    - Dst: ECDSA_SIG_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:828,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:829,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 838
    functionName: opensslecdsa_sign
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - BN_bn2bin_fixed
    - ECDSA_SIG_get0
    - ECDSA_SIG_free
    - DST_RET
    - isc_buffer_availableregion
    - opensslecdsa_valid_key_alg
    - isc_region_consume
    - isc_mem_get
    - EVP_DigestSignFinal
    - REQUIRE
    - dst__openssl_toresult3
    - d2i_ECDSA_SIG
    - isc_mem_put
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_sign(dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:853,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:853,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:854,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:863,1
    - Dst: ECDSA_SIG_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:866,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:868,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:868,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:870,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:872,1
    - Dst: ECDSA_SIG_set0
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:874,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:876,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:878,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:878,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:883,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:887,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:889,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:889,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:893,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:900,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:903,1
    - Dst: ECDSA_SIG_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:911,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:914,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 918
    functionName: opensslecdsa_verify
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - dst__openssl_toresult
    - i2d_ECDSA_SIG
    - DST_RET
    - ECDSA_SIG_free
    - EVP_DigestVerifyFinal
    - BN_bin2bn
    - opensslecdsa_valid_key_alg
    - ECDSA_SIG_set0
    - isc_mem_get
    - ECDSA_SIG_new
    - REQUIRE
    - dst__openssl_toresult3
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:925,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:925,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:926,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:927,1
    - Dst: opensslecdsa_generate_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:929,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 938
    functionName: opensslecdsa_generate
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_generate_pkey
    - UNUSED
    - opensslecdsa_valid_key_alg
    - REQUIRE
    - EVP_PKEY_bits
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_generate(dst_key_t *key, int unused, void
      (*callback)(int))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:946,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:946,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:947,1
    - Dst: opensslecdsa_key_alg_to_publickey_size
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:949,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:950,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:952,1
    - Dst: opensslecdsa_extract_public_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:954,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:955,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:955,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 940
    functionDepth: 3
    functionLinenumber: 940
    functionLinenumberEnd: 963
    functionName: opensslecdsa_todns
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - dst__openssl_toresult
    - DST_RET
    - isc_buffer_availableregion
    - opensslecdsa_extract_public_key
    - opensslecdsa_valid_key_alg
    - REQUIRE
    - isc_buffer_add
    - opensslecdsa_key_alg_to_publickey_size
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_todns(const dst_key_t *key, isc_buffer_t
      *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:972,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:972,1
    - Dst: opensslecdsa_key_alg_to_publickey_size
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:973,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:975,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:977,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:980,1
    - Dst: opensslecdsa_create_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:983,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:985,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:988,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 965
    functionDepth: 4
    functionLinenumber: 965
    functionLinenumberEnd: 995
    functionName: opensslecdsa_fromdns
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - opensslecdsa_create_pkey
    - DST_RET
    - isc_buffer_forward
    - opensslecdsa_valid_key_alg
    - REQUIRE
    - opensslecdsa_key_alg_to_publickey_size
    - EVP_PKEY_bits
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1006,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1011,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1011,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1015,1
    - Dst: opensslecdsa_key_alg_to_publickey_size
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1018,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1019,1
    - Dst: opensslecdsa_extract_private_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1022,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1031,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1038,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - key
    - directory
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 997
    functionDepth: 2
    functionLinenumber: 997
    functionLinenumberEnd: 1043
    functionName: opensslecdsa_tofile
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_extract_private_key
    - DST_RET
    - dst__privstruct_writefile
    - INSIST
    - isc_safe_memwipe
    - strlen
    - opensslecdsa_key_alg_to_publickey_size
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_tofile(const dst_key_t *key, const char *directory)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1056,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1056,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1059,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1067,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1067,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1073,1
    - Dst: opensslecdsa_fromlabel
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1093,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1098,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1101,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1103,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1107,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1107,1
    - Dst: opensslecdsa_create_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1110,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1118,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1119,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1122,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1128,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1132,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1133,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - key
    - lexer
    - pub
    argTypes:
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1048
    functionDepth: 4
    functionLinenumber: 1048
    functionLinenumberEnd: 1136
    functionName: opensslecdsa_parse
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - opensslecdsa_create_pkey
    - dst__openssl_toresult
    - DST_RET
    - EVP_PKEY_free
    - isc_safe_memwipe
    - opensslecdsa_valid_key_alg
    - EVP_PKEY_eq
    - dst__privstruct_free
    - REQUIRE
    - dst__privstruct_parse
    - EVP_PKEY_bits
    - opensslecdsa_fromlabel
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t
      *pub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1143,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1143,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1144,1
    - Dst: dst__openssl_fromlabel
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1146,1
    - Dst: opensslecdsa_validate_pkey_group
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1152,1
    - Dst: opensslecdsa_validate_pkey_group
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1156,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1161,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1162,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1169,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - key
    - label
    - pin
    argTypes:
    - dst_key_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1172
    functionName: opensslecdsa_fromlabel
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 1
    functionsReached:
    - EVP_PKEY_free
    - UNUSED
    - opensslecdsa_valid_key_alg
    - REQUIRE
    - isc_mem_strdup
    - dst__openssl_fromlabel
    - EVP_PKEY_bits
    - opensslecdsa_validate_pkey_group
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_fromlabel(dst_key_t *key, const char *label,
      const char *pin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - funcp
    argTypes:
    - dst_func_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1198
    functionName: dst__opensslecdsa_init
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dst__opensslecdsa_init(dst_func_t **funcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chain
    argTypes:
    - struct nsec3_chain_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: chain_length
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t chain_length(struct nsec3_chain_fixed *chain)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/zoneverify.c:117,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zoneverify.c:119,1
    - Dst: vfprintf
      Src: /src/bind9/lib/dns/zoneverify.c:122,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/zoneverify.c:123,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zoneverify.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - fmt
    argTypes:
    - vctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: zoneverify_log_error
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - va_end
    - dns_zone_logv
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void zoneverify_log_error(const vctx_t *vctx, const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zoneverify.c:134,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:138,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:139,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:141,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - vctx
    - name
    - node
    - ttlp
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 149
    functionName: is_delegation
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 4
    functionsReached:
    - dns_db_findrdataset
    - dns_name_equal
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_init
    linkageType: ''
    returnType: bool
    signature: "bool is_delegation(const vctx_t *vctx, const dns_name_t *name, dns_dbnode_t
      *node,\n\t      uint32_t *ttlp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:160,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:161,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:164,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - vctx
    - node
    argTypes:
    - vctx_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: has_dname
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 3
    functionsReached:
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: bool
    signature: bool has_dname(const vctx_t *vctx, dns_dbnode_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:178,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:179,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:181,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zoneverify.c:185,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zoneverify.c:186,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zoneverify.c:187,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zoneverify.c:191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 6
    argNames:
    - vctx
    - sigrdata
    - name
    - dstkeys
    - nkeys
    - rdataset
    argTypes:
    - vctx_t*
    - dns_rdata_t*
    - dns_name_t*
    - dst_key_t**
    - size_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 171
    functionDepth: 4
    functionLinenumber: 171
    functionLinenumberEnd: 198
    functionName: goodsig
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dst_key_alg
    - RUNTIME_CHECK
    - dns_dnssec_verify
    - dns_name_equal
    - dst_algorithm_fromdata
    - dst_key_id
    linkageType: ''
    returnType: bool
    signature: "bool goodsig(const vctx_t *vctx, dns_rdata_t *sigrdata, const dns_name_t
      *name,\n\tdst_key_t **dstkeys, size_t nkeys, dns_rdataset_t *rdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:205,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:206,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nsec
    - rdata
    argTypes:
    - dns_rdata_nsec_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: nsec_bitmap_equal
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - RUNTIME_CHECK
    linkageType: ''
    returnType: bool
    signature: bool nsec_bitmap_equal(dns_rdata_nsec_t *nsec, dns_rdata_t *rdata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:229,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:230,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:233,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:234,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zoneverify.c:241,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:243,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:244,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:248,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:249,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:250,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zoneverify.c:253,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:254,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:255,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:256,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:257,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/zoneverify.c:266,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:269,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:270,1
    - Dst: nsec_bitmap_equal
      Src: /src/bind9/lib/dns/zoneverify.c:273,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:274,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:275,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zoneverify.c:283,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:285,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:286,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:296,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:297,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 5
    argNames:
    - vctx
    - name
    - node
    - nextname
    - vresult
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dns_name_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 301
    functionName: verifynsec
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - nsec_bitmap_equal
    - dns_rdataset_next
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - zoneverify_log_error
    - dns_name_equal
    - isc_result_totext
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_name_format
    - dns_rdataset_init
    - dns_nsec_buildrdata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verifynsec(const vctx_t *vctx, const dns_name_t *name,
      dns_dbnode_t *node,\n\t   const dns_name_t *nextname, isc_result_t *vresult)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:312,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:313,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:315,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:316,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:320,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:324,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:325,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:327,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:334,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:336,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:337,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - vctx
    - rdataset
    - name
    - node
    argTypes:
    - vctx_t*
    - dns_rdataset_t*
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 342
    functionName: check_no_rrsig
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - zoneverify_log_error
    - isc_result_totext
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_name_format
    - dns_rdatatype_format
    - dns_rdatasetiter_destroy
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_no_rrsig(const vctx_t *vctx, const dns_rdataset_t
      *rdataset,\n\t       const dns_name_t *name, dns_dbnode_t *node)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:320,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:324,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:325,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:327,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - zoneverify_log_error
    - dns_rdataset_disassociate
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:374,1
    - Dst: chain_length
      Src: /src/bind9/lib/dns/zoneverify.c:374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 378
    functionName: chain_compare
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - chain_length
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool chain_compare(void *arg1, void *arg2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - e1
    - e2
    - data_length
    argTypes:
    - struct nsec3_chain_fixed*
    - struct nsec3_chain_fixed*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: chain_equal
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool chain_equal(const struct nsec3_chain_fixed *e1,\n\t    const
      struct nsec3_chain_fixed *e2, size_t data_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zoneverify.c:408,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zoneverify.c:416,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zoneverify.c:418,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zoneverify.c:420,1
    - Dst: isc_heap_insert
      Src: /src/bind9/lib/dns/zoneverify.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - vctx
    - rawhash
    - nsec3
    - chains
    argTypes:
    - vctx_t*
    - unsigned char*
    - dns_rdata_nsec3_t*
    - isc_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 422
    functionName: record_nsec3
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - memmove
    - isc_heap_insert
    linkageType: ''
    returnType: void
    signature: "void record_nsec3(const vctx_t *vctx, const unsigned char *rawhash,\n\t
      \    const dns_rdata_nsec3_t *nsec3, isc_heap_t *chains)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:437,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:438,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - nsec3param
    - rdataset
    - rhsize
    - nsec3_match
    argTypes:
    - dns_rdata_nsec3param_t*
    - dns_rdataset_t*
    - size_t
    - dns_rdata_nsec3_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 451
    functionName: find_nsec3_match
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_nsec3_match(const dns_rdata_nsec3param_t *nsec3param,\n\t\t
      dns_rdataset_t *rdataset, size_t rhsize,\n\t\t dns_rdata_nsec3_t *nsec3_match)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:437,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:438,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 448
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 7
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_nsec3_match
      Src: /src/bind9/lib/dns/zoneverify.c:465,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:467,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:468,1
    - Dst: dns_nsec_compressbitmap
      Src: /src/bind9/lib/dns/zoneverify.c:477,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:478,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:479,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:480,1
    - Dst: record_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:491,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zoneverify.c:497,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zoneverify.c:498,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:501,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:502,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:503,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:507,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:510,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 9
    argNames:
    - vctx
    - name
    - nsec3param
    - rdataset
    - types
    - maxtype
    - rawhash
    - rhsize
    - vresult
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_rdata_nsec3param_t*
    - dns_rdataset_t*
    - unsigned char[]
    - unsigned int
    - unsigned char*
    - size_t
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 526
    functionName: match_nsec3
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_next
    - RUNTIME_CHECK
    - dns_rdataset_current
    - zoneverify_log_error
    - dns_nsec_compressbitmap
    - memcmp
    - record_nsec3
    - find_nsec3_match
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t match_nsec3(const vctx_t *vctx, const dns_name_t *name,\n\t
      \   const dns_rdata_nsec3param_t *nsec3param, dns_rdataset_t *rdataset,\n\t
      \   const unsigned char types[8192], unsigned int maxtype,\n\t    const unsigned
      char *rawhash, size_t rhsize,\n\t    isc_result_t *vresult)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:536,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:537,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:538,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - nsec3
    - nsec3paramset
    argTypes:
    - dns_rdata_nsec3_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 549
    functionName: innsec3params
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: bool
    signature: bool innsec3params(const dns_rdata_nsec3_t *nsec3, dns_rdataset_t *nsec3paramset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:536,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:537,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:538,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 547
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 7
    functionsReached:
    - dns_rdata_tostruct
    - memcmp
    - dns_rdataset_current
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (nsec3paramset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:561,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:566,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:567,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/zoneverify.c:574,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/zoneverify.c:575,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:576,1
    - Dst: isc_base32hex_decoderegion
      Src: /src/bind9/lib/dns/zoneverify.c:577,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:585,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:586,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:587,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:588,1
    - Dst: innsec3params
      Src: /src/bind9/lib/dns/zoneverify.c:596,1
    - Dst: record_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:603,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 4
    argNames:
    - vctx
    - name
    - node
    - nsec3paramset
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 610
    functionName: record_found
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - innsec3params
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_name_getlabel
    - dns_rdataset_isassociated
    - isc_buffer_init
    - dns_rdataset_disassociate
    - isc_buffer_usedlength
    - isc_base32hex_decoderegion
    - isc_region_consume
    - record_nsec3
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t record_found(const vctx_t *vctx, const dns_name_t *name,
      dns_dbnode_t *node,\n\t     dns_rdataset_t *nsec3paramset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:585,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:586,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:587,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:588,1
    - Dst: innsec3params
      Src: /src/bind9/lib/dns/zoneverify.c:596,1
    - Dst: record_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 604
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - innsec3params
    - RUNTIME_CHECK
    - dns_rdataset_current
    - isc_buffer_usedlength
    - record_nsec3
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:625,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/zoneverify.c:626,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:631,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:632,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:636,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:637,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zoneverify.c:638,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:640,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zoneverify.c:650,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:652,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:653,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:657,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:659,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:660,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:664,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:665,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - vctx
    - nsec3param
    - optout
    argTypes:
    - vctx_t*
    - dns_rdata_nsec3param_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 612
    functionDepth: 4
    functionLinenumber: 612
    functionLinenumberEnd: 672
    functionName: isoptout
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_hashname
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - zoneverify_log_error
    - isc_result_totext
    - dns_fixedname_name
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - dns_fixedname_init
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isoptout(const vctx_t *vctx, const dns_rdata_nsec3param_t
      *nsec3param,\n\t bool *optout)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:691,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:692,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/zoneverify.c:698,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:704,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:705,1
    - Dst: isoptout
      Src: /src/bind9/lib/dns/zoneverify.c:709,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:714,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/zoneverify.c:715,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:719,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:720,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:730,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:731,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zoneverify.c:732,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:734,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/zoneverify.c:740,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:742,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:743,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:744,1
    - Dst: match_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:750,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:762,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:763,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:766,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 8
    argNames:
    - vctx
    - name
    - rdata
    - delegation
    - empty
    - types
    - maxtype
    - vresult
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_rdata_t*
    - bool
    - bool
    - unsigned char[]
    - unsigned int
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 674
    functionDepth: 6
    functionLinenumber: 674
    functionLinenumberEnd: 770
    functionName: verifynsec3
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_nsec3_hashname
    - dns_db_findrdataset
    - isoptout
    - zoneverify_log_error
    - match_nsec3
    - isc_result_totext
    - dns_fixedname_name
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_nsec3_supportedhash
    - dns_nsec_isset
    - dns_rdataset_disassociate
    - dns_fixedname_init
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verifynsec3(const vctx_t *vctx, const dns_name_t *name,\n\t
      \   const dns_rdata_t *rdata, bool delegation, bool empty,\n\t    const unsigned
      char types[8192], unsigned int maxtype,\n\t    isc_result_t *vresult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:782,1
    - Dst: verifynsec3
      Src: /src/bind9/lib/dns/zoneverify.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - vctx
    - name
    - nsec3paramset
    - delegation
    - empty
    - types
    - maxtype
    - vresult
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_rdataset_t*
    - bool
    - bool
    - unsigned char[]
    - unsigned int
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 772
    functionDepth: 7
    functionLinenumber: 772
    functionLinenumberEnd: 794
    functionName: verifynsec3s
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - verifynsec3
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verifynsec3s(const vctx_t *vctx, const dns_name_t *name,\n\t
      \    dns_rdataset_t *nsec3paramset, bool delegation, bool empty,\n\t     const
      unsigned char types[8192], unsigned int maxtype,\n\t     isc_result_t *vresult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:782,1
    - Dst: verifynsec3
      Src: /src/bind9/lib/dns/zoneverify.c:783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 779
    functionDepth: 7
    functionLinenumber: 779
    functionLinenumberEnd: 791
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 7
    functionsReached:
    - dns_rdataset_current
    - verifynsec3
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (nsec3paramset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:808,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:810,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:811,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:815,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:822,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:826,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:827,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:828,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:830,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:844,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:845,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:846,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:848,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:849,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:851,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:857,1
    - Dst: goodsig
      Src: /src/bind9/lib/dns/zoneverify.c:864,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:865,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:866,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:872,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:875,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:876,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:877,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:881,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:882,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:892,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:893,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:895,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 6
    argNames:
    - vctx
    - rdataset
    - name
    - node
    - dstkeys
    - nkeys
    argTypes:
    - vctx_t*
    - dns_rdataset_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dst_key_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 796
    functionDepth: 5
    functionLinenumber: 796
    functionLinenumberEnd: 898
    functionName: verifyset
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - goodsig
    - ARRAY_SIZE
    - dns_rdataset_settrust
    - RUNTIME_CHECK
    - dns_rdatasetiter_current
    - dns_rdataset_current
    - zoneverify_log_error
    - isc_result_totext
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - memcmp
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dst_algorithm_format
    - dns_name_format
    - dns_rdatatype_format
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verifyset(vctx_t *vctx, dns_rdataset_t *rdataset, const
      dns_name_t *name,\n\t  dns_dbnode_t *node, dst_key_t **dstkeys, size_t nkeys)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:815,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 823
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:844,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:845,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:846,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:848,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:849,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:851,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:857,1
    - Dst: goodsig
      Src: /src/bind9/lib/dns/zoneverify.c:864,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:865,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 869
    functionName: (&sigrdataset)
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - goodsig
    - dns_rdataset_settrust
    - RUNTIME_CHECK
    - dns_rdataset_current
    - zoneverify_log_error
    - dst_algorithm_fromdata
    - dns_name_format
    - dns_rdatatype_format
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&sigrdataset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneverify.c:910,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:912,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:914,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:915,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:921,1
    - Dst: verifyset
      Src: /src/bind9/lib/dns/zoneverify.c:934,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:937,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:938,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:941,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:947,1
    - Dst: check_no_rrsig
      Src: /src/bind9/lib/dns/zoneverify.c:952,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:954,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:955,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:959,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:964,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:966,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:974,1
    - Dst: verifynsec
      Src: /src/bind9/lib/dns/zoneverify.c:975,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:982,1
    - Dst: verifynsec3s
      Src: /src/bind9/lib/dns/zoneverify.c:983,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 10
    argNames:
    - vctx
    - name
    - node
    - delegation
    - dstkeys
    - nkeys
    - nsecset
    - nsec3paramset
    - nextname
    - vresult
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    - bool
    - dst_key_t**
    - size_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_name_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 900
    functionDepth: 8
    functionLinenumber: 900
    functionLinenumberEnd: 994
    functionName: verifynode
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - verifyset
    - check_no_rrsig
    - verifynsec3s
    - dns_rdatasetiter_current
    - zoneverify_log_error
    - isc_result_totext
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - REQUIRE
    - dns_rdatasetiter_destroy
    - verifynsec
    - dns_nsec_setbit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verifynode(vctx_t *vctx, const dns_name_t *name, dns_dbnode_t
      *node,\n\t   bool delegation, dst_key_t **dstkeys, size_t nkeys,\n\t   dns_rdataset_t
      *nsecset, dns_rdataset_t *nsec3paramset,\n\t   const dns_name_t *nextname, isc_result_t
      *vresult)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:921,1
    - Dst: verifyset
      Src: /src/bind9/lib/dns/zoneverify.c:934,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:937,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:938,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:941,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:947,1
    - Dst: check_no_rrsig
      Src: /src/bind9/lib/dns/zoneverify.c:952,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:954,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:955,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:959,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:964,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 919
    functionDepth: 6
    functionLinenumber: 919
    functionLinenumberEnd: 965
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - verifyset
    - check_no_rrsig
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_rdatasetiter_destroy
    - dns_nsec_setbit
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:1001,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1003,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1004,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/zoneverify.c:1007,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - node
    argTypes:
    - vctx_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 4
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: is_empty
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - isc_result_totext
    - dns_db_allrdatasets
    - dns_rdatasetiter_first
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t is_empty(const vctx_t *vctx, dns_dbnode_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1019,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1020,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:1024,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1025,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1030,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - vctx
    - name
    - node
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1013
    functionDepth: 4
    functionLinenumber: 1013
    functionLinenumberEnd: 1035
    functionName: check_no_nsec
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_db_findrdataset
    - zoneverify_log_error
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_name_format
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_no_nsec(const vctx_t *vctx, const dns_name_t *name,
      dns_dbnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zoneverify.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - e
    argTypes:
    - isc_mem_t*
    - struct nsec3_chain_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: free_element
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_element(isc_mem_t *mctx, struct nsec3_chain_fixed *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - element
    - uap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1045
    functionDepth: 2
    functionLinenumber: 1045
    functionLinenumberEnd: 1051
    functionName: free_element_heap
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - free_element
    linkageType: ''
    returnType: void
    signature: void free_element_heap(void *element, void *uap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:1065,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zoneverify.c:1069,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1071,1
    - Dst: isc_base32hex_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1072,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1073,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1074,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zoneverify.c:1076,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1078,1
    - Dst: isc_base32hex_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1079,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1080,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1081,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zoneverify.c:1083,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1085,1
    - Dst: isc_base32hex_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1086,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1087,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - vctx
    - first
    - e
    argTypes:
    - vctx_t*
    - struct nsec3_chain_fixed*
    - struct nsec3_chain_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1053
    functionDepth: 4
    functionLinenumber: 1053
    functionLinenumberEnd: 1091
    functionName: _checknext
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_base32hex_totext
    - zoneverify_log_error
    - isc_buffer_init
    - memcmp
    - UNCONST
    - isc_buffer_usedlength
    linkageType: ''
    returnType: bool
    signature: "bool _checknext(const vctx_t *vctx, const struct nsec3_chain_fixed
      *first,\n\t   const struct nsec3_chain_fixed *e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _checknext
      Src: /src/bind9/lib/dns/zoneverify.c:1097,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - mctx
    - vctx
    - first
    - prev
    - cur
    argTypes:
    - isc_mem_t*
    - vctx_t*
    - struct nsec3_chain_fixed*
    - struct nsec3_chain_fixed*
    - struct nsec3_chain_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1093
    functionDepth: 5
    functionLinenumber: 1093
    functionLinenumberEnd: 1104
    functionName: checknext
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 1
    functionsReached:
    - _checknext
    - free_element
    linkageType: ''
    returnType: bool
    signature: "bool checknext(isc_mem_t *mctx, const vctx_t *vctx,\n\t  const struct
      nsec3_chain_fixed *first, struct nsec3_chain_fixed *prev,\n\t  const struct
      nsec3_chain_fixed *cur)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _checknext
      Src: /src/bind9/lib/dns/zoneverify.c:1109,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1111,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mctx
    - vctx
    - first
    - prev
    argTypes:
    - isc_mem_t*
    - vctx_t*
    - struct nsec3_chain_fixed*
    - struct nsec3_chain_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1106
    functionDepth: 5
    functionLinenumber: 1106
    functionLinenumberEnd: 1116
    functionName: checklast
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - _checknext
    - free_element
    linkageType: ''
    returnType: bool
    signature: "bool checklast(isc_mem_t *mctx, const vctx_t *vctx, struct nsec3_chain_fixed
      *first,\n\t  struct nsec3_chain_fixed *prev)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1124,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1125,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1127,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1130,1
    - Dst: chain_equal
      Src: /src/bind9/lib/dns/zoneverify.c:1135,1
    - Dst: chain_length
      Src: /src/bind9/lib/dns/zoneverify.c:1135,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1136,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1140,1
    - Dst: chain_compare
      Src: /src/bind9/lib/dns/zoneverify.c:1150,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1151,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1152,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1155,1
    - Dst: chain_equal
      Src: /src/bind9/lib/dns/zoneverify.c:1159,1
    - Dst: chain_length
      Src: /src/bind9/lib/dns/zoneverify.c:1159,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1161,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1168,1
    - Dst: chain_equal
      Src: /src/bind9/lib/dns/zoneverify.c:1176,1
    - Dst: checklast
      Src: /src/bind9/lib/dns/zoneverify.c:1177,1
    - Dst: checknext
      Src: /src/bind9/lib/dns/zoneverify.c:1183,1
    - Dst: checklast
      Src: /src/bind9/lib/dns/zoneverify.c:1191,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1198,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1203,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1205,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1207,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - vctx
    - mctx
    argTypes:
    - vctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1118
    functionDepth: 6
    functionLinenumber: 1118
    functionLinenumberEnd: 1212
    functionName: verify_nsec3_chains
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - chain_compare
    - checklast
    - chain_length
    - zoneverify_log_error
    - isc_heap_delete
    - isc_heap_element
    - free_element
    - chain_equal
    - checknext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/zoneverify.c:1226,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zoneverify.c:1231,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zoneverify.c:1236,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/zoneverify.c:1238,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1241,1
    - Dst: verifynsec3s
      Src: /src/bind9/lib/dns/zoneverify.c:1243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - vctx
    - name
    - prevname
    - isdelegation
    - nsec3paramset
    - vresult
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_name_t*
    - bool
    - dns_rdataset_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1214
    functionDepth: 8
    functionLinenumber: 1214
    functionLinenumberEnd: 1257
    functionName: verifyemptynodes
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - dns_rdataset_isassociated
    - dns_name_fullcompare
    - verifynsec3s
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verifyemptynodes(const vctx_t *vctx, const dns_name_t
      *name,\n\t\t const dns_name_t *prevname, bool isdelegation,\n\t\t dns_rdataset_t
      *nsec3paramset, isc_result_t *vresult)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/zoneverify.c:1262,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1273,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1274,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1275,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1276,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1277,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1278,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1279,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1280,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/zoneverify.c:1283,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/zoneverify.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 7
    argNames:
    - vctx
    - mctx
    - zone
    - db
    - ver
    - origin
    - secroots
    argTypes:
    - vctx_t*
    - isc_mem_t*
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_keytable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1288
    functionName: vctx_init
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_heap_create
    - memset
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void vctx_init(vctx_t *vctx, isc_mem_t *mctx, dns_zone_t *zone, dns_db_t
      *db,\n\t  dns_dbversion_t *ver, dns_name_t *origin, dns_keytable_t *secroots)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1292,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1293,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1295,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1296,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1298,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1299,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1301,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1302,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1304,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1305,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1307,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1308,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1310,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1311,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1314,1
    - Dst: isc_heap_foreach
      Src: /src/bind9/lib/dns/zoneverify.c:1316,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1317,1
    - Dst: isc_heap_foreach
      Src: /src/bind9/lib/dns/zoneverify.c:1318,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1320
    functionName: vctx_destroy
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_heap_destroy
    - dns_rdataset_disassociate
    - isc_heap_foreach
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void vctx_destroy(vctx_t *vctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zoneverify.c:1327,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1329,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1331,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1335,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1339,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1343,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1347,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1351,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1355,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1359,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1363,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1367,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1368,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1374,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1375,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1381,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1382,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1384,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1390,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1391,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1393,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1399,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1400,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1402,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1411,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1322
    functionDepth: 4
    functionLinenumber: 1322
    functionLinenumberEnd: 1414
    functionName: check_apex_rrsets
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - dns_db_findrdataset
    - zoneverify_log_error
    - dns_rdataset_isassociated
    - isc_result_totext
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_apex_rrsets(vctx_t *vctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:1440,1
    - Dst: dns_dnssec_selfsigns
      Src: /src/bind9/lib/dns/zoneverify.c:1446,1
    - Dst: dns_dnssec_signs
      Src: /src/bind9/lib/dns/zoneverify.c:1450,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1481,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1483,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/zoneverify.c:1491,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1502,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zoneverify.c:1503,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zoneverify.c:1510,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1511,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:1512,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1513,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zoneverify.c:1515,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zoneverify.c:1517,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zoneverify.c:1517,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1522,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zoneverify.c:1529,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1530,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1532,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1538,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zoneverify.c:1545,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zoneverify.c:1548,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 4
    argNames:
    - vctx
    - dnskey
    - keyrdata
    - is_ksk
    argTypes:
    - vctx_t*
    - dns_rdata_dnskey_t*
    - dns_rdata_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1426
    functionDepth: 5
    functionLinenumber: 1426
    functionLinenumberEnd: 1550
    functionName: check_dnskey_sigs
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_keynode_dsset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_reset
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_dnssec_signs
    - dns_keytable_find
    - dns_dnssec_keyfromrdata
    - dns_rdataset_settrust
    - dst_algorithm_tosecalg
    - RUNTIME_CHECK
    - dst_key_alg
    - dns_rdata_compare
    - dst_key_free
    - dns_dnssec_selfsigns
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_keynode_detach
    - dns_ds_buildrdata
    linkageType: ''
    returnType: void
    signature: "void check_dnskey_sigs(vctx_t *vctx, const dns_rdata_dnskey_t *dnskey,\n\t\t
      \ dns_rdata_t *keyrdata, bool is_ksk)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zoneverify.c:1510,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1511,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:1512,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1513,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zoneverify.c:1515,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zoneverify.c:1517,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zoneverify.c:1517,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1522,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zoneverify.c:1529,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1530,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1504
    functionDepth: 4
    functionLinenumber: 1504
    functionLinenumberEnd: 1537
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dns_rdataset_settrust
    - dst_algorithm_tosecalg
    - RUNTIME_CHECK
    - dst_key_alg
    - dns_rdataset_current
    - dst_key_id
    - dns_ds_buildrdata
    - dns_rdata_reset
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zoneverify.c:1562,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1564,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:1565,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1566,1
    - Dst: dns_dnssec_selfsigns
      Src: /src/bind9/lib/dns/zoneverify.c:1574,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:1582,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1584,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1585,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1587,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1589,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1592,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1597,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:1601,1
    - Dst: check_dnskey_sigs
      Src: /src/bind9/lib/dns/zoneverify.c:1614,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/zoneverify.c:1616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1556
    functionDepth: 6
    functionLinenumber: 1556
    functionLinenumberEnd: 1620
    functionName: check_dnskey
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - zoneverify_log_error
    - DNS_RDATASET_FOREACH
    - isc_result_totext
    - isc_buffer_init
    - dns_dnssec_selfsigns
    - dns_rdata_totext
    - dst_algorithm_fromdata
    - isc_buffer_usedlength
    - dns_rdata_freestruct
    - dns_name_format
    - check_dnskey_sigs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_dnskey(vctx_t *vctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1628,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1630,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1643,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1644,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1652,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1662,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1663,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - vctx
    - ignore_kskflag
    - keyset_kskonly
    argTypes:
    - vctx_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1622
    functionDepth: 4
    functionLinenumber: 1622
    functionLinenumberEnd: 1671
    functionName: determine_active_algorithms
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - ARRAY_SIZE
    - report
    - dst_algorithm_format
    linkageType: ''
    returnType: void
    signature: "void determine_active_algorithms(vctx_t *vctx, bool ignore_kskflag,\n\t\t\t
      \   bool keyset_kskonly,\n\t\t\t    void (*report)(const char *, ...))"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zoneverify.c:1689,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zoneverify.c:1690,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:1691,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:1693,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/zoneverify.c:1696,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/zoneverify.c:1697,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zoneverify.c:1699,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1701,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1703,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zoneverify.c:1710,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1712,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1713,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zoneverify.c:1717,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1719,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1720,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1727,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1729,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1731,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zoneverify.c:1734,1
    - Dst: check_no_nsec
      Src: /src/bind9/lib/dns/zoneverify.c:1735,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1737,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1740,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1741,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1745,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1748,1
    - Dst: is_delegation
      Src: /src/bind9/lib/dns/zoneverify.c:1753,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:1754,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneverify.c:1755,1
    - Dst: has_dname
      Src: /src/bind9/lib/dns/zoneverify.c:1757,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:1758,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneverify.c:1759,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1762,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1764,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1769,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1772,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1773,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zoneverify.c:1776,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zoneverify.c:1778,1
    - Dst: check_no_nsec
      Src: /src/bind9/lib/dns/zoneverify.c:1780,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1783,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1784,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1787,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1788,1
    - Dst: is_empty
      Src: /src/bind9/lib/dns/zoneverify.c:1791,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1792,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1797,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1800,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1808,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1811,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1812,1
    - Dst: verifynode
      Src: /src/bind9/lib/dns/zoneverify.c:1815,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1819,1
    - Dst: verifyemptynodes
      Src: /src/bind9/lib/dns/zoneverify.c:1829,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1833,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:1837,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneverify.c:1839,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1843,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1846,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zoneverify.c:1848,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1850,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1851,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1856,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1858,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1860,1
    - Dst: verifynode
      Src: /src/bind9/lib/dns/zoneverify.c:1863,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1866,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1867,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1868,1
    - Dst: record_found
      Src: /src/bind9/lib/dns/zoneverify.c:1871,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1872,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zoneverify.c:1882,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/zoneverify.c:1884,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1886,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 174
    argCount: 2
    argNames:
    - vctx
    - vresult
    argTypes:
    - vctx_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1677
    functionDepth: 9
    functionLinenumber: 1677
    functionLinenumberEnd: 1890
    functionName: verify_nodes
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - check_no_nsec
    - dns_rdataset_current
    - is_empty
    - dns_name_issubdomain
    - has_dname
    - dns_fixedname_initname
    - dns_dbiterator_next
    - dns_dbiterator_first
    - verifynode
    - dns_fixedname_init
    - dns_name_copy
    - dns_dbiterator_destroy
    - dns_dnssec_keyfromrdata
    - verifyemptynodes
    - record_found
    - DNS_RDATASET_FOREACH
    - dns_fixedname_name
    - dst_key_free
    - is_delegation
    - isc_mem_cget
    - zoneverify_log_error
    - isc_result_totext
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdataset_count
    - isc_mem_cput
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t verify_nodes(vctx_t *vctx, isc_result_t *vresult)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1856,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1858,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1860,1
    - Dst: verifynode
      Src: /src/bind9/lib/dns/zoneverify.c:1863,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1866,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1867,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1868,1
    - Dst: record_found
      Src: /src/bind9/lib/dns/zoneverify.c:1871,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1855
    functionDepth: 9
    functionLinenumber: 1855
    functionLinenumberEnd: 1876
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 1
    functionsReached:
    - record_found
    - zoneverify_log_error
    - isc_result_totext
    - dns_dbiterator_current
    - verifynode
    - dns_db_detachnode
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH (dbiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1897,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1902,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1905,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1906,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1911,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1892
    functionDepth: 3
    functionLinenumber: 1892
    functionLinenumberEnd: 1915
    functionName: check_bad_algorithms
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - report
    - dst_algorithm_format
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_bad_algorithms(const vctx_t *vctx, void (*report)(const
      char *, ...))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1922,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1923,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1932,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1933,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1937,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneverify.c:1939,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - keyset_kskonly
    argTypes:
    - vctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1917
    functionDepth: 3
    functionLinenumber: 1917
    functionLinenumberEnd: 1944
    functionName: print_summary
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - strlen
    - ARRAY_SIZE
    - report
    - dst_algorithm_format
    linkageType: ''
    returnType: void
    signature: "void print_summary(const vctx_t *vctx, bool keyset_kskonly,\n\t      void
      (*report)(const char *, ...))"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vctx_init
      Src: /src/bind9/lib/dns/zoneverify.c:1955,1
    - Dst: check_apex_rrsets
      Src: /src/bind9/lib/dns/zoneverify.c:1957,1
    - Dst: check_dnskey
      Src: /src/bind9/lib/dns/zoneverify.c:1962,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1969,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1975,1
    - Dst: determine_active_algorithms
      Src: /src/bind9/lib/dns/zoneverify.c:1980,1
    - Dst: verify_nodes
      Src: /src/bind9/lib/dns/zoneverify.c:1983,1
    - Dst: verify_nsec3_chains
      Src: /src/bind9/lib/dns/zoneverify.c:1988,1
    - Dst: check_bad_algorithms
      Src: /src/bind9/lib/dns/zoneverify.c:1996,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1998,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:2004,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:2005,1
    - Dst: print_summary
      Src: /src/bind9/lib/dns/zoneverify.c:2010,1
    - Dst: vctx_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:2014,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 8
    argNames:
    - zone
    - db
    - ver
    - origin
    - secroots
    - mctx
    - ignore_kskflag
    - keyset_kskonly
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_keytable_t*
    - isc_mem_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1946
    functionDepth: 10
    functionLinenumber: 1946
    functionLinenumberEnd: 2017
    functionName: dns_zoneverify_dnssec
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 3
    functionsReached:
    - check_apex_rrsets
    - vctx_init
    - print_summary
    - determine_active_algorithms
    - zoneverify_log_error
    - verify_nsec3_chains
    - isc_result_totext
    - check_dnskey
    - vctx_destroy
    - check_bad_algorithms
    - report
    - verify_nodes
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zoneverify_dnssec(dns_zone_t *zone, dns_db_t *db,
      dns_dbversion_t *ver,\n\t\t      dns_name_t *origin, dns_keytable_t *secroots,\n\t\t
      \     isc_mem_t *mctx, bool ignore_kskflag, bool keyset_kskonly,\n\t\t      void
      (*report)(const char *, ...))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/lib/dns/message.c:61,1
    - Dst: printf
      Src: /src/bind9/lib/dns/message.c:66,1
    - Dst: printf
      Src: /src/bind9/lib/dns/message.c:68,1
    - Dst: printf
      Src: /src/bind9/lib/dns/message.c:70,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:70,1
    - Dst: printf
      Src: /src/bind9/lib/dns/message.c:75,1
    - Dst: printf
      Src: /src/bind9/lib/dns/message.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - msg
    - msg2
    - base
    - len
    argTypes:
    - char*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: hexdump
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - printf
    - isprint
    linkageType: ''
    returnType: void
    signature: void hexdump(const char *msg, const char *msg2, void *base, size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: VALID_NAMED_SECTION
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NAMED_SECTION(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: VALID_SECTION
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_SECTION(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: ADD_STRING
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_STRING(b, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - target
    - ','
    - namebuf
    - ','
    - len
    - ','
    - utfok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: PUT_YAMLSTR
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_YAMLSTR(target, namebuf, len, utfok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: VALID_NAMED_PSEUDOSECTION
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NAMED_PSEUDOSECTION(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: VALID_PSEUDOSECTION
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_PSEUDOSECTION(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: OPTOUT
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTOUT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - block
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: msgblock_get
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: msgblock_get(block, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:242,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/message.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - mctx
    - sizeof_type
    - count
    argTypes:
    - isc_mem_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 250
    functionName: msgblock_allocate
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LINK_INIT
    linkageType: ''
    returnType: dns_msgblock_t
    signature: "dns_msgblock_t *\nmsgblock_allocate(isc_mem_t *mctx, unsigned int
      sizeof_type,\n\t\t  unsigned int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - block
    - sizeof_type
    argTypes:
    - dns_msgblock_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 270
    functionName: msgblock_internalget
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      msgblock_internalget(dns_msgblock_t *block, unsigned int sizeof_type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - block
    argTypes:
    - dns_msgblock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: msgblock_reset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void msgblock_reset(dns_msgblock_t *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mctx
    - block
    - sizeof_type
    argTypes:
    - isc_mem_t*
    - dns_msgblock_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: msgblock_free
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: "void msgblock_free(isc_mem_t *mctx, dns_msgblock_t *block,\n\t      unsigned
      int sizeof_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:300,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - size
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: newbuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - isc_buffer_allocate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t newbuffer(dns_message_t *msg, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:310,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: currentbuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_TAIL
    - INSIST
    linkageType: ''
    returnType: isc_buffer_t
    signature: 'isc_buffer_t *

      currentbuffer(dns_message_t *msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/message.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - rdata
    argTypes:
    - dns_message_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: releaserdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    linkageType: ''
    returnType: void
    signature: void releaserdata(dns_message_t *msg, dns_rdata_t *rdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:326,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:328,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/message.c:329,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:333,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:334,1
    - Dst: msgblock_allocate
      Src: /src/bind9/lib/dns/message.c:336,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:338,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:340,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/message.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 345
    functionName: newrdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - ISC_LIST_HEAD
    - ISC_LIST_APPEND
    - msgblock_get
    - ISC_LIST_UNLINK
    - msgblock_allocate
    - ISC_LIST_TAIL
    - dns_rdata_reset
    linkageType: ''
    returnType: dns_rdata_t
    signature: 'dns_rdata_t *

      newrdata(dns_message_t *msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/message.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - rdatalist
    argTypes:
    - dns_message_t*
    - dns_rdatalist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: releaserdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_PREPEND
    linkageType: ''
    returnType: void
    signature: void releaserdatalist(dns_message_t *msg, dns_rdatalist_t *rdatalist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:357,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:359,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/message.c:360,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:364,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:365,1
    - Dst: msgblock_allocate
      Src: /src/bind9/lib/dns/message.c:367,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:369,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:371,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/message.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 376
    functionName: newrdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_HEAD
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - msgblock_get
    - ISC_LIST_UNLINK
    - ISC_LIST_TAIL
    - msgblock_allocate
    linkageType: ''
    returnType: dns_rdatalist_t
    signature: 'dns_rdatalist_t *

      newrdatalist(dns_message_t *msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: msginitheader
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void msginitheader(dns_message_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - m
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 407
    functionName: msginitprivate
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void msginitprivate(dns_message_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - m
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: msginittsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void msginittsig(dns_message_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msginitheader
      Src: /src/bind9/lib/dns/message.c:427,1
    - Dst: msginitprivate
      Src: /src/bind9/lib/dns/message.c:428,1
    - Dst: msginittsig
      Src: /src/bind9/lib/dns/message.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - m
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: msginit
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - msginitprivate
    - msginitheader
    - msginittsig
    linkageType: ''
    returnType: void
    signature: void msginit(dns_message_t *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:452,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:453,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: msgresetname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns__message_putassociatedrdataset
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void msgresetname(dns_message_t *msg, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:462,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:463,1
    - Dst: msgresetname
      Src: /src/bind9/lib/dns/message.c:464,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - first_section
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 468
    functionName: msgresetnames
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - msgresetname
    - dns_message_puttempname
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void msgresetnames(dns_message_t *msg, unsigned int first_section)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:474,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: msgresetopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns__message_putassociatedrdataset
    - dns_message_renderrelease
    linkageType: ''
    returnType: void
    signature: void msgresetopt(dns_message_t *msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:487,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:491,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/message.c:491,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:492,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:494,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:497,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:499,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:503,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:506,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:510,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - msg
    - replying
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 516
    functionName: msgresetsigs
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns__message_putassociatedrdataset
    - dns_rdataset_isassociated
    - INSIST
    - dns_message_renderrelease
    - dns_message_puttempname
    linkageType: ''
    returnType: void
    signature: void msgresetsigs(dns_message_t *msg, bool replying)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msgresetnames
      Src: /src/bind9/lib/dns/message.c:527,1
    - Dst: msgresetopt
      Src: /src/bind9/lib/dns/message.c:528,1
    - Dst: msgresetsigs
      Src: /src/bind9/lib/dns/message.c:529,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:540,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:541,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:543,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:544,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:547,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:548,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:550,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:551,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:554,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:555,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/message.c:556,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:560,1
    - Dst: msgblock_reset
      Src: /src/bind9/lib/dns/message.c:562,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:563,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:566,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:567,1
    - Dst: msgblock_free
      Src: /src/bind9/lib/dns/message.c:568,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:576,1
    - Dst: msgblock_reset
      Src: /src/bind9/lib/dns/message.c:578,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:579,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:582,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:583,1
    - Dst: msgblock_free
      Src: /src/bind9/lib/dns/message.c:584,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:589,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/message.c:594,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:599,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:608,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:618,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:620,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:621,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/message.c:622,1
    - Dst: msginit
      Src: /src/bind9/lib/dns/message.c:630,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - msg
    - everything
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 632
    functionName: msgreset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - ISC_LIST_HEAD
    - msginit
    - isc_mem_put
    - dns_tsigkey_detach
    - dst_context_destroy
    - msgresetsigs
    - msgresetopt
    - msgresetnames
    - INSIST
    - isc_buffer_free
    - ISC_LIST_UNLINK
    - msgblock_free
    - msgblock_reset
    - ISC_LIST_FOREACH
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: void
    signature: void msgreset(dns_message_t *msg, bool everything)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/message.c:660,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/message.c:662,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/message.c:662,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/message.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - key
    - otherlen
    argTypes:
    - dns_tsigkey_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 671
    functionName: spacefortsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_name_toregion
    - dns_tsigkey_algorithm
    - dst_key_sigsize
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int spacefortsig(dns_tsigkey_t *key, int otherlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:677,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:679,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:680,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:682,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:685,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/message.c:688,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/message.c:701,1
    - Dst: dns_message_createpools
      Src: /src/bind9/lib/dns/message.c:704,1
    - Dst: msginit
      Src: /src/bind9/lib/dns/message.c:707,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/message.c:710,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:714,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - mctx
    - namepool
    - rdspool
    - intent
    - msgp
    argTypes:
    - isc_mem_t*
    - isc_mempool_t*
    - isc_mempool_t*
    - dns_message_intent_t
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 718
    functionName: dns_message_create
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 36
    functionsReached:
    - isc_mem_attach
    - msginit
    - ISC_LIST_APPEND
    - dns_message_createpools
    - isc_mem_get
    - REQUIRE
    - isc_buffer_allocate
    - ISC_LIST_INIT
    - ISC_REFCOUNT_INITIALIZER
    linkageType: ''
    returnType: void
    signature: "void dns_message_create(isc_mem_t *mctx, isc_mempool_t *namepool,\n\t\t
      \  isc_mempool_t *rdspool, dns_message_intent_t intent,\n\t\t   dns_message_t
      **msgp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:722,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:722,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:723,1
    - Dst: msgreset
      Src: /src/bind9/lib/dns/message.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - intent
    argTypes:
    - dns_message_t*
    - dns_message_intent_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 720
    functionDepth: 4
    functionLinenumber: 720
    functionLinenumberEnd: 728
    functionName: dns_message_reset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - msgreset
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_reset(dns_message_t *msg, dns_message_intent_t intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:732,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:733,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:733,1
    - Dst: msgreset
      Src: /src/bind9/lib/dns/message.c:735,1
    - Dst: dns_message_destroypools
      Src: /src/bind9/lib/dns/message.c:740,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/message.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 744
    functionName: dns__message_destroy
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - DNS_MESSAGE_VALID
    - isc_mem_putanddetach
    - REQUIRE
    - msgreset
    - dns_message_destroypools
    linkageType: ''
    returnType: void
    signature: void dns__message_destroy(dns_message_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: name_match
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool name_match(void *node, const void *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/message.c:760,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - foundname
    - target
    - section
    argTypes:
    - dns_name_t**
    - dns_name_t*
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 770
    functionName: findname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 14
    functionsReached:
    - ISC_LIST_FOREACH_REV
    - dns_name_equal
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findname(dns_name_t **foundname, const dns_name_t *target,\n\t
      dns_namelist_t *section)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/dns/message.c:776,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/message.c:777,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/message.c:778,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/message.c:779,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/message.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rds
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 782
    functionName: rds_hash
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_hash32_hash
    - isc_hash32_init
    - isc_hash32_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rds_hash(dns_rdataset_t *rds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key0
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 791
    functionName: rds_match
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool rds_match(void *node, const void *key0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:796,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:797,1
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/message.c:799,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - name
    - type
    - covers
    - rdatasetp
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 807
    functionName: dns_message_findtype
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - ISC_LIST_FOREACH_REV
    - SET_IF_NOT_NULL
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_findtype(dns_name_t *name, dns_rdatatype_t
      type,\n\t\t     dns_rdatatype_t covers, dns_rdataset_t **rdatasetp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:819,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/message.c:827,1
    - Dst: newbuffer
      Src: /src/bind9/lib/dns/message.c:832,1
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:837,1
    - Dst: dns_name_reset
      Src: /src/bind9/lib/dns/message.c:838,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/message.c:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - name
    - source
    - msg
    - dctx
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - dns_message_t*
    - dns_decompress_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 845
    functionName: getname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 62
    functionsReached:
    - UNREACHABLE
    - newbuffer
    - dns_name_reset
    - dns_name_fromwire
    - currentbuffer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getname(dns_name_t *name, isc_buffer_t *source, dns_message_t
      *msg,\n\tdns_decompress_t dctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:856,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:858,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/message.c:871,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:881,1
    - Dst: newbuffer
      Src: /src/bind9/lib/dns/message.c:889,1
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 7
    argNames:
    - source
    - msg
    - dctx
    - rdclass
    - rdtype
    - rdatalen
    - rdata
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dns_decompress_t
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 899
    functionName: getrdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - newbuffer
    - dns_rdata_fromwire
    - INSIST
    - isc_buffer_setactive
    - currentbuffer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getrdata(isc_buffer_t *source, dns_message_t *msg, dns_decompress_t
      dctx,\n\t dns_rdataclass_t rdclass, dns_rdatatype_t rdtype,\n\t unsigned int
      rdatalen, dns_rdata_t *rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 910
    functionName: DO_ERROR
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_ERROR(r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:913,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/message.c:915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - section
    argTypes:
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 918
    functionName: cleanup_name_hashmaps
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_destroy
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void cleanup_name_hashmaps(dns_namelist_t *section)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:936,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/message.c:940,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:946,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:947,1
    - Dst: getname
      Src: /src/bind9/lib/dns/message.c:948,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:953,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:960,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:965,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:966,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:976,1
    - Dst: newrdatalist
      Src: /src/bind9/lib/dns/message.c:989,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:998,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:999,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1003,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/message.c:1015,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/message.c:1016,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/message.c:1018,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1022,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 4
    argNames:
    - source
    - msg
    - dctx
    - options
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dns_decompress_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 1026
    functionName: getquestions
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remainingregion
    - dns_rdatalist_tordataset
    - ISC_LIST_APPEND
    - newrdatalist
    - DO_ERROR
    - dns_message_puttempname
    - dns_rdataset_isassociated
    - dns_message_gettemprdataset
    - dns_rdataset_disassociate
    - dns_message_gettempname
    - REQUIRE
    - isc_buffer_setactive
    - getname
    - isc_buffer_getuint16
    - dns_message_puttemprdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getquestions(isc_buffer_t *source, dns_message_t *msg,
      dns_decompress_t dctx,\n\t     unsigned int options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - section
    - rdclass
    argTypes:
    - dns_section_t
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1038
    functionName: update
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool update(dns_section_t section, dns_rdataclass_t rdclass)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/message.c:1064,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/message.c:1079,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1085,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:1086,1
    - Dst: getname
      Src: /src/bind9/lib/dns/message.c:1087,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1097,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1102,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1103,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1131,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1143,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1158,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:1170,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1174,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1198,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:1205,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1206,1
    - Dst: newrdata
      Src: /src/bind9/lib/dns/message.c:1219,1
    - Dst: update
      Src: /src/bind9/lib/dns/message.c:1221,1
    - Dst: getrdata
      Src: /src/bind9/lib/dns/message.c:1244,1
    - Dst: getrdata
      Src: /src/bind9/lib/dns/message.c:1247,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/message.c:1255,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1257,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/message.c:1262,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:1266,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1268,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1279,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/message.c:1290,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1305,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/message.c:1320,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/message.c:1320,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1330,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1333,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/message.c:1338,1
    - Dst: newrdatalist
      Src: /src/bind9/lib/dns/message.c:1343,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:1349,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:1350,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/dns/message.c:1351,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1365,1
    - Dst: dns_rdatatype_questiononly
      Src: /src/bind9/lib/dns/message.c:1371,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1372,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/message.c:1375,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/message.c:1381,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1385,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1385,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:1386,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1389,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/message.c:1391,1
    - Dst: rds_hash
      Src: /src/bind9/lib/dns/message.c:1392,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1396,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/message.c:1399,1
    - Dst: rds_hash
      Src: /src/bind9/lib/dns/message.c:1400,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:1420,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/message.c:1425,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/lib/dns/message.c:1429,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1432,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1433,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/message.c:1434,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1435,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1439,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/message.c:1442,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/lib/dns/message.c:1462,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1463,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1481,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1503,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1507,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:1516,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1519,1
    - Dst: cleanup_name_hashmaps
      Src: /src/bind9/lib/dns/message.c:1523,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/message.c:1527,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 265
    argCount: 5
    argNames:
    - source
    - msg
    - dctx
    - sectionid
    - options
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dns_decompress_t
    - dns_section_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1040
    functionDepth: 5
    functionLinenumber: 1040
    functionLinenumberEnd: 1531
    functionName: getsection
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_message_gettempname
    - isc_buffer_setactive
    - getname
    - update
    - isc_hashmap_destroy
    - dns_message_puttempname
    - newrdata
    - UNREACHABLE
    - ISC_LIST_HEAD
    - newrdatalist
    - getrdata
    - cleanup_name_hashmaps
    - dns_rdatatype_questiononly
    - dns_message_gettemprdataset
    - dns_name_hash
    - isc_hashmap_create
    - ISC_LIST_EMPTY
    - dns_rdataset_setownercase
    - DO_ERROR
    - rds_hash
    - INSIST
    - ISC_LIST_TAIL
    - dns_rdatalist_fromrdataset
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    - dns_rdata_checkowner
    - dns_rdata_compare
    - ISC_LIST_APPEND
    - dns_rdata_covers
    - dns_name_equal
    - isc_hashmap_add
    - dns__message_putassociatedrdataset
    - dns_rdatatype_issingleton
    - isc_buffer_getuint32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getsection(isc_buffer_t *source, dns_message_t *msg,
      dns_decompress_t dctx,\n\t   dns_section_t sectionid, unsigned int options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1563
    functionName: early_sanity_check
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t early_sanity_check(dns_message_t *msg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1576,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1576,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1578,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:1589,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/message.c:1591,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:1592,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:1593,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/message.c:1593,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1598,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1603,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1604,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1609,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1610,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1611,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1612,1
    - Dst: early_sanity_check
      Src: /src/bind9/lib/dns/message.c:1620,1
    - Dst: getquestions
      Src: /src/bind9/lib/dns/message.c:1625,1
    - Dst: getsection
      Src: /src/bind9/lib/dns/message.c:1639,1
    - Dst: getsection
      Src: /src/bind9/lib/dns/message.c:1651,1
    - Dst: getsection
      Src: /src/bind9/lib/dns/message.c:1663,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1675,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:1677,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:1678,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 98
    argCount: 3
    argNames:
    - msg
    - source
    - options
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1565
    functionDepth: 6
    functionLinenumber: 1565
    functionLinenumberEnd: 1692
    functionName: dns_message_parse
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 10
    functionsReached:
    - isc_buffer_remainingregion
    - early_sanity_check
    - memmove
    - DNS_MESSAGE_VALID
    - getsection
    - ISC_LOG_DEBUG
    - isc_mem_get
    - isc_log_write
    - isc_buffer_usedlength
    - REQUIRE
    - isc_buffer_usedregion
    - isc_buffer_base
    - isc_buffer_getuint16
    - getquestions
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_parse(dns_message_t *msg, isc_buffer_t *source,\n\t\t
      \ unsigned int options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1699,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1699,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1700,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1701,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/dns/message.c:1701,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1702,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1703,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:1710,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:1716,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:1728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - msg
    - cctx
    - buffer
    argTypes:
    - dns_message_t*
    - dns_compress_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1694
    functionDepth: 2
    functionLinenumber: 1694
    functionLinenumberEnd: 1733
    functionName: dns_message_renderbegin
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - isc_buffer_clear
    - DNS_MESSAGE_VALID
    - isc_buffer_length
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_renderbegin(dns_message_t *msg, dns_compress_t
      *cctx,\n\t\t\tisc_buffer_t *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1739,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1739,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1740,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1741,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:1747,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:1749,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:1750,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1751,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:1756,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:1757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - buffer
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1762
    functionName: dns_message_renderchangebuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - memmove
    - DNS_MESSAGE_VALID
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_renderchangebuffer(dns_message_t *msg, isc_buffer_t
      *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1766,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1766,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - space
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1764
    functionDepth: 1
    functionLinenumber: 1764
    functionLinenumberEnd: 1770
    functionName: dns_message_renderrelease
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_renderrelease(dns_message_t *msg, unsigned int space)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1776,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1776,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:1779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - space
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1788
    functionName: dns_message_renderreserve
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_availableregion
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_renderreserve(dns_message_t *msg, unsigned
      int space)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - rds
    - pass
    - preferred_glue
    argTypes:
    - dns_rdataset_t*
    - int
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1823
    functionName: wrong_priority
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wrong_priority(dns_rdataset_t *rds, int pass, dns_rdatatype_t
      preferred_glue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_towire
      Src: /src/bind9/lib/dns/message.c:1839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - rdataset
    - owner_name
    - cctx
    - target
    - reserved
    - options
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - unsigned int
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1844
    functionName: renderset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_towire
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t renderset(dns_rdataset_t *rdataset, const dns_name_t
      *owner_name,\n\t  dns_compress_t *cctx, isc_buffer_t *target, unsigned int reserved,\n\t
      \ unsigned int options, unsigned int *countp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - sectionid
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1855
    functionName: maybe_clear_ad
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void maybe_clear_ad(dns_message_t *msg, dns_section_t sectionid)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - msg
    - sectionid
    - rdataset
    argTypes:
    - dns_message_t*
    - dns_section_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1867
    functionName: update_min_section_ttl
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void update_min_section_ttl(dns_message_t *restrict msg,\n\t\t       const
      dns_section_t sectionid,\n\t\t       dns_rdataset_t *restrict rdataset)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1883,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1884,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1885,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:1885,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1927,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1929,1
    - Dst: dns_rdataset_towirepartial
      Src: /src/bind9/lib/dns/message.c:1936,1
    - Dst: dns_rdataset_towire
      Src: /src/bind9/lib/dns/message.c:1940,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/message.c:1955,1
    - Dst: update_min_section_ttl
      Src: /src/bind9/lib/dns/message.c:1962,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1969,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:1976,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:1977,1
    - Dst: wrong_priority
      Src: /src/bind9/lib/dns/message.c:1985,1
    - Dst: dns_rdataset_towirepartial
      Src: /src/bind9/lib/dns/message.c:1994,1
    - Dst: dns_rdataset_towire
      Src: /src/bind9/lib/dns/message.c:1998,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2024,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/message.c:2025,1
    - Dst: maybe_clear_ad
      Src: /src/bind9/lib/dns/message.c:2030,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/message.c:2044,1
    - Dst: update_min_section_ttl
      Src: /src/bind9/lib/dns/message.c:2048,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 115
    argCount: 3
    argNames:
    - msg
    - sectionid
    - options
    argTypes:
    - dns_message_t*
    - dns_section_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 1869
    functionDepth: 2
    functionLinenumber: 1869
    functionLinenumberEnd: 2059
    functionName: dns_message_rendersection
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - wrong_priority
    - maybe_clear_ad
    - ISC_LIST_HEAD
    - DNS_MESSAGE_VALID
    - dns_rdataset_towire
    - update_min_section_ttl
    - INSIST
    - VALID_NAMED_SECTION
    - REQUIRE
    - dns_compress_rollback
    - OPTOUT
    - ISC_LIST_FOREACH
    - dns_rdataset_towirepartial
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_rendersection(dns_message_t *msg, dns_section_t
      sectionid,\n\t\t\t  unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2066,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2066,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2067,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2068,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:2070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2071,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:2073,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2080,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:2085,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:2086,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:2088,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:2089,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:2091,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - target
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2061
    functionDepth: 2
    functionLinenumber: 2061
    functionLinenumberEnd: 2093
    functionName: dns_message_renderheader
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - DNS_MESSAGE_VALID
    - isc_buffer_availableregion
    - INSIST
    - isc_buffer_putuint16
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2102,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2103,1
    - Dst: msgresetnames
      Src: /src/bind9/lib/dns/message.c:2123,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/lib/dns/message.c:2125,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:2127,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:2128,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/message.c:2129,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/message.c:2130,1
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:2141,1
    - Dst: renderset
      Src: /src/bind9/lib/dns/message.c:2154,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/message.c:2169,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/message.c:2186,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:2195,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:2200,1
    - Dst: memset
      Src: /src/bind9/lib/dns/message.c:2201,1
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:2216,1
    - Dst: dns_tsig_sign
      Src: /src/bind9/lib/dns/message.c:2218,1
    - Dst: renderset
      Src: /src/bind9/lib/dns/message.c:2223,1
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:2235,1
    - Dst: dns_dnssec_signmessage
      Src: /src/bind9/lib/dns/message.c:2237,1
    - Dst: renderset
      Src: /src/bind9/lib/dns/message.c:2247,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:2255,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:2256,1
    - Dst: dns_message_renderheader
      Src: /src/bind9/lib/dns/message.c:2258,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 90
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2095
    functionDepth: 4
    functionLinenumber: 2095
    functionLinenumberEnd: 2263
    functionName: dns_message_renderend
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - memset
    - dns_tsig_sign
    - REQUIRE
    - dns_compress_rollback
    - isc_buffer_usedregion
    - dns_message_renderreset
    - dns_message_renderrelease
    - dns_message_rendersection
    - isc_buffer_clear
    - DNS_MESSAGE_VALID
    - msgresetnames
    - dns_dnssec_signmessage
    - isc_buffer_used
    - isc_buffer_availablelength
    - dns_message_renderheader
    - isc_buffer_init
    - renderset
    - isc_buffer_usedlength
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_renderend(dns_message_t *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2271,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2272,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:2280,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:2286,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:2289,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:2292,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:2295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2265
    functionDepth: 1
    functionLinenumber: 2265
    functionLinenumberEnd: 2297
    functionName: dns_message_renderreset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - DNS_MESSAGE_VALID
    - dns__message_putassociatedrdataset
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_message_puttempname
    linkageType: ''
    returnType: void
    signature: void dns_message_renderreset(dns_message_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:2280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2283
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, i, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2301,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2302,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2302,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:2304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - section
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2299
    functionDepth: 1
    functionLinenumber: 2299
    functionLinenumberEnd: 2311
    functionName: dns_message_firstname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - ISC_LIST_HEAD
    - VALID_NAMED_SECTION
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_firstname(dns_message_t *msg, dns_section_t
      section)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2315,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2316,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2317,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:2319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - section
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2326
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2326
    functionName: dns_message_nextname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - VALID_NAMED_SECTION
    - DNS_MESSAGE_VALID
    - REQUIRE
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_nextname(dns_message_t *msg, dns_section_t
      section)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2331,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2332,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2333,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - section
    - name
    argTypes:
    - dns_message_t*
    - dns_section_t
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2328
    functionDepth: 1
    functionLinenumber: 2328
    functionLinenumberEnd: 2337
    functionName: dns_message_currentname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - VALID_NAMED_SECTION
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_message_currentname(dns_message_t *msg, dns_section_t section,\n\t\t\tdns_name_t
      **name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2354,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2359,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2361,1
    - Dst: findname
      Src: /src/bind9/lib/dns/message.c:2364,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2372,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/message.c:2381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - msg
    - section
    - target
    - type
    - covers
    - name
    - rdataset
    argTypes:
    - dns_message_t*
    - dns_section_t
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - dns_name_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2339
    functionDepth: 2
    functionLinenumber: 2339
    functionLinenumberEnd: 2387
    functionName: dns_message_findname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 13
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_message_findtype
    - VALID_NAMED_SECTION
    - findname
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_findname(dns_message_t *msg, dns_section_t
      section,\n\t\t     const dns_name_t *target, dns_rdatatype_t type,\n\t\t     dns_rdatatype_t
      covers, dns_name_t **name,\n\t\t     dns_rdataset_t **rdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2392,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2394,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/message.c:2394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2395,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2395,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - name
    - section
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2389
    functionDepth: 2
    functionLinenumber: 2389
    functionLinenumberEnd: 2398
    functionName: dns_message_addname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 22
    functionsReached:
    - dns_name_isabsolute
    - ISC_LIST_APPEND
    - VALID_NAMED_SECTION
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_message_addname(dns_message_t *msg, dns_name_t *name,\n\t\t
      \   dns_section_t section)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2404,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2405,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/message.c:2405,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2406,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2406,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:2408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - name
    - section
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2400
    functionDepth: 2
    functionLinenumber: 2400
    functionLinenumberEnd: 2409
    functionName: dns_message_removename
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_name_isabsolute
    - VALID_NAMED_SECTION
    - REQUIRE
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: "void dns_message_removename(dns_message_t *msg, dns_name_t *name,\n\t\t
      \      dns_section_t section)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2415,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2415,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2416,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/dns/message.c:2418,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/message.c:2419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2411
    functionDepth: 4
    functionLinenumber: 2411
    functionLinenumberEnd: 2420
    functionName: dns_message_gettempname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 27
    functionsReached:
    - dns_fixedname_initname
    - isc_mempool_get
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_gettempname(dns_message_t *msg, dns_name_t **item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2424,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2424,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2425,1
    - Dst: newrdata
      Src: /src/bind9/lib/dns/message.c:2427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2422
    functionDepth: 3
    functionLinenumber: 2422
    functionLinenumberEnd: 2428
    functionName: dns_message_gettemprdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 13
    functionsReached:
    - newrdata
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_gettemprdata(dns_message_t *msg, dns_rdata_t **item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2432,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2433,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/dns/message.c:2435,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/message.c:2436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2430
    functionDepth: 1
    functionLinenumber: 2430
    functionLinenumberEnd: 2437
    functionName: dns_message_gettemprdataset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 26
    functionsReached:
    - isc_mempool_get
    - DNS_MESSAGE_VALID
    - REQUIRE
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: void dns_message_gettemprdataset(dns_message_t *msg, dns_rdataset_t
      **item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2441,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2441,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2442,1
    - Dst: newrdatalist
      Src: /src/bind9/lib/dns/message.c:2444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdatalist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2439
    functionDepth: 3
    functionLinenumber: 2439
    functionLinenumberEnd: 2445
    functionName: dns_message_gettemprdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 11
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    - newrdatalist
    linkageType: ''
    returnType: void
    signature: void dns_message_gettemprdatalist(dns_message_t *msg, dns_rdatalist_t
      **item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2451,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2457,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/message.c:2457,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2458,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:2458,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/message.c:2461,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/message.c:2467,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/message.c:2468,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/dns/message.c:2476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - itemp
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2447
    functionDepth: 3
    functionLinenumber: 2447
    functionLinenumberEnd: 2477
    functionName: dns_message_puttempname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 21
    functionsReached:
    - ISC_LIST_HEAD
    - DNS_MESSAGE_VALID
    - dns_name_dynamic
    - dns_name_free
    - ISC_LINK_LINKED
    - isc_mempool_put
    - REQUIRE
    - isc_hashmap_destroy
    linkageType: ''
    returnType: void
    signature: void dns_message_puttempname(dns_message_t *msg, dns_name_t **itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2481,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2482,1
    - Dst: releaserdata
      Src: /src/bind9/lib/dns/message.c:2484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2479
    functionDepth: 2
    functionLinenumber: 2479
    functionLinenumberEnd: 2486
    functionName: dns_message_puttemprdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - releaserdata
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_puttemprdata(dns_message_t *msg, dns_rdata_t **item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/message.c:2490,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/message.c:2491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2492
    functionName: dns__message_putassociatedrdataset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 5
    functionsReached:
    - dns_rdataset_disassociate
    - dns_message_puttemprdataset
    linkageType: ''
    returnType: void
    signature: void dns__message_putassociatedrdataset(dns_message_t *msg, dns_rdataset_t
      **item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2496,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2499,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/message.c:2499,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/dns/message.c:2500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2501
    functionName: dns_message_puttemprdataset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 11
    functionsReached:
    - isc_mempool_put
    - DNS_MESSAGE_VALID
    - REQUIRE
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void dns_message_puttemprdataset(dns_message_t *msg, dns_rdataset_t
      **item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2505,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2506,1
    - Dst: releaserdatalist
      Src: /src/bind9/lib/dns/message.c:2508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdatalist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2503
    functionDepth: 2
    functionLinenumber: 2503
    functionLinenumberEnd: 2510
    functionName: dns_message_puttemprdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - releaserdatalist
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_puttemprdatalist(dns_message_t *msg, dns_rdatalist_t
      **item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2520,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:2524,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:2529,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:2530,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2533,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - source
    - idp
    - flagsp
    argTypes:
    - isc_buffer_t*
    - dns_messageid_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2512
    functionDepth: 3
    functionLinenumber: 2512
    functionLinenumberEnd: 2537
    functionName: dns_message_peekheader
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - isc_buffer_remainingregion
    - SET_IF_NOT_NULL
    - isc_buffer_getuint16
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_peekheader(isc_buffer_t *source, dns_messageid_t
      *idp,\n\t\t       unsigned int *flagsp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2544,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2544,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2545,1
    - Dst: msgresetnames
      Src: /src/bind9/lib/dns/message.c:2565,1
    - Dst: msgresetopt
      Src: /src/bind9/lib/dns/message.c:2566,1
    - Dst: msgresetsigs
      Src: /src/bind9/lib/dns/message.c:2567,1
    - Dst: msginitprivate
      Src: /src/bind9/lib/dns/message.c:2568,1
    - Dst: spacefortsig
      Src: /src/bind9/lib/dns/message.c:2591,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2592,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - msg
    - want_question_section
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2539
    functionDepth: 4
    functionLinenumber: 2539
    functionLinenumberEnd: 2608
    functionName: dns_message_reply
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 6
    functionsReached:
    - DNS_MESSAGE_VALID
    - msginitprivate
    - msgresetsigs
    - msgresetopt
    - msgresetnames
    - REQUIRE
    - spacefortsig
    - dns_message_renderreserve
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_reply(dns_message_t *msg, bool want_question_section)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2616,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2610
    functionDepth: 1
    functionLinenumber: 2610
    functionLinenumberEnd: 2619
    functionName: dns_message_getopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      dns_message_getopt(dns_message_t *msg)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2644,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2645,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/message.c:2645,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2647,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2648,1
    - Dst: msgresetopt
      Src: /src/bind9/lib/dns/message.c:2650,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2656,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2660,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2662,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:2673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - msg
    - opt
    argTypes:
    - dns_message_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2621
    functionDepth: 3
    functionLinenumber: 2621
    functionLinenumberEnd: 2675
    functionName: dns_message_setopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 9
    functionsReached:
    - DNS_MESSAGE_VALID
    - dns_rdataset_current
    - msgresetopt
    - dns__message_putassociatedrdataset
    - dns_rdataset_first
    - REQUIRE
    - DNS_RDATASET_VALID
    - dns_message_renderreserve
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_setopt(dns_message_t *msg, dns_rdataset_t
      *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2683,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2683,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2684,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - owner
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2688
    functionName: dns_message_gettsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 6
    functionsReached:
    - SET_IF_NOT_NULL
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      dns_message_gettsig(dns_message_t *msg, const dns_name_t **owner)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2698,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2698,1
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:2702,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:2705,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2708,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/message.c:2709,1
    - Dst: spacefortsig
      Src: /src/bind9/lib/dns/message.c:2711,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2712,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:2715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - dns_message_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2690
    functionDepth: 4
    functionLinenumber: 2690
    functionLinenumberEnd: 2722
    functionName: dns_message_settsigkey
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 11
    functionsReached:
    - DNS_MESSAGE_VALID
    - dns_tsigkey_detach
    - dns_tsigkey_attach
    - REQUIRE
    - dns_message_renderrelease
    - spacefortsig
    - dns_message_renderreserve
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_settsigkey(dns_message_t *msg, dns_tsigkey_t
      *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2730,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2724
    functionDepth: 1
    functionLinenumber: 2724
    functionLinenumberEnd: 2733
    functionName: dns_message_gettsigkey
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_tsigkey_t
    signature: 'dns_tsigkey_t *

      dns_message_gettsigkey(dns_message_t *msg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2743,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2743,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2744,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/message.c:2750,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/message.c:2752,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:2753,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:2755,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:2756,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:2757,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:2758,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/message.c:2759,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/message.c:2760,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:2761,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:2762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - msg
    - querytsig
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2735
    functionDepth: 4
    functionLinenumber: 2735
    functionLinenumberEnd: 2765
    functionName: dns_message_setquerytsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 6
    functionsReached:
    - dns_rdatalist_tordataset
    - DNS_MESSAGE_VALID
    - isc_buffer_putmem
    - ISC_LIST_APPEND
    - dns_rdata_fromregion
    - dns_message_gettemprdatalist
    - dns_message_gettemprdataset
    - dns_message_takebuffer
    - REQUIRE
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: void dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2774,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2774,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2775,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2776,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2782,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2786,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:2787,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:2789,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:2790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - msg
    - mctx
    - querytsig
    argTypes:
    - dns_message_t*
    - isc_mem_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2767
    functionDepth: 3
    functionLinenumber: 2767
    functionLinenumberEnd: 2792
    functionName: dns_message_getquerytsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - DNS_MESSAGE_VALID
    - isc_buffer_putmem
    - dns_rdataset_current
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_allocate
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_getquerytsig(dns_message_t *msg, isc_mem_t
      *mctx,\n\t\t\t isc_buffer_t **querytsig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2800,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2800,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - owner
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2794
    functionDepth: 1
    functionLinenumber: 2794
    functionLinenumberEnd: 2815
    functionName: dns_message_getsig0
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      dns_message_getsig0(dns_message_t *msg, const dns_name_t **owner)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2846,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2847,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2848,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2851,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/message.c:2852,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/message.c:2852,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/message.c:2853,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - dns_message_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2817
    functionDepth: 3
    functionLinenumber: 2817
    functionLinenumberEnd: 2867
    functionName: dns_message_setsig0key
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - DNS_MESSAGE_VALID
    - dns_name_toregion
    - REQUIRE
    - dst_key_sigsize
    - dst_key_name
    - dns_message_renderreserve
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_setsig0key(dns_message_t *msg, dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2875,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2878
      start: 2869
    functionDepth: 1
    functionLinenumber: 2869
    functionLinenumberEnd: 2878
    functionName: dns_message_getsig0key
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: dst_key_t
    signature: 'dst_key_t *

      dns_message_getsig0key(dns_message_t *msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2882,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2882,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2884,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/message.c:2884,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:2886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - buffer
    argTypes:
    - dns_message_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2880
    functionDepth: 1
    functionLinenumber: 2880
    functionLinenumberEnd: 2888
    functionName: dns_message_takebuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - ISC_LIST_APPEND
    - ISC_BUFFER_VALID
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_takebuffer(dns_message_t *msg, isc_buffer_t **buffer)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2895,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2895,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2896,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2897,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/message.c:2907,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:2909,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/dns/message.c:2910,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/message.c:2911,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2917,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2918,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2919,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:2921,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/message.c:2931,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/message.c:2932,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2937,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2938,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2939,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:2941,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2942,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2952,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/message.c:2955,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2964,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/lib/dns/message.c:2966,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/message.c:2973,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - msg
    - signer
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2890
    functionDepth: 3
    functionLinenumber: 2890
    functionLinenumberEnd: 2978
    functionName: dns_message_signer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - dns_rdata_tostruct
    - DNS_MESSAGE_VALID
    - dns_tsigkey_identity
    - dns_name_hasbuffer
    - dns_rdataset_current
    - INSIST
    - dns_name_clone
    - dns_name_setbuffer
    - dns_rdata_freestruct
    - dns_message_takebuffer
    - isc_buffer_allocate
    - REQUIRE
    - dns_rdataset_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_signer(dns_message_t *msg, dns_name_t *signer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2982,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2982,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:2989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2992
      start: 2980
    functionDepth: 1
    functionLinenumber: 2980
    functionLinenumberEnd: 2992
    functionName: dns_message_resetsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    - dns_tsigkey_detach
    linkageType: ''
    returnType: void
    signature: void dns_message_resetsig(dns_message_t *msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3002,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:3003,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3004,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:3005,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:3006,1
    - Dst: hexdump
      Src: /src/bind9/lib/dns/message.c:3007,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3011,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:3012,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3013,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:3014,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:3015,1
    - Dst: hexdump
      Src: /src/bind9/lib/dns/message.c:3016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - txt1
    argTypes:
    - dns_message_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 2995
    functionDepth: 2
    functionLinenumber: 2995
    functionLinenumberEnd: 3019
    functionName: dns_message_dumpsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - hexdump
    - dns_rdataset_first
    linkageType: ''
    returnType: void
    signature: void dns_message_dumpsig(dns_message_t *msg, char *txt1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_checksig
      Src: /src/bind9/lib/dns/message.c:3029,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/message.c:3031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3025
    functionDepth: 2
    functionLinenumber: 3025
    functionLinenumberEnd: 3032
    functionName: checksig_run
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_message_checksig
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void checksig_run(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checksig_ctx_t*::cb
      Src: /src/bind9/lib/dns/message.c:3039,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/message.c:3041,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/message.c:3042,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:3043,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/message.c:3044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3045
      start: 3034
    functionDepth: 2
    functionLinenumber: 3034
    functionLinenumberEnd: 3045
    functionName: checksig_done
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - checksig_ctx_t*::cb
    - isc_loop_detach
    - isc_mem_put
    - dns_message_detach
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void checksig_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3050,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3053,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:3055,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/message.c:3060,1
    - Dst: dns_message_attach
      Src: /src/bind9/lib/dns/message.c:3062,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/message.c:3063,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/dns/message.c:3065,1
    - Dst: isc_helper_run
      Src: /src/bind9/lib/dns/message.c:3066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - msg
    - view
    - loop
    - cb
    - cbarg
    argTypes:
    - dns_message_t*
    - dns_view_t*
    - isc_loop_t*
    - dns_message_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 3047
    functionDepth: 2
    functionLinenumber: 3047
    functionLinenumberEnd: 3069
    functionName: dns_message_checksig_async
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - dns_view_attach
    - DNS_MESSAGE_VALID
    - isc_loop_ref
    - isc_helper_run
    - isc_mem_get
    - dns_message_attach
    - REQUIRE
    - dns_message_clonebuffer
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_checksig_async(dns_message_t *msg, dns_view_t
      *view,\n\t\t\t   isc_loop_t *loop, dns_message_cb_t cb, void *cbarg)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3075,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3075,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3081,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:3082,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:3083,1
    - Dst: dns_message_dumpsig
      Src: /src/bind9/lib/dns/message.c:3086,1
    - Dst: dns_view_checksig
      Src: /src/bind9/lib/dns/message.c:3089,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/dns/message.c:3091,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3100,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3101,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3102,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:3115,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/message.c:3120,1
    - Dst: dns_view_simplefind
      Src: /src/bind9/lib/dns/message.c:3125,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3136,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3137,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/message.c:3157,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3164,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:3165,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:3174,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/message.c:3175,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/message.c:3179,1
    - Dst: dns_dnssec_verifymessage
      Src: /src/bind9/lib/dns/message.c:3185,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/message.c:3186,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:3195,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:3196,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:3201,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:3202,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/message.c:3209,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/message.c:3210,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/message.c:3212,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 85
    argCount: 2
    argNames:
    - msg
    - view
    argTypes:
    - dns_message_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3071
    functionDepth: 6
    functionLinenumber: 3071
    functionLinenumberEnd: 3215
    functionName: dns_message_checksig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - dns_rdataset_next
    - dns_view_simplefind
    - dns_rdataset_current
    - dst_region_computeid
    - isc_log_write
    - dns_rdataset_first
    - REQUIRE
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_rdata_tostruct
    - dns_dnssec_verifymessage
    - dns_rdataset_isassociated
    - dns_rdata_freestruct
    - dns_view_checksig
    - dns_dnssec_keyfromrdata
    - DNS_MESSAGE_VALID
    - ISC_LOG_DEBUG
    - INSIST
    - dns_tsig_verify
    - dns_message_dumpsig
    - dst_key_free
    - isc_buffer_init
    - isc_buffer_add
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_checksig(dns_message_t *msg, dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3230
    functionName: INDENT
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDENT(sp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3241,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3243,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:3243,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/message.c:3247,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:3251,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3253,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3256,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3258,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3260,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3262,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3264,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3266,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3268,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/message.c:3271,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/message.c:3272,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:3279,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3295,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3297,1
    - Dst: dns_master_questiontotext
      Src: /src/bind9/lib/dns/message.c:3299,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:3302,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3316,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3317,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 5
    argNames:
    - msg
    - section
    - style
    - flags
    - target
    argTypes:
    - dns_message_t*
    - dns_section_t
    - dns_master_style_t*
    - dns_messagetextflag_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3231
    functionDepth: 8
    functionLinenumber: 3231
    functionLinenumberEnd: 3323
    functionName: dns_message_sectiontotext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - INDENT
    - dns_master_rdatasettotext
    - DNS_MESSAGE_VALID
    - ISC_LIST_EMPTY
    - ADD_STRING
    - VALID_NAMED_SECTION
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_master_questiontotext
    - dns_master_styleflags
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_sectiontotext(dns_message_t *msg, dns_section_t
      section,\n\t\t\t  const dns_master_style_t *style,\n\t\t\t  dns_messagetextflag_t
      flags, isc_buffer_t *target)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:3279,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3295,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3297,1
    - Dst: dns_master_questiontotext
      Src: /src/bind9/lib/dns/message.c:3299,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:3302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3278
    functionDepth: 8
    functionLinenumber: 3278
    functionLinenumberEnd: 3309
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - dns_master_rdatasettotext
    - INDENT
    - ADD_STRING
    - ISC_LIST_FOREACH
    - dns_master_questiontotext
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3337,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3340,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3341,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3342,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3345,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3354,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/message.c:3362,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/message.c:3368,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/message.c:3374,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3380,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3381,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3382,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3383,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - ecsbuf
    - target
    argTypes:
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3325
    functionDepth: 3
    functionLinenumber: 3325
    functionLinenumberEnd: 3389
    functionName: render_ecs
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - strlcpy
    - isc_buffer_getuint16
    - inet_ntop
    - ADD_STRING
    - isc_buffer_remaininglength
    - snprintf
    - isc_buffer_getuint8
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t render_ecs(isc_buffer_t *ecsbuf, isc_buffer_t *target)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:3402,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3408,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3409,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3410,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3412,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3414,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3416,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3417,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3419,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3420,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3421,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3423,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3425,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3427,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3428,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3430,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3431,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3432,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3434,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3436,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3438,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3439,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3441,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3443,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3444,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3445,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3447,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3449,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3451,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3452,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3454,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3455,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3456,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3458,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3460,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3462,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 4
    argNames:
    - optbuf
    - msg
    - style
    - target
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dns_master_style_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3391
    functionDepth: 3
    functionLinenumber: 3391
    functionLinenumberEnd: 3468
    functionName: render_llq
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - INDENT
    - ADD_STRING
    - isc_buffer_getuint32
    - snprintf
    - isc_buffer_getuint16
    - dns_master_styleflags
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_llq(isc_buffer_t *optbuf, dns_message_t *msg,\n\t
      \  const dns_master_style_t *style, isc_buffer_t *target)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:3476,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3478,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:3480,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:3483,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3485,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - target
    - namebuf
    - len
    - utfok
    argTypes:
    - isc_buffer_t*
    - unsigned char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3490
      start: 3470
    functionDepth: 2
    functionLinenumber: 3470
    functionLinenumberEnd: 3490
    functionName: put_yamlstr
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_buffer_availablelength
    - ADD_STRING
    - isprint
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t put_yamlstr(isc_buffer_t *target, unsigned char *namebuf,
      size_t len,\n\t    bool utfok)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/message.c:3496,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/message.c:3500,1
    - Dst: isc_buffer_activelength
      Src: /src/bind9/lib/dns/message.c:3501,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/message.c:3502,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3503,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3505,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/message.c:3506,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3508,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - optbuf
    - yaml
    - target
    argTypes:
    - isc_buffer_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3492
    functionDepth: 4
    functionLinenumber: 3492
    functionLinenumberEnd: 3516
    functionName: render_nameopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - ADD_STRING
    - strlen
    - dns_name_fromwire
    - dns_name_format
    - isc_buffer_activelength
    - PUT_YAMLSTR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t render_nameopt(isc_buffer_t *optbuf, bool yaml, isc_buffer_t
      *target)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3543,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3544,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:3547,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:3552,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3558,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/message.c:3561,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3564,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3565,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3566,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3567,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/message.c:3569,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/message.c:3570,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3572,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3573,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3575,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3576,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/message.c:3577,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3578,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3580,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3583,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3585,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3586,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3587,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3588,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3589,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3590,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3592,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3593,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3594,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3595,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3596,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3597,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3598,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3599,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3600,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3602,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3603,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3606,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3607,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3608,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3609,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3610,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3612,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:3614,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:3615,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:3621,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3623,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3626,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3628,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 4
    argNames:
    - msg
    - optbuf
    - style
    - target
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    - dns_master_style_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3539
    functionDepth: 4
    functionLinenumber: 3539
    functionLinenumberEnd: 3632
    functionName: render_zoneversion
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - INDENT
    - ISC_LIST_HEAD
    - dns_name_split
    - isc_buffer_putmem
    - isc_buffer_forward
    - ADD_STRING
    - isc_buffer_remaininglength
    - strlen
    - isc_buffer_getuint32
    - snprintf
    - isc_buffer_current
    - isprint
    - dns_name_format
    - isc_buffer_getuint8
    - dns_master_styleflags
    - isc_buffer_availablelength
    - PUT_YAMLSTR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t render_zoneversion(dns_message_t *msg, isc_buffer_t *optbuf,\n\t\t
      \  const dns_master_style_t *style, isc_buffer_t *target)"
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3652,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3652,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3654,1
    - Dst: VALID_NAMED_PSEUDOSECTION
      Src: /src/bind9/lib/dns/message.c:3654,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/dns/message.c:3660,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3665,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3666,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3669,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3670,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3673,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3674,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3675,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3677,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3678,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3679,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3680,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3682,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3685,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3687,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3692,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3693,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3694,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3695,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3696,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3698,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3699,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3700,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3701,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3702,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/message.c:3715,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3716,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:3718,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:3719,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3720,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3725,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3725,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3726,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3727,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3728,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3728,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3730,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:3731,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3735,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3737,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3738,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3740,1
    - Dst: render_llq
      Src: /src/bind9/lib/dns/message.c:3745,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3750,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3759,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3760,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3761,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3762,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3763,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3764,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3766,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:3767,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3772,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3775,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3777,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3778,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3780,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3782,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3784,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:3785,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3791,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:3797,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3798,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:3800,1
    - Dst: render_ecs
      Src: /src/bind9/lib/dns/message.c:3801,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3806,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3807,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3810,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3815,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3816,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3817,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3818,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:3819,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3824,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3831,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3832,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3834,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3835,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:3843,1
    - Dst: render_nameopt
      Src: /src/bind9/lib/dns/message.c:3844,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3847,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3858,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3860,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3862,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3866,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3873,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3875,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3876,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3877,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3878,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3879,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:3880,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3881,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3882,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3884,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3886,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3889,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3890,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3900,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3901,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3902,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:3909,1
    - Dst: render_zoneversion
      Src: /src/bind9/lib/dns/message.c:3910,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3915,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3916,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3927,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3929,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3930,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3931,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3933,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3935,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3937,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3940,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3941,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3943,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3947,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3949,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3956,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3957,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3965,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3966,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3974,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3975,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3978,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3990,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3992,1
    - Dst: isc_utf8_valid
      Src: /src/bind9/lib/dns/message.c:3994,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4008,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4011,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4015,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4020,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4029,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4031,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:4033,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4035,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4037,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4040,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/message.c:4046,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4051,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4052,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4053,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4055,1
    - Dst: dns_message_getsig0
      Src: /src/bind9/lib/dns/message.c:4058,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4063,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4064,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4065,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4070,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 341
    argCount: 5
    argNames:
    - msg
    - section
    - style
    - flags
    - target
    argTypes:
    - dns_message_t*
    - dns_pseudosection_t
    - dns_master_style_t*
    - dns_messagetextflag_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4080
      start: 3634
    functionDepth: 8
    functionLinenumber: 3634
    functionLinenumberEnd: 4080
    functionName: dns_message_pseudosectiontoyaml
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_message_gettsig
    - dns_rdataset_current
    - snprintf
    - REQUIRE
    - dns_rdataset_first
    - isc_buffer_current
    - isc_buffer_setactive
    - render_nameopt
    - ADD_STRING
    - dns_ttl_totext
    - render_ecs
    - INDENT
    - dns_master_rdatasettotext
    - VALID_NAMED_PSEUDOSECTION
    - DNS_MESSAGE_VALID
    - ARRAY_SIZE
    - isc_utf8_valid
    - dns_message_getopt
    - isc_buffer_remaininglength
    - INSIST
    - isc_buffer_getuint16
    - dns_message_getsig0
    - PUT_YAMLSTR
    - render_llq
    - render_zoneversion
    - isc_buffer_forward
    - isc_buffer_init
    - isc_buffer_getuint32
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_pseudosectiontoyaml(dns_message_t *msg, dns_pseudosection_t
      section,\n\t\t\t\tconst dns_master_style_t *style,\n\t\t\t\tdns_messagetextflag_t
      flags,\n\t\t\t\tisc_buffer_t *target)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4098,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4100,1
    - Dst: VALID_NAMED_PSEUDOSECTION
      Src: /src/bind9/lib/dns/message.c:4100,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:4102,1
    - Dst: dns_message_pseudosectiontoyaml
      Src: /src/bind9/lib/dns/message.c:4103,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/dns/message.c:4109,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4114,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4115,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4118,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4119,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4120,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4122,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4123,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4125,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4128,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4134,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4135,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4136,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4137,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4139,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4141,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4142,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:4144,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/message.c:4156,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:4157,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:4159,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:4160,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:4161,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:4164,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:4164,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4165,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4166,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:4168,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:4168,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4170,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4171,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:4172,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4176,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4178,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4179,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4181,1
    - Dst: render_llq
      Src: /src/bind9/lib/dns/message.c:4186,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4191,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:4198,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4199,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4200,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:4202,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4204,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4206,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4208,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:4209,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4215,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:4216,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4223,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:4228,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:4229,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:4231,1
    - Dst: render_ecs
      Src: /src/bind9/lib/dns/message.c:4232,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4237,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4238,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:4245,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4246,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4247,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4248,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:4249,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4254,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4261,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4262,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4264,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4265,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4271,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4273,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4274,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4276,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:4282,1
    - Dst: render_nameopt
      Src: /src/bind9/lib/dns/message.c:4283,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4286,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4291,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4298,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4300,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4302,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4306,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4313,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4314,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4315,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:4316,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4317,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4318,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4320,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4324,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:4328,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4329,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:4331,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4334,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4335,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4343,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4344,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4345,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:4352,1
    - Dst: render_zoneversion
      Src: /src/bind9/lib/dns/message.c:4353,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4358,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4359,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4371,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:4373,1
    - Dst: isc_utf8_valid
      Src: /src/bind9/lib/dns/message.c:4375,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4389,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4392,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4396,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4403,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4410,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4417,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4419,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4424,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4433,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4435,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:4437,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:4442,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:4445,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/message.c:4448,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4452,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4454,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4457,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/message.c:4461,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4465,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4467,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4469,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4474,1
    - Dst: dns_message_getsig0
      Src: /src/bind9/lib/dns/message.c:4478,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4482,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4484,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4486,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4491,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 315
    argCount: 5
    argNames:
    - msg
    - section
    - style
    - flags
    - target
    argTypes:
    - dns_message_t*
    - dns_pseudosection_t
    - dns_master_style_t*
    - dns_messagetextflag_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4498
      start: 4082
    functionDepth: 9
    functionLinenumber: 4082
    functionLinenumberEnd: 4498
    functionName: dns_message_pseudosectiontotext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - dns_rdata_init
    - isc_buffer_putmem
    - dns_message_gettsig
    - dns_message_pseudosectiontoyaml
    - dns_rdataset_current
    - isc_buffer_putstr
    - snprintf
    - REQUIRE
    - dns_rdataset_first
    - isc_buffer_current
    - isc_buffer_setactive
    - render_nameopt
    - ADD_STRING
    - isprint
    - dns_ttl_totext
    - render_ecs
    - INDENT
    - dns_master_rdatasettotext
    - VALID_NAMED_PSEUDOSECTION
    - DNS_MESSAGE_VALID
    - ARRAY_SIZE
    - isc_utf8_valid
    - dns_message_getopt
    - isc_buffer_remaininglength
    - INSIST
    - isc_buffer_getuint16
    - dns_master_styleflags
    - isc_buffer_availablelength
    - dns_message_getsig0
    - render_llq
    - render_zoneversion
    - isc_buffer_forward
    - isc_buffer_init
    - isc_buffer_getuint32
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_pseudosectiontotext(dns_message_t *msg, dns_pseudosection_t
      section,\n\t\t\t\tconst dns_master_style_t *style,\n\t\t\t\tdns_messagetextflag_t
      flags,\n\t\t\t\tisc_buffer_t *target)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4506,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4507,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:4513,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4514,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4515,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4516,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4517,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4518,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4519,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/message.c:4520,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4524,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4525,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4526,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4527,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4528,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4529,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4530,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4531,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4533,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4536,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4539,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4542,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4545,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4548,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4551,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4553,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4558,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4559,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4560,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4563,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4564,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4566,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4567,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4569,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4571,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4572,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4574,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4575,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4577,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4578,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4580,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4582,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4583,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4585,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4586,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4588,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4589,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4591,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4593,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4594,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4595,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4596,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4597,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4599,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4600,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4602,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4603,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4604,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4605,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/message.c:4606,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4610,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4611,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4612,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4613,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4614,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4615,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4617,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4620,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4623,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4626,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4629,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4632,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4635,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4641,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4642,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4645,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4646,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4648,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4649,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4651,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4653,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4655,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4657,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4659,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4661,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4663,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4665,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4667,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4669,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4670,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4671,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4673,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4674,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 158
    argCount: 4
    argNames:
    - msg
    - style
    - flags
    - target
    argTypes:
    - dns_message_t*
    - dns_master_style_t*
    - dns_messagetextflag_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4679
      start: 4500
    functionDepth: 2
    functionLinenumber: 4500
    functionLinenumberEnd: 4679
    functionName: dns_message_headertotext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - INDENT
    - DNS_MESSAGE_VALID
    - ADD_STRING
    - snprintf
    - REQUIRE
    - dns_rcode_totext
    - dns_master_styleflags
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_headertotext(dns_message_t *msg, const dns_master_style_t
      *style,\n\t\t\t dns_messagetextflag_t flags, isc_buffer_t *target)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4686,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4686,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4687,1
    - Dst: dns_message_headertotext
      Src: /src/bind9/lib/dns/message.c:4689,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/lib/dns/message.c:4694,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4700,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4706,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4712,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4718,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/lib/dns/message.c:4724,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/lib/dns/message.c:4730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - msg
    - style
    - flags
    - target
    argTypes:
    - dns_message_t*
    - dns_master_style_t*
    - dns_messagetextflag_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4733
      start: 4681
    functionDepth: 10
    functionLinenumber: 4681
    functionLinenumberEnd: 4733
    functionName: dns_message_totext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 5
    functionsReached:
    - dns_message_sectiontotext
    - DNS_MESSAGE_VALID
    - dns_message_headertotext
    - dns_message_pseudosectiontotext
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_totext(dns_message_t *msg, const dns_master_style_t
      *style,\n\t\t   dns_messagetextflag_t flags, isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4737,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4739
      start: 4735
    functionDepth: 1
    functionLinenumber: 4735
    functionLinenumberEnd: 4739
    functionName: dns_message_getrawmessage
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_region_t
    signature: 'isc_region_t *

      dns_message_getrawmessage(dns_message_t *msg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4743,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - timeadjust
    argTypes:
    - dns_message_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4741
    functionDepth: 1
    functionLinenumber: 4741
    functionLinenumberEnd: 4745
    functionName: dns_message_settimeadjust
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_settimeadjust(dns_message_t *msg, int timeadjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4749,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4747
    functionDepth: 1
    functionLinenumber: 4747
    functionLinenumberEnd: 4751
    functionName: dns_message_gettimeadjust
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int dns_message_gettimeadjust(dns_message_t *msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4755,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:4757,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/message.c:4757,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/message.c:4760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - opcode
    - target
    argTypes:
    - dns_opcode_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4762
      start: 4753
    functionDepth: 2
    functionLinenumber: 4753
    functionLinenumberEnd: 4762
    functionName: dns_opcode_totext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - strlen
    - isc_buffer_putstr
    - REQUIRE
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_opcode_totext(dns_opcode_t opcode, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4769,1
    - Dst: logfmtpacket
      Src: /src/bind9/lib/dns/message.c:4771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - message
    - description
    - address
    - category
    - module
    - level
    - mctx
    argTypes:
    - dns_message_t*
    - char*
    - isc_sockaddr_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4773
      start: 4764
    functionDepth: 1
    functionLinenumber: 4764
    functionLinenumberEnd: 4773
    functionName: dns_message_logpacketfrom
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - logfmtpacket
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_message_logpacketfrom(dns_message_t *message, const char
      *description,\n\t\t\t  const isc_sockaddr_t *address,\n\t\t\t  isc_logcategory_t
      category, isc_logmodule_t module,\n\t\t\t  int level, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4781,1
    - Dst: logfmtpacket
      Src: /src/bind9/lib/dns/message.c:4783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 8
    argNames:
    - message
    - description
    - from
    - to
    - category
    - module
    - level
    - mctx
    argTypes:
    - dns_message_t*
    - char*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4785
      start: 4775
    functionDepth: 1
    functionLinenumber: 4775
    functionLinenumberEnd: 4785
    functionName: dns_message_logpacketfromto
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - logfmtpacket
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_message_logpacketfromto(dns_message_t *message, const char
      *description,\n\t\t\t    const isc_sockaddr_t *from,\n\t\t\t    const isc_sockaddr_t
      *to,\n\t\t\t    isc_logcategory_t category, isc_logmodule_t module,\n\t\t\t
      \   int level, isc_mem_t *mctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/message.c:4799,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/message.c:4809,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/message.c:4812,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4816,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:4817,1
    - Dst: dns_message_totext
      Src: /src/bind9/lib/dns/message.c:4818,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:4820,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:4823,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/message.c:4827,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:4832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 9
    argNames:
    - message
    - description
    - from
    - to
    - category
    - module
    - style
    - level
    - mctx
    argTypes:
    - dns_message_t*
    - char*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_logcategory_t
    - isc_logmodule_t
    - dns_master_style_t*
    - int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4834
      start: 4787
    functionDepth: 11
    functionLinenumber: 4787
    functionLinenumberEnd: 4834
    functionName: logfmtpacket
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - isc_sockaddr_format
    - isc_buffer_init
    - isc_mem_get
    - dns_message_totext
    - isc_log_write
    - isc_buffer_usedlength
    - isc_mem_put
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: "void logfmtpacket(dns_message_t *message, const char *description,\n\t
      \    const isc_sockaddr_t *from, const isc_sockaddr_t *to,\n\t     isc_logcategory_t
      category, isc_logmodule_t module,\n\t     const dns_master_style_t *style, int
      level, isc_mem_t *mctx)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4846,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4847,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/message.c:4849,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/message.c:4850,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:4851,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:4881,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4890,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4891,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:4893,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4900,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4901,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/message.c:4903,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/message.c:4905,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:4918,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:4919,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/message.c:4925,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/message.c:4926,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/lib/dns/message.c:4927,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 7
    argNames:
    - message
    - rdatasetp
    - version
    - udpsize
    - flags
    - ednsopts
    - count
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    - unsigned int
    - uint16_t
    - unsigned int
    - dns_ednsopt_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4836
    functionDepth: 4
    functionLinenumber: 4836
    functionLinenumberEnd: 4929
    functionName: dns_message_buildopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_message_puttemprdata
    - DNS_MESSAGE_VALID
    - isc_buffer_putmem
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - dns_message_puttemprdatalist
    - dns_message_gettemprdataset
    - isc_buffer_putuint16
    - dns_message_takebuffer
    - REQUIRE
    - isc_buffer_allocate
    - isc_buffer_base
    - dns_message_puttemprdataset
    - dns_message_gettemprdata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_buildopt(dns_message_t *message, dns_rdataset_t
      **rdatasetp,\n\t\t     unsigned int version, uint16_t udpsize, unsigned int
      flags,\n\t\t     dns_ednsopt_t *ednsopts, size_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4933,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4933,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4934,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4935,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - rdclass
    argTypes:
    - dns_message_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4940
      start: 4931
    functionDepth: 1
    functionLinenumber: 4931
    functionLinenumberEnd: 4940
    functionName: dns_message_setclass
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_setclass(dns_message_t *msg, dns_rdataclass_t rdclass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4944,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - padding
    argTypes:
    - dns_message_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4951
      start: 4942
    functionDepth: 1
    functionLinenumber: 4942
    functionLinenumberEnd: 4951
    functionName: dns_message_setpadding
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_setpadding(dns_message_t *msg, uint16_t padding)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4955,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4955,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:4959,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4959,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:4965,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4969
      start: 4953
    functionDepth: 1
    functionLinenumber: 4953
    functionLinenumberEnd: 4969
    functionName: dns_message_clonebuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - isc_mem_get
    - memmove
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_message_clonebuffer(dns_message_t *msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:4979,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:4991,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/message.c:4992,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/message.c:4993,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/message.c:4994,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/message.c:5008,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/lib/dns/message.c:5008,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - rds
    - ttlp
    argTypes:
    - dns_rdataset_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5014
      start: 4971
    functionDepth: 3
    functionLinenumber: 4971
    functionLinenumberEnd: 5014
    functionName: rdataset_soa_min
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_soa_getminimum
    - ISC_MIN
    - dns_rdataset_current
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_soa_min(dns_rdataset_t *rds, dns_ttl_t *ttlp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:4979,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:4991,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/message.c:4992,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/message.c:4993,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/message.c:4994,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/message.c:5008,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/lib/dns/message.c:5008,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 4974
    functionDepth: 3
    functionLinenumber: 4974
    functionLinenumberEnd: 5011
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 9
    functionsReached:
    - dns_name_fromregion
    - dns_soa_getminimum
    - ISC_MIN
    - dns_rdataset_current
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:5025,1
    - Dst: rdataset_soa_min
      Src: /src/bind9/lib/dns/message.c:5030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - ttlp
    argTypes:
    - dns_message_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5038
      start: 5016
    functionDepth: 4
    functionLinenumber: 5016
    functionLinenumberEnd: 5038
    functionName: message_authority_soa_min
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - rdataset_soa_min
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t message_authority_soa_min(dns_message_t *msg, dns_ttl_t
      *ttlp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:5025,1
    - Dst: rdataset_soa_min
      Src: /src/bind9/lib/dns/message.c:5030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5035
      start: 5024
    functionDepth: 4
    functionLinenumber: 5024
    functionLinenumberEnd: 5035
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - rdataset_soa_min
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, DNS_SECTION_AUTHORITY, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5043,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:5043,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - msg
    - sectionid
    - pttl
    argTypes:
    - dns_message_t*
    - dns_section_t
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5052
      start: 5040
    functionDepth: 1
    functionLinenumber: 5040
    functionLinenumberEnd: 5052
    functionName: dns_message_minttl
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - DNS_MESSAGE_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_message_minttl(dns_message_t *msg, const dns_section_t
      sectionid,\n\t\t   dns_ttl_t *pttl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5058,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:5058,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5059,1
    - Dst: dns_message_minttl
      Src: /src/bind9/lib/dns/message.c:5061,1
    - Dst: message_authority_soa_min
      Src: /src/bind9/lib/dns/message.c:5063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - pttl
    argTypes:
    - dns_message_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5067
      start: 5054
    functionDepth: 5
    functionLinenumber: 5054
    functionLinenumberEnd: 5067
    functionName: dns_message_response_minttl
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - message_authority_soa_min
    - DNS_MESSAGE_VALID
    - REQUIRE
    - dns_message_minttl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_response_minttl(dns_message_t *msg, dns_ttl_t
      *pttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5072,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5073,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5074,1
    - Dst: isc_mempool_create
      Src: /src/bind9/lib/dns/message.c:5076,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/lib/dns/message.c:5078,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/dns/message.c:5079,1
    - Dst: isc_mempool_create
      Src: /src/bind9/lib/dns/message.c:5081,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/lib/dns/message.c:5083,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/dns/message.c:5084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mctx
    - namepoolp
    - rdspoolp
    argTypes:
    - isc_mem_t*
    - isc_mempool_t**
    - isc_mempool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5085
      start: 5069
    functionDepth: 2
    functionLinenumber: 5069
    functionLinenumberEnd: 5085
    functionName: dns_message_createpools
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - isc_mempool_create
    - isc_mempool_setfillcount
    - REQUIRE
    - isc_mempool_setfreemax
    linkageType: ''
    returnType: void
    signature: "void dns_message_createpools(isc_mem_t *mctx, isc_mempool_t **namepoolp,\n\t\t\tisc_mempool_t
      **rdspoolp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5089,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5090,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/message.c:5092,1
    - Dst: isc_mempool_getallocated
      Src: /src/bind9/lib/dns/message.c:5092,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/message.c:5093,1
    - Dst: isc_mempool_getallocated
      Src: /src/bind9/lib/dns/message.c:5093,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/dns/message.c:5095,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/dns/message.c:5096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - namepoolp
    - rdspoolp
    argTypes:
    - isc_mempool_t**
    - isc_mempool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5087
    functionDepth: 2
    functionLinenumber: 5087
    functionLinenumberEnd: 5097
    functionName: dns_message_destroypools
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - ENSURE
    - REQUIRE
    - isc_mempool_getallocated
    - isc_mempool_destroy
    linkageType: ''
    returnType: void
    signature: void dns_message_destroypools(isc_mempool_t **namepoolp, isc_mempool_t
      **rdspoolp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ipkl
    argTypes:
    - dns_ipkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: dns_ipkeylist_init
    functionSourceFile: /src/bind9/lib/dns/ipkeylist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_ipkeylist_init(dns_ipkeylist_t *ipkl)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ipkeylist.c:37,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/ipkeylist.c:44,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/ipkeylist.c:49,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/ipkeylist.c:56,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/ipkeylist.c:57,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ipkeylist.c:59,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/ipkeylist.c:63,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/ipkeylist.c:70,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/ipkeylist.c:71,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ipkeylist.c:73,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/ipkeylist.c:77,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/ipkeylist.c:84,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/ipkeylist.c:85,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/ipkeylist.c:87,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/ipkeylist.c:91,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/lib/dns/ipkeylist.c:95,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - mctx
    - ipkl
    argTypes:
    - isc_mem_t*
    - dns_ipkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 96
    functionName: dns_ipkeylist_clear
    functionSourceFile: /src/bind9/lib/dns/ipkeylist.c
    functionUses: 1
    functionsReached:
    - dns_ipkeylist_init
    - dns_name_dynamic
    - dns_name_free
    - REQUIRE
    - isc_mem_put
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void dns_ipkeylist_clear(isc_mem_t *mctx, dns_ipkeylist_t *ipkl)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ipkeylist.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ipkeylist.c:105,1
    - Dst: dns_ipkeylist_resize
      Src: /src/bind9/lib/dns/ipkeylist.c:111,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ipkeylist.c:113,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ipkeylist.c:116,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ipkeylist.c:123,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ipkeylist.c:125,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/ipkeylist.c:126,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ipkeylist.c:136,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ipkeylist.c:138,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/ipkeylist.c:139,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/ipkeylist.c:150,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ipkeylist.c:151,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/ipkeylist.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - mctx
    - src
    - dst
    argTypes:
    - isc_mem_t*
    - dns_ipkeylist_t*
    - dns_ipkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 161
    functionName: dns_ipkeylist_copy
    functionSourceFile: /src/bind9/lib/dns/ipkeylist.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_mem_get
    - REQUIRE
    - dns_ipkeylist_resize
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ipkeylist_copy(isc_mem_t *mctx, const dns_ipkeylist_t
      *src,\n\t\t   dns_ipkeylist_t *dst)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ipkeylist.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ipkeylist.c:166,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/ipkeylist.c:172,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/ipkeylist.c:174,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/ipkeylist.c:176,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/ipkeylist.c:178,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/ipkeylist.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - mctx
    - ipkl
    - n
    argTypes:
    - isc_mem_t*
    - dns_ipkeylist_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 184
    functionName: dns_ipkeylist_resize
    functionSourceFile: /src/bind9/lib/dns/ipkeylist.c
    functionUses: 1
    functionsReached:
    - isc_mem_creget
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_ipkeylist_resize(isc_mem_t *mctx, dns_ipkeylist_t *ipkl, unsigned
      int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: DST_RET
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DST_RET(a)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:63,1
    - Dst: OSSL_STORE_open
      Src: /src/bind9/lib/dns/openssl_link.c:65,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssl_link.c:67,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssl_link.c:67,1
    - Dst: OSSL_STORE_eof
      Src: /src/bind9/lib/dns/openssl_link.c:70,1
    - Dst: OSSL_STORE_load
      Src: /src/bind9/lib/dns/openssl_link.c:71,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/bind9/lib/dns/openssl_link.c:75,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:78,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssl_link.c:79,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/bind9/lib/dns/openssl_link.c:81,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/bind9/lib/dns/openssl_link.c:82,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:83,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssl_link.c:84,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:89,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssl_link.c:90,1
    - Dst: OSSL_STORE_INFO_get1_PUBKEY
      Src: /src/bind9/lib/dns/openssl_link.c:92,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/bind9/lib/dns/openssl_link.c:93,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:94,1
    - Dst: DST_RET
      Src: /src/bind9/lib/dns/openssl_link.c:95,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:99,1
    - Dst: OSSL_STORE_close
      Src: /src/bind9/lib/dns/openssl_link.c:105,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:108,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:109,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:110,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:111,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:112,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 5
    argNames:
    - key_base_id
    - label
    - pin
    - ppub
    - ppriv
    argTypes:
    - int
    - char*
    - char*
    - EVP_PKEY**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 115
    functionName: dst__openssl_fromlabel_provider
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_INFO_free
    - OSSL_STORE_open
    - dst__openssl_toresult
    - OSSL_STORE_close
    - DST_RET
    - UNUSED
    - EVP_PKEY_get_base_id
    - OSSL_STORE_INFO_get1_PUBKEY
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_load
    - OSSL_STORE_INFO_get_type
    - OSSL_STORE_eof
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst__openssl_fromlabel_provider(int key_base_id, const
      char *label,\n\t\t\t\tconst char *pin, EVP_PKEY **ppub,\n\t\t\t\tEVP_PKEY **ppriv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dst__openssl_fromlabel_provider
      Src: /src/bind9/lib/dns/openssl_link.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - key_base_id
    - label
    - pin
    - ppub
    - ppriv
    argTypes:
    - int
    - char*
    - char*
    - EVP_PKEY**
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: dst__openssl_fromlabel
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 3
    functionsReached:
    - dst__openssl_fromlabel_provider
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst__openssl_fromlabel(int key_base_id, const char *label,
      const char *pin,\n\t\t       EVP_PKEY **ppub, EVP_PKEY **ppriv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/openssl_link.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: dst__openssl_keypair_compare
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_eq
    linkageType: ''
    returnType: bool
    signature: bool dst__openssl_keypair_compare(const dst_key_t *key1, const dst_key_t
      *key2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: dst__openssl_keypair_isprivate
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dst__openssl_keypair_isprivate(const dst_key_t *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssl_link.c:156,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssl_link.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: dst__openssl_keypair_destroy
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_free
    linkageType: ''
    returnType: void
    signature: void dst__openssl_keypair_destroy(dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 691
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: EXISTS
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXISTS(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: NXDOMAIN
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NXDOMAIN(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: STALE
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALE(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: STALE_WINDOW
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALE_WINDOW(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: OPTOUT
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTOUT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: NEGATIVE
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: PREFETCH
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFETCH(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: ZEROTTL
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEROTTL(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: ANCIENT
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANCIENT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: STATCOUNT
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATCOUNT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - header
    - ','
    - qpdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: STALE_TTL
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALE_TTL(header, qpdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - header
    - ','
    - now
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: ACTIVE
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACTIVE(header, now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: EXPIREDOK
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPIREDOK(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: STALEOK
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STALEOK(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qpdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: KEEPSTALE
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEEPSTALE(qpdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qpdb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: VALID_QPDB
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_QPDB(qpdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: HEADERNODE
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEADERNODE(h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: qpcache_ref
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcache_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: qpcache_unref
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcache_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: qpcache_attach
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcache_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: qpcache_detach
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcache_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: qpcnode_ref
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcnode_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: qpcnode_unref
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcnode_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: qpcnode_attach
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcnode_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: qpcnode_detach
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: qpcnode_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpcnode_ref
      Src: /src/bind9/lib/dns/qpcache.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpcnode_detach
      Src: /src/bind9/lib/dns/qpcache.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/qpcache.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/qpcache.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx ISC_ATTR_UNUSED, char *buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:476,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/qpcache.c:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: rdataset_size
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_size
    - EXISTS
    linkageType: ''
    returnType: size_t
    signature: size_t rdataset_size(dns_slabheader_t *header)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SIEVE_NEXT
      Src: /src/bind9/lib/dns/qpcache.c:491,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/qpcache.c:496,1
    - Dst: rdataset_size
      Src: /src/bind9/lib/dns/qpcache.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - qpdb
    - idx
    - requested
    - nlocktypep
    - tlocktypep DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - uint32_t
    - size_t
    - isc_rwlocktype_t*
    - isc_rwlocktype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 503
    functionName: expire_lru_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - ISC_SIEVE_UNLINK
    - ISC_SIEVE_NEXT
    - rdataset_size
    linkageType: ''
    returnType: void
    signature: "void expire_lru_headers(qpcache_t *qpdb, uint32_t idx, size_t requested,\n\t\t
      \  isc_rwlocktype_t *nlocktypep,\n\t\t   isc_rwlocktype_t *tlocktypep DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:509,1
    - Dst: isc_heap_insert
      Src: /src/bind9/lib/dns/qpcache.c:511,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/qpcache.c:514,1
    - Dst: dns_name_size
      Src: /src/bind9/lib/dns/qpcache.c:526,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:526,1
    - Dst: rdataset_size
      Src: /src/bind9/lib/dns/qpcache.c:527,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/qpcache.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - qpdb
    - newheader
    - nlocktypep
    - tlocktypep DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - dns_slabheader_t*
    - isc_rwlocktype_t*
    - isc_rwlocktype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 534
    functionName: qpcache_miss
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_heap_insert
    - rdataset_size
    - dns_name_size
    - isc_mem_isovermem
    - ISC_SIEVE_INSERT
    - HEADERNODE
    linkageType: ''
    returnType: void
    signature: "void qpcache_miss(qpcache_t *qpdb, dns_slabheader_t *newheader,\n\t
      \    isc_rwlocktype_t *nlocktypep,\n\t     isc_rwlocktype_t *tlocktypep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - top
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: clean_stale_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_slabheader_destroy
    linkageType: ''
    returnType: void
    signature: void clean_stale_headers(dns_slabheader_t *top)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clean_stale_headers
      Src: /src/bind9/lib/dns/qpcache.c:569,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:574,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:574,1
    - Dst: STALE
      Src: /src/bind9/lib/dns/qpcache.c:575,1
    - Dst: KEEPSTALE
      Src: /src/bind9/lib/dns/qpcache.c:575,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - qpdb
    - node
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 588
    functionName: clean_cache_node
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - EXISTS
    - dns_slabheader_destroy
    - ANCIENT
    - STALE
    - KEEPSTALE
    - clean_stale_headers
    linkageType: ''
    returnType: void
    signature: void clean_cache_node(qpcache_t *qpdb, qpcnode_t *node)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/qpcache.c:597,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpcache.c:597,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/qpcache.c:599,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:600,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpcache.c:601,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/qpcache.c:613,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:617,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/qpcache.c:622,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/qpcache.c:625,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/qpcache.c:629,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:634,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/qpcache.c:638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - qpdb
    - node
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 593
    functionDepth: 12
    functionLinenumber: 593
    functionLinenumberEnd: 640
    functionName: delete_node
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 3
    functionsReached:
    - ISC_LOG_DEBUG
    - isc_result_totext
    - isc_log_write
    - dns_qp_deletename
    - dns_name_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void delete_node(qpcache_t *qpdb, qpcnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/qpcache.c:659,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpcache.c:662,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:678,1
    - Dst: qpcache_ref
      Src: /src/bind9/lib/dns/qpcache.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - qpdb
    - node
    - nlocktype
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 682
    functionName: qpcnode_erefs_increment
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_refcount_increment0
    - qpcache_ref
    - fprintf
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void qpcnode_erefs_increment(qpcache_t *qpdb, qpcnode_t *node,\n\t\t\tisc_rwlocktype_t
      nlocktype,\n\t\t\tisc_rwlocktype_t tlocktype DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpcnode_ref
      Src: /src/bind9/lib/dns/qpcache.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - qpdb
    - node
    - nlocktype
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 690
    functionName: qpcnode_acquire
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_ref
    linkageType: ''
    returnType: void
    signature: "void qpcnode_acquire(qpcache_t *qpdb, qpcnode_t *node, isc_rwlocktype_t
      nlocktype,\n\t\tisc_rwlocktype_t tlocktype DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qpcache.c:699,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpcache.c:702,1
    - Dst: qpcache_unref
      Src: /src/bind9/lib/dns/qpcache.c:709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qpdb
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 711
    functionName: qpcnode_erefs_decrement
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_refcount_decrement
    - qpcache_unref
    linkageType: ''
    returnType: bool
    signature: bool qpcnode_erefs_decrement(qpcache_t *qpdb, qpcnode_t *node DNS__DB_FLARG)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:729,1
    - Dst: qpcnode_erefs_decrement
      Src: /src/bind9/lib/dns/qpcache.c:731,1
    - Dst: qpcnode_erefs_increment
      Src: /src/bind9/lib/dns/qpcache.c:755,1
    - Dst: NODE_FORCEUPGRADE
      Src: /src/bind9/lib/dns/qpcache.c:757,1
    - Dst: qpcnode_erefs_decrement
      Src: /src/bind9/lib/dns/qpcache.c:758,1
    - Dst: clean_cache_node
      Src: /src/bind9/lib/dns/qpcache.c:764,1
    - Dst: delete_node
      Src: /src/bind9/lib/dns/qpcache.c:775,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:782,1
    - Dst: isc_queue_node_init
      Src: /src/bind9/lib/dns/qpcache.c:785,1
    - Dst: isc_queue_enqueue_entry
      Src: /src/bind9/lib/dns/qpcache.c:786,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/qpcache.c:791,1
    - Dst: qpcache_ref
      Src: /src/bind9/lib/dns/qpcache.c:794,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/qpcache.c:795,1
    - Dst: qpcnode_unref
      Src: /src/bind9/lib/dns/qpcache.c:800,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - qpdb
    - node
    - nlocktypep
    - tlocktypep DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - isc_rwlocktype_t*
    - isc_rwlocktype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 726
    functionDepth: 13
    functionLinenumber: 726
    functionLinenumberEnd: 801
    functionName: qpcnode_release
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_acquire
    - isc_queue_enqueue_entry
    - clean_cache_node
    - qpcnode_erefs_increment
    - isc_async_run
    - qpcache_ref
    - NODE_FORCEUPGRADE
    - isc_queue_node_init
    - qpcnode_erefs_decrement
    - isc_loop_get
    - REQUIRE
    - delete_node
    - qpcnode_unref
    linkageType: ''
    returnType: void
    signature: "void qpcnode_release(qpcache_t *qpdb, qpcnode_t *node, isc_rwlocktype_t
      *nlocktypep,\n\t\tisc_rwlocktype_t *tlocktypep DNS__DB_FLARG)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:814,1
    - Dst: STATCOUNT
      Src: /src/bind9/lib/dns/qpcache.c:814,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:818,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:819,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:823,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:826,1
    - Dst: STALE
      Src: /src/bind9/lib/dns/qpcache.c:829,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:832,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:836,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/lib/dns/qpcache.c:838,1
    - Dst: dns_rdatasetstats_decrement
      Src: /src/bind9/lib/dns/qpcache.c:840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - stats
    - htype
    - hattributes
    - increment
    argTypes:
    - dns_stats_t*
    - dns_typepair_t
    - uint_least16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 842
    functionName: update_rrsetstats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - EXISTS
    - DNS_RDATASTATSTYPE_VALUE
    - NEGATIVE
    - dns_rdatasetstats_increment
    - STATCOUNT
    - ANCIENT
    - STALE
    - dns_rdatasetstats_decrement
    - DNS_TYPEPAIR_COVERS
    - NXDOMAIN
    linkageType: ''
    returnType: void
    signature: "void update_rrsetstats(dns_stats_t *stats, const dns_typepair_t htype,\n\t\t
      \ const uint_least16_t hattributes, const bool increment)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/qpcache.c:846,1
    - Dst: atomic_compare_exchange_weak_acq_rel
      Src: /src/bind9/lib/dns/qpcache.c:858,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:865,1
    - Dst: update_rrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:867,1
    - Dst: update_rrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - header
    - flag
    argTypes:
    - dns_slabheader_t*
    - uint_least16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 844
    functionDepth: 5
    functionLinenumber: 844
    functionLinenumberEnd: 870
    functionName: mark
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 3
    functionsReached:
    - atomic_load_acquire
    - atomic_compare_exchange_weak_acq_rel
    - update_rrsetstats
    - dns_db_getrrsetstats
    linkageType: ''
    returnType: void
    signature: void mark(dns_slabheader_t *header, uint_least16_t flag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_heap_increased
      Src: /src/bind9/lib/dns/qpcache.c:883,1
    - Dst: isc_heap_decreased
      Src: /src/bind9/lib/dns/qpcache.c:885,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/qpcache.c:889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - header
    - newts
    argTypes:
    - dns_slabheader_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 872
    functionDepth: 4
    functionLinenumber: 872
    functionLinenumberEnd: 891
    functionName: setttl
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 9
    functionsReached:
    - isc_heap_decreased
    - isc_heap_delete
    - isc_heap_increased
    linkageType: ''
    returnType: void
    signature: void setttl(dns_slabheader_t *header, isc_stdtime_t newts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:895,1
    - Dst: mark
      Src: /src/bind9/lib/dns/qpcache.c:896,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 893
    functionDepth: 6
    functionLinenumber: 893
    functionLinenumberEnd: 898
    functionName: mark_ancient
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - mark
    - HEADERNODE
    - setttl
    linkageType: ''
    returnType: void
    signature: void mark_ancient(dns_slabheader_t *header)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:906,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/qpcache.c:908,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:908,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:916,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:916,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:927,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:931,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - header
    - nlocktypep
    - tlocktypep
    - DNS__DB_FLARG
    argTypes:
    - dns_slabheader_t*
    - isc_rwlocktype_t*
    - isc_rwlocktype_t*
    - dns_expire_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 903
    functionDepth: 7
    functionLinenumber: 903
    functionLinenumberEnd: 938
    functionName: expireheader
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_acquire
    - isc_refcount_current
    - isc_stats_increment
    - mark_ancient
    - HEADERNODE
    linkageType: ''
    returnType: void
    signature: "void expireheader(dns_slabheader_t *header, isc_rwlocktype_t *nlocktypep,\n\t
      \    isc_rwlocktype_t *tlocktypep, dns_expire_t reason DNS__DB_FLARG)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:948,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:957,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - qpdb
    - result
    argTypes:
    - qpcache_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 964
    functionName: update_cachestats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: void update_cachestats(qpcache_t *qpdb, isc_result_t result)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: STALE
      Src: /src/bind9/lib/dns/qpcache.c:971,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:972,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:988,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:993,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:994,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:1002,1
    - Dst: KEEPSTALE
      Src: /src/bind9/lib/dns/qpcache.c:1002,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1015,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:1016,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:1017,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1021,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:1024,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/qpcache.c:1027,1
    - Dst: PREFETCH
      Src: /src/bind9/lib/dns/qpcache.c:1030,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:1035,1
    - Dst: STALE_WINDOW
      Src: /src/bind9/lib/dns/qpcache.c:1041,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:1046,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qpcache.c:1051,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpcache.c:1055,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 7
    argNames:
    - qpdb
    - node
    - header
    - now
    - nlocktype
    - tlocktype
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - dns_slabheader_t*
    - isc_stdtime_t
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 1070
    functionName: bindrdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 3
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - OPTOUT
    - dns_slabheader_raw
    - NEGATIVE
    - ZEROTTL
    - INSIST
    - atomic_fetch_add_relaxed
    - STALE_TTL
    - PREFETCH
    - ANCIENT
    - STALE_WINDOW
    - STALE
    - KEEPSTALE
    - DNS_TYPEPAIR_COVERS
    - NXDOMAIN
    - ACTIVE
    linkageType: ''
    returnType: void
    signature: "void bindrdataset(qpcache_t *qpdb, qpcnode_t *node, dns_slabheader_t
      *header,\n\t     isc_stdtime_t now, isc_rwlocktype_t nlocktype,\n\t     isc_rwlocktype_t
      tlocktype,\n\t     dns_rdataset_t *rdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:1080,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1081,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:1084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 9
    argNames:
    - qpdb
    - qpnode
    - found
    - foundsig
    - now
    - nlocktype
    - tlocktype
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - dns_slabheader_t*
    - dns_slabheader_t*
    - isc_stdtime_t
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1086
    functionName: bindrdatasets
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - NEGATIVE
    - qpcache_hit
    linkageType: ''
    returnType: void
    signature: "void bindrdatasets(qpcache_t *qpdb, qpcnode_t *qpnode, dns_slabheader_t
      *found,\n\t      dns_slabheader_t *foundsig, isc_stdtime_t now,\n\t      isc_rwlocktype_t
      nlocktype, isc_rwlocktype_t tlocktype,\n\t      dns_rdataset_t *rdataset,\n\t
      \     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1095,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1096,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1097,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1119,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1120,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - search
    - nodep
    - rdataset
    - sigrdataset
    - DNS__DB_FLARG
    argTypes:
    - qpc_search_t*
    - dns_dbnode_t**
    - dns_rdataset_t*
    - dns_rdataset_t*
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1131
    functionName: setup_delegation
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - NODE_UNLOCK
    - NODE_RDLOCK
    - bindrdatasets
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setup_delegation(qpc_search_t *search, dns_dbnode_t **nodep,\n\t\t
      dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t\t isc_rwlocktype_t
      tlocktype DNS__DB_FLARG)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:1136,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:1141,1
    - Dst: DNS_SLABHEADER_CLRATTR
      Src: /src/bind9/lib/dns/qpcache.c:1149,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:1150,1
    - Dst: KEEPSTALE
      Src: /src/bind9/lib/dns/qpcache.c:1150,1
    - Dst: mark
      Src: /src/bind9/lib/dns/qpcache.c:1152,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/qpcache.c:1161,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1165,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:1175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - header
    - search
    - header_prev
    argTypes:
    - dns_slabheader_t*
    - qpc_search_t*
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1133
    functionDepth: 6
    functionLinenumber: 1133
    functionLinenumberEnd: 1190
    functionName: check_stale_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - atomic_store_release
    - DNS_SLABHEADER_CLRATTR
    - ZEROTTL
    - atomic_load_acquire
    - STALE_TTL
    - DNS_SLABHEADER_SETATTR
    - KEEPSTALE
    - mark
    - ACTIVE
    linkageType: ''
    returnType: bool
    signature: "bool check_stale_header(dns_slabheader_t *header, qpc_search_t *search,\n\t\t
      \  dns_slabheader_t **header_prev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:1202,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:1202,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpcache.c:1208,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpcache.c:1214,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpcache.c:1223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - header
    - type
    - sigtype
    - negtype
    - foundp
    - foundsigp
    - matchp
    argTypes:
    - dns_slabheader_t*
    - dns_typepair_t
    - dns_typepair_t
    - dns_typepair_t
    - dns_slabheader_t**
    - dns_slabheader_t**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1228
    functionName: related_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - EXISTS
    - ANCIENT
    linkageType: ''
    returnType: bool
    signature: "bool related_headers(dns_slabheader_t *header, dns_typepair_t type,\n\t\tdns_typepair_t
      sigtype, dns_typepair_t negtype,\n\t\tdns_slabheader_t **foundp, dns_slabheader_t
      **foundsigp,\n\t\tbool *matchp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:1236,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1237,1
    - Dst: related_headers
      Src: /src/bind9/lib/dns/qpcache.c:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - header
    - type
    - foundp
    - foundsigp
    argTypes:
    - dns_slabheader_t*
    - dns_rdatatype_t
    - dns_slabheader_t**
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1241
    functionName: both_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_SIGTYPE
    - DNS_TYPEPAIR_VALUE
    - related_headers
    linkageType: ''
    returnType: bool
    signature: "bool both_headers(dns_slabheader_t *header, dns_rdatatype_t type,\n\t
      \    dns_slabheader_t **foundp, dns_slabheader_t **foundsigp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1253,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1256,1
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:1263,1
    - Dst: both_headers
      Src: /src/bind9/lib/dns/qpcache.c:1267,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/qpcache.c:1275,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1282,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - node
    - DNS__DB_FLARG
    argTypes:
    - qpcnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1243
    functionDepth: 7
    functionLinenumber: 1243
    functionLinenumberEnd: 1296
    functionName: check_zonecut
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - qpcnode_acquire
    - NODE_UNLOCK
    - both_headers
    - check_stale_header
    - DNS_TRUST_PENDING
    - NODE_RDLOCK
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_zonecut(qpcnode_t *node, void *arg DNS__DB_FLARG)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpcache.c:1312,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpcache.c:1319,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1322,1
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:1330,1
    - Dst: both_headers
      Src: /src/bind9/lib/dns/qpcache.c:1334,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1347,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1351,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1356,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1362,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - search
    - node
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - qpc_search_t*
    - qpcnode_t*
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1298
    functionDepth: 7
    functionLinenumber: 1298
    functionLinenumberEnd: 1370
    functionName: find_deepest_zonecut
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_acquire
    - NODE_UNLOCK
    - both_headers
    - check_stale_header
    - bindrdatasets
    - NODE_RDLOCK
    - dns_qpchain_length
    - dns_qpchain_node
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_deepest_zonecut(qpc_search_t *search, qpcnode_t
      *node,\n\t\t     dns_dbnode_t **nodep, dns_name_t *foundname,\n\t\t     dns_rdataset_t
      *rdataset,\n\t\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:1398,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:1404,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:1405,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpcache.c:1410,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:1419,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1424,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1427,1
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:1430,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1434,1
    - Dst: both_headers
      Src: /src/bind9/lib/dns/qpcache.c:1438,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1445,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1449,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1452,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1458,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 6
    argNames:
    - search
    - name
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - qpc_search_t*
    - dns_name_t*
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1379
    functionDepth: 9
    functionLinenumber: 1379
    functionLinenumberEnd: 1460
    functionName: find_coveringnsec
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - qpcnode_acquire
    - both_headers
    - NODE_UNLOCK
    - check_stale_header
    - dns_fixedname_initname
    - bindrdatasets
    - NODE_RDLOCK
    - dns_qp_lookup
    - dns_qpiter_current
    - dns_name_copy
    - dns_qp_getname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_coveringnsec(qpc_search_t *search, const dns_name_t
      *name,\n\t\t  dns_dbnode_t **nodep, dns_name_t *foundname,\n\t\t  dns_rdataset_t
      *rdataset,\n\t\t  dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - found
    - ','
    - options
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1470
    functionName: MISSING_ANSWER
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MISSING_ANSWER(found, options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - search
    - db
    - options
    - now
    argTypes:
    - qpc_search_t*
    - qpcache_t*
    - unsigned int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1492
    functionName: qpc_search_init
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    linkageType: ''
    returnType: void
    signature: "void qpc_search_init(qpc_search_t *search, qpcache_t *db, unsigned
      int options,\n\t\tisc_stdtime_t now)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: qpc_search_init
      Src: /src/bind9/lib/dns/qpcache.c:1517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1519,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1519,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1520,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1522,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:1527,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1530,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpcache.c:1540,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpcache.c:1549,1
    - Dst: check_zonecut
      Src: /src/bind9/lib/dns/qpcache.c:1552,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1559,1
    - Dst: find_coveringnsec
      Src: /src/bind9/lib/dns/qpcache.c:1574,1
    - Dst: setup_delegation
      Src: /src/bind9/lib/dns/qpcache.c:1582,1
    - Dst: find_deepest_zonecut
      Src: /src/bind9/lib/dns/qpcache.c:1588,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1613,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1621,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:1622,1
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:1632,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:1636,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:1636,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1652,1
    - Dst: related_headers
      Src: /src/bind9/lib/dns/qpcache.c:1657,1
    - Dst: MISSING_ANSWER
      Src: /src/bind9/lib/dns/qpcache.c:1659,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1688,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1692,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1703,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1711,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1717,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1732,1
    - Dst: find_coveringnsec
      Src: /src/bind9/lib/dns/qpcache.c:1734,1
    - Dst: MISSING_ANSWER
      Src: /src/bind9/lib/dns/qpcache.c:1747,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1755,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1759,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1772,1
    - Dst: find_coveringnsec
      Src: /src/bind9/lib/dns/qpcache.c:1773,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1788,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1792,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1802,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1811,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1816,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:1820,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1844,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1850,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1853,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1861,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1864,1
    - Dst: qpcnode_release
      Src: /src/bind9/lib/dns/qpcache.c:1865,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1867,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1868,1
    - Dst: update_cachestats
      Src: /src/bind9/lib/dns/qpcache.c:1871,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 207
    argCount: 10
    argNames:
    - db
    - name
    - version
    - type
    - options
    - __now
    - nodep
    - foundname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1494
    functionDepth: 14
    functionLinenumber: 1494
    functionLinenumberEnd: 1873
    functionName: qpcache_find
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - EXISTS
    - qpc_search_init
    - find_deepest_zonecut
    - dns_qp_lookup
    - REQUIRE
    - qpcnode_acquire
    - DNS_TYPEPAIR_VALUE
    - NEGATIVE
    - bindrdatasets
    - ANCIENT
    - DNS_SIGTYPE
    - dns_name_copy
    - VALID_QPDB
    - find_coveringnsec
    - NODE_UNLOCK
    - TREE_RDLOCK
    - qpcnode_release
    - TREE_UNLOCK
    - related_headers
    - INSIST
    - update_cachestats
    - dns_qpchain_length
    - check_zonecut
    - NXDOMAIN
    - DNS_TYPEPAIR_TYPE
    - check_stale_header
    - NODE_RDLOCK
    - MISSING_ANSWER
    - dns_qpchain_node
    - setup_delegation
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_find(dns_db_t *db, const dns_name_t *name, dns_dbversion_t
      *version,\n\t     dns_rdatatype_t type, unsigned int options, isc_stdtime_t
      __now,\n\t     dns_dbnode_t **nodep, dns_name_t *foundname,\n\t     dns_rdataset_t
      *rdataset,\n\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1886,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:1891,1
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:1892,1
    - Dst: both_headers
      Src: /src/bind9/lib/dns/qpcache.c:1907,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1919,1
    - Dst: find_deepest_zonecut
      Src: /src/bind9/lib/dns/qpcache.c:1920,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1924,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1930,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1935,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 8
    argNames:
    - search
    - node
    - nodep
    - rdataset
    - sigrdataset
    - foundname
    - dcname
    - tlocktype
    argTypes:
    - qpc_search_t*
    - qpcnode_t*
    - dns_dbnode_t**
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_name_t*
    - dns_name_t*
    - isc_rwlocktype_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1875
    functionDepth: 8
    functionLinenumber: 1875
    functionLinenumberEnd: 1942
    functionName: seek_ns_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcnode_acquire
    - NODE_UNLOCK
    - both_headers
    - check_stale_header
    - bindrdatasets
    - NODE_RDLOCK
    - find_deepest_zonecut
    - DNS_SIGTYPE
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t seek_ns_headers(qpc_search_t *search, qpcnode_t *node,
      dns_dbnode_t **nodep,\n\t\tdns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t\tdns_name_t
      *foundname, dns_name_t *dcname,\n\t\tisc_rwlocktype_t *tlocktype)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:1956,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1960,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1960,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1962,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:1967,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1974,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1976,1
    - Dst: seek_ns_headers
      Src: /src/bind9/lib/dns/qpcache.c:1977,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpcache.c:1983,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1992,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1997,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpcache.c:2000,1
    - Dst: find_deepest_zonecut
      Src: /src/bind9/lib/dns/qpcache.c:2005,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2015,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 9
    argNames:
    - db
    - name
    - options
    - __now
    - nodep
    - foundname
    - dcname
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - unsigned int
    - isc_stdtime_t
    - dns_dbnode_t**
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1944
    functionDepth: 9
    functionLinenumber: 1944
    functionLinenumberEnd: 2022
    functionName: qpcache_findzonecut
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - TREE_RDLOCK
    - TREE_UNLOCK
    - INSIST
    - find_deepest_zonecut
    - dns_qp_lookup
    - REQUIRE
    - isc_stdtime_now
    - seek_ns_headers
    - dns_qpchain_length
    - dns_name_copy
    - dns_qpchain_node
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_findzonecut(dns_db_t *db, const dns_name_t *name,
      unsigned int options,\n\t\t    isc_stdtime_t __now, dns_dbnode_t **nodep,\n\t\t
      \   dns_name_t *foundname, dns_name_t *dcname,\n\t\t    dns_rdataset_t *rdataset,\n\t\t
      \   dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:2040,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2043,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2043,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2044,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2045,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2050,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:2052,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:2053,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:2054,1
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:2059,1
    - Dst: related_headers
      Src: /src/bind9/lib/dns/qpcache.c:2063,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:2070,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2075,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2081,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:2085,1
    - Dst: update_cachestats
      Src: /src/bind9/lib/dns/qpcache.c:2092,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 8
    argNames:
    - db
    - node
    - version
    - type
    - covers
    - __now
    - rdataset
    - sigrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2024
    functionDepth: 7
    functionLinenumber: 2024
    functionLinenumberEnd: 2095
    functionName: qpcache_findrdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_VALUE
    - NODE_UNLOCK
    - check_stale_header
    - NEGATIVE
    - bindrdatasets
    - NODE_RDLOCK
    - related_headers
    - update_cachestats
    - REQUIRE
    - isc_stdtime_now
    - DNS_SIGTYPE
    - NXDOMAIN
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_findrdataset(dns_db_t *db, dns_dbnode_t *node,
      dns_dbversion_t *version,\n\t\t     dns_rdatatype_t type, dns_rdatatype_t covers,\n\t\t
      \    isc_stdtime_t __now, dns_rdataset_t *rdataset,\n\t\t     dns_rdataset_t
      *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2101,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2102,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/qpcache.c:2104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2097
    functionDepth: 2
    functionLinenumber: 2097
    functionLinenumberEnd: 2106
    functionName: setcachestats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_stats_attach
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setcachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2112,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2115
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2115
    functionName: getrrsetstats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: dns_stats_t
    signature: 'dns_stats_t *

      getrrsetstats(dns_db_t *db)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2121,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2117
    functionDepth: 1
    functionLinenumber: 2117
    functionLinenumberEnd: 2126
    functionName: setservestalettl
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setservestalettl(dns_db_t *db, dns_ttl_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2132,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2128
    functionDepth: 1
    functionLinenumber: 2128
    functionLinenumberEnd: 2136
    functionName: getservestalettl
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getservestalettl(dns_db_t *db, dns_ttl_t *ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2142,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2147
    functionName: setservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setservestalerefresh(dns_db_t *db, uint32_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2153,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2149
    functionDepth: 1
    functionLinenumber: 2149
    functionLinenumberEnd: 2157
    functionName: getservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getservestalerefresh(dns_db_t *db, uint32_t *interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2168,1
    - Dst: expireheader
      Src: /src/bind9/lib/dns/qpcache.c:2169,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2171,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - db
    - node
    - data
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2159
    functionDepth: 8
    functionLinenumber: 2159
    functionLinenumberEnd: 2173
    functionName: expiredata
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - NODE_WRLOCK
    - INSIST
    - expireheader
    linkageType: ''
    returnType: void
    signature: void expiredata(dns_db_t *db, dns_dbnode_t *node, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2185
    functionName: ttl_sooner
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ttl_sooner(void *v1, void *v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - what
    - idx
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2195
    functionName: set_index
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_index(void *what, unsigned int idx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2215,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2216,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpcache.c:2219,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/qpcache.c:2220,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/qpcache.c:2222,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:2224,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpcache.c:2225,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpcache.c:2228,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpcache.c:2229,1
    - Dst: NODE_DESTROYLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2232,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2234,1
    - Dst: ISC_SIEVE_EMPTY
      Src: /src/bind9/lib/dns/qpcache.c:2234,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2236,1
    - Dst: isc_queue_empty
      Src: /src/bind9/lib/dns/qpcache.c:2236,1
    - Dst: isc_queue_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2237,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2239,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/dns/qpcache.c:2243,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/qpcache.c:2246,1
    - Dst: TREE_DESTROYLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2249,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2250,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2251,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2253,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/qpcache.c:2256,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpcache.c:2258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - qpdb
    argTypes:
    - qpcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2197
    functionDepth: 6
    functionLinenumber: 2197
    functionLinenumberEnd: 2261
    functionName: qpcache__destroy
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_stats_detach
    - dns_name_dynamic
    - strlcpy
    - dns_name_free
    - isc_mem_putanddetach
    - isc_log_write
    - isc_heap_destroy
    - dns_qp_destroy
    - dns_name_format
    - isc_rwlock_destroy
    - ISC_LOG_DEBUG
    - INSIST
    - isc_queue_destroy
    - isc_queue_empty
    - isc_mem_detach
    - TREE_DESTROYLOCK
    - dns_stats_detach
    - NODE_DESTROYLOCK
    - ISC_SIEVE_EMPTY
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void qpcache__destroy(qpcache_t *qpdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpcache_detach
      Src: /src/bind9/lib/dns/qpcache.c:2267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2263
    functionDepth: 1
    functionLinenumber: 2263
    functionLinenumberEnd: 2268
    functionName: qpcache_destroy
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - qpcache_detach
    linkageType: ''
    returnType: void
    signature: void qpcache_destroy(dns_db_t *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2284,1
    - Dst: isc_queue_init
      Src: /src/bind9/lib/dns/qpcache.c:2286,1
    - Dst: TREE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2288,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2289,1
    - Dst: isc_queue_splice
      Src: /src/bind9/lib/dns/qpcache.c:2291,1
    - Dst: isc_queue_for_each_entry_safe
      Src: /src/bind9/lib/dns/qpcache.c:2292,1
    - Dst: qpcnode_release
      Src: /src/bind9/lib/dns/qpcache.c:2293,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2297,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - qpdb
    - locknum
    argTypes:
    - qpcache_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2276
    functionDepth: 14
    functionLinenumber: 2276
    functionLinenumberEnd: 2299
    functionName: cleanup_deadnodes
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - NODE_UNLOCK
    - NODE_WRLOCK
    - isc_queue_for_each_entry_safe
    - qpcnode_release
    - TREE_UNLOCK
    - INSIST
    - isc_queue_splice
    - TREE_WRLOCK
    - isc_queue_init
    linkageType: ''
    returnType: void
    signature: void cleanup_deadnodes(qpcache_t *qpdb, uint16_t locknum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/qpcache.c:2304,1
    - Dst: cleanup_deadnodes
      Src: /src/bind9/lib/dns/qpcache.c:2306,1
    - Dst: qpcache_unref
      Src: /src/bind9/lib/dns/qpcache.c:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2308
      start: 2301
    functionDepth: 15
    functionLinenumber: 2301
    functionLinenumberEnd: 2308
    functionName: cleanup_deadnodes_cb
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - cleanup_deadnodes
    - isc_tid
    - qpcache_unref
    linkageType: ''
    returnType: void
    signature: void cleanup_deadnodes_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2324,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - qpdb
    - node
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2327
    functionName: reactivate_node
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - NODE_RDLOCK
    linkageType: ''
    returnType: void
    signature: "void reactivate_node(qpcache_t *qpdb, qpcnode_t *node,\n\t\tisc_rwlocktype_t
      tlocktype ISC_ATTR_UNUSED DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2331,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpcache.c:2335,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/qpcache.c:2336,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpcache.c:2339,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:2340,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpcache.c:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - qpdb
    - name
    - nspace
    argTypes:
    - qpcache_t*
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2329
    functionDepth: 4
    functionLinenumber: 2329
    functionLinenumberEnd: 2347
    functionName: new_qpcnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - fprintf
    - isc_random_uniform
    - ISC_REFCOUNT_INITIALIZER
    - dns_name_dup
    linkageType: ''
    returnType: qpcnode_t
    signature: 'qpcnode_t *

      new_qpcnode(qpcache_t *qpdb, const dns_name_t *name, dns_namespace_t nspace)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2358,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:2359,1
    - Dst: TREE_FORCEUPGRADE
      Src: /src/bind9/lib/dns/qpcache.c:2367,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:2368,1
    - Dst: new_qpcnode
      Src: /src/bind9/lib/dns/qpcache.c:2371,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpcache.c:2372,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2373,1
    - Dst: qpcnode_unref
      Src: /src/bind9/lib/dns/qpcache.c:2374,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2382,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - db
    - name
    - create
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_name_t*
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2349
    functionDepth: 11
    functionLinenumber: 2349
    functionLinenumberEnd: 2385
    functionName: qpcache_findnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - new_qpcnode
    - TREE_RDLOCK
    - TREE_UNLOCK
    - INSIST
    - TREE_FORCEUPGRADE
    - dns_qp_insert
    - qpcnode_unref
    - dns_qp_getname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_findnode(dns_db_t *db, const dns_name_t *name,
      bool create,\n\t\t dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2390,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - db
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2387
    functionDepth: 1
    functionLinenumber: 2387
    functionLinenumberEnd: 2400
    functionName: qpcache_attachnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: void
    signature: "void qpcache_attachnode(dns_db_t *db, dns_dbnode_t *source,\n\t\t
      \  dns_dbnode_t **targetp DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2410,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2411,1
    - Dst: qpcache_ref
      Src: /src/bind9/lib/dns/qpcache.c:2423,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qpcache.c:2425,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2426,1
    - Dst: qpcnode_release
      Src: /src/bind9/lib/dns/qpcache.c:2427,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2428,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qpcache.c:2429,1
    - Dst: qpcache_detach
      Src: /src/bind9/lib/dns/qpcache.c:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2402
    functionDepth: 14
    functionLinenumber: 2402
    functionLinenumberEnd: 2432
    functionName: qpcache_detachnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - NODE_UNLOCK
    - qpcnode_release
    - qpcache_ref
    - NODE_RDLOCK
    - VALID_QPDB
    - rcu_read_unlock
    - qpcache_detach
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void qpcache_detachnode(dns_db_t *db, dns_dbnode_t **nodep DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2440,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2440,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2442,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:2449,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/qpcache.c:2450,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qpcache.c:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - db
    - ISC_ATTR_UNUSED
    - iteratorp
    argTypes:
    - dns_db_t*
    - unsigned int
    - dns_dbiterator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2434
    functionDepth: 4
    functionLinenumber: 2434
    functionLinenumberEnd: 2455
    functionName: qpcache_createiterator
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_initname
    - dns_db_attach
    - dns_qpiter_init
    - isc_mem_get
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_createiterator(dns_db_t *db, unsigned int options
      ISC_ATTR_UNUSED,\n\t\t       dns_dbiterator_t **iteratorp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2465,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2466,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2468,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:2475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - db
    - node
    - version
    - options
    - __now
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - unsigned int
    - isc_stdtime_t
    - dns_rdatasetiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2457
    functionDepth: 1
    functionLinenumber: 2457
    functionLinenumberEnd: 2484
    functionName: qpcache_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_stdtime_now
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_allrdatasets(dns_db_t *db, dns_dbnode_t *node,
      dns_dbversion_t *version,\n\t\t     unsigned int options, isc_stdtime_t __now,\n\t\t
      \    dns_rdatasetiter_t **iteratorp DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qpdb
    - ntypes
    argTypes:
    - qpcache_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2493
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2493
    functionName: overmaxtype
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool overmaxtype(qpcache_t *qpdb, uint32_t ntypes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2497,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpcache.c:2497,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:2497,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpcache.c:2501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2495
    functionDepth: 2
    functionLinenumber: 2495
    functionLinenumberEnd: 2502
    functionName: prio_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_COVERS
    - NEGATIVE
    - prio_type
    linkageType: ''
    returnType: bool
    signature: bool prio_header(dns_slabheader_t *header)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2522,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2523,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:2524,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:2525,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2526,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2544,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:2560,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:2576,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2581,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2582,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2592,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2607,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:2611,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2618,1
    - Dst: prio_header
      Src: /src/bind9/lib/dns/qpcache.c:2622,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2643,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2643,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2644,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2656,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2656,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2658,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2675,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2676,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2676,1
    - Dst: dns_rdataslab_equalx
      Src: /src/bind9/lib/dns/qpcache.c:2678,1
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:2687,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:2690,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2704,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2718,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2719,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2719,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2726,1
    - Dst: DNS_SIGTYPE
      Src: /src/bind9/lib/dns/qpcache.c:2731,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2732,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2732,1
    - Dst: dns_rdataslab_equal
      Src: /src/bind9/lib/dns/qpcache.c:2734,1
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:2741,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:2744,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2758,1
    - Dst: qpcache_miss
      Src: /src/bind9/lib/dns/qpcache.c:2767,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2778,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2780,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2782,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2787,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2791,1
    - Dst: qpcache_miss
      Src: /src/bind9/lib/dns/qpcache.c:2793,1
    - Dst: prio_header
      Src: /src/bind9/lib/dns/qpcache.c:2795,1
    - Dst: overmaxtype
      Src: /src/bind9/lib/dns/qpcache.c:2809,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2813,1
    - Dst: prio_header
      Src: /src/bind9/lib/dns/qpcache.c:2813,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2822,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 160
    argCount: 9
    argNames:
    - qpdb
    - qpnode
    - ISC_ATTR_UNUSED
    - newheader
    - options
    - addedrdataset
    - now
    - nlocktype
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - dns_name_t*
    - dns_slabheader_t*
    - unsigned int
    - dns_rdataset_t*
    - isc_stdtime_t
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2504
    functionDepth: 7
    functionLinenumber: 2504
    functionLinenumberEnd: 2838
    functionName: add
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 435
    functionsReached:
    - DNS_TYPEPAIR_TYPE
    - DNS_TYPEPAIR_VALUE
    - prio_header
    - qpcache_miss
    - EXISTS
    - NEGATIVE
    - dns_slabheader_destroy
    - INSIST
    - dns_rdataslab_equal
    - qpcache_hit
    - mark_ancient
    - dns_rdataslab_equalx
    - DNS_SIGTYPE
    - DNS_TYPEPAIR_COVERS
    - overmaxtype
    - setttl
    - ACTIVE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add(qpcache_t *qpdb, qpcnode_t *qpnode,\n    const dns_name_t
      *nodename ISC_ATTR_UNUSED, dns_slabheader_t *newheader,\n    unsigned int options,
      dns_rdataset_t *addedrdataset, isc_stdtime_t now,\n    isc_rwlocktype_t nlocktype,
      isc_rwlocktype_t tlocktype DNS__DB_FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getnoqname
      Src: /src/bind9/lib/dns/qpcache.c:2849,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2850,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2852,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2857,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2862,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpcache.c:2864,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpcache.c:2865,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:2869,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2873,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - mctx
    - newheader
    - maxrrperset
    - rdataset
    argTypes:
    - isc_mem_t*
    - dns_slabheader_t*
    - uint32_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2840
    functionDepth: 4
    functionLinenumber: 2840
    functionLinenumberEnd: 2877
    functionName: addnoqname
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 2
    functionsReached:
    - dns_rdataslab_fromrdataset
    - dns_slabheader_raw
    - RUNTIME_CHECK
    - isc_mem_get
    - dns_rdataset_disassociate
    - dns_name_dup
    - dns_rdataset_getnoqname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t addnoqname(isc_mem_t *mctx, dns_slabheader_t *newheader,
      uint32_t maxrrperset,\n\t   dns_rdataset_t *rdataset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getclosest
      Src: /src/bind9/lib/dns/qpcache.c:2888,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2889,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2891,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2896,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2901,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpcache.c:2903,1
    - Dst: dns_slabheader_raw
      Src: /src/bind9/lib/dns/qpcache.c:2904,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:2908,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2912,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - mctx
    - newheader
    - maxrrperset
    - rdataset
    argTypes:
    - isc_mem_t*
    - dns_slabheader_t*
    - uint32_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2915
      start: 2879
    functionDepth: 4
    functionLinenumber: 2879
    functionLinenumberEnd: 2915
    functionName: addclosest
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - dns_rdataslab_fromrdataset
    - dns_slabheader_raw
    - RUNTIME_CHECK
    - isc_mem_get
    - dns_rdataset_disassociate
    - dns_rdataset_getclosest
    - dns_name_dup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t addclosest(isc_mem_t *mctx, dns_slabheader_t *newheader,
      uint32_t maxrrperset,\n\t   dns_rdataset_t *rdataset)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:2939,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2941,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2941,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2942,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2944,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpcache.c:2948,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:2955,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:2956,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/qpcache.c:2957,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpcache.c:2960,1
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:2967,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2969,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpcache.c:2972,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qpcache.c:2973,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2975,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2978,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2981,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2984,1
    - Dst: addnoqname
      Src: /src/bind9/lib/dns/qpcache.c:2987,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2990,1
    - Dst: addclosest
      Src: /src/bind9/lib/dns/qpcache.c:2995,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2998,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3018,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3022,1
    - Dst: TREE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3030,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3033,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:3036,1
    - Dst: update_rrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:3037,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/qpcache.c:3038,1
    - Dst: expire_ttl_headers
      Src: /src/bind9/lib/dns/qpcache.c:3042,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:3048,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3051,1
    - Dst: new_qpcnode
      Src: /src/bind9/lib/dns/qpcache.c:3052,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpcache.c:3054,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3055,1
    - Dst: qpcnode_detach
      Src: /src/bind9/lib/dns/qpcache.c:3056,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpcache.c:3061,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3068,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3071,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3074,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 7
    argNames:
    - db
    - node
    - version
    - __now
    - rdataset
    - options
    - addedrdataset DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 2922
    functionDepth: 11
    functionLinenumber: 2922
    functionLinenumberEnd: 3077
    functionName: qpcache_addrdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_fromrdataset
    - NODE_WRLOCK
    - qpcnode_detach
    - dns_slabheader_destroy
    - REQUIRE
    - addnoqname
    - dns__db_logtoomanyrecords
    - dns_fixedname_initname
    - add
    - isc_stdtime_now
    - dns_name_copy
    - update_rrsetstats
    - dns_qp_getname
    - VALID_QPDB
    - NODE_UNLOCK
    - dns_slabheader_reset
    - TREE_UNLOCK
    - addclosest
    - atomic_fetch_add_relaxed
    - INSIST
    - atomic_load_acquire
    - setttl
    - new_qpcnode
    - NODE_RDLOCK
    - DNS_SLABHEADER_SETATTR
    - atomic_init
    - TREE_WRLOCK
    - dns_qp_insert
    - expire_ttl_headers
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_addrdataset(dns_db_t *db, dns_dbnode_t *node,
      dns_dbversion_t *version,\n\t\t    isc_stdtime_t __now, dns_rdataset_t *rdataset,\n\t\t
      \   unsigned int options,\n\t\t    dns_rdataset_t *addedrdataset DNS__DB_FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3090,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:3090,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3091,1
    - Dst: dns_slabheader_new
      Src: /src/bind9/lib/dns/qpcache.c:3100,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:3101,1
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:3102,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpcache.c:3103,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3106,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpcache.c:3107,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - db
    - node
    - version
    - type
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3112
      start: 3079
    functionDepth: 5
    functionLinenumber: 3079
    functionLinenumberEnd: 3112
    functionName: qpcache_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR_VALUE
    - NODE_UNLOCK
    - NODE_WRLOCK
    - dns_slabheader_new
    - atomic_init
    - add
    - REQUIRE
    - setttl
    - VALID_QPDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpcache_deleterdataset(dns_db_t *db, dns_dbnode_t *node,\n\t\t
      \      dns_dbversion_t *version, dns_rdatatype_t type,\n\t\t       dns_rdatatype_t
      covers DNS__DB_FLARG)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3120,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:3120,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3122,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/lib/dns/qpcache.c:3125,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/lib/dns/qpcache.c:3128,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qpcache.c:3131,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - db
    - tree
    argTypes:
    - dns_db_t*
    - dns_dbtree_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3114
    functionDepth: 2
    functionLinenumber: 3114
    functionLinenumberEnd: 3136
    functionName: nodecount
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached:
    - UNREACHABLE
    - TREE_RDLOCK
    - TREE_UNLOCK
    - dns_qp_memusage
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db, dns_dbtree_t tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - node
    - type
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3138
    functionDepth: 1
    functionLinenumber: 3138
    functionLinenumberEnd: 3144
    functionName: locknode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached:
    - RWLOCK
    linkageType: ''
    returnType: void
    signature: void locknode(dns_db_t *db, dns_dbnode_t *node, isc_rwlocktype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - db
    - node
    - type
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3146
    functionDepth: 1
    functionLinenumber: 3146
    functionLinenumberEnd: 3152
    functionName: unlocknode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached:
    - RWUNLOCK
    linkageType: ''
    returnType: void
    signature: void unlocknode(dns_db_t *db, dns_dbnode_t *node, isc_rwlocktype_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/qpcache.c:3161,1
    - Dst: isc_loop_getloopmgr
      Src: /src/bind9/lib/dns/qpcache.c:3163,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/qpcache.c:3164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3168,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:3170,1
    - Dst: isc_loop_getloopmgr
      Src: /src/bind9/lib/dns/qpcache.c:3178,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/qpcache.c:3190,1
    - Dst: TREE_INITLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3191,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/qpcache.c:3193,1
    - Dst: dns_rdatasetstats_create
      Src: /src/bind9/lib/dns/qpcache.c:3195,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/qpcache.c:3197,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/qpcache.c:3200,1
    - Dst: isc_queue_init
      Src: /src/bind9/lib/dns/qpcache.c:3203,1
    - Dst: NODE_INITLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3205,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpcache.c:3213,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpcache.c:3214,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:3219,1
    - Dst: dns_qp_create
      Src: /src/bind9/lib/dns/qpcache.c:3224,1
    - Dst: dns_qp_create
      Src: /src/bind9/lib/dns/qpcache.c:3225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 8
    argNames:
    - mctx
    - origin
    - type
    - rdclass
    - argc
    - argv
    - ISC_ATTR_UNUSED
    - dbp
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    - dns_dbtype_t
    - dns_rdataclass_t
    - unsigned int
    - char*[]
    - void*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3233
      start: 3154
    functionDepth: 7
    functionLinenumber: 3154
    functionLinenumberEnd: 3233
    functionName: dns__qpcache_create
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - isc_mem_attach
    - dns_rdatasetstats_create
    - TREE_INITLOCK
    - dns_qp_create
    - isc_rwlock_init
    - ISC_SIEVE_INIT
    - NODE_INITLOCK
    - isc_mem_get
    - REQUIRE
    - isc_queue_init
    - isc_loop_getloopmgr
    - isc_loop
    - isc_heap_create
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__qpcache_create(isc_mem_t *mctx, const dns_name_t
      *origin,\n\t\t    dns_dbtype_t type, dns_rdataclass_t rdclass,\n\t\t    unsigned
      int argc, char *argv[],\n\t\t    void *driverarg ISC_ATTR_UNUSED, dns_db_t **dbp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:3255,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:3260,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:3267,1
    - Dst: STALEOK
      Src: /src/bind9/lib/dns/qpcache.c:3275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - qpdb
    - iterator
    - header
    argTypes:
    - qpcache_t*
    - qpc_rditer_t*
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3252
    functionDepth: 1
    functionLinenumber: 3252
    functionLinenumberEnd: 3279
    functionName: iterator_active
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - STALE_TTL
    - STALEOK
    - EXISTS
    - ACTIVE
    linkageType: ''
    returnType: bool
    signature: "bool iterator_active(qpcache_t *qpdb, qpc_rditer_t *iterator,\n\t\tdns_slabheader_t
      *header)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3357,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3359,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpcache.c:3361,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - it
    - DNS__DB_FLARG
    argTypes:
    - dns_rdatasetiter_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3346
    functionDepth: 1
    functionLinenumber: 3346
    functionLinenumberEnd: 3365
    functionName: rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 62
    functionsReached:
    - bindrdataset
    - NODE_UNLOCK
    - NODE_RDLOCK
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void rdatasetiter_current(dns_rdatasetiter_t *it,\n\t\t     dns_rdataset_t
      *rdataset DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3413,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3414,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3416,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:3430,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - qpdbiter
    - continuing
    argTypes:
    - qpc_dbit_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3437
      start: 3409
    functionDepth: 9
    functionLinenumber: 3409
    functionLinenumberEnd: 3437
    functionName: resume_iteration
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_qp_lookup
    - REQUIRE
    - TREE_RDLOCK
    linkageType: ''
    returnType: void
    signature: void resume_iteration(qpc_dbit_t *qpdbiter, bool continuing)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resume_iteration
      Src: /src/bind9/lib/dns/qpcache.c:3554,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:3559,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:3564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3538
    functionDepth: 10
    functionLinenumber: 3538
    functionLinenumberEnd: 3573
    functionName: dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 9
    functionsReached:
    - resume_iteration
    - dns_qp_lookup
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_seek(dns_dbiterator_t *iterator,\n\t\tconst
      dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3647,1
    - Dst: resume_iteration
      Src: /src/bind9/lib/dns/qpcache.c:3650,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:3654,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:3657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - iterator
    - nodep
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_dbnode_t**
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3639
    functionDepth: 10
    functionLinenumber: 3639
    functionLinenumberEnd: 3662
    functionName: dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 31
    functionsReached:
    - qpcnode_acquire
    - resume_iteration
    - REQUIRE
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_current(dns_dbiterator_t *iterator, dns_dbnode_t
      **nodep,\n\t\t   dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3684,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - dns_dbiterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3689
      start: 3664
    functionDepth: 1
    functionLinenumber: 3664
    functionLinenumberEnd: 3689
    functionName: dbiterator_pause
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 17
    functionsReached:
    - TREE_UNLOCK
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dbiterator_pause(dns_dbiterator_t *iterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:3699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3701
      start: 3691
    functionDepth: 3
    functionLinenumber: 3691
    functionLinenumberEnd: 3701
    functionName: dbiterator_origin
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dbiterator_origin(dns_dbiterator_t *iterator, dns_name_t
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/qpcache.c:3739,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:3746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - qpdb
    - locknum
    - nlocktypep
    - tlocktypep
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - unsigned int
    - isc_rwlocktype_t*
    - isc_rwlocktype_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3761
      start: 3732
    functionDepth: 3
    functionLinenumber: 3732
    functionLinenumberEnd: 3761
    functionName: expire_ttl_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - STALE_TTL
    - isc_heap_element
    linkageType: ''
    returnType: void
    signature: "void expire_ttl_headers(qpcache_t *qpdb, unsigned int locknum,\n\t\t
      \  isc_rwlocktype_t *nlocktypep, isc_rwlocktype_t *tlocktypep,\n\t\t   isc_stdtime_t
      now DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3767,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:3767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3770
      start: 3763
    functionDepth: 1
    functionLinenumber: 3763
    functionLinenumberEnd: 3770
    functionName: setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: void
    signature: void setmaxrrperset(dns_db_t *db, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3776,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:3776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3779
      start: 3772
    functionDepth: 1
    functionLinenumber: 3772
    functionLinenumberEnd: 3779
    functionName: setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    linkageType: ''
    returnType: void
    signature: void setmaxtypepername(dns_db_t *db, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:3819,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:3822,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpcache.c:3825,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpcache.c:3826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3808
    functionDepth: 3
    functionLinenumber: 3808
    functionLinenumberEnd: 3827
    functionName: qpcnode_destroy
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - dns_slabheader_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void qpcnode_destroy(qpcnode_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - trust
    argTypes:
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: dns_trust_totext
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_trust_totext(dns_trust_t trust)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 63
    functionName: dns_rdataset_init
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 161
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_init(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:71,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:71,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: dns_rdataset_invalidate
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 3
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_invalidate(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:106,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: dns_rdataset_isassociated
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 195
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_rdataset_isassociated(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: question_clone
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void question_clone(dns_rdataset_t *source, dns_rdataset_t *target
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:139,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - rdataset
    - rdclass
    - type
    argTypes:
    - dns_rdataset_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: dns_rdataset_makequestion
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 13
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_rdataset_makequestion(dns_rdataset_t *rdataset, dns_rdataclass_t
      rdclass,\n\t\t\t  dns_rdatatype_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:154,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: dns_rdataset_count
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 17
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdataset_count(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:168,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:170,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: dns__rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns__rdataset_clone(dns_rdataset_t *source,\n\t\t    dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:178,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:180,1
    - Dst: dns_rdataset_t*::methods::first
      Src: /src/bind9/lib/dns/rdataset.c:182,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/rdataset.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: dns_rdataset_first
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 72
    functionsReached:
    - dns_rdataset_t*::methods::first
    - DNS_RDATASET_VALID
    - ENSURE
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataset_first(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:189,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:191,1
    - Dst: dns_rdataset_t*::methods::next
      Src: /src/bind9/lib/dns/rdataset.c:193,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/rdataset.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: dns_rdataset_next
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 20
    functionsReached:
    - dns_rdataset_t*::methods::next
    - DNS_RDATASET_VALID
    - ENSURE
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataset_next(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:204,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: dns_rdataset_current
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 375
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: WANT_RANDOM
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANT_RANDOM(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: WANT_CYCLIC
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANT_CYCLIC(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - a
    - b
    argTypes:
    - dns_rdata_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: swap_rdata
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_rdata(dns_rdata_t *in, unsigned int a, unsigned int b)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:252,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:255,1
    - Dst: WANT_RANDOM
      Src: /src/bind9/lib/dns/rdataset.c:257,1
    - Dst: WANT_CYCLIC
      Src: /src/bind9/lib/dns/rdataset.c:258,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataset.c:263,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:264,1
    - Dst: dns_ncache_towire
      Src: /src/bind9/lib/dns/rdataset.c:273,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdataset.c:276,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataset.c:277,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataset.c:297,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataset.c:298,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:314,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataset.c:315,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:316,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataset.c:318,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:323,1
    - Dst: isc_random32
      Src: /src/bind9/lib/dns/rdataset.c:326,1
    - Dst: swap_rdata
      Src: /src/bind9/lib/dns/rdataset.c:337,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdataset.c:352,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/rdataset.c:353,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/rdataset.c:354,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/lib/dns/rdataset.c:355,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdataset.c:365,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdataset.c:366,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdataset.c:374,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdataset.c:379,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdataset.c:380,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/rdataset.c:384,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdataset.c:390,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rdataset.c:398,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:399,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/lib/dns/rdataset.c:401,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:405,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdataset.c:407,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataset.c:421,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/rdataset.c:436,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/rdataset.c:441,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataset.c:447,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataset.c:450,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 160
    argCount: 8
    argNames:
    - rdataset
    - owner_name
    - cctx
    - target
    - partial
    - options
    - countp
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - bool
    - unsigned int
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 227
    functionDepth: 6
    functionLinenumber: 227
    functionLinenumberEnd: 453
    functionName: towire
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 18
    functionsReached:
    - dns_rdata_init
    - dns_rdataset_next
    - dns_rdataset_current
    - isc_buffer_availableregion
    - dns_compress_setmultiuse
    - dns_rdataset_first
    - REQUIRE
    - isc_random32
    - dns_compress_rollback
    - isc_buffer_putuint32
    - dns_rdata_towire
    - dns_rdata_reset
    - dns_fixedname_initname
    - WANT_RANDOM
    - dns_name_copy
    - DNS_RDATASET_VALID
    - INSIST
    - isc_buffer_putuint16
    - dns_name_towire
    - dns_ncache_towire
    - dns_compress_setpermitted
    - WANT_CYCLIC
    - isc_mem_cget
    - swap_rdata
    - isc_buffer_add
    - dns_rdataset_count
    - isc_mem_cput
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t towire(dns_rdataset_t *rdataset, const dns_name_t *owner_name,\n
      \      dns_compress_t *cctx, isc_buffer_t *target, bool partial,\n       unsigned
      int options, unsigned int *countp,\n       void **state ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:460,1
    - Dst: towire
      Src: /src/bind9/lib/dns/rdataset.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - rdataset
    - owner_name
    - cctx
    - target
    - options
    - countp
    - state
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - unsigned int
    - unsigned int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 7
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: dns_rdataset_towirepartial
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - towire
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataset_towirepartial(dns_rdataset_t *rdataset,\n\t\t\t
      \  const dns_name_t *owner_name, dns_compress_t *cctx,\n\t\t\t   isc_buffer_t
      *target, unsigned int options,\n\t\t\t   unsigned int *countp, void **state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: towire
      Src: /src/bind9/lib/dns/rdataset.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rdataset
    - owner_name
    - cctx
    - target
    - options
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 7
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: dns_rdataset_towire
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 3
    functionsReached:
    - towire
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataset_towire(dns_rdataset_t *rdataset, const dns_name_t
      *owner_name,\n\t\t    dns_compress_t *cctx, isc_buffer_t *target,\n\t\t    unsigned
      int options, unsigned int *countp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:483,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:484,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdataset.c:486,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:493,1
    - Dst: dns_rdata_additionaldata
      Src: /src/bind9/lib/dns/rdataset.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - rdataset
    - owner_name
    - add
    - arg
    - limit
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_additionaldatafunc_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 501
    functionName: dns_rdataset_additionaldata
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 9
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_additionaldata
    - REQUIRE
    - dns_rdataset_count
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdataset_additionaldata(dns_rdataset_t *rdataset,\n\t\t\t
      \   const dns_name_t *owner_name,\n\t\t\t    dns_additionaldatafunc_t add, void
      *arg,\n\t\t\t    size_t limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:493,1
    - Dst: dns_rdata_additionaldata
      Src: /src/bind9/lib/dns/rdataset.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 9
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_additionaldata
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:505,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: dns_rdataset_addnoqname
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 2
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataset_addnoqname(dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:517,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rdataset
    - name
    - neg
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 525
    functionName: dns__rdataset_getnoqname
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__rdataset_getnoqname(dns_rdataset_t *rdataset, dns_name_t
      *name,\n\t\t\t dns_rdataset_t *neg,\n\t\t\t dns_rdataset_t *negsig DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:529,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: dns_rdataset_addclosest
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdataset_addclosest(dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:541,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:541,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rdataset
    - name
    - neg
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: dns__rdataset_getclosest
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__rdataset_getclosest(dns_rdataset_t *rdataset, dns_name_t
      *name,\n\t\t\t dns_rdataset_t *neg,\n\t\t\t dns_rdataset_t *negsig DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:553,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 561
    functionName: dns_rdataset_settrust
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 6
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:575,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: dns_rdataset_clearprefetch
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_clearprefetch(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:585,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:585,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: dns_rdataset_setownercase
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 6
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_setownercase(dns_rdataset_t *rdataset, const dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:597,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:597,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 605
    functionName: dns_rdataset_getownercase
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 11
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdataset_getownercase(const dns_rdataset_t *rdataset, dns_name_t
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:613,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:613,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:614,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:614,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:615,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/rdataset.c:621,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/rdataset.c:622,1
    - Dst: isc_serial_ge
      Src: /src/bind9/lib/dns/rdataset.c:625,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdataset.c:629,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdataset.c:629,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdataset.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - rdataset
    - sigrdataset
    - rrsig
    - now
    - acceptexpired
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_rdata_rrsig_t*
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 633
    functionName: dns_rdataset_trimttl
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 3
    functionsReached:
    - ISC_MIN
    - REQUIRE
    - DNS_RDATASET_VALID
    - isc_serial_le
    - isc_serial_ge
    linkageType: ''
    returnType: void
    signature: "void dns_rdataset_trimttl(dns_rdataset_t *rdataset, dns_rdataset_t
      *sigrdataset,\n\t\t     dns_rdata_rrsig_t *rrsig, isc_stdtime_t now,\n\t\t     bool
      acceptexpired)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:637,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: dns_rdataset_getheader
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 8
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      dns_rdataset_getheader(const dns_rdataset_t *rdataset)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:649,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:649,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:650,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:650,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rdataset1
    - rdataset2
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: dns_rdataset_equals
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - DNS_RDATASET_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: "bool dns_rdataset_equals(const dns_rdataset_t *rdataset1,\n\t\t    const
      dns_rdataset_t *rdataset2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/dlz.c:86,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/dlz.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: dns__dlz_initialize
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    - isc_rwlock_init
    linkageType: ''
    returnType: void
    signature: void dns__dlz_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/dlz.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: dns__dlz_shutdown
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 0
    functionsReached:
    - isc_rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void dns__dlz_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dlz.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: dlz_impfind
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: dns_dlzimplementation_t
    signature: 'dns_dlzimplementation_t *

      dlz_impfind(const char *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dlz.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 299
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dlz_implementations, imp, link)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:122,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dlz.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:128,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - view
    - name
    - clientaddr
    - dbp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - isc_sockaddr_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: dns_dlzallowzonexfr
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - DNS_DLZ_VALID
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dlzallowzonexfr(dns_view_t *view, const dns_name_t
      *name,\n\t\t    const isc_sockaddr_t *clientaddr, dns_db_t **dbp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:169,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:172,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/dlz.c:176,1
    - Dst: dlz_impfind
      Src: /src/bind9/lib/dns/dlz.c:179,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:181,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:183,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dlz.c:193,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dlz.c:198,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dlz.c:200,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:207,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dlz.c:214,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:215,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:216,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:220,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dlz.c:224,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dlz.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 6
    argNames:
    - mctx
    - dlzname
    - drivername
    - argc
    - argv
    - dbp
    argTypes:
    - isc_mem_t*
    - char*
    - char*
    - unsigned int
    - char*[]
    - dns_dlzdb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 227
    functionName: dns_dlzcreate
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - isc_mem_free
    - RWUNLOCK
    - RWLOCK
    - ISC_LINK_INIT
    - ISC_LOG_DEBUG
    - isc_mem_get
    - isc_log_write
    - REQUIRE
    - isc_mem_strdup
    - isc_mem_put
    - dlz_impfind
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dlzcreate(isc_mem_t *mctx, const char *dlzname, const
      char *drivername,\n\t      unsigned int argc, char *argv[], dns_dlzdb_t **dbp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:235,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:236,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:241,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:241,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/dns/dlz.c:247,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dlz.c:252,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dlz.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dbp
    argTypes:
    - dns_dlzdb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 258
    functionName: dns_dlzdestroy
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - DNS_DLZ_VALID
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - isc_log_write
    - REQUIRE
    - dns_ssutable_detach
    linkageType: ''
    returnType: void
    signature: void dns_dlzdestroy(dns_dlzdb_t **dbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:271,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:279,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:281,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:284,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/dlz.c:287,1
    - Dst: dlz_impfind
      Src: /src/bind9/lib/dns/dlz.c:293,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:295,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:296,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:298,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dlz.c:306,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dlz.c:314,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dlz.c:320,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dlz.c:321,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 5
    argNames:
    - drivername
    - methods
    - driverarg
    - mctx
    - dlzimp
    argTypes:
    - char*
    - dns_dlzmethods_t*
    - void*
    - isc_mem_t*
    - dns_dlzimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 330
    functionName: dns_dlzregister
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - ISC_LIST_APPEND
    - ISC_LOG_DEBUG
    - RWLOCK
    - RWUNLOCK
    - ISC_LINK_INIT
    - isc_mem_get
    - isc_log_write
    - REQUIRE
    - dlz_impfind
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dlzregister(const char *drivername, const dns_dlzmethods_t
      *methods,\n\t\tvoid *driverarg, isc_mem_t *mctx,\n\t\tdns_dlzimplementation_t
      **dlzimp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/lib/dns/dlz.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mctx
    - s
    - argcp
    - argvp
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: dns_dlzstrtoargv
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 0
    functionsReached:
    - isc_commandline_strtoargv
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dlzstrtoargv(isc_mem_t *mctx, char *s, unsigned int
      *argcp, char ***argvp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:353,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:359,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/dlz.c:364,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dlz.c:367,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dlz.c:373,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:376,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dlzimp
    argTypes:
    - dns_dlzimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 377
    functionName: dns_dlzunregister
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - RWLOCK
    - RWUNLOCK
    - isc_log_write
    - REQUIRE
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void dns_dlzunregister(dns_dlzimplementation_t **dlzimp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:398,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:398,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:400,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/dlz.c:402,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dlz.c:402,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dlz.c:403,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dlz.c:403,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dlz.c:404,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/dlz.c:405,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dlz.c:405,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dlz.c:410,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:413,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/dlz.c:423,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/dlz.c:425,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dlz.c:429,1
    - Dst: dns_zone_create
      Src: /src/bind9/lib/dns/dlz.c:432,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/lib/dns/dlz.c:433,1
    - Dst: dns_zone_setview
      Src: /src/bind9/lib/dns/dlz.c:434,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/lib/dns/dlz.c:436,1
    - Dst: dns_ssutable_createdlz
      Src: /src/bind9/lib/dns/dlz.c:439,1
    - Dst: dns_zone_setssutable
      Src: /src/bind9/lib/dns/dlz.c:441,1
    - Dst: dns_dlzdb_t*::configure_callback
      Src: /src/bind9/lib/dns/dlz.c:443,1
    - Dst: dns_view_addzone
      Src: /src/bind9/lib/dns/dlz.c:448,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/dlz.c:452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - view
    - dlzdb
    - zone_name
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 456
    functionName: dns_dlz_writeablezone
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - isc_log_write
    - dns_view_addzone
    - REQUIRE
    - dns_zone_setssutable
    - DNS_DLZ_VALID
    - dns_ssutable_createdlz
    - dns_zone_setview
    - dns_fixedname_init
    - dns_view_findzone
    - isc_buffer_constinit
    - dns_zone_setadded
    - dns_name_fromtext
    - dns_fixedname_name
    - INSIST
    - strlen
    - dns_zone_create
    - dns_zone_setorigin
    - dns_dlzdb_t*::configure_callback
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dlz_writeablezone(dns_view_t *view, dns_dlzdb_t *dlzdb,\n\t\t
      \     const char *zone_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:468,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:468,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:469,1
    - Dst: dns_dlzimplementation_t*::methods::configure
      Src: /src/bind9/lib/dns/dlz.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - view
    - dlzdb
    - callback
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - dlzconfigure_callback_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: dns_dlzconfigure
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 2
    functionsReached:
    - DNS_DLZ_VALID
    - dns_dlzimplementation_t*::methods::configure
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_dlzconfigure(dns_view_t *view, dns_dlzdb_t *dlzdb,\n\t\t
      dlzconfigure_callback_t callback)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:492,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:493,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:497,1
    - Dst: dns_dlzimplementation_t*::methods::ssumatch
      Src: /src/bind9/lib/dns/dlz.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - dlzdatabase
    - signer
    - name
    - tcpaddr
    - type
    - key
    argTypes:
    - dns_dlzdb_t*
    - dns_name_t*
    - dns_name_t*
    - isc_netaddr_t*
    - dns_rdatatype_t
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: dns_dlz_ssumatch
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - dns_dlzimplementation_t*::methods::ssumatch
    - isc_log_write
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: "bool dns_dlz_ssumatch(dns_dlzdb_t *dlzdatabase, const dns_name_t *signer,\n\t\t
      const dns_name_t *name, const isc_netaddr_t *tcpaddr,\n\t\t dns_rdatatype_t
      type, const dst_key_t *key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/lib.c:40,1
    - Dst: dst__lib_initialize
      Src: /src/bind9/lib/dns/lib.c:44,1
    - Dst: dns__acl_initialize
      Src: /src/bind9/lib/dns/lib.c:45,1
    - Dst: dns__dlz_initialize
      Src: /src/bind9/lib/dns/lib.c:46,1
    - Dst: dns__db_initialize
      Src: /src/bind9/lib/dns/lib.c:47,1
    - Dst: dns__dyndb_initialize
      Src: /src/bind9/lib/dns/lib.c:48,1
    - Dst: dns__qp_initialize
      Src: /src/bind9/lib/dns/lib.c:49,1
    - Dst: dns__qpzone_initialize
      Src: /src/bind9/lib/dns/lib.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: dns__lib_initialize
    functionSourceFile: /src/bind9/lib/dns/lib.c
    functionUses: 0
    functionsReached:
    - dns__qpzone_initialize
    - dns__db_initialize
    - dst__lib_initialize
    - isc_refcount_increment0
    - dns__dyndb_initialize
    - dns__acl_initialize
    - dns__dlz_initialize
    - dns__qp_initialize
    linkageType: ''
    returnType: void
    signature: void dns__lib_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/lib.c:55,1
    - Dst: dns__qpzone_shutdown
      Src: /src/bind9/lib/dns/lib.c:59,1
    - Dst: dns__qp_shutdown
      Src: /src/bind9/lib/dns/lib.c:60,1
    - Dst: dns__dyndb_shutdown
      Src: /src/bind9/lib/dns/lib.c:61,1
    - Dst: dns__db_shutdown
      Src: /src/bind9/lib/dns/lib.c:62,1
    - Dst: dns__dlz_shutdown
      Src: /src/bind9/lib/dns/lib.c:63,1
    - Dst: dns__acl_shutdown
      Src: /src/bind9/lib/dns/lib.c:64,1
    - Dst: dst__lib_shutdown
      Src: /src/bind9/lib/dns/lib.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: dns__lib_shutdown
    functionSourceFile: /src/bind9/lib/dns/lib.c
    functionUses: 0
    functionsReached:
    - dns__dyndb_shutdown
    - dns__db_shutdown
    - dns__qp_shutdown
    - dns__dlz_shutdown
    - dst__lib_shutdown
    - dns__qpzone_shutdown
    - isc_refcount_decrement
    - dns__acl_shutdown
    linkageType: ''
    returnType: void
    signature: void dns__lib_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - array
    - type
    - bit
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: dns_nsec_setbit
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_nsec_setbit(unsigned char *array, unsigned int type, unsigned
      int bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - array
    - type
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 56
    functionName: dns_nsec_isset
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_nsec_isset(const unsigned char *array, unsigned int type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - map
    - raw
    - max_type
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 92
    functionName: dns_nsec_compressbitmap
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 2
    functionsReached:
    - memmove
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int dns_nsec_compressbitmap(unsigned char *map, const unsigned
      char *raw,\n\t\t\tunsigned int max_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:105,1
    - Dst: memset
      Src: /src/bind9/lib/dns/nsec.c:107,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/nsec.c:108,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec.c:109,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:117,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:118,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/nsec.c:121,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/nsec.c:127,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:135,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:137,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/nsec.c:139,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:144,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:145,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:148,1
    - Dst: dns_rdatatype_iszonecutauth
      Src: /src/bind9/lib/dns/nsec.c:149,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:151,1
    - Dst: dns_nsec_compressbitmap
      Src: /src/bind9/lib/dns/nsec.c:156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:159,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/nsec.c:160,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/nsec.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - db
    - version
    - node
    - target
    - buffer
    - rdata
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    - dns_name_t*
    - unsigned char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 163
    functionName: dns_nsec_buildrdata
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 3
    functionsReached:
    - memmove
    - dns_db_class
    - memset
    - dns_rdatasetiter_current
    - INSIST
    - dns_name_toregion
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - REQUIRE
    - dns_nsec_isset
    - dns_rdatatype_iszonecutauth
    - dns_nsec_compressbitmap
    - dns_rdatasetiter_destroy
    - dns_nsec_setbit
    - dns_rdata_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec_buildrdata(dns_db_t *db, dns_dbversion_t *version,
      dns_dbnode_t *node,\n\t\t    const dns_name_t *target, unsigned char *buffer,\n\t\t
      \   dns_rdata_t *rdata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/nsec.c:127,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:135,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_nsec_setbit
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec.c:174,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/nsec.c:175,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/nsec.c:177,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/nsec.c:182,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/nsec.c:183,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/nsec.c:186,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/nsec.c:187,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/nsec.c:188,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec.c:194,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - db
    - version
    - node
    - target
    - ttl
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    - dns_name_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 198
    functionName: dns_nsec_build
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_rdatalist_tordataset
    - dns_db_class
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_db_addrdataset
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - dns_rdataset_init
    - dns_nsec_buildrdata
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec_build(dns_db_t *db, dns_dbversion_t *version,
      dns_dbnode_t *node,\n\t       const dns_name_t *target, dns_ttl_t ttl)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:208,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:211,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:212,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:216,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:219,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:221,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:229,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - nsec
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 236
    functionName: dns_nsec_typepresent
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 4
    functionsReached:
    - dns_rdata_tostruct
    - INSIST
    - dns_rdata_freestruct
    - dns_nsec_isset
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:246,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec.c:248,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec.c:250,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec.c:255,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec.c:257,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:269,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:270,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nsec.c:271,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/nsec.c:279,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/nsec.c:287,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:302,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - db
    - version
    - diff
    - answer
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 305
    functionName: dns_nsec_nseconly
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 7
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dns_db_getoriginnode
    - RUNTIME_CHECK
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_db_detachnode
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec_nseconly(dns_db_t *db, dns_dbversion_t *version,
      dns_diff_t *diff,\n\t\t  bool *answer)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:269,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:270,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nsec.c:271,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/nsec.c:279,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/nsec.c:287,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 301
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - RUNTIME_CHECK
    - dns_rdataset_current
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:331,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/nsec.c:333,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:335,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:338,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:341,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:342,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:344,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:350,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/nsec.c:351,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:357,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/nsec.c:367,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:368,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:369,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:377,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:386,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:391,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:394,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:395,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:400,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:405,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:406,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:414,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:419,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:421,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:426,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/nsec.c:430,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:432,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:433,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec.c:438,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:442,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:443,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:449,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:451,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec.c:458,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec.c:460,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec.c:461,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec.c:464,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec.c:465,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/nsec.c:468,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:470,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:471,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:476,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:477,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 94
    argCount: 9
    argNames:
    - type
    - name
    - nsecname
    - nsecset
    - exists
    - data
    - wild
    - logit
    - arg
    argTypes:
    - dns_rdatatype_t
    - dns_name_t*
    - dns_name_t*
    - dns_rdataset_t*
    - bool*
    - bool*
    - dns_name_t*
    - dns_nseclog_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 314
    functionDepth: 4
    functionLinenumber: 314
    functionLinenumberEnd: 480
    functionName: dns_nsec_noexistnodata
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 5
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_name_getlabelsequence
    - dns_nsec_typepresent
    - dns_name_issubdomain
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - dns_rdata_freestruct
    - dns_rdatatype_atparent
    - dns_name_fullcompare
    - dns_rdataset_first
    - REQUIRE
    - dns_name_concatenate
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_nsec_noexistnodata(dns_rdatatype_t type, const dns_name_t
      *name,\n\t\t       const dns_name_t *nsecname, dns_rdataset_t *nsecset,\n\t\t
      \      bool *exists, bool *data, dns_name_t *wild,\n\t\t       dns_nseclog_t
      logit, void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:487,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/nsec.c:487,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:488,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/nsec.c:490,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:494,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:495,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:496,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:498,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 505
    functionName: dns_nsec_requiredtypespresent
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 2
    functionsReached:
    - dns_nsec_typepresent
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_clone
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_nsec_requiredtypespresent(dns_rdataset_t *nsecset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:494,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:495,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:496,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_nsec_typepresent
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - db
    - addr
    - mmresult
    - entry
    argTypes:
    - MMDB_s*
    - isc_netaddr_t*
    - MMDB_lookup_result_s
    - MMDB_entry_s
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: set_state
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_state(const MMDB_s *db, const isc_netaddr_t *addr,\n\t  MMDB_lookup_result_s
      mmresult, MMDB_entry_s entry)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/dns/geoip2.c:85,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/dns/geoip2.c:90,1
    - Dst: MMDB_lookup_sockaddr
      Src: /src/bind9/lib/dns/geoip2.c:91,1
    - Dst: set_state
      Src: /src/bind9/lib/dns/geoip2.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - db
    - addr
    argTypes:
    - MMDB_s*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: get_entry_for
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - isc_netaddr_equal
    - MMDB_lookup_sockaddr
    - set_state
    linkageType: ''
    returnType: geoip_state_t
    signature: 'geoip_state_t *

      get_entry_for(MMDB_s *const db, const isc_netaddr_t *addr)'
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - geoip
    - subtype
    argTypes:
    - dns_geoip_databases_t*
    - dns_geoip_subtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 148
    functionName: fix_subtype
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: dns_geoip_subtype_t
    signature: dns_geoip_subtype_t fix_subtype(const dns_geoip_databases_t *geoip,
      dns_geoip_subtype_t subtype)
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - geoip
    - subtype
    argTypes:
    - dns_geoip_databases_t*
    - dns_geoip_subtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 189
    functionName: geoip2_database
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: MMDB_s
    signature: "MMDB_s *\ngeoip2_database(const dns_geoip_databases_t *geoip,\n\t\tdns_geoip_subtype_t
      subtype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/geoip2.c:193,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/geoip2.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - value
    - str
    argTypes:
    - MMDB_entry_data_s*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: match_string
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: bool match_string(MMDB_entry_data_s *value, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - value
    - ui32
    argTypes:
    - MMDB_entry_data_s*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: match_int
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool match_int(MMDB_entry_data_s *value, const uint32_t ui32)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/geoip2.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/geoip2.c:229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/geoip2.c:230,1
    - Dst: fix_subtype
      Src: /src/bind9/lib/dns/geoip2.c:232,1
    - Dst: geoip2_database
      Src: /src/bind9/lib/dns/geoip2.c:233,1
    - Dst: get_entry_for
      Src: /src/bind9/lib/dns/geoip2.c:238,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:246,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:249,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:255,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:258,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:264,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:267,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:273,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:276,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:282,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:285,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:291,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:294,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:299,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:302,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:307,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:310,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:315,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:318,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:323,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:326,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:331,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:333,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/geoip2.c:338,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:340,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/geoip2.c:345,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/geoip2.c:348,1
    - Dst: match_int
      Src: /src/bind9/lib/dns/geoip2.c:349,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:354,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:358,1
    - Dst: MMDB_get_value
      Src: /src/bind9/lib/dns/geoip2.c:363,1
    - Dst: match_string
      Src: /src/bind9/lib/dns/geoip2.c:366,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 114
    argCount: 3
    argNames:
    - reqaddr
    - geoip
    - elt
    argTypes:
    - isc_netaddr_t*
    - dns_geoip_databases_t*
    - dns_geoip_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 382
    functionName: dns_geoip_match
    functionSourceFile: /src/bind9/lib/dns/geoip2.c
    functionUses: 3
    functionsReached:
    - match_string
    - get_entry_for
    - INSIST
    - match_int
    - strtol
    - MMDB_get_value
    - REQUIRE
    - geoip2_database
    - fix_subtype
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: "bool dns_geoip_match(const isc_netaddr_t *reqaddr,\n\t\tconst dns_geoip_databases_t
      *geoip,\n\t\tconst dns_geoip_elem_t *elt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: VALID_UNREACHCACHE
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_UNREACHCACHE(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:92,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:93,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:94,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/unreachcache.c:96,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/unreachcache.c:97,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/unreachcache.c:106,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:108,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/unreachcache.c:110,1
    - Dst: CDS_INIT_LIST_HEAD
      Src: /src/bind9/lib/dns/unreachcache.c:112,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/unreachcache.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - mctx
    - loopmgr
    - expire_min_s
    - expire_max_s
    - backoff_eligible_s
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 118
    functionName: dns_unreachcache_new
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - cds_lfht_new
    - isc_mem_cget
    - INSIST
    - isc_mem_get
    - REQUIRE
    - isc_loopmgr_nloops
    - CDS_INIT_LIST_HEAD
    linkageType: ''
    returnType: dns_unreachcache_t
    signature: "dns_unreachcache_t *\ndns_unreachcache_new(isc_mem_t *mctx, isc_loopmgr_t
      *loopmgr,\n\t\t     const uint16_t expire_min_s, const uint16_t expire_max_s,\n\t\t
      \    const uint16_t backoff_eligible_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:123,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:123,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/unreachcache.c:130,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:131,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/unreachcache.c:131,1
    - Dst: ucentry_destroy
      Src: /src/bind9/lib/dns/unreachcache.c:132,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/unreachcache.c:134,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/unreachcache.c:134,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/unreachcache.c:136,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/unreachcache.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ucp
    argTypes:
    - dns_unreachcache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: dns_unreachcache_destroy
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 4
    functionsReached:
    - cds_lfht_del
    - VALID_UNREACHCACHE
    - RUNTIME_CHECK
    - cds_lfht_destroy
    - isc_mem_putanddetach
    - INSIST
    - cds_lfht_for_each_entry
    - REQUIRE
    - ucentry_destroy
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void dns_unreachcache_destroy(dns_unreachcache_t **ucp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/unreachcache.c:144,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/unreachcache.c:147,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/unreachcache.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: ucentry_match
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - caa_container_of
    - isc_sockaddr_equal
    linkageType: ''
    returnType: int
    signature: int ucentry_match(struct cds_lfht_node *ht_node, const void *key0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/lib/dns/unreachcache.c:153,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/lib/dns/unreachcache.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns__uckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: ucentry_hash
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t ucentry_hash(const dns__uckey_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/unreachcache.c:161,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/unreachcache.c:163,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/unreachcache.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ht
    - hashval
    - key
    argTypes:
    - struct cds_lfht*
    - uint32_t
    - dns__uckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: ucentry_lookup
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - cds_lfht_entry
    - cds_lfht_iter_get_node
    - cds_lfht_lookup
    linkageType: ''
    returnType: dns_ucentry_t
    signature: 'dns_ucentry_t *

      ucentry_lookup(struct cds_lfht *ht, uint32_t hashval, dns__uckey_t *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/unreachcache.c:171,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/unreachcache.c:172,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/unreachcache.c:178,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/unreachcache.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - loop
    - remote
    - local
    - expire
    - wait_time
    argTypes:
    - isc_loop_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_stdtime_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 183
    functionName: ucentry_new
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - isc_loop_ref
    - isc_mem_get
    - CDS_LIST_HEAD_INIT
    - isc_loop_getmctx
    linkageType: ''
    returnType: dns_ucentry_t
    signature: "dns_ucentry_t *\nucentry_new(isc_loop_t *loop, const isc_sockaddr_t
      *remote,\n\t    const isc_sockaddr_t *local, const isc_stdtime_t expire,\n\t
      \   const isc_stdtime_t wait_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/unreachcache.c:187,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/unreachcache.c:190,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/unreachcache.c:192,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/unreachcache.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: ucentry_destroy
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - isc_loop_getmctx
    - caa_container_of
    - isc_loop_unref
    linkageType: ''
    returnType: void
    signature: void ucentry_destroy(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/unreachcache.c:200,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/unreachcache.c:200,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/unreachcache.c:202,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/unreachcache.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: ucentry_evict_async
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - cds_list_del
    - isc_loop
    - call_rcu
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void ucentry_evict_async(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/unreachcache.c:208,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/unreachcache.c:209,1
    - Dst: ucentry_evict_async
      Src: /src/bind9/lib/dns/unreachcache.c:210,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/unreachcache.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ht
    - unreach
    argTypes:
    - struct cds_lfht*
    - dns_ucentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: ucentry_evict
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loop
    - ucentry_evict_async
    - cds_lfht_del
    linkageType: ''
    returnType: void
    signature: void ucentry_evict(struct cds_lfht *ht, dns_ucentry_t *unreach)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/unreachcache.c:220,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ht
    - unreach
    - now
    - alive_or_waiting
    argTypes:
    - struct cds_lfht*
    - dns_ucentry_t*
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: ucentry_alive
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - cds_lfht_is_node_deleted
    - ucentry_evict
    linkageType: ''
    returnType: bool
    signature: "bool ucentry_alive(struct cds_lfht *ht, dns_ucentry_t *unreach, isc_stdtime_t
      now,\n\t      bool alive_or_waiting)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucentry_alive
      Src: /src/bind9/lib/dns/unreachcache.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - ht
    - lru
    - now
    argTypes:
    - struct cds_lfht*
    - struct cds_list_head*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: ucentry_purge
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - ucentry_alive
    linkageType: ''
    returnType: void
    signature: "void ucentry_purge(struct cds_lfht *ht, struct cds_list_head *lru,\n\t
      \     isc_stdtime_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ucentry_alive
      Src: /src/bind9/lib/dns/unreachcache.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: cds_list_for_each_entry_rcu
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - ucentry_alive
    linkageType: ''
    returnType: void
    signature: void cds_list_for_each_entry_rcu(unreach, lru, lru_head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: expire::expire
      Src: /src/bind9/lib/dns/unreachcache.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - uc
    - now
    - new
    - old
    argTypes:
    - dns_unreachcache_t*
    - isc_stdtime_t
    - dns_ucentry_t*
    - dns_ucentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: ucentry_backoff
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - expire::expire
    linkageType: ''
    returnType: void
    signature: "void ucentry_backoff(const dns_unreachcache_t *uc, const isc_stdtime_t
      now,\n\t\tdns_ucentry_t *new, const dns_ucentry_t *old)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:289,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:289,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:290,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:291,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/unreachcache.c:293,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/unreachcache.c:294,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/unreachcache.c:296,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:300,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:301,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:302,1
    - Dst: ucentry_hash
      Src: /src/bind9/lib/dns/unreachcache.c:308,1
    - Dst: ucentry_new
      Src: /src/bind9/lib/dns/unreachcache.c:310,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/unreachcache.c:314,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/unreachcache.c:318,1
    - Dst: ucentry_backoff
      Src: /src/bind9/lib/dns/unreachcache.c:334,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:341,1
    - Dst: cds_list_add_tail_rcu
      Src: /src/bind9/lib/dns/unreachcache.c:346,1
    - Dst: ucentry_purge
      Src: /src/bind9/lib/dns/unreachcache.c:348,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - uc
    - remote
    - local
    argTypes:
    - dns_unreachcache_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 351
    functionName: dns_unreachcache_add
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 6
    functionsReached:
    - rcu_dereference
    - ucentry_backoff
    - isc_tid
    - VALID_UNREACHCACHE
    - ucentry_evict
    - INSIST
    - rcu_read_unlock
    - ucentry_purge
    - cds_list_add_tail_rcu
    - isc_stdtime_now
    - REQUIRE
    - ucentry_hash
    - ucentry_new
    - cds_lfht_add_unique
    - isc_loop
    - caa_container_of
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void dns_unreachcache_add(dns_unreachcache_t *uc, const isc_sockaddr_t
      *remote,\n\t\t     const isc_sockaddr_t *local)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:356,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:357,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:358,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/unreachcache.c:361,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:363,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:364,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:365,1
    - Dst: ucentry_hash
      Src: /src/bind9/lib/dns/unreachcache.c:371,1
    - Dst: ucentry_lookup
      Src: /src/bind9/lib/dns/unreachcache.c:373,1
    - Dst: ucentry_alive
      Src: /src/bind9/lib/dns/unreachcache.c:375,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/unreachcache.c:380,1
    - Dst: ucentry_purge
      Src: /src/bind9/lib/dns/unreachcache.c:382,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - uc
    - remote
    - local
    argTypes:
    - dns_unreachcache_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 353
    functionDepth: 5
    functionLinenumber: 353
    functionLinenumberEnd: 387
    functionName: dns_unreachcache_find
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 5
    functionsReached:
    - rcu_dereference
    - isc_tid
    - VALID_UNREACHCACHE
    - ucentry_alive
    - INSIST
    - ucentry_lookup
    - rcu_read_unlock
    - ucentry_purge
    - REQUIRE
    - isc_stdtime_now
    - ucentry_hash
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_unreachcache_find(dns_unreachcache_t *uc, const isc_sockaddr_t
      *remote,\n\t\t      const isc_sockaddr_t *local)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:392,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:392,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:394,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/unreachcache.c:396,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:398,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:399,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:400,1
    - Dst: ucentry_hash
      Src: /src/bind9/lib/dns/unreachcache.c:406,1
    - Dst: ucentry_lookup
      Src: /src/bind9/lib/dns/unreachcache.c:408,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:410,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/unreachcache.c:413,1
    - Dst: ucentry_purge
      Src: /src/bind9/lib/dns/unreachcache.c:415,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - uc
    - remote
    - local
    argTypes:
    - dns_unreachcache_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 389
    functionDepth: 5
    functionLinenumber: 389
    functionLinenumberEnd: 418
    functionName: dns_unreachcache_remove
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 3
    functionsReached:
    - rcu_dereference
    - isc_tid
    - VALID_UNREACHCACHE
    - ucentry_evict
    - INSIST
    - ucentry_lookup
    - rcu_read_unlock
    - ucentry_purge
    - REQUIRE
    - isc_stdtime_now
    - ucentry_hash
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: "void dns_unreachcache_remove(dns_unreachcache_t *uc, const isc_sockaddr_t
      *remote,\n\t\t\tconst isc_sockaddr_t *local)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:422,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:422,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:424,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:425,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:426,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/unreachcache.c:431,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:432,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - uc
    argTypes:
    - dns_unreachcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 436
    functionName: dns_unreachcache_flush
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 2
    functionsReached:
    - rcu_dereference
    - VALID_UNREACHCACHE
    - ucentry_evict
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - REQUIRE
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_unreachcache_flush(dns_unreachcache_t *uc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: VALID_NTA
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NTA(nn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:91,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nta.c:94,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nta.c:95,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nta.c:97,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nta.c:98,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/nta.c:101,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/nta.c:102,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/nta.c:104,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/nta.c:105,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/nta.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - nta
    argTypes:
    - dns__nta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 107
    functionName: dns__nta_destroy
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - isc_mem_putanddetach
    - dns_name_free
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - REQUIRE
    - isc_loop_detach
    - dns_resolver_cancelfetch
    linkageType: ''
    returnType: void
    signature: void dns__nta_destroy(dns__nta_t *nta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:120,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/nta.c:122,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/nta.c:127,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/nta.c:128,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/nta.c:130,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/nta.c:131,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/nta.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - view
    - loopmgr
    - ntatablep
    argTypes:
    - dns_view_t*
    - isc_loopmgr_t*
    - dns_ntatable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: dns_ntatable_create
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - isc_rwlock_init
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_view_weakattach
    - dns_qpmulti_create
    linkageType: ''
    returnType: void
    signature: "void dns_ntatable_create(dns_view_t *view, isc_loopmgr_t *loopmgr,\n\t\t
      \   dns_ntatable_t **ntatablep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/nta.c:142,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/nta.c:143,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nta.c:144,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/nta.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ntatable
    argTypes:
    - dns_ntatable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: dns__ntatable_destroy
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - isc_rwlock_destroy
    - dns_qpmulti_destroy
    - INSIST
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns__ntatable_destroy(dns_ntatable_t *ntatable)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/nta.c:161,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nta.c:163,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nta.c:164,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nta.c:166,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nta.c:167,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/nta.c:172,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nta.c:175,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/nta.c:178,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/nta.c:181,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:189,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:193,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:203,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/nta.c:205,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:207,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:209,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 210
    functionName: fetch_done
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns_resolver_destroyfetch
    - RWUNLOCK
    - RWLOCK
    - dns_db_detach
    - isc_timer_stop
    - dns_resolver_freefresp
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - isc_stdtime_now
    - dns_db_detachnode
    - dns__nta_detach
    linkageType: ''
    returnType: void
    signature: void fetch_done(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/nta.c:220,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nta.c:223,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nta.c:224,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nta.c:226,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nta.c:227,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/nta.c:230,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/nta.c:231,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/nta.c:235,1
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:240,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/nta.c:241,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:247,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/nta.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 212
    functionDepth: 9
    functionLinenumber: 212
    functionLinenumberEnd: 250
    functionName: checkbogus
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns__nta_ref
    - isc_timer_stop
    - dns_rdataset_isassociated
    - dns_view_getresolver
    - dns_rdataset_disassociate
    - dns_resolver_createfetch
    - dns_resolver_detach
    - atomic_load
    - dns__nta_detach
    - dns_resolver_cancelfetch
    linkageType: ''
    returnType: void
    signature: void checkbogus(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:257,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:257,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:258,1
    - Dst: VALID_NTA
      Src: /src/bind9/lib/dns/nta.c:258,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/nta.c:265,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/nta.c:266,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/nta.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ntatable
    - nta
    - lifetime
    argTypes:
    - dns_ntatable_t*
    - dns__nta_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 268
    functionName: settimer
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 20
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - VALID_NTA
    - REQUIRE
    - isc_timer_start
    - VALID_NTATABLE
    linkageType: ''
    returnType: void
    signature: void settimer(dns_ntatable_t *ntatable, dns__nta_t *nta, uint32_t lifetime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:275,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:276,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/nta.c:278,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/nta.c:284,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/nta.c:285,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/nta.c:285,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nta.c:287,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nta.c:288,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/nta.c:290,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/nta.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ntatable
    - name
    - target
    argTypes:
    - dns_ntatable_t*
    - dns_name_t*
    - dns__nta_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 295
    functionName: nta_create
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - VALID_NTATABLE
    - isc_loop_attach
    - isc_loop
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void nta_create(dns_ntatable_t *ntatable, const dns_name_t *name,\n\t
      \  dns__nta_t **target)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:305,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:305,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/nta.c:307,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:311,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nta.c:312,1
    - Dst: nta_create
      Src: /src/bind9/lib/dns/nta.c:313,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/nta.c:316,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/nta.c:319,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:326,1
    - Dst: settimer
      Src: /src/bind9/lib/dns/nta.c:335,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nta.c:342,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nta.c:343,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - ntatable
    - name
    - force
    - now
    - lifetime
    argTypes:
    - dns_ntatable_t*
    - dns_name_t*
    - bool
    - isc_stdtime_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 297
    functionDepth: 11
    functionLinenumber: 297
    functionLinenumberEnd: 347
    functionName: dns_ntatable_add
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 6
    functionsReached:
    - nta_create
    - RWUNLOCK
    - RWLOCK
    - dns_qp_insert
    - dns_qpmulti_commit
    - REQUIRE
    - settimer
    - VALID_NTATABLE
    - atomic_load
    - dns__nta_detach
    - dns_qp_getname
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ntatable_add(dns_ntatable_t *ntatable, const dns_name_t
      *name, bool force,\n\t\t isc_stdtime_t now, uint32_t lifetime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:355,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:356,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nta.c:358,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nta.c:359,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:363,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:364,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nta.c:366,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nta.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ntatable
    - name
    argTypes:
    - dns_ntatable_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 349
    functionDepth: 12
    functionLinenumber: 349
    functionLinenumberEnd: 370
    functionName: dns_ntatable_delete
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 3
    functionsReached:
    - dns__nta_detach
    - dns_qpmulti_commit
    - dns_qp_deletename
    - REQUIRE
    - VALID_NTATABLE
    - dns__nta_shutdown
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ntatable_delete(dns_ntatable_t *ntatable, const dns_name_t
      *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:380,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:380,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:382,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nta.c:383,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/nta.c:384,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nta.c:390,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/nta.c:391,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nta.c:393,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:395,1
    - Dst: dns__nta_unref
      Src: /src/bind9/lib/dns/nta.c:396,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nta.c:398,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nta.c:399,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:400,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:401,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/nta.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 12
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: delete_expired
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - dns_qpmulti_commit
    - isc_log_write
    - dns_qp_deletename
    - REQUIRE
    - dns__nta_unref
    - VALID_NTATABLE
    - dns_name_format
    - dns__nta_detach
    - dns_ntatable_detach
    - dns__nta_shutdown
    - dns_qp_getname
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: void
    signature: void delete_expired(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:414,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:415,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/nta.c:415,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:417,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:418,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/nta.c:419,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nta.c:432,1
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:444,1
    - Dst: dns_ntatable_ref
      Src: /src/bind9/lib/dns/nta.c:445,1
    - Dst: isc_async_current
      Src: /src/bind9/lib/dns/nta.c:446,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:452,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - ntatable
    - now
    - name
    - anchor
    argTypes:
    - dns_ntatable_t*
    - isc_stdtime_t
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 405
    functionDepth: 9
    functionLinenumber: 405
    functionLinenumberEnd: 455
    functionName: dns_ntatable_covered
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - dns_name_issubdomain
    - dns__nta_ref
    - RWUNLOCK
    - RWLOCK
    - isc_async_current
    - dns_qp_lookup
    - dns_qpread_destroy
    - dns_ntatable_ref
    - REQUIRE
    - VALID_NTATABLE
    - dns_name_isabsolute
    linkageType: ''
    returnType: bool
    signature: "bool dns_ntatable_covered(dns_ntatable_t *ntatable, isc_stdtime_t
      now,\n\t\t     const dns_name_t *name, const dns_name_t *anchor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/nta.c:461,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/nta.c:461,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/nta.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 468
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 79
    functionsReached:
    - strlen
    - isc_buffer_reserve
    - isc_buffer_putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putstr(isc_buffer_t **b, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/nta.c:474,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:480,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:480,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:482,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:483,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/nta.c:484,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/nta.c:486,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nta.c:494,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/nta.c:498,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/nta.c:499,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/nta.c:501,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/nta.c:508,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/nta.c:515,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:522,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ntatable
    - view
    - buf
    argTypes:
    - dns_ntatable_t*
    - char*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 470
    functionDepth: 6
    functionLinenumber: 470
    functionLinenumberEnd: 525
    functionName: dns_ntatable_totext
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - RWUNLOCK
    - RWLOCK
    - dns_qpiter_next
    - dns_qpiter_init
    - isc_time_formattimestamp
    - dns_qpread_destroy
    - snprintf
    - REQUIRE
    - isc_stdtime_now
    - VALID_NTATABLE
    - dns_name_format
    - isc_time_set
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_ntatable_totext(dns_ntatable_t *ntatable, const char
      *view,\n\t\t    isc_buffer_t **buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/nta.c:530,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:536,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:536,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:538,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:539,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/nta.c:540,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/nta.c:542,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nta.c:555,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/nta.c:556,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/nta.c:562,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nta.c:564,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/nta.c:565,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/nta.c:568,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/nta.c:570,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:575,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:576,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - ntatable
    - fp
    argTypes:
    - dns_ntatable_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 527
    functionDepth: 6
    functionLinenumber: 527
    functionLinenumberEnd: 583
    functionName: dns_ntatable_save
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 1
    functionsReached:
    - dns_name_totext
    - dns_qpmulti_query
    - RWUNLOCK
    - RWLOCK
    - dns_qpiter_next
    - dns_qpiter_init
    - isc_buffer_init
    - dns_qpread_destroy
    - REQUIRE
    - isc_stdtime_now
    - VALID_NTATABLE
    - isc_buffer_putuint8
    - fprintf
    - dns_time32_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ntatable_save(dns_ntatable_t *ntatable, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:589,1
    - Dst: VALID_NTA
      Src: /src/bind9/lib/dns/nta.c:589,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/nta.c:591,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nta.c:591,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nta.c:593,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/nta.c:594,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nta.c:595,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/nta.c:599,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/nta.c:600,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 604
    functionName: dns__nta_shutdown_cb
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - isc_timer_destroy
    - ISC_LOG_DEBUG
    - isc_timer_stop
    - VALID_NTA
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - dns__nta_detach
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void dns__nta_shutdown_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:608,1
    - Dst: VALID_NTA
      Src: /src/bind9/lib/dns/nta.c:608,1
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:610,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/nta.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - nta
    argTypes:
    - dns__nta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 613
    functionName: dns__nta_shutdown
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - dns__nta_ref
    - REQUIRE
    - VALID_NTA
    linkageType: ''
    returnType: void
    signature: void dns__nta_shutdown(dns__nta_t *nta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:621,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:621,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/nta.c:623,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:624,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/nta.c:627,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/nta.c:628,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:630,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:631,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:634,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/nta.c:635,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/nta.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ntatable
    argTypes:
    - dns_ntatable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 615
    functionDepth: 6
    functionLinenumber: 615
    functionLinenumberEnd: 637
    functionName: dns_ntatable_shutdown
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - RWUNLOCK
    - RWLOCK
    - dns_qpiter_next
    - dns_qpiter_init
    - dns__nta_detach
    - dns_qpread_destroy
    - REQUIRE
    - VALID_NTATABLE
    - dns_view_weakdetach
    - dns__nta_shutdown
    linkageType: ''
    returnType: void
    signature: void dns_ntatable_shutdown(dns_ntatable_t *ntatable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns__nta_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 651
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns__nta_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/nta.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/nta.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 664
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: TAG_ALG
    functionSourceFile: /src/bind9/lib/dns/dst_parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAG_ALG(tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: TAG
    functionSourceFile: /src/bind9/lib/dns/dst_parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAG(alg, off)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: year_secs
      Src: /src/bind9/lib/dns/time.c:54,1
    - Dst: year_secs
      Src: /src/bind9/lib/dns/time.c:57,1
    - Dst: month_secs
      Src: /src/bind9/lib/dns/time.c:65,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/time.c:86,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/time.c:90,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/time.c:91,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/time.c:97,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/time.c:98,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - t
    - target
    argTypes:
    - int64_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 100
    functionName: dns_time64_totext
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 2
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - year_secs
    - strlen
    - snprintf
    - isc_buffer_add
    - month_secs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_time64_totext(int64_t t, isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: is_leap
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_leap(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: year_secs
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: year_secs(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: month_secs
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: month_secs(m, y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/time.c:104,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/time.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 123
    functionName: dns_time64_from32
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 6
    functionsReached:
    - isc_serial_gt
    - isc_stdtime_now
    linkageType: ''
    returnType: int64_t
    signature: int64_t dns_time64_from32(uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_time64_totext
      Src: /src/bind9/lib/dns/time.c:127,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/time.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: dns_time32_totext
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 13
    functionsReached:
    - dns_time64_totext
    - dns_time64_from32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_time32_totext(uint32_t value, isc_buffer_t *target)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/time.c:143,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/time.c:151,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/time.c:155,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:161,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:162,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:163,1
    - Dst: is_leap
      Src: /src/bind9/lib/dns/time.c:163,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:170,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:173,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:174,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/time.c:175,1
    - Dst: is_leap
      Src: /src/bind9/lib/dns/time.c:185,1
    - Dst: is_leap
      Src: /src/bind9/lib/dns/time.c:190,1
    - Dst: is_leap
      Src: /src/bind9/lib/dns/time.c:195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 202
    functionName: dns_time64_fromtext
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 2
    functionsReached:
    - is_leap
    - RANGE
    - strlen
    - sscanf
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_time64_fromtext(const char *source, int64_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - min
    - ','
    - max
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: RANGE
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANGE(min, max, value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_time64_fromtext
      Src: /src/bind9/lib/dns/time.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: dns_time32_fromtext
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 10
    functionsReached:
    - dns_time64_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_time32_fromtext(const char *source, uint32_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 697
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/diff.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: rdata_covers
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 6
    functionsReached:
    - dns_rdata_covers
    linkageType: ''
    returnType: dns_rdatatype_t
    signature: dns_rdatatype_t rdata_covers(dns_rdata_t *rdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:58,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/diff.c:66,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/diff.c:68,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/diff.c:73,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/diff.c:74,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/diff.c:75,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/diff.c:81,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/diff.c:82,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/diff.c:84,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:89,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/diff.c:92,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/diff.c:93,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 6
    argNames:
    - mctx
    - op
    - name
    - ttl
    - rdata
    - tp
    argTypes:
    - isc_mem_t*
    - dns_diffop_t
    - dns_name_t*
    - dns_ttl_t
    - dns_rdata_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 99
    functionName: dns_difftuple_create
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 49
    functionsReached:
    - dns_rdata_init
    - isc_mem_attach
    - memmove
    - ISC_LINK_INIT
    - INSIST
    - dns_name_clone
    - REQUIRE
    - isc_mem_allocate
    - dns_rdata_clone
    - dns_name_init
    linkageType: ''
    returnType: void
    signature: "void dns_difftuple_create(isc_mem_t *mctx, dns_diffop_t op, const
      dns_name_t *name,\n\t\t     dns_ttl_t ttl, dns_rdata_t *rdata, dns_difftuple_t
      **tp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:107,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/diff.c:107,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/diff.c:109,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/diff.c:112,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/diff.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tp
    argTypes:
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: dns_difftuple_free
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 18
    functionsReached:
    - isc_mem_free
    - isc_mem_detach
    - REQUIRE
    - DNS_DIFFTUPLE_VALID
    - dns_name_invalidate
    linkageType: ''
    returnType: void
    signature: void dns_difftuple_free(dns_difftuple_t **tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/diff.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - orig
    - copyp
    argTypes:
    - dns_difftuple_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: dns_difftuple_copy
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 4
    functionsReached:
    - dns_difftuple_create
    linkageType: ''
    returnType: void
    signature: void dns_difftuple_copy(dns_difftuple_t *orig, dns_difftuple_t **copyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/diff.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - diff
    argTypes:
    - isc_mem_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: dns_diff_init
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 43
    functionsReached:
    - ISC_LIST_INIT
    linkageType: ''
    returnType: void
    signature: void dns_diff_init(isc_mem_t *mctx, dns_diff_t *diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:132,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:132,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:133,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/diff.c:134,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/diff.c:135,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/diff.c:138,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/diff.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - diff
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: dns_diff_clear
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 41
    functionsReached:
    - ISC_LIST_EMPTY
    - ENSURE
    - DNS_DIFF_VALID
    - REQUIRE
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_difftuple_free
    linkageType: ''
    returnType: void
    signature: void dns_diff_clear(dns_diff_t *diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:143,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:143,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - diff
    - tuplep
    argTypes:
    - dns_diff_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: dns_diff_append
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 25
    functionsReached:
    - ISC_LIST_APPEND
    - REQUIRE
    - DNS_DIFF_VALID
    linkageType: ''
    returnType: void
    signature: void dns_diff_append(dns_diff_t *diff, dns_difftuple_t **tuplep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:151,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:152,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/diff.c:152,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/diff.c:154,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/diff.c:158,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - diff
    - new_name
    argTypes:
    - dns_diff_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: dns_diff_is_boundary
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 1
    functionsReached:
    - dns_name_caseequal
    - ISC_LIST_EMPTY
    - DNS_DIFF_VALID
    - DNS_NAME_VALID
    - REQUIRE
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: bool
    signature: bool dns_diff_is_boundary(const dns_diff_t *diff, dns_name_t *new_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:164,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - diff
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: dns_diff_size
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_DIFF_VALID
    linkageType: ''
    returnType: size_t
    signature: size_t dns_diff_size(const dns_diff_t *diff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:172,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:173,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/diff.c:173,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:187,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:188,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/diff.c:189,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/diff.c:192,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:193,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/diff.c:197,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/diff.c:199,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/diff.c:201,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - diff
    - tuplep
    argTypes:
    - dns_diff_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 211
    functionName: dns_diff_appendminimal
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 16
    functionsReached:
    - dns_name_caseequal
    - dns_rdata_compare
    - ISC_LIST_APPEND
    - UNEXPECTED_ERROR
    - DNS_DIFF_VALID
    - INSIST
    - ISC_LIST_UNLINK
    - DNS_DIFFTUPLE_VALID
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_difftuple_free
    linkageType: ''
    returnType: void
    signature: void dns_diff_appendminimal(dns_diff_t *diff, dns_difftuple_t **tuplep)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/diff.c:220,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:221,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/diff.c:222,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/diff.c:223,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/diff.c:227,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/diff.c:229,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/diff.c:231,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/diff.c:233,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/diff.c:234,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/diff.c:238,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/diff.c:239,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/diff.c:242,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/diff.c:243,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - modified
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: setresign
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_next
    - dns_rdataset_current
    - INSIST
    - dns_rdataset_first
    - dns_time64_from32
    - dns_rdata_reset
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t setresign(dns_rdataset_t *modified)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/diff.c:251,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/diff.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: getownercase
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 12
    functionsReached:
    - dns_rdataset_isassociated
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: void
    signature: void getownercase(dns_rdataset_t *rdataset, dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/diff.c:258,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/dns/diff.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: setownercase
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 9
    functionsReached:
    - dns_rdataset_setownercase
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: void
    signature: void setownercase(dns_rdataset_t *rdataset, const dns_name_t *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - op
    argTypes:
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: optotext
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      optotext(dns_diffop_t op)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:289,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:289,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:290,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/diff.c:290,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:292,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:296,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/diff.c:307,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:319,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/diff.c:336,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:346,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/diff.c:346,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:348,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/diff.c:348,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/diff.c:352,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:354,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/diff.c:362,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/diff.c:364,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/diff.c:367,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:370,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:382,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/diff.c:383,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:389,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:390,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/diff.c:391,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/diff.c:402,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/lib/dns/diff.c:409,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/diff.c:414,1
    - Dst: setresign
      Src: /src/bind9/lib/dns/diff.c:423,1
    - Dst: dns_db_setsigningtime
      Src: /src/bind9/lib/dns/diff.c:424,1
    - Dst: setownercase
      Src: /src/bind9/lib/dns/diff.c:430,1
    - Dst: getownercase
      Src: /src/bind9/lib/dns/diff.c:435,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/diff.c:447,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/diff.c:447,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/diff.c:450,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/diff.c:450,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:453,1
    - Dst: setownercase
      Src: /src/bind9/lib/dns/diff.c:463,1
    - Dst: getownercase
      Src: /src/bind9/lib/dns/diff.c:468,1
    - Dst: getownercase
      Src: /src/bind9/lib/dns/diff.c:477,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/diff.c:479,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/diff.c:480,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/diff.c:484,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/diff.c:486,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/diff.c:488,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:490,1
    - Dst: optotext
      Src: /src/bind9/lib/dns/diff.c:497,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/diff.c:498,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/diff.c:500,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/diff.c:501,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:503,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/diff.c:505,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/diff.c:506,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/diff.c:507,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/diff.c:515,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 4
    argNames:
    - diff
    - db
    - ver
    - warn
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 518
    functionName: diff_apply
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 12
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - isc_log_write
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_rdataset_init
    - setownercase
    - UNREACHABLE
    - ISC_LIST_HEAD
    - dns_db_findnode
    - setresign
    - dns_db_addrdataset
    - getownercase
    - dns_rdataclass_format
    - dns_db_findnsec3node
    - dns_rdataset_isassociated
    - dns_name_format
    - dns_db_origin
    - dns_rdatatype_format
    - ISC_LIST_NEXT
    - rdata_covers
    - dns_db_subtractrdataset
    - INSIST
    - dns_db_setsigningtime
    - dns_db_class
    - DNS_DB_VALID
    - ISC_LIST_APPEND
    - dns_name_equal
    - DNS_DIFF_VALID
    - optotext
    - isc_result_totext
    - CHECK
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t diff_apply(const dns_diff_t *diff, dns_db_t *db, dns_dbversion_t
      *ver,\n\t   bool warn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: diff_apply
      Src: /src/bind9/lib/dns/diff.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - diff
    - db
    - ver
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: dns_diff_apply
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 12
    functionsReached:
    - diff_apply
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_diff_apply(const dns_diff_t *diff, dns_db_t *db, dns_dbversion_t
      *ver)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: diff_apply
      Src: /src/bind9/lib/dns/diff.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - diff
    - db
    - ver
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 5
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: dns_diff_applysilently
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 3
    functionsReached:
    - diff_apply
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_diff_applysilently(const dns_diff_t *diff, dns_db_t
      *db,\n\t\t       dns_dbversion_t *ver)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:538,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:538,1
    - Dst: dns_rdatacallbacks_t*::setup
      Src: /src/bind9/lib/dns/diff.c:541,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:544,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:549,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:557,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/diff.c:559,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:566,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:568,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:570,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/diff.c:571,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:577,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/diff.c:578,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:581,1
    - Dst: dns_rdatacallbacks_t*::add
      Src: /src/bind9/lib/dns/diff.c:582,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:585,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:597,1
    - Dst: dns_rdatacallbacks_t*::commit
      Src: /src/bind9/lib/dns/diff.c:605,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - diff
    - callbacks
    argTypes:
    - dns_diff_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 608
    functionName: dns_diff_load
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 1
    functionsReached:
    - dns_name_caseequal
    - dns_rdatalist_tordataset
    - ISC_LIST_HEAD
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - dns_rdatacallbacks_t*::add
    - rdata_covers
    - DNS_DIFF_VALID
    - dns_rdataset_init
    - INSIST
    - CHECK
    - isc_log_write
    - REQUIRE
    - dns_rdatacallbacks_t*::commit
    - dns_rdatacallbacks_t*::setup
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_diff_load(const dns_diff_t *diff, dns_rdatacallbacks_t
      *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:619,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:619,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:621,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/diff.c:627,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:629,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/diff.c:631,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:633,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:633,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/diff.c:634,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:636,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/diff.c:638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - diff
    - compare
    argTypes:
    - dns_diff_t*
    - dns_diff_compare_func*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 640
    functionName: dns_diff_sort
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 6
    functionsReached:
    - ISC_LIST_HEAD
    - ISC_LIST_APPEND
    - isc_mem_cget
    - DNS_DIFF_VALID
    - INSIST
    - ISC_LIST_UNLINK
    - isc_mem_cput
    - REQUIRE
    - ISC_LIST_FOREACH
    - qsort
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_diff_sort(dns_diff_t *diff, dns_diff_compare_func
      *compare)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:651,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/diff.c:651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:652,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:653,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/diff.c:655,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:659,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/diff.c:660,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/diff.c:661,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:662,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/diff.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - t
    - rdata
    - rdl
    - rds
    argTypes:
    - dns_difftuple_t*
    - dns_rdata_t*
    - dns_rdatalist_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 664
    functionName: diff_tuple_tordataset
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_rdatalist_init
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    - REQUIRE
    - DNS_DIFFTUPLE_VALID
    - dns_rdata_clone
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void diff_tuple_tordataset(dns_difftuple_t *t, dns_rdata_t *rdata,\n\t\t
      \     dns_rdatalist_t *rdl, dns_rdataset_t *rds)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:673,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:673,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/diff.c:675,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:677,1
    - Dst: diff_tuple_tordataset
      Src: /src/bind9/lib/dns/diff.c:685,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/diff.c:687,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/lib/dns/diff.c:688,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/diff.c:692,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/diff.c:694,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:704,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/diff.c:708,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/diff.c:727,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:730,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/diff.c:731,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/diff.c:739,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - diff
    - file
    argTypes:
    - dns_diff_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 666
    functionDepth: 8
    functionLinenumber: 666
    functionLinenumberEnd: 742
    functionName: dns_diff_print
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 3
    functionsReached:
    - diff_tuple_tordataset
    - ISC_LOG_DEBUG
    - DNS_DIFF_VALID
    - INSIST
    - isc_buffer_init
    - isc_mem_get
    - isc_log_write
    - REQUIRE
    - fprintf
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    - isc_mem_put
    - dns_rdataset_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_diff_print(dns_diff_t *diff, FILE *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ttl.c:54,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ttl.c:57,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ttl.c:60,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ttl.c:61,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ttl.c:65,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ttl.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - t
    - s
    - verbose
    - space
    - target
    argTypes:
    - unsigned int
    - char*
    - bool
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: ttlfmt
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_availableregion
    - INSIST
    - snprintf
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ttlfmt(unsigned int t, const char *s, bool verbose, bool
      space,\n       isc_buffer_t *target)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POST
      Src: /src/bind9/lib/dns/ttl.c:88,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:92,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:96,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:96,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:100,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:100,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:104,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:104,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:108,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:108,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ttl.c:111,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/ttl.c:123,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/lib/dns/ttl.c:125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - src
    - verbose
    - upcase
    - target
    argTypes:
    - uint32_t
    - bool
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 128
    functionName: dns_ttl_totext
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 5
    functionsReached:
    - isc_ascii_toupper
    - RETERR
    - ttlfmt
    - INSIST
    - POST
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ttl_totext(uint32_t src, bool verbose, bool upcase,
      isc_buffer_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bind_ttl
      Src: /src/bind9/lib/dns/ttl.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - ttl
    argTypes:
    - isc_textregion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: dns_counter_fromtext
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 0
    functionsReached:
    - bind_ttl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_counter_fromtext(isc_textregion_t *source, uint32_t
      *ttl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bind_ttl
      Src: /src/bind9/lib/dns/ttl.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - source
    - ttl
    argTypes:
    - isc_textregion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: dns_ttl_fromtext
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 6
    functionsReached:
    - bind_ttl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ttl_fromtext(isc_textregion_t *source, uint32_t *ttl)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ttl.c:162,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/ttl.c:169,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ttl.c:173,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/ttl.c:174,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - source
    - ttl
    argTypes:
    - isc_textregion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 222
    functionName: bind_ttl
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 2
    functionsReached:
    - isc_parse_uint32
    - snprintf
    - INSIST
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t bind_ttl(isc_textregion_t *source, uint32_t *ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/tkey.c:72,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/tkey.c:73,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tkey.c:74,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/tkey.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: tkey_log
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void tkey_log(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:81,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tkey.c:83,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/tkey.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - tctxp
    argTypes:
    - isc_mem_t*
    - dns_tkeyctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: dns_tkeyctx_create
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - REQUIRE
    - isc_mem_attach
    linkageType: ''
    returnType: void
    signature: void dns_tkeyctx_create(isc_mem_t *mctx, dns_tkeyctx_t **tctxp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:97,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/tkey.c:104,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/tkey.c:105,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tkey.c:107,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/tkey.c:110,1
    - Dst: dst_gssapi_releasecred
      Src: /src/bind9/lib/dns/tkey.c:113,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/tkey.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - tctxp
    argTypes:
    - dns_tkeyctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: dns_tkeyctx_destroy
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 3
    functionsReached:
    - dns_name_dynamic
    - isc_mem_free
    - dst_gssapi_releasecred
    - dns_name_free
    - isc_mem_putanddetach
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void dns_tkeyctx_destroy(dns_tkeyctx_t **tctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/tkey.c:128,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/tkey.c:130,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/tkey.c:131,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/tkey.c:132,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tkey.c:133,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/tkey.c:134,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/tkey.c:135,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tkey.c:137,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:138,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/tkey.c:140,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:144,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tkey.c:146,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/tkey.c:147,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/tkey.c:149,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:150,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 5
    argNames:
    - msg
    - name
    - rdata
    - ttl
    - namelist
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_rdata_t*
    - uint32_t
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 118
    functionDepth: 5
    functionLinenumber: 118
    functionLinenumberEnd: 153
    functionName: add_rdata_to_list
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - memmove
    - ISC_LIST_APPEND
    - dns_rdata_fromregion
    - dns_message_gettemprdatalist
    - isc_buffer_availableregion
    - dns_message_gettemprdataset
    - dns_message_takebuffer
    - isc_buffer_allocate
    - dns_message_gettempname
    - ISC_LIST_INIT
    - dns_name_copy
    - dns_rdata_toregion
    - dns_message_gettemprdata
    linkageType: ''
    returnType: void
    signature: "void add_rdata_to_list(dns_message_t *msg, dns_name_t *name, dns_rdata_t
      *rdata,\n\t\t  uint32_t ttl, dns_namelist_t *namelist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/tkey.c:157,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:158,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/tkey.c:159,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:160,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/tkey.c:161,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/tkey.c:162,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/tkey.c:164,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/tkey.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - namelist
    argTypes:
    - dns_message_t*
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: free_namelist
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_message_puttempname
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_message_puttemprdataset
    linkageType: ''
    returnType: void
    signature: void free_namelist(dns_message_t *msg, dns_namelist_t *namelist)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tkey.c:178,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tkey.c:179,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:191,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:196,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:198,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tkey.c:206,1
    - Dst: dst_key_getgssctx
      Src: /src/bind9/lib/dns/tkey.c:208,1
    - Dst: dst_gssapi_acceptctx
      Src: /src/bind9/lib/dns/tkey.c:215,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:220,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:223,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/tkey.c:233,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:235,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:243,1
    - Dst: dst_key_fromgssapi
      Src: /src/bind9/lib/dns/tkey.c:243,1
    - Dst: gss_context_time
      Src: /src/bind9/lib/dns/tkey.c:251,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:256,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tkey.c:256,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tkey.c:257,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:260,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/lib/dns/tkey.c:260,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:261,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tkey.c:270,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:271,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:272,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tkey.c:273,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/tkey.c:273,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:274,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tkey.c:275,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tkey.c:277,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tkey.c:279,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/tkey.c:289,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:291,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:298,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:301,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tkey.c:304,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:307,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/tkey.c:307,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 6
    argNames:
    - msg
    - name
    - tkeyin
    - tctx
    - tkeyout
    - ring
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_rdata_tkey_t*
    - dns_tkeyctx_t*
    - dns_rdata_tkey_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 170
    functionDepth: 6
    functionLinenumber: 170
    functionLinenumberEnd: 309
    functionName: process_gsstkey
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - memmove
    - gss_context_time
    - dns_tsigkeyring_add
    - dns_name_countlabels
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - dst_gssapi_acceptctx
    - isc_stdtime_now
    - dns_tsigkey_find
    - dns__tsig_algfromname
    - dns_tsigkey_createfromkey
    - dst_key_fromgssapi
    - RETERR
    - isc_mem_get
    - isc_buffer_free
    - dst_key_free
    - dns_message_settsigkey
    - tkey_log
    - dns_name_equal
    - isc_result_totext
    - isc_buffer_usedlength
    - isc_buffer_base
    - dst_key_getgssctx
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t process_gsstkey(dns_message_t *msg, dns_name_t *name,
      dns_rdata_tkey_t *tkeyin,\n\t\tdns_tkeyctx_t *tctx, dns_rdata_tkey_t *tkeyout,\n\t\tdns_tsigkeyring_t
      *ring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tkey.c:319,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/lib/dns/tkey.c:329,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:330,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:331,1
    - Dst: dns_tsigkey_delete
      Src: /src/bind9/lib/dns/tkey.c:340,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - signer
    - name
    - tkeyin
    - tkeyout
    - ring
    argTypes:
    - dns_name_t*
    - dns_name_t*
    - dns_rdata_tkey_t*
    - dns_rdata_tkey_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 311
    functionDepth: 6
    functionLinenumber: 311
    functionLinenumberEnd: 346
    functionName: process_deletetkey
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_tsigkey_detach
    - dns_tsigkey_identity
    - dns_name_equal
    - dns_tsigkey_delete
    - dns_tsigkey_find
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t process_deletetkey(dns_name_t *signer, dns_name_t *name,\n\t\t
      \  dns_rdata_tkey_t *tkeyin, dns_rdata_tkey_t *tkeyout,\n\t\t   dns_tsigkeyring_t
      *ring)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:365,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:366,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/tkey.c:371,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/tkey.c:375,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/tkey.c:379,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:383,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tkey.c:388,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tkey.c:394,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:395,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tkey.c:395,1
    - Dst: dns_message_signer
      Src: /src/bind9/lib/dns/tkey.c:407,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:413,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tkey.c:427,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:434,1
    - Dst: process_deletetkey
      Src: /src/bind9/lib/dns/tkey.c:434,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:448,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tkey.c:453,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:455,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/tkey.c:456,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:457,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/tkey.c:458,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/lib/dns/tkey.c:468,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:469,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:470,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/tkey.c:470,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:471,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tkey.c:471,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:473,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/tkey.c:473,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tkey.c:475,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:478,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:481,1
    - Dst: process_gsstkey
      Src: /src/bind9/lib/dns/tkey.c:481,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/tkey.c:494,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:495,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/tkey.c:496,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tkey.c:500,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:502,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:504,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/dns/tkey.c:504,1
    - Dst: add_rdata_to_list
      Src: /src/bind9/lib/dns/tkey.c:505,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:508,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:509,1
    - Dst: free_namelist
      Src: /src/bind9/lib/dns/tkey.c:514,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 99
    argCount: 3
    argNames:
    - msg
    - tctx
    - ring
    argTypes:
    - dns_message_t*
    - dns_tkeyctx_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 348
    functionDepth: 7
    functionLinenumber: 348
    functionLinenumberEnd: 516
    functionName: dns_tkey_processquery
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - free_namelist
    - dns_rdataset_current
    - dns_rdataset_first
    - REQUIRE
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_message_reply
    - ISC_LIST_HEAD
    - isc_mem_put
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - process_gsstkey
    - process_deletetkey
    - dns_name_copy
    - dns_name_concatenate
    - dns_tsigkey_find
    - add_rdata_to_list
    - dns_name_fromtext
    - ISC_LIST_EMPTY
    - dns_rdata_fromstruct
    - RETERR
    - isc_nonce_buf
    - dns_message_addname
    - ISC_LIST_UNLINK
    - dns_message_findname
    - dns_name_getlabelsequence
    - dns_message_signer
    - tkey_log
    - dns_name_equal
    - isc_buffer_init
    - dns_name_clone
    - isc_hex_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tkey_processquery(dns_message_t *msg, dns_tkeyctx_t
      *tctx,\n\t\t      dns_tsigkeyring_t *ring)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:508,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 307
    functionsReached:
    - dns_message_addname
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (namelist, name, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:528,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:530,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/tkey.c:533,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/tkey.c:534,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/tkey.c:535,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/tkey.c:538,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tkey.c:539,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/tkey.c:542,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tkey.c:544,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tkey.c:545,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tkey.c:547,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/tkey.c:548,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/tkey.c:551,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:554,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tkey.c:556,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/tkey.c:557,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:559,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:560,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:562,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:563,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:565,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - msg
    - name
    - tkey
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_rdata_tkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 518
    functionDepth: 5
    functionLinenumber: 518
    functionLinenumberEnd: 569
    functionName: buildquery
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_message_puttemprdata
    - dns_rdata_fromstruct
    - ISC_LIST_APPEND
    - dns_message_gettemprdatalist
    - dns_message_addname
    - dns_rdataset_makequestion
    - isc_buffer_free
    - dns_message_gettemprdataset
    - dns_message_takebuffer
    - isc_buffer_allocate
    - REQUIRE
    - dns_message_gettempname
    - dns_name_copy
    - dns_message_gettemprdata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t buildquery(dns_message_t *msg, const dns_name_t *name,
      dns_rdata_tkey_t *tkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tkey.c:578,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:582,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:583,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:584,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:585,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:586,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:588,1
    - Dst: dst_gssapi_initctx
      Src: /src/bind9/lib/dns/tkey.c:589,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/tkey.c:603,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:604,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tkey.c:606,1
    - Dst: buildquery
      Src: /src/bind9/lib/dns/tkey.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - msg
    - name
    - gname
    - lifetime
    - context
    - mctx
    - err_message
    argTypes:
    - dns_message_t*
    - dns_name_t*
    - dns_name_t*
    - uint32_t
    - dns_gss_ctx_id_t*
    - isc_mem_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 571
    functionDepth: 6
    functionLinenumber: 571
    functionLinenumberEnd: 609
    functionName: dns_tkey_buildgssquery
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - isc_buffer_init
    - dns_name_clone
    - isc_buffer_usedlength
    - REQUIRE
    - isc_stdtime_now
    - dst_gssapi_initctx
    - buildquery
    - isc_buffer_base
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tkey_buildgssquery(dns_message_t *msg, const dns_name_t
      *name,\n\t\t       const dns_name_t *gname, uint32_t lifetime,\n\t\t       dns_gss_ctx_id_t
      *context, isc_mem_t *mctx,\n\t\t       char **err_message)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/tkey.c:618,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tkey.c:621,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tkey.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - name
    - rdata
    - section
    argTypes:
    - dns_message_t*
    - dns_name_t**
    - dns_rdata_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 633
    functionName: find_tkey
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_first
    - dns_message_findtype
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t find_tkey(dns_message_t *msg, dns_name_t **name, dns_rdata_t
      *rdata,\n\t  int section)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/tkey.c:618,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tkey.c:621,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tkey.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 630
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_current
    - dns_rdataset_first
    - dns_message_findtype
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH (msg, section, cur)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:649,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:650,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:652,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/lib/dns/tkey.c:655,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:658,1
    - Dst: find_tkey
      Src: /src/bind9/lib/dns/tkey.c:658,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:659,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tkey.c:659,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:661,1
    - Dst: find_tkey
      Src: /src/bind9/lib/dns/tkey.c:661,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:662,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tkey.c:662,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:666,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:668,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:674,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:675,1
    - Dst: dst_gssapi_initctx
      Src: /src/bind9/lib/dns/tkey.c:677,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/tkey.c:692,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:693,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tkey.c:696,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/tkey.c:698,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:699,1
    - Dst: buildquery
      Src: /src/bind9/lib/dns/tkey.c:699,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:703,1
    - Dst: dst_key_fromgssapi
      Src: /src/bind9/lib/dns/tkey.c:703,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:711,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tkey.c:711,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:714,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/lib/dns/tkey.c:714,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:716,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:721,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:726,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:729,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 7
    argNames:
    - qmsg
    - rmsg
    - server
    - context
    - outkey
    - ring
    - err_message
    argTypes:
    - dns_message_t*
    - dns_message_t*
    - dns_name_t*
    - dns_gss_ctx_id_t*
    - dns_tsigkey_t**
    - dns_tsigkeyring_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 635
    functionDepth: 6
    functionLinenumber: 635
    functionLinenumberEnd: 732
    functionName: dns_tkey_gssnegotiate
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rdata_tostruct
    - dns_tsigkeyring_add
    - dns_tsigkey_detach
    - dns_message_reset
    - dns_tsigkey_createfromkey
    - dst_key_fromgssapi
    - RETERR
    - dst_gssapi_initctx
    - buildquery
    - dns_result_fromrcode
    - dst_key_free
    - find_tkey
    - tkey_log
    - dns_name_equal
    - isc_buffer_init
    - dns_name_clone
    - isc_buffer_usedlength
    - isc_buffer_base
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_tkey_gssnegotiate(dns_message_t *qmsg, dns_message_t
      *rmsg,\n\t\t      const dns_name_t *server, dns_gss_ctx_id_t *context,\n\t\t
      \     dns_tsigkey_t **outkey, dns_tsigkeyring_t *ring,\n\t\t      char **err_message)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:44,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:45,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/kasp.c:47,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/kasp.c:51,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/kasp.c:52,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/kasp.c:53,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/kasp.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - mctx
    - name
    - kaspp
    argTypes:
    - isc_mem_t*
    - char*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 57
    functionName: dns_kasp_create
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_mem_get
    - isc_refcount_init
    - isc_mem_strdup
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_create(isc_mem_t *mctx, const char *name, dns_kasp_t
      **kaspp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:61,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:62,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/kasp.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_kasp_t*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: dns_kasp_attach
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 5
    functionsReached:
    - isc_refcount_increment
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_attach(dns_kasp_t *source, dns_kasp_t **targetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:70,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/kasp.c:70,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:72,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/kasp.c:73,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/dns/kasp.c:74,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/kasp.c:76,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/kasp.c:76,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:78,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/kasp.c:79,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/kasp.c:80,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/kasp.c:82,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/kasp.c:82,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/kasp.c:84,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/kasp.c:85,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/kasp.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 546
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LINK_LINKED
    - dns_kasp_key_destroy
    - INSIST
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void destroy(dns_kasp_t *kasp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:91,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:91,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/kasp.c:96,1
    - Dst: destroy
      Src: /src/bind9/lib/dns/kasp.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - kaspp
    argTypes:
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: dns_kasp_detach
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 19
    functionsReached:
    - DNS_KASP_VALID
    - destroy
    - REQUIRE
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void dns_kasp_detach(dns_kasp_t **kaspp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:103,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: dns_kasp_getname
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 6
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_kasp_getname(dns_kasp_t *kasp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:110,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: dns_kasp_freeze
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 8
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_freeze(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:118,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: dns_kasp_thaw
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_thaw(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:126,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: dns_kasp_signdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_signdelay(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:134,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: dns_kasp_sigjitter
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_sigjitter(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:142,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: dns_kasp_setsigjitter
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setsigjitter(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:150,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: dns_kasp_sigrefresh
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_sigrefresh(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:158,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: dns_kasp_setsigrefresh
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setsigrefresh(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:166,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: dns_kasp_sigvalidity
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_sigvalidity(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:174,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: dns_kasp_setsigvalidity
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setsigvalidity(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:182,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: dns_kasp_sigvalidity_dnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_sigvalidity_dnskey(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:190,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: dns_kasp_setsigvalidity_dnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setsigvalidity_dnskey(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:198,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: dns_kasp_dnskeyttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 5
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_kasp_dnskeyttl(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:206,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - ttl
    argTypes:
    - dns_kasp_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: dns_kasp_setdnskeyttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setdnskeyttl(dns_kasp_t *kasp, dns_ttl_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:214,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: dns_kasp_purgekeys
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_purgekeys(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:222,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: dns_kasp_setpurgekeys
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setpurgekeys(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:230,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: dns_kasp_publishsafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_publishsafety(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:238,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:238,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: dns_kasp_setpublishsafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setpublishsafety(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:246,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: dns_kasp_retiresafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_retiresafety(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:254,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: dns_kasp_setretiresafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setretiresafety(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:262,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: dns_kasp_inlinesigning
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_inlinesigning(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:270,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 274
    functionName: dns_kasp_setinlinesigning
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setinlinesigning(dns_kasp_t *kasp, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:278,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - kasp
    - fallback
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: dns_kasp_zonemaxttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_kasp_zonemaxttl(dns_kasp_t *kasp, bool fallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:289,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:289,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - ttl
    argTypes:
    - dns_kasp_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: dns_kasp_setzonemaxttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setzonemaxttl(dns_kasp_t *kasp, dns_ttl_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:297,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 301
    functionName: dns_kasp_zonepropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_zonepropagationdelay(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:305,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 309
    functionName: dns_kasp_setzonepropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setzonepropagationdelay(dns_kasp_t *kasp, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:313,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:313,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: dns_kasp_dsttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_kasp_dsttl(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:321,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - ttl
    argTypes:
    - dns_kasp_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 325
    functionName: dns_kasp_setdsttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setdsttl(dns_kasp_t *kasp, dns_ttl_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:329,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: dns_kasp_parentpropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_parentpropagationdelay(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:337,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:337,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: dns_kasp_setparentpropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setparentpropagationdelay(dns_kasp_t *kasp, uint32_t
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:345,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:351,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/kasp.c:352,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/dns/kasp.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - list
    - name
    - kaspp
    argTypes:
    - dns_kasplist_t*
    - char*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 359
    functionName: dns_kasplist_find
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - strcmp
    - REQUIRE
    - dns_kasp_attach
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_kasplist_find(dns_kasplist_t *list, const char *name,
      dns_kasp_t **kaspp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:363,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: dns_kasp_keys
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_kasp_keylist_t
    signature: dns_kasp_keylist_t dns_kasp_keys(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:371,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:371,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/kasp.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: dns_kasp_keylist_empty
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - DNS_KASP_VALID
    - ISC_LIST_EMPTY
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_keylist_empty(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:378,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:380,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/kasp.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - kasp
    - key
    argTypes:
    - dns_kasp_t*
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: dns_kasp_addkey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - DNS_KASP_VALID
    - ISC_LIST_APPEND
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_addkey(dns_kasp_t *kasp, dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:390,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:391,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/kasp.c:393,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/kasp.c:397,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/kasp.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - kasp
    - keyp
    argTypes:
    - dns_kasp_t*
    - dns_kasp_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 402
    functionName: dns_kasp_key_create
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - DNS_KASP_VALID
    - ISC_LINK_INIT
    - isc_mem_get
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_key_create(dns_kasp_t *kasp, dns_kasp_key_t **keyp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:406,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/dns/kasp.c:409,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/kasp.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: dns_kasp_key_destroy
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - dns_keystore_detach
    - REQUIRE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns_kasp_key_destroy(dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 419
    functionName: dns_kasp_key_algorithm
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_key_algorithm(dns_kasp_key_t *key)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 465
    functionName: dns_kasp_key_size
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_kasp_key_size(dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: dns_kasp_key_lifetime
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_kasp_key_lifetime(dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: dns_kasp_key_keystore
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: dns_keystore_t
    signature: 'dns_keystore_t *

      dns_kasp_key_keystore(dns_kasp_key_t *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: dns_kasp_key_ksk
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_key_ksk(dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 493
    functionName: dns_kasp_key_zsk
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_key_zsk(dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 499
    functionName: dns_kasp_key_tagmin
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dns_kasp_key_tagmin(dns_kasp_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    functionName: dns_kasp_key_tagmax
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t dns_kasp_key_tagmax(dns_kasp_key_t *key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:512,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:513,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/kasp.c:516,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/kasp.c:516,1
    - Dst: dst_key_size
      Src: /src/bind9/lib/dns/kasp.c:520,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/dns/kasp.c:520,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/kasp.c:524,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/kasp.c:525,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/kasp.c:528,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/kasp.c:529,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/kasp.c:533,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/kasp.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - key
    - dkey
    argTypes:
    - dns_kasp_key_t*
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 544
    functionName: dns_kasp_key_match
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - dst_key_alg
    - dns_kasp_key_algorithm
    - dns_kasp_key_ksk
    - dns_kasp_key_zsk
    - dst_key_getbool
    - dst_key_id
    - REQUIRE
    - dst_key_size
    - dns_kasp_key_size
    - dst_key_rid
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_key_match(dns_kasp_key_t *key, dns_dnsseckey_t *dkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:549,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 553
    functionName: dns_kasp_nsec3iter
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t dns_kasp_nsec3iter(dns_kasp_t *kasp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 565
    functionName: dns_kasp_nsec3flags
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t dns_kasp_nsec3flags(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:570,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: dns_kasp_nsec3saltlen
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t dns_kasp_nsec3saltlen(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:578,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 582
    functionName: dns_kasp_nsec3
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_nsec3(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:586,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - nsec3
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: dns_kasp_setnsec3
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setnsec3(dns_kasp_t *kasp, bool nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:596,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - kasp
    - iter
    - optout
    - saltlen
    argTypes:
    - dns_kasp_t*
    - uint8_t
    - bool
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: dns_kasp_setnsec3param
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_kasp_setnsec3param(dns_kasp_t *kasp, uint8_t iter, bool optout,\n\t\t
      \      uint8_t saltlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:606,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: dns_kasp_offlineksk
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_offlineksk(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:614,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - offlineksk
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: dns_kasp_setofflineksk
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setofflineksk(dns_kasp_t *kasp, bool offlineksk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: dns_kasp_cdnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_cdnskey(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:630,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - cdnskey
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: dns_kasp_setcdnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setcdnskey(dns_kasp_t *kasp, bool cdnskey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:638,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:638,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: dns_kasp_digests
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - DNS_KASP_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_kasp_digestlist_t
    signature: dns_kasp_digestlist_t dns_kasp_digests(dns_kasp_t *kasp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:648,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:648,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:649,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/dns/kasp.c:652,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:657,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/kasp.c:663,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/kasp.c:665,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/kasp.c:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - kasp
    - alg
    argTypes:
    - dns_kasp_t*
    - dns_dsdigest_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 667
    functionName: dns_kasp_adddigest
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_APPEND
    - DNS_KASP_VALID
    - ISC_LINK_INIT
    - isc_mem_get
    - dst_ds_digest_supported
    - REQUIRE
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dns_kasp_adddigest(dns_kasp_t *kasp, dns_dsdigest_t alg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - key
    - ','
    - state
    - ','
    - timing
    - ','
    - target
    - ','
    - time
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: INITIALIZE_STATE
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITIALIZE_STATE(key, state, timing, target, time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:92,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - what
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: log_key_overflow
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_format
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: void log_key_overflow(dst_key_t *key, const char *what)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:106,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 122
    functionName: keymgr_keyrole
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getbool
    linkageType: ''
    returnType: char
    signature: 'char *

      keymgr_keyrole(dst_key_t *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:135,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:137,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:142,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:144,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:147,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:148,1
    - Dst: dns_kasp_signdelay
      Src: /src/bind9/lib/dns/keymgr.c:148,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:150,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/lib/dns/keymgr.c:153,1
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:154,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:155,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/keymgr.c:158,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - key
    - kasp
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 160
    functionName: keymgr_settime_remove
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_settime
    - dst_key_gettime
    - dns_kasp_zonemaxttl
    - dns_kasp_parentpropagationdelay
    - dns_kasp_retiresafety
    - dst_key_getbool
    - dns_kasp_signdelay
    - dns_kasp_zonepropagationdelay
    - REQUIRE
    - ISC_MAX
    - dns_kasp_dsttl
    linkageType: ''
    returnType: void
    signature: void keymgr_settime_remove(dns_dnsseckey_t *key, dns_kasp_t *kasp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:172,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:174,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:179,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:184,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:185,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:186,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:190,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:192,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:197,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:200,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - key
    - kasp
    - first
    argTypes:
    - dst_key_t*
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 205
    functionName: dns_keymgr_settime_syncpublish
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_settime
    - dst_key_gettime
    - dst_key_getttl
    - dst_key_getnum
    - dns_kasp_zonemaxttl
    - dst_key_getbool
    - REQUIRE
    - dns_kasp_zonepropagationdelay
    - dns_kasp_publishsafety
    linkageType: ''
    returnType: void
    signature: void dns_keymgr_settime_syncpublish(dst_key_t *key, dns_kasp_t *kasp,
      bool first)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:229,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:239,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:242,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:245,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:248,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:257,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:259,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:266,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:266,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:267,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:268,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:275,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:282,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:289,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:292,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/keymgr.c:295,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:296,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:299,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:310,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:312,1
    - Dst: ISC_OVERFLOW_ADD
      Src: /src/bind9/lib/dns/keymgr.c:322,1
    - Dst: log_key_overflow
      Src: /src/bind9/lib/dns/keymgr.c:323,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:326,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:332,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 4
    argNames:
    - key
    - kasp
    - lifetime
    - now
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - uint32_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 221
    functionDepth: 5
    functionLinenumber: 221
    functionLinenumberEnd: 342
    functionName: keymgr_prepublication_time
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_settime
    - dst_key_gettime
    - dst_key_getnum
    - dst_key_getttl
    - dst_key_setnum
    - dns_kasp_zonemaxttl
    - keymgr_settime_remove
    - ISC_OVERFLOW_ADD
    - log_key_overflow
    - ISC_MAX
    - dst_key_getbool
    - REQUIRE
    - dns_kasp_zonepropagationdelay
    - dns_kasp_publishsafety
    linkageType: ''
    returnType: isc_stdtime_t
    signature: "isc_stdtime_t keymgr_prepublication_time(dns_dnsseckey_t *key, dns_kasp_t
      *kasp,\n\t\t\t   uint32_t lifetime, isc_stdtime_t now)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:353,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:356,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:358,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:360,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:361,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:366,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:367,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:368,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:371,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:373,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:376,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:377,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:379,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:381,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:382,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:385,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:387,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:390,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:391,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:395,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:396,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - key
    - kasp
    - now
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 399
    functionName: keymgr_key_retire
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_settime
    - dst_key_gettime
    - keymgr_settime_remove
    - dst_key_setstate
    - keymgr_keyrole
    - dst_key_getstate
    - dst_key_getbool
    - isc_log_write
    - REQUIRE
    - dst_key_format
    linkageType: ''
    returnType: void
    signature: void keymgr_key_retire(dns_dnsseckey_t *key, dns_kasp_t *kasp, isc_stdtime_t
      now)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:409,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:410,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:413,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:422,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:426,1
    - Dst: ISC_OVERFLOW_ADD
      Src: /src/bind9/lib/dns/keymgr.c:427,1
    - Dst: log_key_overflow
      Src: /src/bind9/lib/dns/keymgr.c:428,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:431,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:432,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/keymgr.c:434,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/keymgr.c:435,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/keymgr.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - key
    - kasp
    - now
    - lifetime
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 402
    functionDepth: 5
    functionLinenumber: 402
    functionLinenumberEnd: 439
    functionName: keymgr_key_update_lifetime
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getnum
    - dst_key_gettime
    - dst_key_settime
    - keymgr_settime_remove
    - dst_key_setnum
    - dst_key_unsettime
    - ISC_OVERFLOW_ADD
    - dst_key_getstate
    - log_key_overflow
    linkageType: ''
    returnType: void
    signature: "void keymgr_key_update_lifetime(dns_dnsseckey_t *key, dns_kasp_t *kasp,\n\t\t\t
      \  isc_stdtime_t now, uint32_t lifetime)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:444,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/keymgr.c:445,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:446,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:455,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:456,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:459,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/keymgr.c:460,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:461,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/keymgr.c:462,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - newkey
    - min
    - max
    - keys
    argTypes:
    - dst_key_t*
    - uint16_t
    - uint16_t
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 468
    functionName: keymgr_keyid_conflict
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    - dst_key_id
    - dst_key_rid
    - dst_key_alg
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_keyid_conflict(dst_key_t *newkey, uint16_t min, uint16_t
      max,\n\t\t      dns_dnsseckeylist_t *keys)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/keymgr.c:485,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/keymgr.c:486,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/dns/keymgr.c:488,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/keymgr.c:490,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:496,1
    - Dst: dst_key_generate
      Src: /src/bind9/lib/dns/keymgr.c:496,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:500,1
    - Dst: dns_keystore_keygen
      Src: /src/bind9/lib/dns/keymgr.c:500,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:501,1
    - Dst: keymgr_keyid_conflict
      Src: /src/bind9/lib/dns/keymgr.c:506,1
    - Dst: keymgr_keyid_conflict
      Src: /src/bind9/lib/dns/keymgr.c:509,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:514,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:517,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/keymgr.c:518,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:522,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:523,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:523,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:524,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/keymgr.c:524,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:525,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/keymgr.c:525,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/keymgr.c:527,1
    - Dst: dst_key_setdirectory
      Src: /src/bind9/lib/dns/keymgr.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 9
    argNames:
    - kkey
    - origin
    - kasp
    - rdclass
    - mctx
    - keydir
    - keylist
    - newkeys
    - dst_key
    argTypes:
    - dns_kasp_key_t*
    - dns_name_t*
    - dns_kasp_t*
    - dns_rdataclass_t
    - isc_mem_t*
    - char*
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 476
    functionDepth: 6
    functionLinenumber: 476
    functionLinenumberEnd: 536
    functionName: keymgr_createkey
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dns_keystore_directory
    - dns_kasp_key_keystore
    - dns_kasp_key_zsk
    - isc_log_write
    - dst_key_setbool
    - dst_key_setnum
    - dns_kasp_key_algorithm
    - dns_keystore_keygen
    - keymgr_keyid_conflict
    - dns_kasp_key_size
    - RETERR
    - INSIST
    - dns_kasp_getname
    - dns_kasp_key_lifetime
    - dst_key_free
    - dst_key_setdirectory
    - dst_key_generate
    - dns_kasp_key_ksk
    - dst_key_id
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keymgr_createkey(dns_kasp_key_t *kkey, const dns_name_t
      *origin,\n\t\t dns_kasp_t *kasp, dns_rdataclass_t rdclass, isc_mem_t *mctx,\n\t\t
      const char *keydir, dns_dnsseckeylist_t *keylist,\n\t\t dns_dnsseckeylist_t
      *newkeys, dst_key_t **dst_key)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - key
    - state
    argTypes:
    - dns_dnsseckey_t*
    - dst_key_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 562
    functionDepth: 2
    functionLinenumber: 562
    functionLinenumberEnd: 597
    functionName: keymgr_desiredstate
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getstate
    linkageType: ''
    returnType: dst_key_state_t
    signature: dst_key_state_t keymgr_desiredstate(dns_dnsseckey_t *key, dst_key_state_t
      state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:611,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:619,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:619,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:620,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:620,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:624,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - key
    - subject
    - type
    - next_state
    - states
    argTypes:
    - dst_key_t*
    - dst_key_t*
    - int
    - dst_key_state_t
    - dst_key_state_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 637
    functionName: keymgr_key_match_state
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_id
    - REQUIRE
    - dst_key_getstate
    - dst_key_alg
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_key_match_state(const dst_key_t *key, const dst_key_t
      *subject, int type,\n\t\t       dst_key_state_t next_state,\n\t\t       dst_key_state_t
      states[NUM_KEYSTATES])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:646,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:649,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:652,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - d
    - k
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 653
    functionName: keymgr_direct_dep
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_id
    - dst_key_getnum
    linkageType: ''
    returnType: bool
    signature: bool keymgr_direct_dep(dst_key_t *d, dst_key_t *k)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:660,1
    - Dst: keymgr_direct_dep
      Src: /src/bind9/lib/dns/keymgr.c:664,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:668,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - k
    - keyring
    - dep
    argTypes:
    - dst_key_t*
    - dns_dnsseckeylist_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 679
    functionName: keymgr_dep
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_direct_dep
    - keymgr_key_match_state
    - dst_key_id
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool keymgr_dep(dst_key_t *k, dns_dnsseckeylist_t *keyring, uint32_t
      *dep)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:697,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:704,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:711,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:729,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:735,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:736,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:736,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:740,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:749,1
    - Dst: keymgr_key_is_successor
      Src: /src/bind9/lib/dns/keymgr.c:755,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - x
    - z
    - key
    - type
    - next_state
    - keyring
    argTypes:
    - dst_key_t*
    - dst_key_t*
    - dst_key_t*
    - int
    - dst_key_state_t
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 685
    functionDepth: 4
    functionLinenumber: 685
    functionLinenumberEnd: 761
    functionName: keymgr_key_is_successor
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - keymgr_key_is_successor
    - keymgr_dep
    - dst_key_getstate
    - dst_key_id
    - ISC_LIST_FOREACH
    - keymgr_key_match_state
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_key_is_successor(dst_key_t *x, dst_key_t *z, dst_key_t
      *key, int type,\n\t\t\tdst_key_state_t next_state,\n\t\t\tdns_dnsseckeylist_t
      *keyring)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:778,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:780,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:780,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:785,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:800,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:805,1
    - Dst: keymgr_key_is_successor
      Src: /src/bind9/lib/dns/keymgr.c:814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 8
    argNames:
    - keyring
    - key
    - type
    - next_state
    - states
    - states2
    - check_successor
    - match_algorithms
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - dst_key_state_t[]
    - dst_key_state_t[]
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 824
    functionName: keymgr_key_exists_with_state
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_key_is_successor
    - dst_key_alg
    - keymgr_key_match_state
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_key_exists_with_state(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key,\n\t\t\t     int type, dst_key_state_t next_state,\n\t\t\t     dst_key_state_t
      states[NUM_KEYSTATES],\n\t\t\t     dst_key_state_t states2[NUM_KEYSTATES],\n\t\t\t
      \    bool check_successor, bool match_algorithms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:832,1
    - Dst: keymgr_direct_dep
      Src: /src/bind9/lib/dns/keymgr.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - predecessor
    - keyring
    argTypes:
    - dns_dnsseckey_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 3
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: keymgr_key_has_successor
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_direct_dep
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_key_has_successor(dns_dnsseckey_t *predecessor,\n\t\t\t
      dns_dnsseckeylist_t *keyring)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:860,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:862,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:862,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:867,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:883,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:894,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - keyring
    - key
    - type
    - next_state
    - match_algorithms
    - must_be_hidden
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 849
    functionDepth: 6
    functionLinenumber: 849
    functionLinenumberEnd: 904
    functionName: keymgr_ds_hidden_or_chained
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_alg
    - keymgr_key_match_state
    - keymgr_key_exists_with_state
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_ds_hidden_or_chained(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key,\n\t\t\t    int type, dst_key_state_t next_state,\n\t\t\t    bool match_algorithms,
      bool must_be_hidden)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:927,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:929,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:929,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:934,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:946,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:948,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - keyring
    - key
    - type
    - next_state
    - match_algorithms
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 915
    functionDepth: 6
    functionLinenumber: 915
    functionLinenumberEnd: 958
    functionName: keymgr_dnskey_hidden_or_chained
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_alg
    - keymgr_key_exists_with_state
    - dst_key_getstate
    - ISC_LIST_FOREACH
    - keymgr_key_match_state
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_dnskey_hidden_or_chained(dns_dnsseckeylist_t *keyring,\n\t\t\t\tdns_dnsseckey_t
      *key, int type,\n\t\t\t\tdst_key_state_t next_state,\n\t\t\t\tbool match_algorithms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:980,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:982,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - keyring
    - key
    - type
    - next_state
    - secure_to_insecure
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 964
    functionDepth: 6
    functionLinenumber: 964
    functionLinenumberEnd: 987
    functionName: keymgr_have_ds
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_key_exists_with_state
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_have_ds(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key, int type,\n\t       dst_key_state_t next_state, bool secure_to_insecure)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1020,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1028,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1041,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1044,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1047,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1050,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1053,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1056,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1059,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1062,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1065,1
    - Dst: keymgr_ds_hidden_or_chained
      Src: /src/bind9/lib/dns/keymgr.c:1077,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 4
    argNames:
    - keyring
    - key
    - type
    - next_state
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 994
    functionDepth: 7
    functionLinenumber: 994
    functionLinenumberEnd: 1079
    functionName: keymgr_have_dnskey
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_key_exists_with_state
    - keymgr_ds_hidden_or_chained
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_have_dnskey(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key, int type,\n\t\t   dst_key_state_t next_state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keymgr_ds_hidden_or_chained
      Src: /src/bind9/lib/dns/keymgr.c:1104,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1111,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1119,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1128,1
    - Dst: keymgr_dnskey_hidden_or_chained
      Src: /src/bind9/lib/dns/keymgr.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - keyring
    - key
    - type
    - next_state
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1086
    functionDepth: 7
    functionLinenumber: 1086
    functionLinenumberEnd: 1139
    functionName: keymgr_have_rrsig
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_dnskey_hidden_or_chained
    - keymgr_key_exists_with_state
    - keymgr_ds_hidden_or_chained
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_have_rrsig(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key, int type,\n\t\t  dst_key_state_t next_state)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1185,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1194,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1197,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1200,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1205,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - keyring
    - key
    - type
    - next
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1152
    functionDepth: 6
    functionLinenumber: 1152
    functionLinenumberEnd: 1214
    functionName: keymgr_policy_approval
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_key_exists_with_state
    - dst_key_getstate
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_policy_approval(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key,\n\t\t       int type, dst_key_state_t next)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1226,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1226,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1229,1
    - Dst: keymgr_have_ds
      Src: /src/bind9/lib/dns/keymgr.c:1230,1
    - Dst: keymgr_have_ds
      Src: /src/bind9/lib/dns/keymgr.c:1232,1
    - Dst: keymgr_have_dnskey
      Src: /src/bind9/lib/dns/keymgr.c:1234,1
    - Dst: keymgr_have_dnskey
      Src: /src/bind9/lib/dns/keymgr.c:1235,1
    - Dst: keymgr_have_rrsig
      Src: /src/bind9/lib/dns/keymgr.c:1236,1
    - Dst: keymgr_have_rrsig
      Src: /src/bind9/lib/dns/keymgr.c:1237,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1238,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1240,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1244,1
    - Dst: keymgr_have_ds
      Src: /src/bind9/lib/dns/keymgr.c:1258,1
    - Dst: keymgr_have_ds
      Src: /src/bind9/lib/dns/keymgr.c:1259,1
    - Dst: keymgr_have_dnskey
      Src: /src/bind9/lib/dns/keymgr.c:1265,1
    - Dst: keymgr_have_dnskey
      Src: /src/bind9/lib/dns/keymgr.c:1266,1
    - Dst: keymgr_have_rrsig
      Src: /src/bind9/lib/dns/keymgr.c:1272,1
    - Dst: keymgr_have_rrsig
      Src: /src/bind9/lib/dns/keymgr.c:1273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - keyring
    - key
    - type
    - next_state
    - secure_to_insecure
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1221
    functionDepth: 8
    functionLinenumber: 1221
    functionLinenumberEnd: 1274
    functionName: keymgr_transition_allowed
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_have_ds
    - ISC_LOG_DEBUG
    - keymgr_keyrole
    - isc_log_write
    - keymgr_have_rrsig
    - dst_key_format
    - keymgr_have_dnskey
    - isc_log_wouldlog
    linkageType: ''
    returnType: bool
    signature: "bool keymgr_transition_allowed(dns_dnsseckeylist_t *keyring, dns_dnsseckey_t
      *key,\n\t\t\t  int type, dst_key_state_t next_state,\n\t\t\t  bool secure_to_insecure)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:1286,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1297,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1300,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1320,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1321,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:1322,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1329,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1330,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1359,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1365,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1368,1
    - Dst: dns_kasp_signdelay
      Src: /src/bind9/lib/dns/keymgr.c:1372,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:1373,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1406,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/lib/dns/keymgr.c:1412,1
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1413,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1419,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1422,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:1427,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/keymgr.c:1437,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 6
    argNames:
    - key
    - type
    - next_state
    - kasp
    - now
    - when
    argTypes:
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1280
    functionDepth: 2
    functionLinenumber: 1280
    functionLinenumberEnd: 1442
    functionName: keymgr_transition_time
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - dst_key_settime
    - dst_key_gettime
    - dst_key_getttl
    - dst_key_getnum
    - dns_kasp_zonemaxttl
    - dns_kasp_parentpropagationdelay
    - dns_kasp_signdelay
    - dns_kasp_retiresafety
    - dns_kasp_zonepropagationdelay
    - dns_kasp_publishsafety
    - dns_kasp_dsttl
    linkageType: ''
    returnType: void
    signature: "void keymgr_transition_time(dns_dnsseckey_t *key, int type,\n\t\t
      \      dst_key_state_t next_state, dns_kasp_t *kasp,\n\t\t       isc_stdtime_t
      now, isc_stdtime_t *when)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:1459,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1461,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1474,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1483,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1484,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1487,1
    - Dst: keymgr_desiredstate
      Src: /src/bind9/lib/dns/keymgr.c:1491,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1498,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1500,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1503,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1509,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1510,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1513,1
    - Dst: keymgr_policy_approval
      Src: /src/bind9/lib/dns/keymgr.c:1518,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1522,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1524,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1528,1
    - Dst: keymgr_transition_allowed
      Src: /src/bind9/lib/dns/keymgr.c:1536,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1541,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1543,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1547,1
    - Dst: keymgr_transition_time
      Src: /src/bind9/lib/dns/keymgr.c:1555,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1559,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1561,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1565,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1575,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1576,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1579,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:1584,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1585,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:1586,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/keymgr.c:1586,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 5
    argNames:
    - keyring
    - kasp
    - now
    - nexttime
    - secure_to_insecure
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1449
    functionDepth: 9
    functionLinenumber: 1449
    functionLinenumberEnd: 1597
    functionName: keymgr_update
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_settime
    - dst_key_setstate
    - ISC_LOG_DEBUG
    - keymgr_keyrole
    - dst_key_ismodified
    - dst_key_getstate
    - keymgr_desiredstate
    - keymgr_policy_approval
    - INSIST
    - isc_log_write
    - keymgr_transition_time
    - ISC_LIST_FOREACH
    - dst_key_format
    - keymgr_transition_allowed
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keymgr_update(dns_dnsseckeylist_t *keyring, dns_kasp_t
      *kasp, isc_stdtime_t now,\n\t      isc_stdtime_t *nexttime, bool secure_to_insecure)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:1617,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:1618,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:1621,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/keymgr.c:1623,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:1624,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:1626,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/keymgr.c:1628,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:1629,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1633,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:1635,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1636,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1644,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1646,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1647,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1655,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/lib/dns/keymgr.c:1657,1
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1658,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1666,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:1668,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1669,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1678,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1680,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1681,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1693,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:1696,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1700,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1703,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1705,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1709,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 4
    argNames:
    - key
    - kasp
    - now
    - csk
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1606
    functionDepth: 2
    functionLinenumber: 1606
    functionLinenumberEnd: 1712
    functionName: keymgr_key_init
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_setbool
    - dst_key_gettime
    - dst_key_getttl
    - dns_kasp_zonemaxttl
    - dst_key_setstate
    - INITIALIZE_STATE
    - dst_key_getstate
    - dns_kasp_parentpropagationdelay
    - dst_key_getbool
    - REQUIRE
    - dst_key_flags
    - dns_kasp_zonepropagationdelay
    - dns_kasp_dsttl
    linkageType: ''
    returnType: void
    signature: "void keymgr_key_init(dns_dnsseckey_t *key, dns_kasp_t *kasp, isc_stdtime_t
      now,\n\t\tbool csk)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1729,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1729,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1730,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1731,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1733,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1735,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1736,1
    - Dst: keymgr_prepublication_time
      Src: /src/bind9/lib/dns/keymgr.c:1743,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1746,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1746,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1747,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1749,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1751,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1755,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1756,1
    - Dst: keymgr_key_has_successor
      Src: /src/bind9/lib/dns/keymgr.c:1769,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1771,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1771,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1772,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1774,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1776,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1779,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1780,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1785,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1785,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1786,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1787,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1788,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1791,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1792,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1799,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1800,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1804,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1805,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1808,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1808,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:1810,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1811,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1812,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1814,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:1823,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:1824,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:1825,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/keymgr.c:1835,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/keymgr.c:1836,1
    - Dst: keymgr_createkey
      Src: /src/bind9/lib/dns/keymgr.c:1839,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/keymgr.c:1844,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/keymgr.c:1844,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1845,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/lib/dns/keymgr.c:1846,1
    - Dst: keymgr_key_init
      Src: /src/bind9/lib/dns/keymgr.c:1847,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:1850,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1858,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1859,1
    - Dst: dns_keymgr_settime_syncpublish
      Src: /src/bind9/lib/dns/keymgr.c:1860,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1867,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:1869,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:1870,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:1871,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:1872,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1873,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1890,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1891,1
    - Dst: dns_keymgr_settime_syncpublish
      Src: /src/bind9/lib/dns/keymgr.c:1892,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:1897,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:1901,1
    - Dst: ISC_OVERFLOW_ADD
      Src: /src/bind9/lib/dns/keymgr.c:1907,1
    - Dst: log_key_overflow
      Src: /src/bind9/lib/dns/keymgr.c:1908,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1911,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:1912,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:1916,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:1918,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/keymgr.c:1920,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1924,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1925,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1927,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1929,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 100
    argCount: 13
    argNames:
    - kaspkey
    - active_key
    - keyring
    - newkeys
    - origin
    - rdclass
    - kasp
    - keydir
    - lifetime
    - rollover
    - now
    - nexttime
    - mctx
    argTypes:
    - dns_kasp_key_t*
    - dns_dnsseckey_t*
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - dns_name_t*
    - dns_rdataclass_t
    - dns_kasp_t*
    - char*
    - uint32_t
    - bool
    - isc_stdtime_t
    - isc_stdtime_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1714
    functionDepth: 7
    functionLinenumber: 1714
    functionLinenumberEnd: 1931
    functionName: keymgr_key_rollover
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_settime_remove
    - dns_kasp_key_zsk
    - isc_log_write
    - dst_key_settime
    - dst_key_gettime
    - dst_key_setnum
    - ISC_OVERFLOW_ADD
    - dns_kasp_dnskeyttl
    - dns_name_format
    - keymgr_key_has_successor
    - dst_key_setttl
    - isc_log_wouldlog
    - ISC_LOG_DEBUG
    - dns_kasp_key_match
    - keymgr_key_init
    - INSIST
    - log_key_overflow
    - dns_keymgr_settime_syncpublish
    - dns_kasp_getname
    - ISC_LIST_FOREACH
    - dns_dnssec_get_hints
    - dns_dnsseckey_create
    - ISC_LIST_APPEND
    - dst_key_setstate
    - keymgr_keyrole
    - dns_kasp_key_ksk
    - dst_key_id
    - dst_key_is_unused
    - keymgr_prepublication_time
    - dst_key_format
    - keymgr_createkey
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keymgr_key_rollover(dns_kasp_key_t *kaspkey, dns_dnsseckey_t
      *active_key,\n\t\t    dns_dnsseckeylist_t *keyring, dns_dnsseckeylist_t *newkeys,\n\t\t
      \   const dns_name_t *origin, dns_rdataclass_t rdclass,\n\t\t    dns_kasp_t
      *kasp, const char *keydir, uint32_t lifetime,\n\t\t    bool rollover, isc_stdtime_t
      now, isc_stdtime_t *nexttime,\n\t\t    isc_mem_t *mctx)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1942,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:1950,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:1955,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:1960,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:1961,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:1969,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1979,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - key
    - after
    - now
    argTypes:
    - dst_key_t*
    - uint32_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1986
      start: 1933
    functionDepth: 4
    functionLinenumber: 1933
    functionLinenumberEnd: 1986
    functionName: dns_keymgr_key_may_be_purged
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_gettime
    - dst_key_getbool
    - dst_key_is_unused
    - dst_key_goal
    - dst_key_format
    - keymgr_key_match_state
    linkageType: ''
    returnType: bool
    signature: "bool dns_keymgr_key_may_be_purged(const dst_key_t *key, uint32_t after,\n\t\t\t
      \    isc_stdtime_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keymgr.c:1997,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/keymgr.c:1998,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:1998,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2001,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2002,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2006,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keymgr.c:2007,1
    - Dst: unlink
      Src: /src/bind9/lib/dns/keymgr.c:2011,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2013,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2014,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1988
    functionDepth: 4
    functionLinenumber: 1988
    functionLinenumberEnd: 2020
    functionName: keymgr_purge_keyfile
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_directory
    - keymgr_keyrole
    - isc_result_totext
    - isc_buffer_init
    - isc_log_write
    - dst_key_buildfilename
    - dst_key_format
    - unlink
    linkageType: ''
    returnType: void
    signature: void keymgr_purge_keyfile(dst_key_t *key, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - kasp
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2022
    functionDepth: 3
    functionLinenumber: 2022
    functionLinenumberEnd: 2032
    functionName: dst_key_doublematch
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dns_kasp_key_match
    linkageType: ''
    returnType: bool
    signature: bool dst_key_doublematch(dns_dnsseckey_t *key, dns_kasp_t *kasp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2026
    functionDepth: 3
    functionLinenumber: 2026
    functionLinenumberEnd: 2030
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 319
    functionsReached:
    - dns_kasp_key_match
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2050,1
    - Dst: dns_name_isvalid
      Src: /src/bind9/lib/dns/keymgr.c:2050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2053,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2053,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/keymgr.c:2055,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2060,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2060,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/keymgr.c:2061,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:2063,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2064,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2065,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2068,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2071,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2072,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2073,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2074,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2076,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2078,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2079,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2080,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2081,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2083,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2087,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2092,1
    - Dst: keymgr_key_init
      Src: /src/bind9/lib/dns/keymgr.c:2095,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2098,1
    - Dst: keymgr_key_retire
      Src: /src/bind9/lib/dns/keymgr.c:2106,1
    - Dst: dns_keymgr_key_may_be_purged
      Src: /src/bind9/lib/dns/keymgr.c:2110,1
    - Dst: dns_kasp_purgekeys
      Src: /src/bind9/lib/dns/keymgr.c:2111,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2113,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2114,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2118,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2119,1
    - Dst: keymgr_purge_keyfile
      Src: /src/bind9/lib/dns/keymgr.c:2121,1
    - Dst: keymgr_purge_keyfile
      Src: /src/bind9/lib/dns/keymgr.c:2122,1
    - Dst: keymgr_purge_keyfile
      Src: /src/bind9/lib/dns/keymgr.c:2123,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2130,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2135,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2136,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2138,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2140,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2142,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2145,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2146,1
    - Dst: keymgr_key_update_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2149,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2156,1
    - Dst: dst_key_doublematch
      Src: /src/bind9/lib/dns/keymgr.c:2157,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2158,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2160,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2162,1
    - Dst: keymgr_key_retire
      Src: /src/bind9/lib/dns/keymgr.c:2170,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2180,1
    - Dst: dst_key_is_active
      Src: /src/bind9/lib/dns/keymgr.c:2181,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2195,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2196,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2198,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2200,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2203,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2207,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2217,1
    - Dst: keymgr_key_rollover
      Src: /src/bind9/lib/dns/keymgr.c:2217,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/keymgr.c:2224,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/keymgr.c:2225,1
    - Dst: dns_kasp_keylist_empty
      Src: /src/bind9/lib/dns/keymgr.c:2232,1
    - Dst: keymgr_update
      Src: /src/bind9/lib/dns/keymgr.c:2235,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2238,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/keymgr.c:2239,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:2240,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/keymgr.c:2240,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/keymgr.c:2241,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/keymgr.c:2241,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2245,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2250,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2251,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2251,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2252,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2254,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2254,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2257,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2258,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2259,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2262,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2263,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2265,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/keymgr.c:2273,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:2274,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/keymgr.c:2275,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/keymgr.c:2276,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2280,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2280,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:2282,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2283,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2284,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 112
    argCount: 9
    argNames:
    - origin
    - rdclass
    - mctx
    - keyring
    - dnskeys
    - keydir
    - kasp
    - now
    - nexttime
    argTypes:
    - dns_name_t*
    - dns_rdataclass_t
    - isc_mem_t*
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - char*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2038
    functionDepth: 10
    functionLinenumber: 2038
    functionLinenumberEnd: 2287
    functionName: dns_keymgr_run
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - keymgr_key_retire
    - dst_key_doublematch
    - dst_key_ismodified
    - keymgr_dep
    - isc_log_write
    - REQUIRE
    - ISC_LIST_APPENDLIST
    - dns_keymgr_key_may_be_purged
    - keymgr_update
    - dst_key_is_active
    - dst_key_getttl
    - dns_kasp_purgekeys
    - dst_key_setmodified
    - dst_key_goal
    - dns_kasp_dnskeyttl
    - ISC_LIST_INIT
    - dns_name_format
    - dns_dnsseckey_destroy
    - dns_kasp_keylist_empty
    - isc_log_wouldlog
    - dst_key_setttl
    - ISC_LIST_EMPTY
    - dst_key_directory
    - keymgr_purge_keyfile
    - ISC_LOG_DEBUG
    - dns_kasp_key_match
    - RETERR
    - keymgr_key_update_lifetime
    - keymgr_key_init
    - INSIST
    - keymgr_key_rollover
    - dns_kasp_getname
    - ISC_LIST_FOREACH
    - dst_key_tofile
    - ISC_LIST_UNLINK
    - dns_dnssec_get_hints
    - dns_kasp_key_lifetime
    - dst_key_free
    - dns_name_isvalid
    - keymgr_keyrole
    - DNS_KASP_VALID
    - dst_key_is_unused
    - dst_key_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_run(const dns_name_t *origin, dns_rdataclass_t
      rdclass,\n\t       isc_mem_t *mctx, dns_dnsseckeylist_t *keyring,\n\t       dns_dnsseckeylist_t
      *dnskeys, const char *keydir,\n\t       dns_kasp_t *kasp, isc_stdtime_t now,
      isc_stdtime_t *nexttime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2097
    functionDepth: 3
    functionLinenumber: 2097
    functionLinenumberEnd: 2102
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 320
    functionsReached:
    - dns_kasp_key_match
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2130,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2135,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2136,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2138,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2140,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2142,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2145,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2146,1
    - Dst: keymgr_key_update_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2149,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2156,1
    - Dst: dst_key_doublematch
      Src: /src/bind9/lib/dns/keymgr.c:2157,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2158,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2160,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2162,1
    - Dst: keymgr_key_retire
      Src: /src/bind9/lib/dns/keymgr.c:2170,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2180,1
    - Dst: dst_key_is_active
      Src: /src/bind9/lib/dns/keymgr.c:2181,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2195,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2196,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2198,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2200,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2203,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2207,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2217,1
    - Dst: keymgr_key_rollover
      Src: /src/bind9/lib/dns/keymgr.c:2217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2129
    functionDepth: 8
    functionLinenumber: 2129
    functionLinenumberEnd: 2221
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 321
    functionsReached:
    - dns_kasp_key_lifetime
    - keymgr_key_retire
    - dst_key_is_active
    - dst_key_doublematch
    - ISC_LOG_DEBUG
    - dns_kasp_key_match
    - keymgr_keyrole
    - keymgr_key_update_lifetime
    - keymgr_dep
    - RETERR
    - isc_log_write
    - dst_key_is_unused
    - keymgr_key_rollover
    - dst_key_goal
    - ISC_LIST_FOREACH
    - dst_key_format
    - dns_kasp_getname
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (dns_kasp_keys(kasp), kkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/keymgr.c:2273,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:2274,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/keymgr.c:2275,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/keymgr.c:2276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2272
    functionDepth: 4
    functionLinenumber: 2272
    functionLinenumberEnd: 2277
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 321
    functionsReached:
    - dns_dnsseckey_destroy
    - dst_key_free
    - INSIST
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH (newkeys, newkey, link)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2298,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2299,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2301,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2305,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2307,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:2310,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2331,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2332,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2334,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2338,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2339,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2341,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2345,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2349,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2350,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2351,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2359,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2364,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2365,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2367,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 8
    argNames:
    - kasp
    - keyring
    - now
    - when
    - dspublish
    - id
    - alg
    - check_id
    argTypes:
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - bool
    - dns_keytag_t
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2289
    functionDepth: 4
    functionLinenumber: 2289
    functionLinenumberEnd: 2371
    functionName: keymgr_checkds
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dns_dnssec_get_hints
    - dst_key_settime
    - isc_stdtime_tostring
    - dst_key_directory
    - dst_key_alg
    - dst_key_setstate
    - DNS_KASP_VALID
    - dst_key_getstate
    - dst_key_setmodified
    - dst_key_getbool
    - dst_key_id
    - isc_log_write
    - REQUIRE
    - dst_key_tofile
    - ISC_LIST_FOREACH
    - dst_key_format
    - isc_log_wouldlog
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keymgr_checkds(dns_kasp_t *kasp, dns_dnsseckeylist_t
      *keyring,\n\t       isc_stdtime_t now, isc_stdtime_t when, bool dspublish,\n\t
      \      dns_keytag_t id, unsigned int alg, bool check_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keymgr_checkds
      Src: /src/bind9/lib/dns/keymgr.c:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - kasp
    - keyring
    - now
    - when
    - dspublish
    argTypes:
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2373
    functionDepth: 5
    functionLinenumber: 2373
    functionLinenumberEnd: 2377
    functionName: dns_keymgr_checkds
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - keymgr_checkds
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_checkds(dns_kasp_t *kasp, dns_dnsseckeylist_t
      *keyring,\n\t\t   isc_stdtime_t now, isc_stdtime_t when, bool dspublish)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keymgr_checkds
      Src: /src/bind9/lib/dns/keymgr.c:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - kasp
    - keyring
    - now
    - when
    - dspublish
    - id
    - alg
    argTypes:
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - bool
    - dns_keytag_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2379
    functionDepth: 5
    functionLinenumber: 2379
    functionLinenumberEnd: 2385
    functionName: dns_keymgr_checkds_id
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 2
    functionsReached:
    - keymgr_checkds
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_checkds_id(dns_kasp_t *kasp, dns_dnsseckeylist_t
      *keyring,\n\t\t      isc_stdtime_t now, isc_stdtime_t when, bool dspublish,\n\t\t
      \     dns_keytag_t id, unsigned int alg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2395,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2395,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2396,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2397,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2399,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2399,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2401,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2401,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2403,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2406,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2407,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - key
    - now
    - buf
    - pre
    - ks
    - kt
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    - isc_buffer_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2412
      start: 2387
    functionDepth: 3
    functionLinenumber: 2387
    functionLinenumberEnd: 2412
    functionName: keytime_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_tostring
    - dst_key_gettime
    - RETERR
    - dst_key_getstate
    - isc_buffer_printf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t keytime_status(dst_key_t *key, isc_stdtime_t now, isc_buffer_t
      *buf,\n\t       const char *pre, int ks, int kt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2434,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2434,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2436,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2437,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2438,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2448,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2450,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2453,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2453,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2456,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2458,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2458,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2461,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2461,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2466,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2470,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2470,1
    - Dst: keymgr_prepublication_time
      Src: /src/bind9/lib/dns/keymgr.c:2473,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2477,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2477,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2481,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2481,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2484,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2486,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2486,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2488,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2488,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2492,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 5
    argNames:
    - dkey
    - kasp
    - now
    - buf
    - zsk
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_buffer_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2414
    functionDepth: 6
    functionLinenumber: 2414
    functionLinenumberEnd: 2496
    functionName: rollover_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_tostring
    - dst_key_gettime
    - RETERR
    - dst_key_getstate
    - isc_buffer_printf
    - keymgr_prepublication_time
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rollover_status(dns_dnsseckey_t *dkey, dns_kasp_t *kasp,
      isc_stdtime_t now,\n\t\tisc_buffer_t *buf, bool zsk)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2503,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2506,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2506,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2509,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2509,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2512,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2512,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2515,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - key
    - buf
    - pre
    - ks
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2498
    functionDepth: 3
    functionLinenumber: 2498
    functionLinenumberEnd: 2525
    functionName: keystate_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_printf
    - dst_key_getstate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keystate_status(dst_key_t *key, isc_buffer_t *buf, const
      char *pre, int ks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2534,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2535,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2536,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keymgr.c:2538,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2541,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2541,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2542,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2543,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2543,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2544,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2545,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2545,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2547,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2551,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/keymgr.c:2556,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:2556,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2558,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2558,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2559,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2560,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2563,1
    - Dst: keytime_status
      Src: /src/bind9/lib/dns/keymgr.c:2563,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2568,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2570,1
    - Dst: keytime_status
      Src: /src/bind9/lib/dns/keymgr.c:2570,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2574,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2576,1
    - Dst: keytime_status
      Src: /src/bind9/lib/dns/keymgr.c:2576,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2582,1
    - Dst: rollover_status
      Src: /src/bind9/lib/dns/keymgr.c:2582,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2585,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2585,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2587,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2587,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2589,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2589,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2591,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2591,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2593,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - kasp
    - keyring
    - now
    - out
    - out_len
    argTypes:
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2527
    functionDepth: 7
    functionLinenumber: 2527
    functionLinenumberEnd: 2600
    functionName: dns_keymgr_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - isc_stdtime_tostring
    - rollover_status
    - dst_key_alg
    - keymgr_keyrole
    - DNS_KASP_VALID
    - RETERR
    - dns_secalg_format
    - isc_buffer_init
    - dst_key_id
    - dst_key_is_unused
    - dst_key_getbool
    - REQUIRE
    - isc_buffer_printf
    - dns_kasp_getname
    - keytime_status
    - keystate_status
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_status(dns_kasp_t *kasp, dns_dnsseckeylist_t
      *keyring,\n\t\t  isc_stdtime_t now, char *out, size_t out_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2612,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2612,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2613,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2615,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2616,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:2619,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2635,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2640,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:2656,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:2656,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2657,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2660,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2663,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2668,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2669,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2671,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - kasp
    - keyring
    - now
    - when
    - id
    - algorithm
    argTypes:
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_stdtime_t
    - dns_keytag_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2602
    functionDepth: 2
    functionLinenumber: 2602
    functionLinenumberEnd: 2675
    functionName: dns_keymgr_rollover
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_settime
    - dst_key_gettime
    - dst_key_getttl
    - dst_key_directory
    - dst_key_alg
    - DNS_KASP_VALID
    - dst_key_setmodified
    - dst_key_id
    - dst_key_tofile
    - REQUIRE
    - dns_kasp_zonepropagationdelay
    - ISC_LIST_FOREACH
    - dns_kasp_publishsafety
    - dns_dnssec_get_hints
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_rollover(dns_kasp_t *kasp, dns_dnsseckeylist_t
      *keyring,\n\t\t    isc_stdtime_t now, isc_stdtime_t when, dns_keytag_t id,\n\t\t
      \   unsigned int algorithm)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2688,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/keymgr.c:2699,1
    - Dst: keymgr_key_init
      Src: /src/bind9/lib/dns/keymgr.c:2704,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2707,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2707,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2709,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2709,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2711,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2711,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2713,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2713,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2715,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2715,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2716,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2717,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:2721,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2722,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2727,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:2731,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:2737,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2738,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2743,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:2747,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:2753,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2754,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2759,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:2763,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:2769,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2770,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2775,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2780,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2794,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2797,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2799,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2802,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2804,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/keymgr.c:2809,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2812,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2817,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keymgr.c:2819,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2819,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2820,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2822,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2822,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2825,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2826,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2827,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2830,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2831,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2833,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2839,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2839,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:2841,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2842,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2843,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 101
    argCount: 5
    argNames:
    - origin
    - keyring
    - kasp
    - now
    - nexttime
    argTypes:
    - dns_name_t*
    - dns_dnsseckeylist_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2677
    functionDepth: 4
    functionLinenumber: 2677
    functionLinenumberEnd: 2847
    functionName: dns_keymgr_offline
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_ismodified
    - dst_key_getstate
    - isc_log_write
    - dst_key_settime
    - dst_key_gettime
    - dst_key_getttl
    - dst_key_setmodified
    - dns_kasp_retiresafety
    - dns_kasp_zonepropagationdelay
    - dns_name_format
    - isc_log_wouldlog
    - dst_key_directory
    - dns_kasp_zonemaxttl
    - ISC_LOG_DEBUG
    - RETERR
    - keymgr_key_init
    - dst_key_tofile
    - ISC_LIST_FOREACH
    - dns_kasp_getname
    - dns_dnssec_get_hints
    - dst_key_setstate
    - keymgr_keyrole
    - dst_key_role
    - dst_key_format
    - dns_kasp_publishsafety
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_offline(const dns_name_t *origin, dns_dnsseckeylist_t
      *keyring,\n\t\t   dns_kasp_t *kasp, isc_stdtime_t now,\n\t\t   isc_stdtime_t
      *nexttime)"
  - BBCount: 41
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 58
    argCount: 1
    argNames:
    - result
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 82
    functionName: dns_result_torcode
    functionSourceFile: /src/bind9/lib/dns/result.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: dns_rcode_t
    signature: dns_rcode_t dns_result_torcode(isc_result_t result)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 116
    functionName: dns_result_fromrcode
    functionSourceFile: /src/bind9/lib/dns/result.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_result_fromrcode(dns_rcode_t rcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - methods
    - sourceip
    argTypes:
    - dns_clientinfomethods_t*
    - dns_clientinfo_sourceip_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 25
    functionName: dns_clientinfomethods_init
    functionSourceFile: /src/bind9/lib/dns/clientinfo.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dns_clientinfomethods_init(dns_clientinfomethods_t *methods,\n\t\t\t
      \  dns_clientinfo_sourceip_t sourceip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_ecs_init
      Src: /src/bind9/lib/dns/clientinfo.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ci
    - data
    - versionp
    argTypes:
    - dns_clientinfo_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: dns_clientinfo_init
    functionSourceFile: /src/bind9/lib/dns/clientinfo.c
    functionUses: 20
    functionsReached:
    - dns_ecs_init
    linkageType: ''
    returnType: void
    signature: void dns_clientinfo_init(dns_clientinfo_t *ci, void *data, void *versionp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_ecs_init
      Src: /src/bind9/lib/dns/clientinfo.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ci
    - ecs
    argTypes:
    - dns_clientinfo_t*
    - dns_ecs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: dns_clientinfo_setecs
    functionSourceFile: /src/bind9/lib/dns/clientinfo.c
    functionUses: 5
    functionsReached:
    - dns_ecs_init
    linkageType: ''
    returnType: void
    signature: void dns_clientinfo_setecs(dns_clientinfo_t *ci, dns_ecs_t *ecs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/rriterator.c:47,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rriterator.c:52,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rriterator.c:53,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rriterator.c:54,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:55,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rriterator.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - it
    - db
    - ver
    - now
    argTypes:
    - dns_rriterator_t*
    - dns_db_t*
    - dns_dbversion_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: dns_rriterator_init
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - dns_rdata_init
    - dns_fixedname_init
    - INSIST
    - dns_rdataset_isassociated
    - dns_db_createiterator
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rriterator_init(dns_rriterator_t *it, dns_db_t *db,
      dns_dbversion_t *ver,\n\t\t    isc_stdtime_t now)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:62,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:62,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rriterator.c:64,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rriterator.c:65,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:68,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:71,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/rriterator.c:73,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rriterator.c:80,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:82,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rriterator.c:87,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/rriterator.c:93,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:98,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:99,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/rriterator.c:100,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rriterator.c:103,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/rriterator.c:104,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:105,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rriterator.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 110
    functionName: dns_rriterator_first
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - dns_rdatasetiter_first
    - dns_rdatasetiter_current
    - dns_dbiterator_next
    - dns_rdataset_isassociated
    - dns_fixedname_name
    - dns_dbiterator_first
    - dns_rdataset_disassociate
    - dns_dbiterator_current
    - REQUIRE
    - dns_db_allrdatasets
    - dns_rdataset_first
    - dns_db_detachnode
    - VALID_RRITERATOR
    - dns_rdatasetiter_destroy
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rriterator_first(dns_rriterator_t *it)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:114,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:114,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rriterator.c:115,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rriterator.c:116,1
    - Dst: dns_rdatasetiter_next
      Src: /src/bind9/lib/dns/rriterator.c:118,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:124,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:125,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/rriterator.c:126,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rriterator.c:134,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:136,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rriterator.c:140,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/rriterator.c:145,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rriterator.c:150,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/rriterator.c:151,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:152,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rriterator.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 155
    functionName: dns_rriterator_nextrrset
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 2
    functionsReached:
    - dns_rdatasetiter_first
    - dns_rdatasetiter_next
    - dns_rdatasetiter_current
    - dns_dbiterator_next
    - dns_rdataset_isassociated
    - dns_fixedname_name
    - dns_rdataset_disassociate
    - dns_dbiterator_current
    - REQUIRE
    - dns_db_allrdatasets
    - dns_rdataset_first
    - dns_db_detachnode
    - VALID_RRITERATOR
    - dns_rdatasetiter_destroy
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rriterator_nextrrset(dns_rriterator_t *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:159,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:159,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:164,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:165,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:166,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rriterator.c:168,1
    - Dst: dns_rriterator_nextrrset
      Src: /src/bind9/lib/dns/rriterator.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 173
    functionName: dns_rriterator_next
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_next
    - dns_rriterator_nextrrset
    - INSIST
    - REQUIRE
    - VALID_RRITERATOR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rriterator_next(dns_rriterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:177,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:177,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rriterator.c:178,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/rriterator.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: dns_rriterator_pause
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - VALID_RRITERATOR
    - REQUIRE
    - dns_dbiterator_pause
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void dns_rriterator_pause(dns_rriterator_t *it)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:183,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:183,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rriterator.c:184,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rriterator.c:185,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:188,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:191,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/rriterator.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: dns_rriterator_destroy
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - dns_dbiterator_destroy
    - dns_rdataset_isassociated
    - dns_rdataset_disassociate
    - REQUIRE
    - dns_db_detachnode
    - VALID_RRITERATOR
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void dns_rriterator_destroy(dns_rriterator_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:200,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:200,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:203,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:205,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rriterator.c:208,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rriterator.c:209,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/rriterator.c:211,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/rriterator.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - it
    - name
    - ttl
    - rdataset
    - rdata
    argTypes:
    - dns_rriterator_t*
    - dns_name_t**
    - uint32_t*
    - dns_rdataset_t**
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: dns_rriterator_current
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 5
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_rdataset_current
    - dns_fixedname_name
    - REQUIRE
    - VALID_RRITERATOR
    - dns_rdata_reset
    linkageType: ''
    returnType: void
    signature: "void dns_rriterator_current(dns_rriterator_t *it, dns_name_t **name,
      uint32_t *ttl,\n\t\t       dns_rdataset_t **rdataset, dns_rdata_t **rdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: VALID_CACHE
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CACHE(cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/cache.c:103,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/cache.c:111,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/cache.c:119,1
    - Dst: dns_db_setcachestats
      Src: /src/bind9/lib/dns/cache.c:124,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/lib/dns/cache.c:129,1
    - Dst: dns_db_setservestalerefresh
      Src: /src/bind9/lib/dns/cache.c:130,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/cache.c:131,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/cache.c:132,1
    - Dst: dns_db_setloop
      Src: /src/bind9/lib/dns/cache.c:138,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/cache.c:138,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:147,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:149,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 4
    argNames:
    - cache
    - dbp
    - tmctxp
    - hmctxp
    argTypes:
    - dns_cache_t*
    - dns_db_t**
    - isc_mem_t**
    - isc_mem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 153
    functionName: cache_create_db
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_db_setmaxrrperset
    - isc_mem_detach
    - dns_db_detach
    - dns_db_setservestalettl
    - dns_db_setcachestats
    - dns_db_setservestalerefresh
    - dns_db_setmaxtypepername
    - dns_db_setloop
    - isc_mem_create
    - isc_loop_main
    - dns_db_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cache_create_db(dns_cache_t *cache, dns_db_t **dbp, isc_mem_t
      **tmctxp,\n\t\tisc_mem_t **hmctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/cache.c:157,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/cache.c:158,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/cache.c:159,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:161,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:164,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/cache.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: cache_destroy
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 12
    functionsReached:
    - isc_stats_detach
    - isc_mem_free
    - isc_mem_putanddetach
    - isc_mem_detach
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void cache_destroy(dns_cache_t *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:177,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/cache.c:179,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/cache.c:182,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/cache.c:184,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/cache.c:188,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/cache.c:189,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/cache.c:191,1
    - Dst: cache_create_db
      Src: /src/bind9/lib/dns/cache.c:196,1
    - Dst: cache_destroy
      Src: /src/bind9/lib/dns/cache.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - loopmgr
    - rdclass
    - cachename
    - mctx
    - cachep
    argTypes:
    - isc_loopmgr_t*
    - dns_rdataclass_t
    - char*
    - isc_mem_t*
    - dns_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 208
    functionName: dns_cache_create
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - cache_create_db
    - cache_destroy
    - isc_mem_get
    - isc_stats_create
    - isc_mem_strdup
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_cache_create(isc_loopmgr_t *loopmgr, dns_rdataclass_t
      rdclass,\n\t\t const char *cachename, isc_mem_t *mctx, dns_cache_t **cachep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:212,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:212,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/cache.c:214,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/cache.c:217,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:218,1
    - Dst: cache_destroy
      Src: /src/bind9/lib/dns/cache.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: cache_cleanup
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - cache_destroy
    - dns_db_detach
    - isc_mem_clearwater
    - REQUIRE
    - VALID_CACHE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void cache_cleanup(dns_cache_t *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:231,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:233,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:235,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/cache.c:236,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cache
    - dbp
    argTypes:
    - dns_cache_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: dns_cache_attachdb
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 3
    functionsReached:
    - LOCK
    - dns_db_attach
    - UNLOCK
    - REQUIRE
    - VALID_CACHE
    linkageType: ''
    returnType: void
    signature: void dns_cache_attachdb(dns_cache_t *cache, dns_db_t **dbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:242,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: dns_cache_getname
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 5
    functionsReached:
    - VALID_CACHE
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_cache_getname(dns_cache_t *cache)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/cache.c:252,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/lib/dns/cache.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: updatewater
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - isc_mem_clearwater
    - isc_mem_setwater
    linkageType: ''
    returnType: void
    signature: void updatewater(dns_cache_t *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:260,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:260,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:270,1
    - Dst: updatewater
      Src: /src/bind9/lib/dns/cache.c:272,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cache
    - size
    argTypes:
    - dns_cache_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: dns_cache_setcachesize
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - LOCK
    - updatewater
    - UNLOCK
    - REQUIRE
    - VALID_CACHE
    linkageType: ''
    returnType: void
    signature: void dns_cache_setcachesize(dns_cache_t *cache, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:280,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:280,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:282,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: dns_cache_getcachesize
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - VALID_CACHE
    - LOCK
    - REQUIRE
    - UNLOCK
    linkageType: ''
    returnType: size_t
    signature: size_t dns_cache_getcachesize(dns_cache_t *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:291,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:291,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:293,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:295,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/lib/dns/cache.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - ttl
    argTypes:
    - dns_cache_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: dns_cache_setservestalettl
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - LOCK
    - UNLOCK
    - dns_db_setservestalettl
    - REQUIRE
    - VALID_CACHE
    linkageType: ''
    returnType: void
    signature: void dns_cache_setservestalettl(dns_cache_t *cache, dns_ttl_t ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:305,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:305,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/lib/dns/cache.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 313
    functionName: dns_cache_getservestalettl
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - VALID_CACHE
    - dns_db_getservestalettl
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_cache_getservestalettl(dns_cache_t *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:317,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:317,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:319,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:321,1
    - Dst: dns_db_setservestalerefresh
      Src: /src/bind9/lib/dns/cache.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - interval
    argTypes:
    - dns_cache_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: dns_cache_setservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - LOCK
    - UNLOCK
    - REQUIRE
    - dns_db_setservestalerefresh
    - VALID_CACHE
    linkageType: ''
    returnType: void
    signature: void dns_cache_setservestalerefresh(dns_cache_t *cache, dns_ttl_t interval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:331,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:331,1
    - Dst: dns_db_getservestalerefresh
      Src: /src/bind9/lib/dns/cache.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: dns_cache_getservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - dns_db_getservestalerefresh
    - VALID_CACHE
    - REQUIRE
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_cache_getservestalerefresh(dns_cache_t *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cache_create_db
      Src: /src/bind9/lib/dns/cache.c:344,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:349,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/cache.c:350,1
    - Dst: updatewater
      Src: /src/bind9/lib/dns/cache.c:355,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:358,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:360,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:361,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 365
    functionName: dns_cache_flush
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - LOCK
    - cache_create_db
    - updatewater
    - isc_mem_detach
    - dns_db_detach
    - isc_mem_clearwater
    - UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cache_flush(dns_cache_t *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/cache.c:372,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/cache.c:381,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/cache.c:382,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/cache.c:384,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/cache.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - db
    - node
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 392
    functionName: clearnode
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_db_allrdatasets
    - dns_db_deleterdataset
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t clearnode(dns_db_t *db, dns_dbnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/cache.c:381,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/cache.c:382,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/cache.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (iter)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/cache.c:406,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/cache.c:408,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/cache.c:410,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/cache.c:415,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/cache.c:417,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/cache.c:424,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/cache.c:434,1
    - Dst: clearnode
      Src: /src/bind9/lib/dns/cache.c:441,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:445,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/cache.c:446,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:457,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/cache.c:460,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:463,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - dns_db_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 467
    functionName: cleartree
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_db_findnode
    - dns_name_issubdomain
    - dns_fixedname_initname
    - dns_dbiterator_next
    - clearnode
    - dns_dbiterator_seek
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cleartree(dns_db_t *db, const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_cache_flushnode
      Src: /src/bind9/lib/dns/cache.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cache
    - name
    argTypes:
    - dns_cache_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 472
    functionName: dns_cache_flushname
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_cache_flushnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cache_flushname(dns_cache_t *cache, const dns_name_t
      *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/cache.c:480,1
    - Dst: dns_cache_flush
      Src: /src/bind9/lib/dns/cache.c:481,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:484,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/cache.c:486,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:488,1
    - Dst: cleartree
      Src: /src/bind9/lib/dns/cache.c:494,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/cache.c:496,1
    - Dst: clearnode
      Src: /src/bind9/lib/dns/cache.c:504,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:505,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:509,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - cache
    - name
    - tree
    argTypes:
    - dns_cache_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 511
    functionName: dns_cache_flushnode
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - LOCK
    - dns_db_findnode
    - dns_db_detach
    - dns_db_attach
    - dns_name_equal
    - UNLOCK
    - cleartree
    - clearnode
    - dns_cache_flush
    - dns_db_detachnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cache_flushnode(dns_cache_t *cache, const dns_name_t
      *name, bool tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:515,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: dns_cache_getstats
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - VALID_CACHE
    - REQUIRE
    linkageType: ''
    returnType: isc_stats_t
    signature: 'isc_stats_t *

      dns_cache_getstats(dns_cache_t *cache)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:521,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:521,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/cache.c:535,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/cache.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - cache
    - result
    argTypes:
    - dns_cache_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 542
    functionName: dns_cache_updatestats
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - VALID_CACHE
    - isc_stats_increment
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_cache_updatestats(dns_cache_t *cache, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:546,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:546,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/cache.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - value
    argTypes:
    - dns_cache_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: dns_cache_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - VALID_CACHE
    - dns_db_setmaxrrperset
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_cache_setmaxrrperset(dns_cache_t *cache, uint32_t value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:556,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:556,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/cache.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - value
    argTypes:
    - dns_cache_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 562
    functionName: dns_cache_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - VALID_CACHE
    - REQUIRE
    - dns_db_setmaxtypepername
    linkageType: ''
    returnType: void
    signature: void dns_cache_setmaxtypepername(dns_cache_t *cache, uint32_t value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - counter
    - val
    - arg
    argTypes:
    - isc_statscounter_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 584
    functionName: getcounter
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void getcounter(isc_statscounter_t counter, uint64_t val, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/cache.c:591,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/cache.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - stats
    - type
    - ncounters
    - indices
    - values
    argTypes:
    - isc_stats_t*
    - isc_statsformat_t
    - int
    - int*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: getcounters
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - isc_stats_dump
    - memset
    linkageType: ''
    returnType: void
    signature: "void getcounters(isc_stats_t *stats, isc_statsformat_t type, int ncounters,\n\t
      \   int *indices, uint64_t *values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:606,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:606,1
    - Dst: getcounters
      Src: /src/bind9/lib/dns/cache.c:608,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:611,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:613,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:615,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:618,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:621,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:624,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:627,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:630,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:630,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:632,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:632,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:634,1
    - Dst: dns_db_hashsize
      Src: /src/bind9/lib/dns/cache.c:634,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:637,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:637,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:640,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - cache
    - fp
    argTypes:
    - dns_cache_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 642
    functionName: dns_cache_dumpstats
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - getcounters
    - isc_mem_inuse
    - dns_db_hashsize
    - REQUIRE
    - fprintf
    - VALID_CACHE
    - dns_db_nodecount
    linkageType: ''
    returnType: void
    signature: void dns_cache_dumpstats(dns_cache_t *cache, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: TRY0
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY0(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:655,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/dns/cache.c:655,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:656,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/lib/dns/cache.c:656,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:658,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/dns/cache.c:658,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:659,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/dns/cache.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - name
    - value
    - writer
    argTypes:
    - char*
    - uint64_t
    - xmlTextWriterPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 663
    functionName: renderstat
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - xmlTextWriterEndElement
    - xmlTextWriterStartElement
    - TRY0
    - xmlTextWriterWriteAttribute
    - xmlTextWriterWriteFormatString
    linkageType: ''
    returnType: int
    signature: int renderstat(const char *name, uint64_t value, xmlTextWriterPtr writer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:672,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:672,1
    - Dst: getcounters
      Src: /src/bind9/lib/dns/cache.c:674,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:676,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:676,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:678,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:678,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:680,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:680,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:682,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:682,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:684,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:684,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:686,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:686,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:688,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:688,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:691,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:691,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:692,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:693,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:693,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:694,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:695,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:695,1
    - Dst: dns_db_hashsize
      Src: /src/bind9/lib/dns/cache.c:695,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:697,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:697,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:697,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:699,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:699,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - cache
    - writer0
    argTypes:
    - dns_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 702
    functionName: dns_cache_renderxml
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - getcounters
    - isc_mem_inuse
    - dns_db_hashsize
    - TRY0
    - REQUIRE
    - VALID_CACHE
    - dns_db_nodecount
    - renderstat
    linkageType: ''
    returnType: int
    signature: int dns_cache_renderxml(dns_cache_t *cache, void *writer0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 713
    functionName: CHECKMEM
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKMEM(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:722,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:722,1
    - Dst: getcounters
      Src: /src/bind9/lib/dns/cache.c:724,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:727,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:728,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:729,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:731,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:732,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:733,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:735,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:736,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:737,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:739,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:740,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:741,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:743,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:744,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:745,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:747,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:748,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:749,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:751,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:752,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:753,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:755,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:756,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:757,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:758,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:760,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:761,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:762,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:763,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:765,1
    - Dst: dns_db_hashsize
      Src: /src/bind9/lib/dns/cache.c:765,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:766,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:767,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:769,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:769,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:770,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:771,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:773,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:773,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:774,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 2
    argNames:
    - cache
    - cstats0
    argTypes:
    - dns_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 780
    functionName: dns_cache_renderjson
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - CHECKMEM
    - getcounters
    - isc_mem_inuse
    - dns_db_hashsize
    - REQUIRE
    - json_object_new_int64
    - json_object_object_add
    - VALID_CACHE
    - dns_db_nodecount
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cache_renderjson(dns_cache_t *cache, void *cstats0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: VALID_KEYTABLE
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_KEYTABLE(kt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: VALID_KEYNODE
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_KEYNODE(kn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/keytable.c:104,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:106,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/keytable.c:107,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:108,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:110,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:113,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/keytable.c:116,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/keytable.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - knode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 118
    functionName: destroy_keynode
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_name_free
    - ISC_LIST_UNLINK
    - isc_rwlock_destroy
    - isc_mem_put
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void destroy_keynode(dns_keynode_t *knode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:130,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:132,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/keytable.c:137,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/keytable.c:138,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/keytable.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - view
    - keytablep
    argTypes:
    - dns_view_t*
    - dns_keytable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: dns_keytable_create
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_qpmulti_create
    linkageType: ''
    returnType: void
    signature: void dns_keytable_create(dns_view_t *view, dns_keytable_t **keytablep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:151,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/keytable.c:152,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/keytable.c:153,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:155,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:157,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/keytable.c:159,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/keytable.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - keytable
    argTypes:
    - dns_keytable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 6
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: destroy_keytable
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_query
    - isc_mem_putanddetach
    - dns_qpiter_next
    - dns_qpiter_init
    - dns_qpread_destroy
    - dns_qpmulti_destroy
    - dns_keynode_detach
    linkageType: ''
    returnType: void
    signature: void destroy_keytable(dns_keytable_t *keytable)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:174,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/keytable.c:175,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:177,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keytable.c:178,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/keytable.c:180,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:182,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:184,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:187,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/keytable.c:188,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:192,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:203,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/keytable.c:204,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:211,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:212,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/keytable.c:214,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - knode
    - ds
    - mctx
    argTypes:
    - dns_keynode_t*
    - dns_rdata_ds_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 218
    functionName: add_ds
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_rdata_init
    - dns_rdata_compare
    - dns_rdatalist_init
    - dns_rdata_fromstruct
    - ISC_LIST_APPEND
    - RUNTIME_CHECK
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - isc_buffer_init
    - isc_mem_get
    - ISC_LIST_FOREACH
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void add_ds(dns_keynode_t *knode, dns_rdata_ds_t *ds, isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:231,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:233,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keytable.c:237,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/keytable.c:239,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:242,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:246,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/keytable.c:247,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:254,1
    - Dst: new_keynode
      Src: /src/bind9/lib/dns/keytable.c:265,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:267,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/keytable.c:268,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/keytable.c:270,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:271,1
    - Dst: add_ds
      Src: /src/bind9/lib/dns/keytable.c:272,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/keytable.c:276,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:278,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:279,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/keytable.c:281,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:282,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:284,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 4
    argNames:
    - qp
    - keytable
    - knode
    - ds
    argTypes:
    - dns_qp_t*
    - dns_keytable_t*
    - dns_keynode_t*
    - dns_rdata_ds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 220
    functionDepth: 12
    functionLinenumber: 220
    functionLinenumberEnd: 288
    functionName: delete_ds
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dns_rdata_fromstruct
    - new_keynode
    - RUNTIME_CHECK
    - RWUNLOCK
    - RWLOCK
    - add_ds
    - dns_keynode_detach
    - INSIST
    - isc_buffer_init
    - dns_qp_deletename
    - ISC_LIST_FOREACH
    - dns_qp_insert
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_ds(dns_qp_t *qp, dns_keytable_t *keytable, dns_keynode_t
      *knode,\n\t  dns_rdata_ds_t *ds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:300,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:300,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:301,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:303,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/keytable.c:307,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/keytable.c:308,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/keytable.c:309,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/keytable.c:311,1
    - Dst: add_ds
      Src: /src/bind9/lib/dns/keytable.c:317,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/keytable.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - name
    - ds
    - keytable
    - managed
    - initial
    argTypes:
    - dns_name_t*
    - dns_rdata_ds_t*
    - dns_keytable_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 325
    functionName: new_keynode
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_rwlock_init
    - add_ds
    - VALID_KEYTABLE
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_name_dup
    - dns_rdataset_init
    linkageType: ''
    returnType: dns_keynode_t
    signature: "dns_keynode_t *\nnew_keynode(const dns_name_t *name, dns_rdata_ds_t
      *ds,\n\t    dns_keytable_t *keytable, bool managed, bool initial)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:343,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:343,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/keytable.c:345,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/keytable.c:347,1
    - Dst: new_keynode
      Src: /src/bind9/lib/dns/keytable.c:356,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/keytable.c:357,1
    - Dst: add_ds
      Src: /src/bind9/lib/dns/keytable.c:367,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/keytable.c:372,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/keytable.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - keytable
    - managed
    - initial
    - keyname
    - ds
    - callback
    - callback_arg
    argTypes:
    - dns_keytable_t*
    - bool
    - bool
    - dns_name_t*
    - dns_rdata_ds_t*
    - dns_keytable_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 334
    functionDepth: 11
    functionLinenumber: 334
    functionLinenumberEnd: 376
    functionName: insert
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 40
    functionsReached:
    - new_keynode
    - add_ds
    - VALID_KEYTABLE
    - dns_qpmulti_commit
    - REQUIRE
    - dns_qp_insert
    - dns_qp_getname
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t insert(dns_keytable_t *keytable, bool managed, bool initial,\n
      \      const dns_name_t *keyname, dns_rdata_ds_t *ds,\n       dns_keytable_callback_t
      callback, void *callback_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:383,1
    - Dst: insert
      Src: /src/bind9/lib/dns/keytable.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - keytable
    - managed
    - initial
    - name
    - ds
    - callback
    - callback_arg
    argTypes:
    - dns_keytable_t*
    - bool
    - bool
    - dns_name_t*
    - dns_rdata_ds_t*
    - dns_keytable_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: dns_keytable_add
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 6
    functionsReached:
    - insert
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keytable_add(dns_keytable_t *keytable, bool managed,
      bool initial,\n\t\t dns_name_t *name, dns_rdata_ds_t *ds,\n\t\t dns_keytable_callback_t
      callback, void *callback_arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/bind9/lib/dns/keytable.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keytable
    - name
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: dns_keytable_marksecure
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 4
    functionsReached:
    - insert
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_keytable_marksecure(dns_keytable_t *keytable, const
      dns_name_t *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:401,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:402,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/keytable.c:404,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/keytable.c:405,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:412,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/keytable.c:414,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/keytable.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - keytable
    - keyname
    - callback
    - callback_arg
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    - dns_keytable_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 12
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: dns_keytable_delete
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 3
    functionsReached:
    - VALID_KEYTABLE
    - dns_qpmulti_commit
    - dns_qp_deletename
    - REQUIRE
    - dns_keynode_detach
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keytable_delete(dns_keytable_t *keytable, const dns_name_t
      *keyname,\n\t\t    dns_keytable_callback_t callback, void *callback_arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:432,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:433,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/keytable.c:435,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/keytable.c:436,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:444,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:446,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:450,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keytable.c:452,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/keytable.c:453,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/keytable.c:459,1
    - Dst: delete_ds
      Src: /src/bind9/lib/dns/keytable.c:465,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/keytable.c:468,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/keytable.c:469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - keytable
    - keyname
    - dnskey
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    - dns_rdata_dnskey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 420
    functionDepth: 13
    functionLinenumber: 420
    functionLinenumberEnd: 472
    functionName: dns_keytable_deletekey
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_ds_fromkeyrdata
    - dns_rdata_fromstruct
    - RWUNLOCK
    - RWLOCK
    - delete_ds
    - VALID_KEYTABLE
    - isc_buffer_init
    - dns_qpmulti_commit
    - REQUIRE
    - dns_qp_getname
    - dns_qp_compact
    - dns_qpmulti_write
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keytable_deletekey(dns_keytable_t *keytable, const
      dns_name_t *keyname,\n\t\t       dns_rdata_dnskey_t *dnskey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:481,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:483,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:485,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/keytable.c:486,1
    - Dst: dns_keynode_attach
      Src: /src/bind9/lib/dns/keytable.c:490,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - keytable
    - keyname
    - keynodep
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    - dns_keynode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 495
    functionName: dns_keytable_find
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 9
    functionsReached:
    - dns_qpmulti_query
    - dns_keynode_attach
    - VALID_KEYTABLE
    - dns_qpread_destroy
    - REQUIRE
    - dns_qp_getname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keytable_find(dns_keytable_t *keytable, const dns_name_t
      *keyname,\n\t\t  dns_keynode_t **keynodep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:509,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:509,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:510,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/keytable.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:511,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:513,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/keytable.c:514,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/keytable.c:519,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - keytable
    - name
    - foundname
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 497
    functionDepth: 9
    functionLinenumber: 497
    functionLinenumberEnd: 525
    functionName: dns_keytable_finddeepestmatch
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - VALID_KEYTABLE
    - dns_qp_lookup
    - dns_qpread_destroy
    - REQUIRE
    - dns_name_isabsolute
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keytable_finddeepestmatch(dns_keytable_t *keytable,
      const dns_name_t *name,\n\t\t\t      dns_name_t *foundname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:539,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:539,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:540,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/keytable.c:540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:541,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:543,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/keytable.c:544,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/keytable.c:549,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - keytable
    - name
    - foundname
    - wantdnssecp
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    - dns_name_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 527
    functionDepth: 9
    functionLinenumber: 527
    functionLinenumberEnd: 561
    functionName: dns_keytable_issecuredomain
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - VALID_KEYTABLE
    - dns_qp_lookup
    - dns_qpread_destroy
    - REQUIRE
    - dns_name_isabsolute
    - dns_name_copy
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keytable_issecuredomain(dns_keytable_t *keytable,
      const dns_name_t *name,\n\t\t\t    dns_name_t *foundname, bool *wantdnssecp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/keytable.c:567,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keytable.c:567,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keytable.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 81
    functionsReached:
    - strlen
    - isc_buffer_reserve
    - isc_buffer_putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putstr(isc_buffer_t **b, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:581,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:581,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:582,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/keytable.c:584,1
    - Dst: dns_keytable_totext
      Src: /src/bind9/lib/dns/keytable.c:586,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/keytable.c:588,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:589,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:591,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:593,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:594,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keytable.c:594,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/keytable.c:597,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/keytable.c:597,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/keytable.c:598,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/keytable.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - keytable
    - fp
    argTypes:
    - dns_keytable_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 602
    functionName: dns_keytable_dump
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 1
    functionsReached:
    - dns_keytable_totext
    - isc_result_totext
    - VALID_KEYTABLE
    - isc_buffer_free
    - isc_buffer_usedlength
    - isc_buffer_allocate
    - REQUIRE
    - fprintf
    - isc_buffer_base
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_keytable_dump(dns_keytable_t *keytable, FILE *fp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/keytable.c:611,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/keytable.c:612,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keytable.c:616,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/keytable.c:623,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/keytable.c:624,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:625,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/keytable.c:627,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:629,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/keytable.c:630,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:634,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:636,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/keytable.c:638,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/keytable.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - keynode
    - text
    argTypes:
    - dns_keynode_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 4
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: keynode_dslist_totext
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_keynode_dsset
    - RUNTIME_CHECK
    - RWUNLOCK
    - RWLOCK
    - dns_rdataset_current
    - dns_secalg_format
    - dns_rdataset_disassociate
    - snprintf
    - dns_name_format
    - putstr
    - dns_rdataset_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keynode_dslist_totext(dns_keynode_t *keynode, isc_buffer_t
      **text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/keytable.c:623,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/keytable.c:624,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:625,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/keytable.c:627,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:629,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/keytable.c:630,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:634,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:636,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/keytable.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 641
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - RWUNLOCK
    - RWLOCK
    - dns_rdataset_current
    - dns_secalg_format
    - dns_rdataset_disassociate
    - snprintf
    - putstr
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:654,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:654,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:655,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:657,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/keytable.c:658,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/keytable.c:660,1
    - Dst: keynode_dslist_totext
      Src: /src/bind9/lib/dns/keytable.c:663,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:670,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - keytable
    - text
    argTypes:
    - dns_keytable_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 647
    functionDepth: 6
    functionLinenumber: 647
    functionLinenumberEnd: 672
    functionName: dns_keytable_totext
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - dns_qpiter_next
    - dns_qpiter_init
    - VALID_KEYTABLE
    - dns_qpread_destroy
    - REQUIRE
    - keynode_dslist_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_keytable_totext(dns_keytable_t *keytable, isc_buffer_t
      **text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:683,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:683,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:685,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/keytable.c:686,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/keytable.c:688,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - keytable
    - arg
    argTypes:
    - dns_keytable_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 674
    functionDepth: 6
    functionLinenumber: 674
    functionLinenumberEnd: 694
    functionName: dns_keytable_forall
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_qpmulti_query
    - dns_qpiter_next
    - dns_qpiter_init
    - VALID_KEYTABLE
    - dns_qpread_destroy
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_keytable_forall(dns_keytable_t *keytable,\n\t\t    void (*func)(dns_keytable_t
      *, dns_keynode_t *,\n\t\t\t\t dns_name_t *, void *),\n\t\t    void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:700,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:700,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:701,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/keytable.c:701,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:703,1
    - Dst: keynode_clone
      Src: /src/bind9/lib/dns/keytable.c:706,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - keynode
    - rdataset
    argTypes:
    - dns_keynode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 715
    functionName: dns_keynode_dsset
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 9
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - keynode_clone
    - VALID_KEYNODE
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_keynode_dsset(dns_keynode_t *keynode, dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:721,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:721,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:723,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - keynode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 728
    functionName: dns_keynode_managed
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - REQUIRE
    - VALID_KEYNODE
    linkageType: ''
    returnType: bool
    signature: bool dns_keynode_managed(dns_keynode_t *keynode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:734,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:734,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:736,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - keynode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 741
    functionName: dns_keynode_initial
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 3
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - REQUIRE
    - VALID_KEYNODE
    linkageType: ''
    returnType: bool
    signature: bool dns_keynode_initial(dns_keynode_t *keynode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:745,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:745,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:747,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - keynode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: dns_keynode_trust
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 3
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - REQUIRE
    - VALID_KEYNODE
    linkageType: ''
    returnType: void
    signature: void dns_keynode_trust(dns_keynode_t *keynode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:768,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/keytable.c:769,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 777
    functionName: keynode_first
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - ISC_LIST_HEAD
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keynode_first(dns_rdataset_t *rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:790,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/keytable.c:791,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:792,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 799
    functionName: keynode_next
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - ISC_LIST_NEXT
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keynode_next(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:806,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/keytable.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 809
    functionName: keynode_current
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_rdata_clone
    - INSIST
    linkageType: ''
    returnType: void
    signature: void keynode_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/keytable.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 820
    functionName: keynode_clone
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: void keynode_clone(dns_rdataset_t *source, dns_rdataset_t *target DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_keynode_ref
      Src: /src/bind9/lib/dns/keytable.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 827
    functionName: qp_attach
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_keynode_ref
    linkageType: ''
    returnType: void
    signature: "void qp_attach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 834
    functionName: qp_detach
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_keynode_detach
    linkageType: ''
    returnType: void
    signature: "void qp_detach(void *uctx ISC_ATTR_UNUSED, void *pval,\n\t  uint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/keytable.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - key
    - ISC_ATTR_UNUSED
    - pval
    - ISC_ATTR_UNUSED
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: qp_makekey
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t qp_makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void
      *pval,\n\t   uint32_t ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/keytable.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 847
    functionName: qp_triename
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void qp_triename(void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - catz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: DNS_CATZ_ZONE_VALID
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CATZ_ZONE_VALID(catz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - catzs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: DNS_CATZ_ZONES_VALID
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CATZ_ZONES_VALID(catzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - entry
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DNS_CATZ_ENTRY_VALID
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CATZ_ENTRY_VALID(entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - coo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DNS_CATZ_COO_VALID
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CATZ_COO_VALID(coo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:152,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/lib/dns/catz.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - options
    argTypes:
    - dns_catz_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: dns_catz_options_init
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_ipkeylist_init
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_catz_options_init(dns_catz_options_t *options)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:170,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/lib/dns/catz.c:173,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/catz.c:176,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:179,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - options
    - mctx
    argTypes:
    - dns_catz_options_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: dns_catz_options_free
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_buffer_free
    - dns_ipkeylist_clear
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_catz_options_free(dns_catz_options_t *options, isc_mem_t *mctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:194,1
    - Dst: dns_ipkeylist_copy
      Src: /src/bind9/lib/dns/catz.c:197,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/catz.c:201,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/catz.c:205,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:209,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - mctx
    - src
    - dst
    argTypes:
    - isc_mem_t*
    - dns_catz_options_t*
    - dns_catz_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: dns_catz_options_copy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_strdup
    - isc_buffer_dup
    - REQUIRE
    - dns_ipkeylist_copy
    linkageType: ''
    returnType: void
    signature: "void dns_catz_options_copy(isc_mem_t *mctx, const dns_catz_options_t
      *src,\n\t\t      dns_catz_options_t *dst)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:220,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:221,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:222,1
    - Dst: dns_ipkeylist_copy
      Src: /src/bind9/lib/dns/catz.c:225,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/catz.c:229,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:233,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - mctx
    - defaults
    - opts
    argTypes:
    - isc_mem_t*
    - dns_catz_options_t*
    - dns_catz_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 242
    functionName: dns_catz_options_setdefault
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - dns_ipkeylist_copy
    - isc_buffer_dup
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_catz_options_setdefault(isc_mem_t *mctx, const dns_catz_options_t
      *defaults,\n\t\t\t    dns_catz_options_t *opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:247,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:249,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:253,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:254,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - mctx
    - domain
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: catz_coo_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: dns_catz_coo_t
    signature: 'dns_catz_coo_t *

      catz_coo_new(isc_mem_t *mctx, const dns_name_t *domain)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:264,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:264,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:265,1
    - Dst: DNS_CATZ_COO_VALID
      Src: /src/bind9/lib/dns/catz.c:265,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/catz.c:269,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/catz.c:272,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/catz.c:273,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:274,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - catz
    - coop
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_coo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: catz_coo_detach
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - dns_name_free
    - isc_refcount_decrement
    - DNS_CATZ_ZONE_VALID
    - REQUIRE
    - isc_mem_put
    - isc_refcount_destroy
    - DNS_CATZ_COO_VALID
    linkageType: ''
    returnType: void
    signature: void catz_coo_detach(dns_catz_zone_t *catz, dns_catz_coo_t **coop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:283,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:284,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:285,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:289,1
    - Dst: catz_coo_new
      Src: /src/bind9/lib/dns/catz.c:292,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:293,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - catz
    - entry
    - domain
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 280
    functionDepth: 4
    functionLinenumber: 280
    functionLinenumberEnd: 297
    functionName: catz_coo_add
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - INSIST
    - DNS_CATZ_ZONE_VALID
    - catz_coo_new
    - DNS_CATZ_ENTRY_VALID
    - REQUIRE
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: "void catz_coo_add(dns_catz_zone_t *catz, dns_catz_entry_t *entry,\n\t
      \    const dns_name_t *domain)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:301,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:303,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:308,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:310,1
    - Dst: dns_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:313,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - mctx
    - domain
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 317
    functionName: dns_catz_entry_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - dns_catz_options_init
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: dns_catz_entry_t
    signature: 'dns_catz_entry_t *

      dns_catz_entry_new(isc_mem_t *mctx, const dns_name_t *domain)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:321,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - dns_catz_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: dns_catz_entry_getname
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 4
    functionsReached:
    - DNS_CATZ_ENTRY_VALID
    - REQUIRE
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_catz_entry_getname(dns_catz_entry_t *entry)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:327,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:327,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:328,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:328,1
    - Dst: dns_catz_entry_new
      Src: /src/bind9/lib/dns/catz.c:330,1
    - Dst: dns_catz_options_copy
      Src: /src/bind9/lib/dns/catz.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - catz
    - entry
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: dns_catz_entry_copy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - DNS_CATZ_ZONE_VALID
    - DNS_CATZ_ENTRY_VALID
    - dns_catz_options_copy
    - REQUIRE
    - dns_catz_entry_new
    linkageType: ''
    returnType: dns_catz_entry_t
    signature: 'dns_catz_entry_t *

      dns_catz_entry_copy(dns_catz_zone_t *catz, const dns_catz_entry_t *entry)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:340,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:341,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/catz.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - entry
    - entryp
    argTypes:
    - dns_catz_entry_t*
    - dns_catz_entry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: dns_catz_entry_attach
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    - DNS_CATZ_ENTRY_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_catz_entry_attach(dns_catz_entry_t *entry, dns_catz_entry_t
      **entryp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:351,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:352,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:352,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/catz.c:356,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/catz.c:359,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:360,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/catz.c:361,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:362,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - catz
    - entryp
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: dns_catz_entry_detach
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 2
    functionsReached:
    - dns_name_dynamic
    - dns_name_free
    - dns_catz_options_free
    - isc_refcount_decrement
    - DNS_CATZ_ZONE_VALID
    - DNS_CATZ_ENTRY_VALID
    - REQUIRE
    - isc_mem_put
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void dns_catz_entry_detach(dns_catz_zone_t *catz, dns_catz_entry_t
      **entryp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:370,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:370,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/catz.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - dns_catz_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 374
    functionName: dns_catz_entry_validate
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - DNS_CATZ_ENTRY_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_catz_entry_validate(const dns_catz_entry_t *entry)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:380,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:380,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:381,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:381,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/catz.c:391,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/catz.c:406,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/catz.c:422,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:436,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:437,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/catz.c:438,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:451,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:452,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/catz.c:453,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - ea
    - eb
    argTypes:
    - dns_catz_entry_t*
    - dns_catz_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 459
    functionName: dns_catz_entry_cmp
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_name_equal
    - memcmp
    - DNS_CATZ_ENTRY_VALID
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: bool
    signature: bool dns_catz_entry_cmp(const dns_catz_entry_t *ea, const dns_catz_entry_t
      *eb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:463,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: dns_catz_zone_getname
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_CATZ_ZONE_VALID
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_catz_zone_getname(dns_catz_zone_t *catz)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:470,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: dns_catz_zone_getdefoptions
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_CATZ_ZONE_VALID
    linkageType: ''
    returnType: dns_catz_options_t
    signature: 'dns_catz_options_t *

      dns_catz_zone_getdefoptions(dns_catz_zone_t *catz)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:477,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:477,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:479,1
    - Dst: dns_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: dns_catz_zone_resetdefoptions
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - dns_catz_options_free
    - REQUIRE
    - dns_catz_options_init
    - DNS_CATZ_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_catz_zone_resetdefoptions(dns_catz_zone_t *catz)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:503,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:503,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:504,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:504,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:506,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:516,1
    - Dst: dns_catz_options_copy
      Src: /src/bind9/lib/dns/catz.c:517,1
    - Dst: dns_catz_options_setdefault
      Src: /src/bind9/lib/dns/catz.c:519,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:522,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:524,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:525,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:526,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:527,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:533,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:534,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:540,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:541,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:542,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:553,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/lib/dns/catz.c:554,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:562,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:567,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:569,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:570,1
    - Dst: dns_catz_options_setdefault
      Src: /src/bind9/lib/dns/catz.c:573,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/catz.c:577,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/lib/dns/catz.c:578,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/lib/dns/catz.c:588,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:590,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:591,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:595,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/catz.c:598,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:600,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:602,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:604,1
    - Dst: delzone
      Src: /src/bind9/lib/dns/catz.c:609,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:612,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:617,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:620,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:621,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/catz.c:623,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:627,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:644,1
    - Dst: catz_entry_add_or_mod
      Src: /src/bind9/lib/dns/catz.c:651,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:657,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:658,1
    - Dst: catz_entry_add_or_mod
      Src: /src/bind9/lib/dns/catz.c:662,1
    - Dst: dns_catz_entry_cmp
      Src: /src/bind9/lib/dns/catz.c:667,1
    - Dst: catz_entry_add_or_mod
      Src: /src/bind9/lib/dns/catz.c:668,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:678,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/dns/catz.c:679,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:680,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:682,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:683,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:688,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:689,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:692,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:694,1
    - Dst: delzone
      Src: /src/bind9/lib/dns/catz.c:695,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:697,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:700,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:701,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:703,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:704,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:706,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:706,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:707,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:709,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:710,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:713,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:715,1
    - Dst: addzone
      Src: /src/bind9/lib/dns/catz.c:716,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:718,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:722,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:725,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:726,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:729,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:731,1
    - Dst: modzone
      Src: /src/bind9/lib/dns/catz.c:732,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:734,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:738,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:751,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:752,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:753,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:757,1
    - Dst: catz_coo_detach
      Src: /src/bind9/lib/dns/catz.c:758,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:760,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:761,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:764,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:764,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:765,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:773,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:774,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:775,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:776,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:778,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 117
    argCount: 2
    argNames:
    - catz
    - newcatz
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 781
    functionName: dns__catz_zones_merge
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - modzone
    - isc_ht_destroy
    - UNLOCK
    - dns_zone_detach
    - addzone
    - isc_log_write
    - REQUIRE
    - isc_ht_iter_destroy
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_delcurrent_next
    - dns_catz_options_setdefault
    - dns_catz_options_free
    - isc_ht_iter_create
    - isc_ht_delete
    - DNS_CATZ_ZONE_VALID
    - isc_ht_iter_next
    - dns_name_format
    - dns_view_findzone
    - catz_entry_add_or_mod
    - dns_catz_entry_cmp
    - isc_ht_iter_currentkey
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - INSIST
    - dns_catz_entry_getname
    - dns_zone_get_parentcatz
    - dns_catz_options_copy
    - isc_ht_init
    - isc_ht_iter_current
    - catz_coo_detach
    - dns_name_equal
    - isc_result_totext
    - isc_ht_count
    - delzone
    - dns_catz_entry_detach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns__catz_zones_merge(dns_catz_zone_t *catz, dns_catz_zone_t
      *newcatz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:786,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:787,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:788,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:790,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/catz.c:795,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:796,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:797,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/catz.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - mctx
    - loopmgr
    - zmm
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - dns_catz_zonemodmethods_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 783
    functionDepth: 3
    functionLinenumber: 783
    functionLinenumberEnd: 801
    functionName: dns_catz_zones_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - isc_mem_get
    - isc_refcount_init
    - isc_ht_init
    - REQUIRE
    linkageType: ''
    returnType: dns_catz_zones_t
    signature: "dns_catz_zones_t *\ndns_catz_zones_new(isc_mem_t *mctx, isc_loopmgr_t
      *loopmgr,\n\t\t   dns_catz_zonemodmethods_t *zmm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:805,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 808
    functionName: dns_catz_zones_get_udata
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: 'void *

      dns_catz_zones_get_udata(dns_catz_zones_t *catzs)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:812,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:812,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:813,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/catz.c:813,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:815,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/catz.c:815,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/catz.c:818,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/catz.c:820,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/catz.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - catzs
    - view
    argTypes:
    - dns_catz_zones_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 823
    functionName: dns_catz_catzs_set_view
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - DNS_VIEW_VALID
    - REQUIRE
    - dns_view_weakattach
    - strcmp
    - dns_view_weakdetach
    linkageType: ''
    returnType: void
    signature: void dns_catz_catzs_set_view(dns_catz_zones_t *catzs, dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:827,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:827,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:828,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:828,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:830,1
    - Dst: dns_catz_zones_attach
      Src: /src/bind9/lib/dns/catz.c:835,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/catz.c:836,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:837,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:838,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:839,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/catz.c:840,1
    - Dst: dns_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:841,1
    - Dst: dns_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:842,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:843,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - catzs
    - name
    argTypes:
    - dns_catz_zones_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 847
    functionName: dns_catz_zone_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - dns_catz_zones_attach
    - isc_mutex_init
    - isc_mem_get
    - isc_refcount_init
    - REQUIRE
    - isc_ht_init
    - dns_catz_options_init
    - ISC_MAGIC_VALID
    - isc_time_settoepoch
    - dns_name_dup
    - dns_name_init
    linkageType: ''
    returnType: dns_catz_zone_t
    signature: 'dns_catz_zone_t *

      dns_catz_zone_new(dns_catz_zones_t *catzs, const dns_name_t *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:855,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:855,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/catz.c:857,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/catz.c:858,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:863,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:864,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/catz.c:870,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/catz.c:872,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/catz.c:875,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/catz.c:877,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/catz.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 849
    functionDepth: 4
    functionLinenumber: 849
    functionLinenumberEnd: 880
    functionName: dns__catz_timer_start
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_timer_create
    - DNS_CATZ_ZONE_VALID
    - isc_loop
    - isc_log_write
    - isc_time_now
    - REQUIRE
    - isc_timer_start
    - dns_name_format
    - isc_time_microdiff
    linkageType: ''
    returnType: void
    signature: void dns__catz_timer_start(dns_catz_zone_t *catz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:885,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:885,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/catz.c:887,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/catz.c:888,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 882
    functionDepth: 2
    functionLinenumber: 882
    functionLinenumberEnd: 892
    functionName: dns__catz_timer_stop
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_timer_destroy
    - isc_timer_stop
    - DNS_CATZ_ZONE_VALID
    - dns_catz_zone_detach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns__catz_timer_stop(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:897,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:898,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:899,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:905,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:906,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:907,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:909,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:915,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:916,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:916,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:918,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:922,1
    - Dst: dns_catz_zone_new
      Src: /src/bind9/lib/dns/catz.c:927,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:929,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:931,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/catz.c:934,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:937,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 3
    argNames:
    - catzs
    - name
    - catzp
    argTypes:
    - dns_catz_zones_t*
    - dns_name_t*
    - dns_catz_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 942
    functionName: dns_catz_zone_add
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_ht_find
    - DNS_CATZ_ZONES_VALID
    - UNREACHABLE
    - LOCK
    - ISC_LOG_DEBUG
    - INSIST
    - dns_catz_zone_new
    - UNLOCK
    - isc_log_write
    - atomic_load
    - REQUIRE
    - ISC_MAGIC_VALID
    - isc_ht_add
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_catz_zone_add(dns_catz_zones_t *catzs, const dns_name_t
      *name,\n\t\t  dns_catz_zone_t **catzp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:949,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:950,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:950,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:952,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:954,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:957,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - catzs
    - name
    argTypes:
    - dns_catz_zones_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 944
    functionDepth: 4
    functionLinenumber: 944
    functionLinenumberEnd: 965
    functionName: dns_catz_zone_get
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_ht_find
    - DNS_CATZ_ZONES_VALID
    - LOCK
    - UNLOCK
    - REQUIRE
    - ISC_MAGIC_VALID
    linkageType: ''
    returnType: dns_catz_zone_t
    signature: 'dns_catz_zone_t *

      dns_catz_zone_get(dns_catz_zones_t *catzs, const dns_name_t *name)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:972,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/catz.c:974,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 967
    functionDepth: 2
    functionLinenumber: 967
    functionLinenumberEnd: 978
    functionName: dns__catz_zone_shutdown
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_catz_zone_detach
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns__catz_zone_shutdown(dns_catz_zone_t *catz)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:987,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:988,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:989,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:993,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:994,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:996,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:997,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1000,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:1000,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:1001,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:1006,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:1007,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:1008,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:1012,1
    - Dst: catz_coo_detach
      Src: /src/bind9/lib/dns/catz.c:1013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1015,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:1016,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1019,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:1019,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:1020,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/catz.c:1023,1
    - Dst: isc_timer_async_destroy
      Src: /src/bind9/lib/dns/catz.c:1026,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:1031,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/catz.c:1033,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/catz.c:1035,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1038,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:1040,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:1041,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:1042,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/catz.c:1044,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:1046,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 980
    functionDepth: 5
    functionLinenumber: 980
    functionLinenumberEnd: 1047
    functionName: dns__catz_zone_destroy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - isc_ht_destroy
    - isc_ht_iter_destroy
    - dns_db_updatenotify_unregister
    - isc_ht_iter_first
    - isc_ht_iter_delcurrent_next
    - dns_db_detach
    - dns_catz_options_free
    - isc_ht_iter_create
    - isc_mutex_destroy
    - INSIST
    - isc_timer_async_destroy
    - isc_ht_iter_current
    - catz_coo_detach
    - dns_catz_zones_detach
    - isc_ht_count
    - dns_catz_entry_detach
    - isc_mem_put
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dns__catz_zone_destroy(dns_catz_zone_t *catz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1051,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:1051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1052,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/catz.c:1055,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/catz.c:1057,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/catz.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1060
    functionName: dns__catz_zones_destroy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - REQUIRE
    - atomic_load
    - dns_view_weakdetach
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dns__catz_zones_destroy(dns_catz_zones_t *catzs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1064,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:1064,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/catz.c:1066,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:1072,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:1076,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:1077,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:1080,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:1081,1
    - Dst: dns__catz_zone_shutdown
      Src: /src/bind9/lib/dns/catz.c:1082,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1084,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:1085,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1086,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:1086,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:1087,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:1089,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1062
    functionDepth: 4
    functionLinenumber: 1062
    functionLinenumberEnd: 1090
    functionName: dns_catz_zones_shutdown
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 2
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_delcurrent_next
    - isc_ht_destroy
    - isc_ht_iter_create
    - INSIST
    - UNLOCK
    - dns__catz_zone_shutdown
    - isc_ht_count
    - REQUIRE
    - isc_ht_iter_destroy
    - atomic_compare_exchange_strong
    - isc_ht_iter_current
    linkageType: ''
    returnType: void
    signature: void dns_catz_zones_shutdown(dns_catz_zones_t *catzs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/catz.c:1114,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/catz.c:1117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - option
    - opt
    argTypes:
    - dns_label_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1123
    functionName: catz_opt_cmp
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool catz_opt_cmp(const dns_label_t *option, const char *opt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1127,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1129,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1131,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1132,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1135,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1137,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1139,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - option
    argTypes:
    - dns_label_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1146
    functionName: catz_get_option
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - catz_opt_cmp
    linkageType: ''
    returnType: catz_opt_t
    signature: catz_opt_t catz_get_option(const dns_label_t *option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1154,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1155,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1156,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1156,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1158,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1164,1
    - Dst: catz_process_zones_entry
      Src: /src/bind9/lib/dns/catz.c:1167,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1169,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1170,1
    - Dst: catz_process_zones_suboption
      Src: /src/bind9/lib/dns/catz.c:1171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - catz
    - value
    - name
    argTypes:
    - dns_catz_zone_t*
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1173
    functionName: catz_process_zones
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - dns_name_getlabel
    - DNS_CATZ_ZONE_VALID
    - REQUIRE
    - catz_process_zones_suboption
    - catz_process_zones_entry
    - ISC_MAGIC_VALID
    - DNS_RDATASET_VALID
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_zones(dns_catz_zone_t *catz, dns_rdataset_t
      *value,\n\t\t   dns_name_t *name)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1183,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1185,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1185,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1196,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1197,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1205,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1210,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1211,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1213,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1218,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:1223,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1230,1
    - Dst: catz_coo_add
      Src: /src/bind9/lib/dns/catz.c:1235,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - catz
    - mhash
    - value
    argTypes:
    - dns_catz_zone_t*
    - dns_label_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1175
    functionDepth: 5
    functionLinenumber: 1175
    functionLinenumberEnd: 1241
    functionName: catz_process_coo
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - dns_name_countlabels
    - isc_ht_find
    - dns_rdataset_current
    - DNS_CATZ_ZONE_VALID
    - catz_coo_add
    - dns_rdata_freestruct
    - isc_log_write
    - dns_rdataset_first
    - REQUIRE
    - dns_rdataset_count
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_coo(dns_catz_zone_t *catz, dns_label_t *mhash,\n\t\t
      dns_rdataset_t *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1255,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1256,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1264,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1269,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1270,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1272,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:1277,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1280,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1282,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:1285,1
    - Dst: dns_catz_entry_new
      Src: /src/bind9/lib/dns/catz.c:1288,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:1290,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1293,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - catz
    - value
    - mhash
    argTypes:
    - dns_catz_zone_t*
    - dns_rdataset_t*
    - dns_label_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1243
    functionDepth: 4
    functionLinenumber: 1243
    functionLinenumberEnd: 1298
    functionName: catz_process_zones_entry
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - isc_ht_find
    - dns_name_countlabels
    - dns_rdataset_current
    - INSIST
    - dns_rdata_freestruct
    - isc_log_write
    - dns_rdataset_first
    - dns_catz_entry_new
    - dns_rdataset_count
    - dns_name_dup
    - isc_ht_add
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_zones_entry(dns_catz_zone_t *catz, dns_rdataset_t
      *value,\n\t\t\t dns_label_t *mhash)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1309,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1309,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1310,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1310,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1316,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1317,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1325,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1330,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1331,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1333,1
    - Dst: dns_rdata_txt_first
      Src: /src/bind9/lib/dns/catz.c:1338,1
    - Dst: dns_rdata_txt_current
      Src: /src/bind9/lib/dns/catz.c:1343,1
    - Dst: dns_rdata_txt_next
      Src: /src/bind9/lib/dns/catz.c:1348,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1357,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/catz.c:1359,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1367,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1369,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - catz
    - value
    argTypes:
    - dns_catz_zone_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1376
    functionName: catz_process_version
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdata_tostruct
    - memmove
    - isc_parse_uint32
    - dns_rdataset_current
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - dns_rdata_txt_next
    - isc_log_write
    - dns_rdataset_first
    - REQUIRE
    - dns_rdataset_count
    - DNS_RDATASET_VALID
    - dns_rdata_txt_first
    - dns_rdata_txt_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t catz_process_version(dns_catz_zone_t *catz, dns_rdataset_t
      *value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1392,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1392,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1394,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1395,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/catz.c:1395,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1396,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1396,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1399,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1400,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1401,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/catz.c:1402,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1419,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1420,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1421,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1424,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1425,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1426,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1427,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1430,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1431,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1432,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1434,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1437,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1438,1
    - Dst: dns_rdata_txt_first
      Src: /src/bind9/lib/dns/catz.c:1440,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1442,1
    - Dst: dns_rdata_txt_current
      Src: /src/bind9/lib/dns/catz.c:1446,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1448,1
    - Dst: dns_rdata_txt_next
      Src: /src/bind9/lib/dns/catz.c:1452,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1454,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:1459,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1460,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1461,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1463,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/catz.c:1464,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:1467,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:1468,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/catz.c:1483,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1493,1
    - Dst: dns_ipkeylist_resize
      Src: /src/bind9/lib/dns/catz.c:1497,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:1499,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1501,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:1502,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1507,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/catz.c:1516,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1520,1
    - Dst: dns_ipkeylist_resize
      Src: /src/bind9/lib/dns/catz.c:1522,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1526,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1531,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1532,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1533,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1535,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1537,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1538,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1539,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1541,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 108
    argCount: 4
    argNames:
    - catz
    - ipkl
    - value
    - name
    argTypes:
    - dns_catz_zone_t*
    - dns_ipkeylist_t*
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1378
    functionDepth: 5
    functionLinenumber: 1378
    functionLinenumberEnd: 1548
    functionName: catz_process_primaries
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - dns_name_free
    - dns_rdataset_current
    - dns_rdata_txt_next
    - dns_rdataset_first
    - REQUIRE
    - dns_name_fromstring
    - dns_name_dup
    - dns_rdata_tostruct
    - dns_rdataset_isassociated
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - isc_sockaddr_fromin
    - ISC_MAGIC_VALID
    - dns_name_compare
    - DNS_RDATASET_VALID
    - dns_rdata_txt_current
    - dns_rdatatype_isaddr
    - RUNTIME_CHECK
    - isc_mem_get
    - dns_ipkeylist_resize
    - dns_rdata_txt_first
    - isc_buffer_init
    - isc_sockaddr_fromin6
    - isc_mem_put
    - dns_rdataset_count
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_primaries(dns_catz_zone_t *catz, dns_ipkeylist_t
      *ipkl,\n\t\t       dns_rdataset_t *value, dns_name_t *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1526,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1531,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1532,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1533,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1535,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1537,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1538,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1539,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1546
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 9
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - isc_sockaddr_fromin6
    - dns_rdata_freestruct
    - isc_sockaddr_fromin
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH (value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1561,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1561,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1562,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1563,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1564,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1565,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/catz.c:1565,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1571,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1572,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1577,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1578,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1579,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1580,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1581,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/catz.c:1585,1
    - Dst: dns_rdata_apl_first
      Src: /src/bind9/lib/dns/catz.c:1586,1
    - Dst: dns_rdata_apl_next
      Src: /src/bind9/lib/dns/catz.c:1587,1
    - Dst: dns_rdata_apl_current
      Src: /src/bind9/lib/dns/catz.c:1589,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1590,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1591,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1593,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1596,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1598,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/catz.c:1603,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/catz.c:1605,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/catz.c:1606,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1607,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/catz.c:1611,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/catz.c:1612,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1614,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:1625,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1627,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - catz
    - aclbp
    - value
    argTypes:
    - dns_catz_zone_t*
    - isc_buffer_t**
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1550
    functionDepth: 3
    functionLinenumber: 1550
    functionLinenumberEnd: 1629
    functionName: catz_process_apl
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - memmove
    - memset
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_log_write
    - dns_rdataset_first
    - REQUIRE
    - isc_buffer_allocate
    - isc_netaddr_totext
    - dns_rdata_tostruct
    - isc_netaddr_fromin
    - dns_rdataset_isassociated
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - DNS_RDATASET_VALID
    - RUNTIME_CHECK
    - isc_buffer_free
    - isc_buffer_putuint8
    - dns_rdata_apl_next
    - dns_rdata_apl_first
    - isc_buffer_reserve
    - dns_rdata_apl_current
    - isc_buffer_printf
    - isc_netaddr_fromin6
    - dns_rdataset_count
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_apl(dns_catz_zone_t *catz, isc_buffer_t
      **aclbp,\n\t\t dns_rdataset_t *value)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1641,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1641,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1643,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1644,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1644,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1646,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1651,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1652,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1663,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1664,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:1671,1
    - Dst: dns_catz_entry_new
      Src: /src/bind9/lib/dns/catz.c:1674,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:1675,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1678,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1680,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1681,1
    - Dst: catz_process_coo
      Src: /src/bind9/lib/dns/catz.c:1684,1
    - Dst: catz_process_primaries
      Src: /src/bind9/lib/dns/catz.c:1686,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1692,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1697,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - catz
    - value
    - mhash
    - name
    argTypes:
    - dns_catz_zone_t*
    - dns_rdataset_t*
    - dns_label_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1631
    functionDepth: 6
    functionLinenumber: 1631
    functionLinenumberEnd: 1704
    functionName: catz_process_zones_suboption
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_ht_find
    - dns_name_countlabels
    - dns_name_split
    - catz_process_primaries
    - catz_process_coo
    - catz_process_apl
    - dns_name_getlabel
    - INSIST
    - DNS_CATZ_ZONE_VALID
    - REQUIRE
    - catz_get_option
    - dns_catz_entry_new
    - ISC_MAGIC_VALID
    - DNS_RDATASET_VALID
    - isc_ht_add
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_zones_suboption(dns_catz_zone_t *catz, dns_rdataset_t
      *value,\n\t\t\t     dns_label_t *mhash, dns_name_t *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:1711,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1714,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:1717,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:1720,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/dns/catz.c:1721,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 9
    argNames:
    - catz
    - ht
    - key
    - keysize
    - nentry
    - oentry
    - msg
    - zname
    - czname
    argTypes:
    - dns_catz_zone_t*
    - isc_ht_t*
    - unsigned char*
    - size_t
    - dns_catz_entry_t*
    - dns_catz_entry_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1706
    functionDepth: 5
    functionLinenumber: 1706
    functionLinenumberEnd: 1724
    functionName: catz_entry_add_or_mod
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - isc_ht_delete
    - isc_result_totext
    - isc_log_write
    - dns_catz_entry_detach
    - isc_ht_add
    linkageType: ''
    returnType: void
    signature: "void catz_entry_add_or_mod(dns_catz_zone_t *catz, isc_ht_t *ht, unsigned
      char *key,\n\t\t      size_t keysize, dns_catz_entry_t *nentry,\n\t\t      dns_catz_entry_t
      *oentry, const char *msg,\n\t\t      const char *zname, const char *czname)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1734,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1734,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1735,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1735,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1736,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1736,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1738,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1743,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1744,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1755,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1756,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1759,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1760,1
    - Dst: catz_process_zones
      Src: /src/bind9/lib/dns/catz.c:1764,1
    - Dst: catz_process_primaries
      Src: /src/bind9/lib/dns/catz.c:1766,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1772,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1778,1
    - Dst: catz_process_version
      Src: /src/bind9/lib/dns/catz.c:1784,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - catz
    - name
    - rdataset
    argTypes:
    - dns_catz_zone_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1726
    functionDepth: 6
    functionLinenumber: 1726
    functionLinenumberEnd: 1788
    functionName: catz_process_value
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - catz_process_primaries
    - catz_process_apl
    - catz_process_version
    - dns_name_getlabel
    - DNS_CATZ_ZONE_VALID
    - REQUIRE
    - catz_get_option
    - ISC_MAGIC_VALID
    - DNS_RDATASET_VALID
    - catz_process_zones
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t catz_process_value(dns_catz_zone_t *catz, dns_name_t
      *name,\n\t\t   dns_rdataset_t *rdataset)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1810,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1810,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1811,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1811,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1814,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/catz.c:1821,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1824,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1829,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1830,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1831,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1836,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1847,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1848,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1849,1
    - Dst: catz_process_value
      Src: /src/bind9/lib/dns/catz.c:1850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - catz
    - src_name
    - rdataset
    argTypes:
    - dns_catz_zone_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1799
    functionDepth: 7
    functionLinenumber: 1799
    functionLinenumberEnd: 1853
    functionName: dns__catz_update_process
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_countlabels
    - dns_name_split
    - catz_process_value
    - RUNTIME_CHECK
    - dns_rdataset_current
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - dns_name_fullcompare
    - isc_log_write
    - REQUIRE
    - dns_rdataset_first
    - ISC_MAGIC_VALID
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__catz_update_process(dns_catz_zone_t *catz, const
      dns_name_t *src_name,\n\t\t\t dns_rdataset_t *rdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/catz.c:1861,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - digest
    - digestlen
    - hash
    - hashlen
    argTypes:
    - unsigned char*
    - unsigned int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1867
    functionName: digest2hex
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t digest2hex(unsigned char *digest, unsigned int digestlen,
      char *hash,\n\t   size_t hashlen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1878,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1878,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1879,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:1879,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1880,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/catz.c:1882,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/catz.c:1883,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1886,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1887,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:1888,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1893,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:1894,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/catz.c:1904,1
    - Dst: strpbrk
      Src: /src/bind9/lib/dns/catz.c:1905,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/catz.c:1905,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/lib/dns/catz.c:1908,1
    - Dst: isc_md_type_get_size
      Src: /src/bind9/lib/dns/catz.c:1911,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/catz.c:1915,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/catz.c:1918,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1924,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1925,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:1928,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1929,1
    - Dst: isc_md
      Src: /src/bind9/lib/dns/catz.c:1935,1
    - Dst: digest2hex
      Src: /src/bind9/lib/dns/catz.c:1940,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1945,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/catz.c:1947,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1950,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:1954,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 3
    argNames:
    - catz
    - entry
    - buffer
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1869
    functionDepth: 3
    functionLinenumber: 1869
    functionLinenumberEnd: 1956
    functionName: dns_catz_generate_masterfilename
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - isc_buffer_subtract
    - isc_buffer_reserve
    - isc_buffer_putstr
    - isc_md
    - strpbrk
    - DNS_CATZ_ZONE_VALID
    - isc_md_type_get_size
    - strlen
    - isc_buffer_copyregion
    - isc_buffer_free
    - DNS_CATZ_ENTRY_VALID
    - isc_buffer_allocate
    - REQUIRE
    - isc_buffer_putuint8
    - isc_buffer_usedregion
    - isc_buffer_base
    - digest2hex
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_catz_generate_masterfilename(dns_catz_zone_t *catz,
      dns_catz_entry_t *entry,\n\t\t\t\t isc_buffer_t **buffer)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1976,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1976,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1977,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:1977,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1978,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/catz.c:1984,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1986,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:1987,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1988,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1990,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2000,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2002,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/catz.c:2010,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/catz.c:2012,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/catz.c:2013,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:2014,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2016,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/catz.c:2017,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/catz.c:2018,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2019,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2022,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:2023,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2031,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:2032,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2038,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2040,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2042,1
    - Dst: dns_catz_generate_masterfilename
      Src: /src/bind9/lib/dns/catz.c:2043,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2047,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2050,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:2051,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/catz.c:2052,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2053,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2056,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:2057,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/catz.c:2058,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2059,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2062,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:2068,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 3
    argNames:
    - catz
    - entry
    - buf
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 1965
    functionDepth: 4
    functionLinenumber: 1965
    functionLinenumberEnd: 2070
    functionName: dns_catz_generate_zonecfg
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 2
    functionsReached:
    - dns_name_totext
    - isc_sockaddr_getport
    - isc_netaddr_fromsockaddr
    - RUNTIME_CHECK
    - isc_buffer_reserve
    - isc_buffer_putstr
    - isc_buffer_copyregion
    - DNS_CATZ_ZONE_VALID
    - isc_buffer_free
    - dns_catz_generate_masterfilename
    - isc_log_write
    - DNS_CATZ_ENTRY_VALID
    - isc_buffer_allocate
    - REQUIRE
    - isc_netaddr_totext
    - dns_name_format
    - snprintf
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_catz_generate_zonecfg(dns_catz_zone_t *catz, dns_catz_entry_t
      *entry,\n\t\t\t  isc_buffer_t **buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2077,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2077,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2079,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2083,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2085,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2085,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2086,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2087,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2088,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2094,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2097,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/catz.c:2106,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2110,1
    - Dst: dns_catz_zone_ref
      Src: /src/bind9/lib/dns/catz.c:2113,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/catz.c:2114,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/catz.c:2118,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/catz.c:2121,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2072
    functionDepth: 4
    functionLinenumber: 2072
    functionLinenumberEnd: 2124
    functionName: dns__catz_timer_cb
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - LOCK
    - DNS_DB_VALID
    - isc_timer_destroy
    - isc_work_enqueue
    - dns_db_attach
    - dns_catz_zone_ref
    - INSIST
    - DNS_CATZ_ZONE_VALID
    - UNLOCK
    - isc_log_write
    - isc_time_now
    - REQUIRE
    - atomic_load
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void dns__catz_timer_cb(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2133,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2134,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2134,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2137,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/catz.c:2141,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2143,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:2148,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:2157,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/catz.c:2159,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/catz.c:2161,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/catz.c:2165,1
    - Dst: dns_db_updatenotify_register
      Src: /src/bind9/lib/dns/catz.c:2166,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/catz.c:2172,1
    - Dst: dns__catz_timer_start
      Src: /src/bind9/lib/dns/catz.c:2173,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2178,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2179,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:2180,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:2184,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/catz.c:2186,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - db
    - fn_arg
    argTypes:
    - dns_db_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2126
    functionDepth: 5
    functionLinenumber: 2126
    functionLinenumberEnd: 2193
    functionName: dns_catz_dbupdate_callback
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_ht_find
    - DNS_CATZ_ZONES_VALID
    - dns_db_currentversion
    - LOCK
    - DNS_DB_VALID
    - ISC_LOG_DEBUG
    - dns_db_detach
    - dns_db_attach
    - dns_db_updatenotify_register
    - UNLOCK
    - dns_name_format
    - dns__catz_timer_start
    - dns_name_toregion
    - isc_log_write
    - REQUIRE
    - atomic_load
    - dns_db_updatenotify_unregister
    - dns_db_closeversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_catz_dbupdate_callback(dns_db_t *db, void *fn_arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2197,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2197,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2198,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2198,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/catz.c:2200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - catzs
    argTypes:
    - dns_db_t*
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2195
    functionDepth: 4
    functionLinenumber: 2195
    functionLinenumberEnd: 2201
    functionName: dns_catz_dbupdate_unregister
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - DNS_DB_VALID
    - REQUIRE
    - dns_db_updatenotify_unregister
    linkageType: ''
    returnType: void
    signature: void dns_catz_dbupdate_unregister(dns_db_t *db, dns_catz_zones_t *catzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2205,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2206,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2206,1
    - Dst: dns_db_updatenotify_register
      Src: /src/bind9/lib/dns/catz.c:2208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - catzs
    argTypes:
    - dns_db_t*
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2203
    functionDepth: 4
    functionLinenumber: 2203
    functionLinenumberEnd: 2209
    functionName: dns_catz_dbupdate_register
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - DNS_DB_VALID
    - REQUIRE
    - dns_db_updatenotify_register
    linkageType: ''
    returnType: void
    signature: void dns_catz_dbupdate_register(dns_db_t *db, dns_catz_zones_t *catzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/dns/catz.c:2213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2211
    functionDepth: 1
    functionLinenumber: 2211
    functionLinenumberEnd: 2215
    functionName: catz_rdatatype_is_processable
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isdnssec
    linkageType: ''
    returnType: bool
    signature: bool catz_rdatatype_is_processable(const dns_rdatatype_t type)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2244,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2245,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2246,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2246,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2251,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2256,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/catz.c:2261,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2262,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2264,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:2268,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2270,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2273,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2281,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/catz.c:2288,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2291,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2294,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2298,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/catz.c:2302,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2304,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2307,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/catz.c:2311,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/catz.c:2318,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/catz.c:2320,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2321,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2324,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/catz.c:2328,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/catz.c:2330,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2331,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2335,1
    - Dst: dns_catz_zone_new
      Src: /src/bind9/lib/dns/catz.c:2339,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/catz.c:2340,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2346,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/catz.c:2351,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2353,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2356,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/catz.c:2360,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:2361,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/catz.c:2368,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/catz.c:2369,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/catz.c:2373,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2376,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2379,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/catz.c:2380,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/catz.c:2384,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/catz.c:2386,1
    - Dst: catz_rdatatype_is_processable
      Src: /src/bind9/lib/dns/catz.c:2394,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2395,1
    - Dst: dns__catz_update_process
      Src: /src/bind9/lib/dns/catz.c:2407,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2413,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/catz.c:2415,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/catz.c:2418,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2420,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2426,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2429,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/catz.c:2432,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/catz.c:2434,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/catz.c:2438,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/catz.c:2440,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/catz.c:2444,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2445,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:2446,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2448,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2457,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2462,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2473,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2474,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2479,1
    - Dst: dns__catz_zones_merge
      Src: /src/bind9/lib/dns/catz.c:2487,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2488,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2490,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2492,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2497,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:2498,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 146
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2222
    functionDepth: 8
    functionLinenumber: 2222
    functionLinenumberEnd: 2503
    functionName: dns__catz_update_cb
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - dns_db_getsoaserial
    - UNLOCK
    - dns_catz_zone_new
    - isc_log_write
    - dns_name_fromstring
    - REQUIRE
    - dns_rdataset_disassociate
    - dns__catz_update_process
    - dns_rdataset_init
    - LOCK
    - dns_fixedname_initname
    - dns_dbiterator_next
    - dns_rdataclass_format
    - DNS_CATZ_ZONE_VALID
    - dns_dbiterator_first
    - dns_name_toregion
    - dns_dbiterator_seek
    - dns_name_format
    - dns_rdatatype_format
    - dns_dbiterator_destroy
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - catz_rdatatype_is_processable
    - dns_catz_zone_detach
    - dns_db_allrdatasets
    - atomic_load
    - DNS_CATZ_ZONES_VALID
    - DNS_DB_VALID
    - dns_rdatasetiter_current
    - dns_dbiterator_pause
    - dns__catz_zones_merge
    - isc_result_totext
    - dns_dbiterator_current
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_rdatasetiter_destroy
    linkageType: ''
    returnType: void
    signature: void dns__catz_update_cb(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/catz.c:2386,1
    - Dst: catz_rdatatype_is_processable
      Src: /src/bind9/lib/dns/catz.c:2394,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2395,1
    - Dst: dns__catz_update_process
      Src: /src/bind9/lib/dns/catz.c:2407,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2413,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/catz.c:2415,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/catz.c:2418,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2420,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2426,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2385
    functionDepth: 8
    functionLinenumber: 2385
    functionLinenumberEnd: 2430
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - catz_rdatatype_is_processable
    - dns_rdataclass_format
    - isc_result_totext
    - dns_rdataset_disassociate
    - isc_log_write
    - dns_name_format
    - dns__catz_update_process
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH (rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2510,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2510,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2512,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2515,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2517,1
    - Dst: dns__catz_timer_start
      Src: /src/bind9/lib/dns/catz.c:2519,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:2522,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/catz.c:2523,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2525,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2527,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2529,1
    - Dst: dns_catz_zone_unref
      Src: /src/bind9/lib/dns/catz.c:2531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2532
      start: 2505
    functionDepth: 5
    functionLinenumber: 2505
    functionLinenumberEnd: 2532
    functionName: dns__catz_done_cb
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - LOCK
    - dns_catz_zone_unref
    - dns_db_detach
    - UNLOCK
    - DNS_CATZ_ZONE_VALID
    - isc_result_totext
    - dns__catz_timer_start
    - atomic_load
    - isc_log_write
    - REQUIRE
    - dns_name_format
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dns__catz_done_cb(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2539,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2539,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2541,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:2542,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:2543,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:2544,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:2547,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2550,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2551,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:2552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2534
    functionDepth: 3
    functionLinenumber: 2534
    functionLinenumberEnd: 2553
    functionName: dns_catz_prereconfig
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_create
    - UNLOCK
    - INSIST
    - isc_ht_iter_next
    - REQUIRE
    - isc_ht_iter_destroy
    - isc_ht_iter_current
    linkageType: ''
    returnType: void
    signature: void dns_catz_prereconfig(dns_catz_zones_t *catzs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2561,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2561,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2563,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:2564,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:2565,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:2568,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2571,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2573,1
    - Dst: dns_catz_zone_new
      Src: /src/bind9/lib/dns/catz.c:2581,1
    - Dst: dns__catz_zones_merge
      Src: /src/bind9/lib/dns/catz.c:2582,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2583,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2586,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:2586,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:2587,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2588,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:2590,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2593,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:2594,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:2595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2555
    functionDepth: 6
    functionLinenumber: 2555
    functionLinenumberEnd: 2596
    functionName: dns_catz_postreconfig
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - isc_ht_iter_first
    - LOCK
    - RUNTIME_CHECK
    - isc_ht_iter_delcurrent_next
    - dns__catz_zones_merge
    - isc_ht_iter_create
    - dns_catz_zone_new
    - INSIST
    - isc_ht_iter_next
    - UNLOCK
    - isc_ht_count
    - isc_log_write
    - dns_catz_zone_detach
    - REQUIRE
    - isc_ht_iter_destroy
    - dns_name_format
    - isc_ht_iter_current
    linkageType: ''
    returnType: void
    signature: void dns_catz_postreconfig(dns_catz_zones_t *catzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2601,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2601,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2606,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:2607,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:2608,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:2609,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:2613,1
    - Dst: cb
      Src: /src/bind9/lib/dns/catz.c:2614,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:2616,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - catz
    - cb
    - arg1
    - arg2
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_cb2
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2598
    functionDepth: 3
    functionLinenumber: 2598
    functionLinenumberEnd: 2618
    functionName: dns_catz_zone_for_each_entry2
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_ht_iter_first
    - LOCK
    - cb
    - isc_ht_iter_create
    - UNLOCK
    - DNS_CATZ_ZONE_VALID
    - isc_ht_iter_next
    - REQUIRE
    - isc_ht_iter_destroy
    - isc_ht_iter_current
    linkageType: ''
    returnType: void
    signature: "void dns_catz_zone_for_each_entry2(dns_catz_zone_t *catz, dns_catz_entry_cb2
      cb,\n\t\t\t      void *arg1, void *arg2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: DST_AS_STR
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DST_AS_STR(t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_parse.c:118,1
    - Dst: TAG_ALG
      Src: /src/bind9/lib/dns/dst_parse.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - alg
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: find_value
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - TAG_ALG
    linkageType: ''
    returnType: int
    signature: int find_value(const char *s, const unsigned int alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: find_tag
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      find_tag(const int value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_parse.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s
    - tags
    - ntags
    argTypes:
    - char*
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: find_metadata
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: int find_metadata(const char *s, const char *tags[], int ntags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_metadata
      Src: /src/bind9/lib/dns/dst_parse.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: find_timedata
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - find_metadata
    linkageType: ''
    returnType: int
    signature: int find_timedata(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_metadata
      Src: /src/bind9/lib/dns/dst_parse.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: find_numericdata
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 1
    functionsReached:
    - find_metadata
    linkageType: ''
    returnType: int
    signature: int find_numericdata(const char *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:180,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - priv
    - external
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 206
    functionName: check_rsa
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: int
    signature: int check_rsa(const dst_private_t *priv, bool external)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - priv
    - external
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 239
    functionName: check_ecdsa
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: int
    signature: int check_ecdsa(const dst_private_t *priv, bool external)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - priv
    - external
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 272
    functionName: check_eddsa
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: int
    signature: int check_eddsa(const dst_private_t *priv, bool external)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - old
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 304
    functionName: check_hmac_md5
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: int
    signature: int check_hmac_md5(const dst_private_t *priv, bool old)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - priv
    - ntags
    - alg
    argTypes:
    - dst_private_t*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 324
    functionName: check_hmac_sha
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: int
    signature: "int check_hmac_sha(const dst_private_t *priv, unsigned int ntags,\n\t
      \      unsigned int alg)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: check_rsa
      Src: /src/bind9/lib/dns/dst_parse.c:337,1
    - Dst: check_ecdsa
      Src: /src/bind9/lib/dns/dst_parse.c:340,1
    - Dst: check_eddsa
      Src: /src/bind9/lib/dns/dst_parse.c:343,1
    - Dst: check_hmac_md5
      Src: /src/bind9/lib/dns/dst_parse.c:345,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:347,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:349,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:351,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:353,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 4
    argNames:
    - priv
    - alg
    - old
    - external
    argTypes:
    - dst_private_t*
    - unsigned int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 359
    functionName: check_data
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - check_hmac_sha
    - check_eddsa
    - check_rsa
    - check_hmac_md5
    - check_ecdsa
    linkageType: ''
    returnType: int
    signature: "int check_data(const dst_private_t *priv, const unsigned int alg,
      bool old,\n\t   bool external)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/dst_parse.c:372,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_parse.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - mctx
    argTypes:
    - dst_private_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 376
    functionName: dst__privstruct_free
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - isc_mem_put
    - memset
    linkageType: ''
    returnType: void
    signature: void dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_parse.c:390,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dst_parse.c:393,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:414,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_parse.c:416,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:416,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:422,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:423,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/dst_parse.c:428,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:428,1
    - Dst: dst_key_setprivateformat
      Src: /src/bind9/lib/dns/dst_parse.c:441,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_parse.c:443,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:448,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_parse.c:450,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:450,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:456,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:458,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_parse.c:464,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/dst_parse.c:473,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_parse.c:487,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:487,1
    - Dst: find_numericdata
      Src: /src/bind9/lib/dns/dst_parse.c:493,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:493,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_parse.c:495,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:497,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/dst_parse.c:503,1
    - Dst: find_timedata
      Src: /src/bind9/lib/dns/dst_parse.c:508,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:508,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_parse.c:510,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:512,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/dst_parse.c:518,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:518,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dst_parse.c:523,1
    - Dst: find_value
      Src: /src/bind9/lib/dns/dst_parse.c:529,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:529,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_parse.c:539,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:541,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/dst_parse.c:542,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_parse.c:547,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_parse.c:553,1
    - Dst: check_data
      Src: /src/bind9/lib/dns/dst_parse.c:563,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/dst_parse.c:577,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_parse.c:579,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 148
    argCount: 5
    argNames:
    - key
    - alg
    - lex
    - mctx
    - priv
    argTypes:
    - dst_key_t*
    - unsigned int
    - isc_lex_t*
    - isc_mem_t*
    - dst_private_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 583
    functionName: dst__privstruct_parse
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - memset
    - REQUIRE
    - isc_buffer_usedregion
    - dst_key_setprivateformat
    - dst_key_settime
    - isc_mem_put
    - dst_key_setnum
    - NEXTTOKEN
    - find_value
    - dst__privstruct_free
    - dns_time32_fromtext
    - isc_base64_tobuffer
    - find_numericdata
    - READLINE
    - dst_key_alg
    - INSIST
    - isc_mem_get
    - isc_lex_gettoken
    - isc_buffer_init
    - check_data
    - strcmp
    - sscanf
    - find_timedata
    - DST_AS_STR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst__privstruct_parse(dst_key_t *key, unsigned int alg,
      isc_lex_t *lex,\n\t\t      isc_mem_t *mctx, dst_private_t *priv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: NEXTTOKEN
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXTTOKEN(lex, opt, token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: READLINE
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READLINE(lex, opt, token)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_parse.c:603,1
    - Dst: check_data
      Src: /src/bind9/lib/dns/dst_parse.c:605,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:605,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:612,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_parse.c:613,1
    - Dst: isc_file_mode
      Src: /src/bind9/lib/dns/dst_parse.c:619,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dst_parse.c:625,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:633,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_parse.c:634,1
    - Dst: dst_key_open
      Src: /src/bind9/lib/dns/dst_parse.c:640,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dst_parse.c:645,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:652,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:654,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:654,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:656,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:658,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:661,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:664,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:667,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:670,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:673,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:676,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:679,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:682,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:685,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:688,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:691,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:694,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:697,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:700,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:703,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:706,1
    - Dst: find_tag
      Src: /src/bind9/lib/dns/dst_parse.c:713,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:717,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/dst_parse.c:718,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_parse.c:720,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_parse.c:722,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:724,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:728,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/dst_parse.c:734,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:739,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_parse.c:743,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:748,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/dst_parse.c:749,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_parse.c:751,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_parse.c:754,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:757,1
    - Dst: dst_key_close
      Src: /src/bind9/lib/dns/dst_parse.c:763,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 131
    argCount: 3
    argNames:
    - key
    - priv
    - directory
    argTypes:
    - dst_key_t*
    - dst_private_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 765
    functionName: dst__privstruct_writefile
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - dst_key_getnum
    - dst_key_gettime
    - dst_key_close
    - dst_key_alg
    - dst_key_cleanup
    - isc_buffer_init
    - dst_key_open
    - isc_file_mode
    - isc_log_write
    - REQUIRE
    - dst_key_buildfilename
    - check_data
    - dst_key_getprivateformat
    - fprintf
    - isc_base64_totext
    - dns_time32_totext
    - isc_buffer_usedregion
    - find_tag
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst__privstruct_writefile(const dst_key_t *key, const
      dst_private_t *priv,\n\t\t\t  const char *directory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: VALID_REQUESTMGR
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_REQUESTMGR(mgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - request
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: VALID_REQUEST
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_REQUEST(request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DNS_REQUEST_CONNECTING
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_REQUEST_CONNECTING(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DNS_REQUEST_SENDING
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_REQUEST_SENDING(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: DNS_REQUEST_COMPLETE
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_REQUEST_COMPLETE(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:130,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:132,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:132,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/request.c:134,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/request.c:139,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:141,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/request.c:142,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/request.c:145,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/request.c:148,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/request.c:148,1
    - Dst: dns_dispatchmgr_attach
      Src: /src/bind9/lib/dns/request.c:151,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/request.c:154,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:156,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/request.c:159,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:161,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/request.c:164,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:166,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - mctx
    - loopmgr
    - dispatchmgr
    - dispatchv4
    - dispatchv6
    - requestmgrp
    argTypes:
    - isc_mem_t*
    - isc_loopmgr_t*
    - dns_dispatchmgr_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    - dns_requestmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 170
    functionName: dns_requestmgr_create
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - dns_dispatchset_create
    - isc_mem_attach
    - ISC_LOG_DEBUG
    - isc_mem_cget
    - isc_loop_ref
    - req_log
    - isc_mem_get
    - isc_refcount_init
    - isc_loop_get
    - REQUIRE
    - ISC_LIST_INIT
    - dns_dispatchmgr_attach
    - isc_loopmgr_nloops
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_requestmgr_create(isc_mem_t *mctx, isc_loopmgr_t
      *loopmgr,\n\t\t      dns_dispatchmgr_t *dispatchmgr,\n\t\t      dns_dispatch_t
      *dispatchv4, dns_dispatch_t *dispatchv6,\n\t\t      dns_requestmgr_t **requestmgrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:175,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/request.c:177,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:178,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:178,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:180,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:184,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/request.c:187,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/request.c:187,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/lib/dns/request.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: requests_cancel
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - req_log
    - dns_requestmgr_detach
    - isc_loop_get
    - ISC_LIST_FOREACH
    - DNS_REQUEST_COMPLETE
    - isc_loop_unref
    linkageType: ''
    returnType: void
    signature: void requests_cancel(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:194,1
    - Dst: VALID_REQUESTMGR
      Src: /src/bind9/lib/dns/request.c:194,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:196,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:196,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/request.c:198,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/request.c:199,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/request.c:201,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/request.c:211,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:213,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:214,1
    - Dst: dns_requestmgr_ref
      Src: /src/bind9/lib/dns/request.c:216,1
    - Dst: requests_cancel
      Src: /src/bind9/lib/dns/request.c:220,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/request.c:224,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/request.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - requestmgr
    argTypes:
    - dns_requestmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 227
    functionName: dns_requestmgr_shutdown
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - dns_requestmgr_ref
    - synchronize_rcu
    - isc_tid
    - ISC_LOG_DEBUG
    - requests_cancel
    - isc_async_run
    - req_log
    - VALID_REQUESTMGR
    - rcu_read_unlock
    - isc_loop_get
    - REQUIRE
    - atomic_compare_exchange_strong
    - isc_loopmgr_nloops
    - rcu_read_lock
    linkageType: ''
    returnType: void
    signature: void dns_requestmgr_shutdown(dns_requestmgr_t *requestmgr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:231,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:231,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:233,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/request.c:233,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:235,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:237,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/request.c:237,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/request.c:239,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/request.c:243,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/request.c:246,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/request.c:249,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/request.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - requestmgr
    argTypes:
    - dns_requestmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 254
    functionName: requestmgr_destroy
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - req_log
    - INSIST
    - dns_dispatchmgr_detach
    - atomic_load
    - isc_mem_cput
    - isc_loopmgr_nloops
    - dns_dispatchset_destroy
    linkageType: ''
    returnType: void
    signature: void requestmgr_destroy(dns_requestmgr_t *requestmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:266,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:268,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:268,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:270,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:275,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/lib/dns/request.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 7
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: req_send
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_send
    - dns_request_ref
    - ISC_LOG_DEBUG
    - req_log
    - VALID_REQUEST
    - REQUIRE
    - isc_buffer_usedregion
    linkageType: ''
    returnType: void
    signature: void req_send(dns_request_t *request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/request.c:283,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:287,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/request.c:295,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/request.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 9
    argNames:
    - mctx
    - loop
    - cb
    - arg
    - tcp
    - connect_timeout
    - timeout
    - udptimeout
    - udpretries
    argTypes:
    - isc_mem_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - bool
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 312
    functionName: new_request
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_mem_attach
    - isc_tid
    - isc_refcount_init
    linkageType: ''
    returnType: dns_request_t
    signature: "dns_request_t *\nnew_request(isc_mem_t *mctx, isc_loop_t *loop, isc_job_cb
      cb, void *arg,\n\t    bool tcp, unsigned int connect_timeout, unsigned int timeout,\n\t
      \   unsigned int udptimeout, unsigned int udpretries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatchmgr_getblackhole
      Src: /src/bind9/lib/dns/request.c:322,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/request.c:327,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/request.c:328,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/request.c:333,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:334,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dispatchmgr
    - destaddr
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 337
    functionName: isblackholed
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - req_log
    - isc_netaddr_format
    - dns_acl_match
    - dns_dispatchmgr_getblackhole
    linkageType: ''
    returnType: bool
    signature: bool isblackholed(dns_dispatchmgr_t *dispatchmgr, const isc_sockaddr_t
      *destaddr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatch_gettcp
      Src: /src/bind9/lib/dns/request.c:346,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/request.c:351,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:352,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:352,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/lib/dns/request.c:358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - newtcp
    - requestmgr
    - srcaddr
    - destaddr
    - transport
    - dispatchp
    argTypes:
    - bool
    - dns_requestmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 339
    functionDepth: 5
    functionLinenumber: 339
    functionLinenumberEnd: 361
    functionName: tcp_dispatch
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - req_log
    - dns_dispatch_gettcp
    - dns_dispatch_createtcp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tcp_dispatch(bool newtcp, dns_requestmgr_t *requestmgr,\n\t
      \    const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *destaddr,\n\t     dns_transport_t
      *transport, dns_dispatch_t **dispatchp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:369,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/request.c:371,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/request.c:375,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/request.c:384,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/lib/dns/request.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - requestmgr
    - srcaddr
    - destaddr
    - dispatchp
    argTypes:
    - dns_requestmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 390
    functionName: udp_dispatch
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_attach
    - dns_dispatchset_get
    - isc_sockaddr_pf
    - dns_dispatch_createudp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t udp_dispatch(dns_requestmgr_t *requestmgr, const isc_sockaddr_t
      *srcaddr,\n\t     const isc_sockaddr_t *destaddr, dns_dispatch_t **dispatchp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tcp_dispatch
      Src: /src/bind9/lib/dns/request.c:399,1
    - Dst: udp_dispatch
      Src: /src/bind9/lib/dns/request.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - tcp
    - newtcp
    - requestmgr
    - srcaddr
    - destaddr
    - transport
    - dispatchp
    argTypes:
    - bool
    - bool
    - dns_requestmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 392
    functionDepth: 6
    functionLinenumber: 392
    functionLinenumberEnd: 405
    functionName: get_dispatch
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - tcp_dispatch
    - udp_dispatch
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_dispatch(bool tcp, bool newtcp, dns_requestmgr_t
      *requestmgr,\n\t     const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *destaddr,\n\t
      \    dns_transport_t *transport, dns_dispatch_t **dispatchp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:426,1
    - Dst: VALID_REQUESTMGR
      Src: /src/bind9/lib/dns/request.c:426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:427,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:428,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:430,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:433,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:436,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:436,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:436,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:441,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:441,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/request.c:443,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/request.c:445,1
    - Dst: isblackholed
      Src: /src/bind9/lib/dns/request.c:450,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:455,1
    - Dst: new_request
      Src: /src/bind9/lib/dns/request.c:465,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:468,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/request.c:469,1
    - Dst: get_dispatch
      Src: /src/bind9/lib/dns/request.c:475,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/request.c:486,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/request.c:493,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:502,1
    - Dst: dns_requestmgr_attach
      Src: /src/bind9/lib/dns/request.c:512,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/request.c:513,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:515,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/request.c:516,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:518,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:522,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:522,1
    - Dst: req_cleanup
      Src: /src/bind9/lib/dns/request.c:527,1
    - Dst: dns_request_detach
      Src: /src/bind9/lib/dns/request.c:528,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:529,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:529,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:530,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/request.c:534,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 15
    argNames:
    - requestmgr
    - msgbuf
    - srcaddr
    - destaddr
    - transport
    - tlsctx_cache
    - options
    - connect_timeout
    - timeout
    - udptimeout
    - udpretries
    - loop
    - cb
    - arg
    - requestp
    argTypes:
    - dns_requestmgr_t*
    - isc_buffer_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - isc_tlsctx_cache_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - isc_loop_t*
    - isc_job_cb
    - void*
    - dns_request_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 407
    functionDepth: 11
    functionLinenumber: 407
    functionLinenumberEnd: 536
    functionName: dns_request_createraw
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 1
    functionsReached:
    - dns_dispatch_connect
    - req_log
    - rcu_read_unlock
    - isblackholed
    - REQUIRE
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - dns_request_detach
    - dns_dispatch_add
    - new_request
    - dns_dispatch_detach
    - dns_requestmgr_attach
    - ISC_LOG_DEBUG
    - VALID_REQUESTMGR
    - req_cleanup
    - atomic_load_acquire
    - isc_sockaddr_pf
    - ISC_LIST_APPEND
    - get_dispatch
    - dns_request_ref
    - dns_request_unref
    - isc_buffer_copyregion
    - isc_result_totext
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t
      *msgbuf,\n\t\t      const isc_sockaddr_t *srcaddr,\n\t\t      const isc_sockaddr_t
      *destaddr,\n\t\t      dns_transport_t *transport,\n\t\t      isc_tlsctx_cache_t
      *tlsctx_cache, unsigned int options,\n\t\t      unsigned int connect_timeout,
      unsigned int timeout,\n\t\t      unsigned int udptimeout, unsigned int udpretries,\n\t\t
      \     isc_loop_t *loop, isc_job_cb cb, void *arg,\n\t\t      dns_request_t **requestp)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:553,1
    - Dst: VALID_REQUESTMGR
      Src: /src/bind9/lib/dns/request.c:553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:554,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:555,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:556,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:559,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:560,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:563,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:563,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:570,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:570,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/request.c:572,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/request.c:574,1
    - Dst: isblackholed
      Src: /src/bind9/lib/dns/request.c:579,1
    - Dst: new_request
      Src: /src/bind9/lib/dns/request.c:588,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/request.c:592,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/request.c:595,1
    - Dst: get_dispatch
      Src: /src/bind9/lib/dns/request.c:601,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/request.c:607,1
    - Dst: req_render
      Src: /src/bind9/lib/dns/request.c:617,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/lib/dns/request.c:620,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/request.c:621,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/request.c:622,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/request.c:630,1
    - Dst: dns_requestmgr_attach
      Src: /src/bind9/lib/dns/request.c:641,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/request.c:642,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:644,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/request.c:645,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:647,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:651,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:651,1
    - Dst: req_cleanup
      Src: /src/bind9/lib/dns/request.c:656,1
    - Dst: dns_request_detach
      Src: /src/bind9/lib/dns/request.c:657,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:658,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:658,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:659,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/request.c:662,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 16
    argNames:
    - requestmgr
    - message
    - srcaddr
    - destaddr
    - transport
    - tlsctx_cache
    - options
    - key
    - connect_timeout
    - timeout
    - udptimeout
    - udpretries
    - loop
    - cb
    - arg
    - requestp
    argTypes:
    - dns_requestmgr_t*
    - dns_message_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - isc_tlsctx_cache_t*
    - unsigned int
    - dns_tsigkey_t*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - isc_loop_t*
    - isc_job_cb
    - void*
    - dns_request_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 538
    functionDepth: 11
    functionLinenumber: 538
    functionLinenumberEnd: 665
    functionName: dns_request_create
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 12
    functionsReached:
    - dns_dispatch_connect
    - req_log
    - rcu_read_unlock
    - isblackholed
    - REQUIRE
    - req_render
    - dns_request_detach
    - dns_message_renderreset
    - dns_dispatch_add
    - new_request
    - dns_dispatch_detach
    - dns_requestmgr_attach
    - ISC_LOG_DEBUG
    - VALID_REQUESTMGR
    - req_cleanup
    - atomic_load_acquire
    - isc_sockaddr_pf
    - ISC_LIST_APPEND
    - get_dispatch
    - dns_message_getquerytsig
    - dns_message_settsigkey
    - dns_dispatch_done
    - dns_tsigkey_attach
    - dns_request_ref
    - dns_request_unref
    - isc_result_totext
    - rcu_read_lock
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_request_create(dns_requestmgr_t *requestmgr, dns_message_t
      *message,\n\t\t   const isc_sockaddr_t *srcaddr,\n\t\t   const isc_sockaddr_t
      *destaddr, dns_transport_t *transport,\n\t\t   isc_tlsctx_cache_t *tlsctx_cache,
      unsigned int options,\n\t\t   dns_tsigkey_t *key, unsigned int connect_timeout,\n\t\t
      \  unsigned int timeout, unsigned int udptimeout,\n\t\t   unsigned int udpretries,
      isc_loop_t *loop, isc_job_cb cb,\n\t\t   void *arg, dns_request_t **requestp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:677,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:679,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:679,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:684,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/request.c:693,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/dns/request.c:698,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:702,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:706,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:710,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:714,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/dns/request.c:718,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:726,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:731,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/request.c:732,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/request.c:740,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:741,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/lib/dns/request.c:746,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/request.c:747,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:749,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:752,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - message
    - bufferp
    - options
    - mctx
    argTypes:
    - dns_message_t*
    - isc_buffer_t**
    - unsigned int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 667
    functionDepth: 5
    functionLinenumber: 667
    functionLinenumberEnd: 755
    functionName: req_render
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - ISC_LOG_DEBUG
    - req_log
    - isc_buffer_copyregion
    - isc_buffer_free
    - dns_message_renderbegin
    - isc_buffer_allocate
    - REQUIRE
    - dns_message_renderreset
    - isc_buffer_usedregion
    - dns_compress_init
    - dns_message_renderend
    - dns_message_rendersection
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t req_render(dns_message_t *message, isc_buffer_t **bufferp,
      unsigned int options,\n\t   isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:759,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:759,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:760,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:760,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:762,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:767,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:767,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 769
    functionName: request_cancel
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - req_log
    - VALID_REQUEST
    - REQUIRE
    - DNS_REQUEST_COMPLETE
    linkageType: ''
    returnType: void
    signature: void request_cancel(dns_request_t *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: request_cancel
      Src: /src/bind9/lib/dns/request.c:775,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 777
    functionName: req_cancel_cb
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - request_cancel
    - dns_request_unref
    linkageType: ''
    returnType: void
    signature: void req_cancel_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:781,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:781,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:783,1
    - Dst: request_cancel
      Src: /src/bind9/lib/dns/request.c:784,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:786,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/request.c:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 779
    functionDepth: 2
    functionLinenumber: 779
    functionLinenumberEnd: 789
    functionName: dns_request_cancel
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - dns_request_ref
    - isc_tid
    - isc_async_run
    - VALID_REQUEST
    - REQUIRE
    - request_cancel
    linkageType: ''
    returnType: void
    signature: void dns_request_cancel(dns_request_t *request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:796,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:796,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:797,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:797,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:798,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:800,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:800,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/dns/request.c:802,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/request.c:803,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/request.c:807,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/dns/request.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - request
    - message
    - options
    argTypes:
    - dns_request_t*
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 791
    functionDepth: 7
    functionLinenumber: 791
    functionLinenumberEnd: 815
    functionName: dns_request_getresponse
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 12
    functionsReached:
    - isc_tid
    - ISC_LOG_DEBUG
    - dns_message_settsigkey
    - dns_message_parse
    - req_log
    - VALID_REQUEST
    - dns_tsig_verify
    - REQUIRE
    - dns_message_setquerytsig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_request_getresponse(dns_request_t *request, dns_message_t
      *message,\n\t\t\tunsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:819,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:819,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:820,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 823
    functionName: dns_request_getanswer
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_tid
    - VALID_REQUEST
    linkageType: ''
    returnType: isc_buffer_t
    signature: 'isc_buffer_t *

      dns_request_getanswer(dns_request_t *request)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:827,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:827,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:828,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: dns_request_usedtcp
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_tid
    - VALID_REQUEST
    linkageType: ''
    returnType: bool
    signature: bool dns_request_usedtcp(dns_request_t *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:835,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:835,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:840,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:840,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:842,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/request.c:843,1
    - Dst: dns_request_detach
      Src: /src/bind9/lib/dns/request.c:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - requestp
    argTypes:
    - dns_request_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 848
    functionName: dns_request_destroy
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 15
    functionsReached:
    - ISC_LOG_DEBUG
    - req_log
    - VALID_REQUEST
    - REQUIRE
    - dns_request_cancel
    - DNS_REQUEST_COMPLETE
    - dns_request_detach
    linkageType: ''
    returnType: void
    signature: void dns_request_destroy(dns_request_t **requestp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:855,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:855,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:856,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:856,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:857,1
    - Dst: DNS_REQUEST_CONNECTING
      Src: /src/bind9/lib/dns/request.c:857,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:859,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:859,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:860,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:864,1
    - Dst: req_send
      Src: /src/bind9/lib/dns/request.c:870,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:872,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 850
    functionDepth: 8
    functionLinenumber: 850
    functionLinenumberEnd: 878
    functionName: req_connected
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - req_log
    - dns_request_unref
    - isc_result_totext
    - VALID_REQUEST
    - DNS_REQUEST_CONNECTING
    - REQUIRE
    - DNS_REQUEST_COMPLETE
    - req_send
    linkageType: ''
    returnType: void
    signature: "void req_connected(isc_result_t eresult, isc_region_t *region ISC_ATTR_UNUSED,\n\t
      \     void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:885,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:885,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:886,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:886,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:887,1
    - Dst: DNS_REQUEST_SENDING
      Src: /src/bind9/lib/dns/request.c:887,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:889,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:889,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:893,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:899,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - eresult
    - ISC_ATTR_UNUSED
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 905
    functionName: req_senddone
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - DNS_REQUEST_COMPLETE
    - req_log
    - dns_request_unref
    - VALID_REQUEST
    - REQUIRE
    - DNS_REQUEST_SENDING
    linkageType: ''
    returnType: void
    signature: "void req_senddone(isc_result_t eresult, isc_region_t *region ISC_ATTR_UNUSED,\n\t
      \    void *arg)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:915,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:915,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:916,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:916,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:918,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:918,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:919,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:921,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/request.c:928,1
    - Dst: dns_dispatch_resume
      Src: /src/bind9/lib/dns/request.c:930,1
    - Dst: DNS_REQUEST_SENDING
      Src: /src/bind9/lib/dns/request.c:932,1
    - Dst: req_send
      Src: /src/bind9/lib/dns/request.c:933,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:940,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/request.c:942,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:944,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:951,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - eresult
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 907
    functionDepth: 10
    functionLinenumber: 907
    functionLinenumberEnd: 952
    functionName: req_response
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_request_usedtcp
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - req_log
    - dns_dispatch_resume
    - isc_buffer_copyregion
    - isc_result_totext
    - VALID_REQUEST
    - isc_buffer_free
    - DNS_REQUEST_SENDING
    - REQUIRE
    - isc_buffer_allocate
    - DNS_REQUEST_COMPLETE
    - req_send
    linkageType: ''
    returnType: void
    signature: void req_response(isc_result_t eresult, isc_region_t *region, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_t*::cb
      Src: /src/bind9/lib/dns/request.c:958,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: req_sendevent_cb
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_request_t*::cb
    - dns_request_unref
    linkageType: ''
    returnType: void
    signature: void req_sendevent_cb(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/request.c:964,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/request.c:965,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/request.c:969,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/request.c:972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 962
    functionDepth: 8
    functionLinenumber: 962
    functionLinenumberEnd: 974
    functionName: req_cleanup
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 2
    functionsReached:
    - dns_dispatch_detach
    - dns_dispatch_done
    - ISC_LINK_LINKED
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void req_cleanup(dns_request_t *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:978,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:978,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:979,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:979,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:980,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:980,1
    - Dst: req_cleanup
      Src: /src/bind9/lib/dns/request.c:984,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:986,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:986,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:987,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:996,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/request.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - request
    - result
    argTypes:
    - dns_request_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 976
    functionDepth: 9
    functionLinenumber: 976
    functionLinenumberEnd: 998
    functionName: req_sendevent
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - isc_tid
    - dns_request_ref
    - ISC_LOG_DEBUG
    - isc_async_run
    - req_log
    - req_cleanup
    - isc_result_totext
    - VALID_REQUEST
    - REQUIRE
    - DNS_REQUEST_COMPLETE
    linkageType: ''
    returnType: void
    signature: void req_sendevent(dns_request_t *request, isc_result_t result)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1002,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:1002,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1003,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1004,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/request.c:1004,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:1006,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:1006,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:1012,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/request.c:1012,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:1013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:1014,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:1018,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:1021,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:1024,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/request.c:1027,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/lib/dns/request.c:1030,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/request.c:1032,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1033
    functionName: req_destroy
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - dns_tsigkey_detach
    - ISC_LOG_DEBUG
    - isc_mem_putanddetach
    - ISC_LINK_LINKED
    - req_log
    - INSIST
    - VALID_REQUEST
    - isc_buffer_free
    - REQUIRE
    - dns_requestmgr_detach
    linkageType: ''
    returnType: void
    signature: void req_destroy(dns_request_t *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1037,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:1037,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1038,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1041
    functionName: dns_request_getarg
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - isc_tid
    - VALID_REQUEST
    linkageType: ''
    returnType: void
    signature: 'void *

      dns_request_getarg(dns_request_t *request)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1045,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:1045,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:1046,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1049
    functionName: dns_request_getresult
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - isc_tid
    - VALID_REQUEST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_request_getresult(dns_request_t *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/request.c:1061,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/request.c:1062,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/request.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: req_log
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 18
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    linkageType: ''
    returnType: void
    signature: void req_log(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/callbacks.c:42,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/callbacks.c:44,1
    - Dst: vfprintf
      Src: /src/bind9/lib/dns/callbacks.c:45,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/callbacks.c:46,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/callbacks.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - callbacks
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: stdio_error_warn_callback
    functionSourceFile: /src/bind9/lib/dns/callbacks.c
    functionUses: 0
    functionsReached:
    - va_end
    - UNUSED
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void stdio_error_warn_callback(dns_rdatacallbacks_t *callbacks, const
      char *fmt,\n\t\t\t  ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/callbacks.c:54,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/callbacks.c:56,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/callbacks.c:57,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/callbacks.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - callbacks
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: isclog_error_callback
    functionSourceFile: /src/bind9/lib/dns/callbacks.c
    functionUses: 0
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isclog_error_callback(dns_rdatacallbacks_t *callbacks, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/callbacks.c:66,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/callbacks.c:68,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/callbacks.c:70,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/callbacks.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - callbacks
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: isclog_warn_callback
    functionSourceFile: /src/bind9/lib/dns/callbacks.c
    functionUses: 0
    functionsReached:
    - va_start
    - isc_log_vwrite
    - va_end
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isclog_warn_callback(dns_rdatacallbacks_t *callbacks, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/callbacks.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: dns_rdatacallbacks_initcommon
    functionSourceFile: /src/bind9/lib/dns/callbacks.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdatacallbacks_initcommon(dns_rdatacallbacks_t *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_initcommon
      Src: /src/bind9/lib/dns/callbacks.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 93
    functionName: dns_rdatacallbacks_init
    functionSourceFile: /src/bind9/lib/dns/callbacks.c
    functionUses: 11
    functionsReached:
    - dns_rdatacallbacks_initcommon
    linkageType: ''
    returnType: void
    signature: void dns_rdatacallbacks_init(dns_rdatacallbacks_t *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_initcommon
      Src: /src/bind9/lib/dns/callbacks.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - callbacks
    argTypes:
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: dns_rdatacallbacks_init_stdio
    functionSourceFile: /src/bind9/lib/dns/callbacks.c
    functionUses: 2
    functionsReached:
    - dns_rdatacallbacks_initcommon
    linkageType: ''
    returnType: void
    signature: void dns_rdatacallbacks_init_stdio(dns_rdatacallbacks_t *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _data
    - ','
    - _rdtype
    - ','
    - _rdclass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: DNS_RDATACOMMON_INIT
    functionSourceFile: /src/bind9/lib/dns/rdata/rdatastructpre.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATACOMMON_INIT(_data, _rdtype, _rdclass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:35,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:35,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:38,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:38,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:39,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:41,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:45,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 48
    functionName: fromtext_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_availableregion
    - inet_pton
    - REQUIRE
    - isc_buffer_add
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_hs_a(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:54,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:56,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:58,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:60,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: totext_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - inet_totext
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_hs_a(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:70,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:72,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:73,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:74,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:76,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:77,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:85,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:86,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 89
    functionName: fromwire_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_availableregion
    - isc_buffer_activeregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_hs_a(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:99,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:101,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:105,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 108
    functionName: towire_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - UNUSED
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_hs_a(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:119,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: compare_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - memcmp
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_hs_a(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:141,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:143,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 146
    functionName: fromstruct_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - ntohl
    - UNUSED
    - REQUIRE
    - uint32_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_hs_a(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:157,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:159,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:163,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:165,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:166,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: tostruct_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - htonl
    - ISC_LINK_INIT
    - UNUSED
    - uint32_fromregion
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_hs_a(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: freestruct_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_hs_a(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:185,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: additionaldata_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_hs_a(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:197,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: digest_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_hs_a(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: checkowner_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_hs_a(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: checknames_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_hs_a(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_hs_a
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: casecompare_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - compare_hs_a
    linkageType: ''
    returnType: int
    signature: int casecompare_hs_a(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:31,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:35,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:37,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:37,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:45,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:45,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:46,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:46,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:51,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:53,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:61,1
    - Dst: isc_lex_getoctaltoken
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:61,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:63,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 24
    functionDepth: 6
    functionLinenumber: 24
    functionLinenumberEnd: 66
    functionName: fromtext_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_ishostname
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - isc_lex_getoctaltoken
    - uint16_tobuffer
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ch_a(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:77,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:78,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:79,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:81,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:82,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:84,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:85,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:86,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:86,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:87,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:91,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:91,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:94,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:94,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: totext_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - name_length
    - dns_name_totext
    - str_totext
    - RETERR
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ch_a(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:105,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:107,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:108,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:110,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:112,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:114,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:114,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:116,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:117,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:125,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:126,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: fromwire_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - REQUIRE
    - dns_name_fromwire
    - isc_buffer_add
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ch_a(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:140,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:142,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:144,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:146,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:148,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:149,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:149,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:150,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:150,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:152,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:157,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 132
    functionDepth: 6
    functionLinenumber: 132
    functionLinenumberEnd: 160
    functionName: towire_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - memmove
    - RETERR
    - isc_buffer_availableregion
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - isc_buffer_add
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ch_a(ARGS_TOWIRE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:173,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:175,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:177,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:178,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:180,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:181,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:183,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:184,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:185,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:185,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:186,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:186,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:188,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 198
    functionName: compare_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_ch_a(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:211,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:213,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:214,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:214,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:216,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: fromstruct_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    - ntohs
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ch_a(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:227,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:231,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:233,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:235,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:236,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:237,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:237,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:239,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:240,1
    - Dst: htons
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:241,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 244
    functionName: tostruct_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - htons
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ch_a(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:250,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:251,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: freestruct_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_ch_a(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:264,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:266,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:268,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: additionaldata_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ch_a(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:279,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:280,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:282,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:283,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:284,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:285,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:285,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:286,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: digest_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ch_a(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:293,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:295,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 298
    functionName: checkowner_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ch_a(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:306,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:308,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:310,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:311,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:312,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:313,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 321
    functionName: checknames_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_ch_a(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_ch_a
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: casecompare_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - compare_ch_a
    linkageType: ''
    returnType: int
    signature: int casecompare_ch_a(ARGS_COMPARE)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:29,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:39,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:39,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:45,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:50,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:50,1
    - Dst: strtoull
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:52,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:52,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:54,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:57,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:59,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:59,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:60,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:65,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:65,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:68,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:70,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:70,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:75,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:75,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:78,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:80,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:80,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:85,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:85,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:90,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:90,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:95,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:95,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:100,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:100,1
    - Dst: dns_tsigrcode_fromtext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:102,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:105,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:105,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:107,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:110,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:114,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:114,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:119,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:119,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:122,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:124,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:124,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 130
    functionName: fromtext_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_tsigrcode_fromtext
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - uint32_tobuffer
    - uint16_tobuffer
    - strtoull
    - REQUIRE
    - strtol
    - dns_name_wirefromtext
    - RETTOK
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_any_tsig(ARGS_FROMTEXT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:146,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:148,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:153,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:154,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:155,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:157,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:157,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:158,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:158,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:159,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:159,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:167,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:176,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:176,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:181,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:182,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:183,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:184,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:184,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:189,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:190,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:191,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:192,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:202,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:204,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:204,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:206,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:206,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:208,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:212,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:212,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:214,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:214,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:218,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:218,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:224,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:225,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:226,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:227,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:227,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:232,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:233,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:234,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:234,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:239,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:240,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:241,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:242,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:242,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:248,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 252
    functionName: totext_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - str_totext
    - name_length
    - RETERR
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - isc_base64_totext
    - dns_tsigrcode_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_any_tsig(ARGS_TOTEXT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:261,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:263,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:264,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:266,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:271,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:272,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:272,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:274,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:281,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:281,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:282,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:283,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:291,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:295,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:295,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:296,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:297,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:305,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:305,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:306,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:307,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:315,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:319,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 321
    functionName: fromwire_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_region_consume
    - mem_tobuffer
    - REQUIRE
    - uint16_fromregion
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_any_tsig(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:328,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:330,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:332,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:333,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:334,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:335,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:336,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:336,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:337,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:337,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 323
    functionDepth: 6
    functionLinenumber: 323
    functionLinenumberEnd: 339
    functionName: towire_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_any_tsig(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:354,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:356,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:357,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:358,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:359,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:360,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:361,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:362,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:366,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:366,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:367,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:367,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: compare_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_region_compare
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_any_tsig(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:377,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:380,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:382,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:383,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:388,1
    - Dst: name_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:388,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:390,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:398,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:398,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:399,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:399,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:405,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:405,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:410,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:410,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:415,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:415,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:417,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:425,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:425,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:430,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:430,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:435,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:435,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 371
    functionDepth: 4
    functionLinenumber: 371
    functionLinenumberEnd: 441
    functionName: fromstruct_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_availableregion
    - uint32_tobuffer
    - mem_tobuffer
    - uint16_tobuffer
    - name_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_any_tsig(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:451,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:456,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:458,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:463,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:464,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:465,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:466,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:468,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:468,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:473,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:479,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:484,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:485,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:490,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:491,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:496,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:497,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:498,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:503,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:504,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:509,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:510,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:515,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:516,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:521,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 526
    functionName: tostruct_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - name_duporclone
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_any_tsig(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:532,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:534,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:540,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:542,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 548
    functionName: freestruct_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_any_tsig(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:552,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:553,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:555,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:556,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:557,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 561
    functionName: additionaldata_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_any_tsig(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:565,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:566,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:568,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:569,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 573
    functionName: digest_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_any_tsig(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:578,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:580,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:581,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:582,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: checkowner_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_any_tsig(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:590,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:591,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:593,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:594,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 598
    functionName: checknames_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_any_tsig(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_any_tsig
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 600
    functionDepth: 4
    functionLinenumber: 600
    functionLinenumberEnd: 603
    functionName: casecompare_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - compare_any_tsig
    linkageType: ''
    returnType: int
    signature: int casecompare_any_tsig(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:27,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:28,1
    - Dst: generic_fromtext_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: fromtext_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_https(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:35,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:36,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:37,1
    - Dst: generic_totext_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: totext_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_totext_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_https(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:44,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:45,1
    - Dst: generic_fromwire_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: fromwire_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_fromwire_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_https(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:52,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:53,1
    - Dst: generic_towire_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: towire_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_towire_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_https(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:68,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:70,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:71,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: compare_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_https(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:81,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:84,1
    - Dst: generic_fromstruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: fromstruct_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_https(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:93,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:96,1
    - Dst: generic_tostruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: tostruct_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_https(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:107,1
    - Dst: generic_freestruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: freestruct_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_https(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:115,1
    - Dst: generic_additionaldata_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: additionaldata_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_additionaldata_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_https(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:125,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: digest_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_https(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: checkowner_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_https(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:147,1
    - Dst: generic_checknames_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: checknames_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - generic_checknames_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_https(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_https
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: casecompare_in_https
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 0
    functionsReached:
    - compare_in_https
    linkageType: ''
    returnType: int
    signature: int casecompare_in_https(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:161,1
    - Dst: generic_rdata_in_svcb_first
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - https
    argTypes:
    - dns_rdata_in_https_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: dns_rdata_in_https_first
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_rdata_in_svcb_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_in_https_first(dns_rdata_in_https_t *https)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:170,1
    - Dst: generic_rdata_in_svcb_next
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - https
    argTypes:
    - dns_rdata_in_https_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: dns_rdata_in_https_next
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_rdata_in_svcb_next
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_in_https_next(dns_rdata_in_https_t *https)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:180,1
    - Dst: generic_rdata_in_svcb_current
      Src: /src/bind9/lib/dns/rdata/in_1/https_65.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - https
    - region
    argTypes:
    - dns_rdata_in_https_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: dns_rdata_in_https_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/https_65.c
    functionUses: 1
    functionsReached:
    - generic_rdata_in_svcb_current
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_in_https_current(dns_rdata_in_https_t *https, isc_region_t
      *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:61,1
    - Dst: commatxt_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_textregion_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: alpn_fromtxt
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - RETERR
    - commatxt_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t alpn_fromtxt(isc_textregion_t *source, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a1
    - a2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: svckeycmp
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int svckeycmp(const void *a1, const void *a2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:79,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:80,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:81,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:82,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - target
    - used
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: svcsortkeylist
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedregion
    - qsort
    - INSIST
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t svcsortkeylist(isc_buffer_t *target, unsigned int used)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:99,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:130,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:150,1
    - Dst: validate_dohpath
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:158,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 2
    argNames:
    - key
    - region
    argTypes:
    - uint16_t
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 171
    functionName: svcb_validate
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - validate_dohpath
    - ARRAY_SIZE
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t svcb_validate(uint16_t key, isc_region_t *region)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:184,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:185,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:186,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:191,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:196,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:199,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:211,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:219,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:226,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:228,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:228,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:229,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - region
    - sep
    - value
    - target
    argTypes:
    - isc_textregion_t*
    - char
    - uint16_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 231
    functionName: svc_keyfromregion
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - ARRAY_SIZE
    - strncmp
    - strtoul
    - RETERR
    - strlen
    - uint16_tobuffer
    - isc_textregion_consume
    - strncasecmp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t svc_keyfromregion(isc_textregion_t *region, char sep,
      uint16_t *value,\n\t\t  isc_buffer_t *target)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:246,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:247,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:248,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:258,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:258,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:259,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:262,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:262,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:267,1
    - Dst: multitxt_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:267,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:270,1
    - Dst: alpn_fromtxt
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:270,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:273,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:276,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:283,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:283,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:287,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:289,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:292,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:295,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:298,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:303,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:305,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:308,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:311,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:314,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:318,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:318,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:329,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:331,1
    - Dst: svc_keyfromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:331,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:334,1
    - Dst: svcsortkeylist
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:334,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:337,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:340,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:341,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:342,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:342,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:348,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:349,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:350,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:351,1
    - Dst: svcb_validate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:351,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:359,1
    - Dst: svc_keyfromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:359,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:361,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:361,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:363,1
    - Dst: svcb_validate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:365,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:368,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:368,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:369,1
    - Dst: multitxt_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:369,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:370,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:370,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:371,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:371,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:373,1
    - Dst: svcb_validate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:375,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 111
    argCount: 2
    argNames:
    - region
    - target
    argTypes:
    - isc_textregion_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 376
    functionName: svc_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - svc_keyfromregion
    - snprintf
    - UNREACHABLE
    - multitxt_fromtext
    - mem_tobuffer
    - isc_base64_decodestring
    - svcsortkeylist
    - ARRAY_SIZE
    - alpn_fromtxt
    - strtoul
    - RETERR
    - strchr
    - strlen
    - inet_pton
    - isc_buffer_used
    - strncmp
    - svcb_validate
    - uint16_tobuffer
    - isc_textregion_consume
    - isc_buffer_usedlength
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t svc_fromtext(isc_textregion_t *region, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:384,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:390,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - value
    - encoding
    - buf
    - len
    - compat
    argTypes:
    - unsigned short
    - enum encoding*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: svcparamkey
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ARRAY_SIZE
    - INSIST
    linkageType: ''
    returnType: char
    signature: "char *\nsvcparamkey(unsigned short value, enum encoding *encoding,
      char *buf,\n\t    size_t len, bool compat)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:403,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:410,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:411,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:423,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:424,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:425,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:426,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:427,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:455,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:456,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:457,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:458,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:459,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:489,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:490,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:492,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:518,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:519,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:532,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:534,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:535,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:547,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 2
    argNames:
    - target
    - used
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 550
    functionName: svcsortkeys
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_usedlength
    - uint16_fromregion
    - isc_region_consume
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t svcsortkeys(isc_buffer_t *target, unsigned int used)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:560,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:562,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:563,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:564,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:569,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:569,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:572,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:574,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:574,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:581,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:581,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:583,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:588,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:588,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:589,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:589,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:592,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:595,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:598,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:604,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:606,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:606,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:611,1
    - Dst: svcsortkeys
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:612,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:619,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:621,1
    - Dst: svc_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:621,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 552
    functionDepth: 6
    functionLinenumber: 552
    functionLinenumberEnd: 623
    functionName: generic_fromtext_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - svc_fromtext
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - svcsortkeys
    - dns_name_ishostname
    - uint16_tobuffer
    - dns_name_towire
    - warn_badname
    - isc_buffer_usedlength
    - RETTOK
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromtext_in_svcb(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:628,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:629,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:630,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:631,1
    - Dst: generic_fromtext_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 625
    functionDepth: 7
    functionLinenumber: 625
    functionLinenumberEnd: 634
    functionName: fromtext_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_fromtext_in_svcb
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_svcb(ARGS_FROMTEXT)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:647,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:649,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:650,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:652,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:657,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:658,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:659,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:660,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:661,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:661,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:666,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:667,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:667,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:668,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:670,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:670,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:676,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:676,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:678,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:679,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:680,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:681,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:681,1
    - Dst: svcparamkey
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:682,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:685,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:686,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:687,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:689,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:692,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:697,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:697,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:702,1
    - Dst: multitxt_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:702,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:705,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:706,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:707,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:708,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:709,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:709,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:710,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:714,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:715,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:716,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:716,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:717,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:719,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:719,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:725,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:726,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:727,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:727,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:728,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:730,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:730,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:735,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:735,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:738,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:739,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:739,1
    - Dst: commatxt_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:741,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:743,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:743,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:746,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:746,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:749,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:753,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:754,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:755,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:755,1
    - Dst: svcparamkey
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:755,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:760,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:760,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:765,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 100
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 636
    functionDepth: 3
    functionLinenumber: 636
    functionLinenumberEnd: 769
    functionName: generic_totext_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_totext
    - inet_ntop
    - snprintf
    - REQUIRE
    - commatxt_totext
    - str_totext
    - UNREACHABLE
    - dns_name_fromregion
    - name_prefix
    - name_length
    - multitxt_totext
    - RETERR
    - INSIST
    - uint16_fromregion
    - isc_base64_totext
    - svcparamkey
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_in_svcb(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:773,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:774,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:775,1
    - Dst: generic_totext_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 778
    functionName: totext_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_totext_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_svcb(ARGS_TOTEXT)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:787,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:788,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:790,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:792,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:797,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:801,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:801,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:802,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:807,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:807,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:812,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:823,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:823,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:824,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:825,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:845,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:846,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:871,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:871,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:872,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:873,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:890,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:891,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:901,1
    - Dst: svcb_validate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:901,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:902,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:902,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:903,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:904,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 915
    functionName: generic_fromwire_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_decompress_setpermitted
    - svcb_validate
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_region_consume
    - mem_tobuffer
    - uint16_fromregion
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromwire_in_svcb(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:919,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:920,1
    - Dst: generic_fromwire_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 917
    functionDepth: 5
    functionLinenumber: 917
    functionLinenumberEnd: 923
    functionName: fromwire_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_fromwire_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_svcb(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:930,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:932,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:937,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:938,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:938,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:939,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:944,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:945,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:946,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:946,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:947,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:947,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 925
    functionDepth: 6
    functionLinenumber: 925
    functionLinenumberEnd: 953
    functionName: generic_towire_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_towire_in_svcb(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:957,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:958,1
    - Dst: generic_towire_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 955
    functionDepth: 7
    functionLinenumber: 955
    functionLinenumberEnd: 961
    functionName: towire_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_towire_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_svcb(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:968,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:969,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:970,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:971,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:973,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:975,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:976,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 979
    functionName: compare_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_svcb(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:986,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:987,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:988,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:990,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:991,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:993,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:993,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:994,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:995,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:995,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 998
    functionName: generic_fromstruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - mem_tobuffer
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromstruct_in_svcb(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1005,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1006,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1007,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1008,1
    - Dst: generic_fromstruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1011
    functionName: fromstruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_fromstruct_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_svcb(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1019,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1020,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1024,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1026,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1028,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1029,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1031,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1032,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1033,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1034,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1034,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1036,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1013
    functionDepth: 3
    functionLinenumber: 1013
    functionLinenumberEnd: 1044
    functionName: generic_tostruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_tostruct_in_svcb(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1053,1
    - Dst: generic_tostruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1046
    functionDepth: 4
    functionLinenumber: 1046
    functionLinenumberEnd: 1056
    functionName: tostruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_tostruct_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_svcb(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1062,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1068,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1071
    functionName: generic_freestruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void generic_freestruct_in_svcb(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1077,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1078,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1079,1
    - Dst: generic_freestruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1082
    functionName: freestruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_freestruct_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_svcb(ARGS_FREESTRUCT)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1093,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1094,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1095,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1096,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1098,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1100,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1104,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1105,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1117,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1118,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1120,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1122,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1124,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1129,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1131,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1133,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1134,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1135,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1139,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1155,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1161,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1162,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1084
    functionDepth: 4
    functionLinenumber: 1084
    functionLinenumberEnd: 1167
    functionName: generic_additionaldata_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_fixedname_initname
    - RETERR
    - dns_rdataset_current
    - dns_name_equal
    - dns_rdataset_init
    - dns_rdataset_isassociated
    - dns_name_ishostname
    - dns_name_clone
    - dns_rdataset_disassociate
    - dns_rdataset_first
    - uint16_fromregion
    - isc_region_consume
    - dns_name_copy
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_additionaldata_in_svcb(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1172,1
    - Dst: generic_additionaldata_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1169
    functionDepth: 5
    functionLinenumber: 1169
    functionLinenumberEnd: 1175
    functionName: additionaldata_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_additionaldata_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_svcb(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1182,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: digest_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_svcb(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1193,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1199
    functionName: checkowner_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_svcb(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1207,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1209,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1210,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1211,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1212,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1213,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1214,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1215,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1201
    functionDepth: 3
    functionLinenumber: 1201
    functionLinenumberEnd: 1222
    functionName: generic_checknames_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - INSIST
    - dns_name_ishostname
    - dns_name_clone
    - uint16_fromregion
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool generic_checknames_in_svcb(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1227,1
    - Dst: generic_checknames_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 4
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: checknames_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - generic_checknames_in_svcb
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_svcb(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1232
    functionDepth: 3
    functionLinenumber: 1232
    functionLinenumberEnd: 1235
    functionName: casecompare_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - compare_in_svcb
    linkageType: ''
    returnType: int
    signature: int casecompare_in_svcb(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1244
    functionName: generic_rdata_in_svcb_first
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_rdata_in_svcb_first(dns_rdata_in_svcb_t *svcb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1257,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1258,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1259,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1263
    functionName: generic_rdata_in_svcb_next
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - uint16_fromregion
    - INSIST
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_rdata_in_svcb_next(dns_rdata_in_svcb_t *svcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1269,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1273,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1274,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1275,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - svcb
    - region
    argTypes:
    - dns_rdata_in_svcb_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1265
    functionDepth: 2
    functionLinenumber: 1265
    functionLinenumberEnd: 1279
    functionName: generic_rdata_in_svcb_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - uint16_fromregion
    - INSIST
    - isc_region_consume
    linkageType: ''
    returnType: void
    signature: void generic_rdata_in_svcb_current(dns_rdata_in_svcb_t *svcb, isc_region_t
      *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1285,1
    - Dst: generic_rdata_in_svcb_first
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1288
    functionName: dns_rdata_in_svcb_first
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_rdata_in_svcb_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_in_svcb_first(dns_rdata_in_svcb_t *svcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1293,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1294,1
    - Dst: generic_rdata_in_svcb_next
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1290
    functionDepth: 3
    functionLinenumber: 1290
    functionLinenumberEnd: 1297
    functionName: dns_rdata_in_svcb_next
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_rdata_in_svcb_next
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_in_svcb_next(dns_rdata_in_svcb_t *svcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1304,1
    - Dst: generic_rdata_in_svcb_current
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - svcb
    - region
    argTypes:
    - dns_rdata_in_svcb_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1299
    functionDepth: 3
    functionLinenumber: 1299
    functionLinenumberEnd: 1307
    functionName: dns_rdata_in_svcb_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - generic_rdata_in_svcb_current
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_rdata_in_svcb_current(dns_rdata_in_svcb_t *svcb, isc_region_t
      *region)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:23,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:30,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: fromtext_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - isc_hex_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_nimloc(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:39,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:40,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:41,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:43,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:46,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:46,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:49,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:51,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:55,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: totext_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - REQUIRE
    - isc_hex_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_nimloc(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:65,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:67,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:69,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:76,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:76,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: fromwire_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_nimloc(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:87,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: towire_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_nimloc(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:102,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:104,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:105,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: compare_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_nimloc(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:121,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: fromstruct_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_nimloc(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:134,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:138,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:140,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: tostruct_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_nimloc(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:153,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: freestruct_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_nimloc(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:168,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:170,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:171,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:172,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: additionaldata_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_nimloc(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:183,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: digest_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_nimloc(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:193,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:196,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: checkowner_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_nimloc(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: checknames_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_nimloc(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_nimloc
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: casecompare_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - compare_in_nimloc
    linkageType: ''
    returnType: int
    signature: int casecompare_in_nimloc(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:33,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:33,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:36,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:40,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 42
    functionName: fromtext_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_nsap_ptr(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:51,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:52,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:53,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:55,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:56,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:58,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:59,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:61,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: totext_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_nsap_ptr(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:71,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:73,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:74,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:76,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:78,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: fromwire_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_nsap_ptr(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:89,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:91,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:92,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:93,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:94,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 6
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: towire_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_nsap_ptr(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:107,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:111,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:113,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:114,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:116,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:117,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:119,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:120,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 123
    functionName: compare_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_in_nsap_ptr(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:137,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:139,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: fromstruct_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_nsap_ptr(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:152,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:156,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:158,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:159,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:160,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:161,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: tostruct_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_nsap_ptr(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:173,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: freestruct_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_nsap_ptr(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:188,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: additionaldata_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_nsap_ptr(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:202,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:204,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:205,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:206,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: digest_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_nsap_ptr(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: checkowner_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_nsap_ptr(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:227,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:229,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 234
    functionName: checknames_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_nsap_ptr(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_nsap_ptr
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 4
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: casecompare_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - compare_in_nsap_ptr
    linkageType: ''
    returnType: int
    signature: int casecompare_in_nsap_ptr(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: init_lock
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    linkageType: ''
    returnType: void
    signature: void init_lock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:37,1
    - Dst: getprotobyname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:38,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - proto
    argTypes:
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: mygetprotobyname
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - getprotobyname
    - LOCK
    - UNLOCK
    linkageType: ''
    returnType: bool
    signature: bool mygetprotobyname(const char *name, long *proto)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:50,1
    - Dst: getservbyname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:51,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:53,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - name
    - proto
    - port
    argTypes:
    - char*
    - char*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: mygetservbyname
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - ntohs
    - LOCK
    - getservbyname
    - UNLOCK
    linkageType: ''
    returnType: bool
    signature: bool mygetservbyname(const char *name, const char *proto, long *port)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:78,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:79,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:80,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:81,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:82,1
    - Dst: isc_once_do
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:84,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:89,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:89,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:92,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:93,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:93,1
    - Dst: CHECKTOK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:94,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:99,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:100,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:105,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:105,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:108,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:108,1
    - Dst: mygetprotobyname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:109,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:109,1
    - Dst: CHECKTOK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:110,1
    - Dst: CHECKTOK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:114,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:123,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:123,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:125,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:127,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:127,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:137,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:137,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:138,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:140,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:140,1
    - Dst: mygetservbyname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:141,1
    - Dst: mygetservbyname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:142,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:142,1
    - Dst: CHECKTOK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:144,1
    - Dst: CHECKTOK
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:147,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:158,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:161,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 165
    functionName: fromtext_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - memmove
    - memset
    - strlcpy
    - isc_buffer_availableregion
    - REQUIRE
    - mem_tobuffer
    - mygetservbyname
    - isc_lex_ungettoken
    - uint8_tobuffer
    - UNUSED
    - isc_once_do
    - inet_pton
    - strtol
    - mygetprotobyname
    - CHECKTOK
    - isc_ascii_strtolower
    - isc_lex_getmastertoken
    - DNS_AS_STR
    - CHECK
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_wks(ARGS_FROMTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:178,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:180,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:181,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:181,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:182,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:184,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:185,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:186,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:187,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:187,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:188,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:190,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:196,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:198,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:199,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 207
    functionName: totext_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - inet_totext
    - INSIST
    - snprintf
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_wks(ARGS_TOTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:219,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:221,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:222,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:237,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:238,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:239,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: fromwire_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_availableregion
    - isc_buffer_activeregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_wks(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:250,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:252,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:254,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: towire_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_wks(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:264,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:267,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:268,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:270,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:271,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: compare_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_wks(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:281,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:285,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:289,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:291,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:292,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:292,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:293,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:293,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 295
    functionName: fromstruct_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - ntohl
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_wks(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:304,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:306,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:310,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:312,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:313,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:314,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:315,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:316,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:317,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: tostruct_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - htonl
    - mem_maybedup
    - ISC_LINK_INIT
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_wks(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:328,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:330,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 340
    functionName: freestruct_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_wks(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:345,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:347,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:348,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:349,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: additionaldata_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_wks(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:359,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:360,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: digest_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_wks(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:369,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:370,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:372,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:373,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: checkowner_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_wks(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:380,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:381,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:383,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:384,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 388
    functionName: checknames_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_wks(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_wks
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: casecompare_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - compare_in_wks
    linkageType: ''
    returnType: int
    signature: int casecompare_in_wks(ARGS_COMPARE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:30,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:40,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:40,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:47,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:49,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:52,1
    - Dst: hexvalue
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:55,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:61,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:61,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:66,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:69,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 72
    functionName: fromtext_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - mem_tobuffer
    - isc_textregion_consume
    - REQUIRE
    - hexvalue
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_nsap(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:79,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:81,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:83,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:85,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:86,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:86,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:88,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:90,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: totext_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - snprintf
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_nsap(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:103,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:104,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:106,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:111,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:111,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: fromwire_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_nsap(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:122,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: towire_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_nsap(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:137,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:139,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:140,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: compare_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_nsap(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:153,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:155,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:156,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: fromstruct_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_nsap(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:169,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:173,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:175,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: tostruct_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_nsap(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:188,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: freestruct_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_nsap(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: additionaldata_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_nsap(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:218,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: digest_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_nsap(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:231,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: checkowner_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_nsap(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:241,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:243,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:244,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: checknames_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_nsap(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_nsap
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: casecompare_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - compare_in_nsap
    linkageType: ''
    returnType: int
    signature: int casecompare_in_nsap(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:33,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:33,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:38,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:38,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:40,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:40,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:42,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:46,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: fromtext_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - uint16_tobuffer
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_kx(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:59,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:60,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:61,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:63,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:64,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:66,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:67,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:68,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:70,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:70,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:72,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:72,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:74,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:75,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: totext_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_kx(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:86,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:88,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:89,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:91,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:93,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:95,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:99,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:99,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:100,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: fromwire_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_kx(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:111,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:113,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:114,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:115,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:115,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:116,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:118,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:119,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 6
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: towire_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_kx(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:137,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:139,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:144,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:145,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:147,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:148,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:150,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:151,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:153,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:154,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 157
    functionName: compare_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_in_kx(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:168,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:170,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:171,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:173,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:173,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:174,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: fromstruct_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_kx(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:187,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:191,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:193,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:194,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:196,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:197,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:199,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:200,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 204
    functionName: tostruct_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_kx(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:212,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 220
    functionName: freestruct_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_kx(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:230,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:232,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:233,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:234,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: additionaldata_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_kx(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:246,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:248,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:250,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:252,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:253,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:254,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: digest_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_kx(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:261,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:263,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:264,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: checkowner_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_kx(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:274,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:276,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:277,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: checknames_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_kx(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_kx
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: casecompare_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - compare_in_kx
    linkageType: ''
    returnType: int
    signature: int casecompare_in_kx(ARGS_COMPARE)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:37,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:38,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:42,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:48,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:53,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:55,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:58,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:60,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:62,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:64,1
    - Dst: isc_parse_uint8
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:64,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:68,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:71,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:74,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:85,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:88,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:91,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:101,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:103,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:103,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:104,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:104,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:105,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:105,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:106,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:106,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:112,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 115
    functionName: fromtext_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - strtoul
    - RETERR
    - strchr
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_parse_uint8
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - inet_pton
    - RETTOK
    - isc_lex_ungettoken
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_apl(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:133,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:135,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:140,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:141,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:142,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:144,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:147,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:148,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:149,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:152,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:152,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:155,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:156,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:157,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:158,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:159,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:159,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:163,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:164,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:165,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:166,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:167,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:167,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:173,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:174,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:175,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:175,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 180
    functionName: totext_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - str_totext
    - memmove
    - memset
    - RETERR
    - UNUSED
    - inet_totext
    - INSIST
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_apl(ARGS_TOTEXT)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:193,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:195,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:197,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:198,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:209,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:210,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:212,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:214,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:232,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:234,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 236
    functionName: fromwire_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_availableregion
    - isc_buffer_activeregion
    - mem_tobuffer
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_apl(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:243,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: towire_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_apl(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:256,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:258,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:259,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: compare_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_apl(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:268,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:273,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:275,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:276,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:277,1
    - Dst: fromwire_in_apl
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: fromstruct_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_setactive
    - fromwire_in_apl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_apl(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:287,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:289,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:293,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:295,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: tostruct_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_apl(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:307,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:308,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:309,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: freestruct_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_apl(ARGS_FREESTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:327,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:339,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - apl
    argTypes:
    - dns_rdata_in_apl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 345
    functionName: dns_rdata_apl_first
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_apl_first(dns_rdata_in_apl_t *apl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:354,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:366,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:367,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:368,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - apl
    argTypes:
    - dns_rdata_in_apl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 378
    functionName: dns_rdata_apl_next
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_apl_next(dns_rdata_in_apl_t *apl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:384,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:385,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:386,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:387,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:388,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:389,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:398,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:399,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - apl
    - ent
    argTypes:
    - dns_rdata_in_apl_t*
    - dns_rdata_apl_ent_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 417
    functionName: dns_rdata_apl_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_apl_current(dns_rdata_in_apl_t *apl, dns_rdata_apl_ent_t
      *ent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - apl
    argTypes:
    - dns_rdata_in_apl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 422
    functionName: dns_rdata_apl_count
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdata_apl_count(const dns_rdata_in_apl_t *apl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:427,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:429,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:430,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:431,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: additionaldata_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_apl(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:441,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:442,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: digest_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_apl(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:452,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:454,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:455,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:456,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: checkowner_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_apl(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:465,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:467,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:468,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: checknames_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_apl(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_apl
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: casecompare_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - compare_in_apl
    linkageType: ''
    returnType: int
    signature: int casecompare_in_apl(ARGS_COMPARE)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:31,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:37,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:38,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:41,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:53,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:53,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:57,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:59,1
    - Dst: hexvalue
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:63,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:64,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:69,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:69,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:74,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:78,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:85,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:85,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:86,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:90,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:92,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:96,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:99,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:99,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:100,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 108
    functionName: fromtext_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - mem_tobuffer
    - isc_textregion_consume
    - REQUIRE
    - hexvalue
    - RETTOK
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_atma(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:117,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:119,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:121,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:122,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:125,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:127,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:128,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:129,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:129,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:133,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:133,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:134,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:135,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: totext_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - INSIST
    - mem_tobuffer
    - snprintf
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_atma(ARGS_TOTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:152,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:154,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:161,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:166,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:166,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 169
    functionName: fromwire_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_atma(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:173,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:177,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: towire_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_atma(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:192,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:195,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: compare_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_atma(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:211,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:213,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:213,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: fromstruct_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_atma(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:223,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:224,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:225,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:229,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:231,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:233,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: tostruct_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_atma(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:246,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: freestruct_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_atma(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:261,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:263,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:264,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 269
    functionName: additionaldata_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_atma(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:276,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: digest_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_atma(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:286,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:290,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: checkowner_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_atma(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:299,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:301,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:302,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 306
    functionName: checknames_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_atma(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_atma
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: casecompare_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - compare_in_atma
    linkageType: ''
    returnType: int
    signature: int casecompare_in_atma(ARGS_COMPARE)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:35,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:38,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:39,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:45,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:45,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:48,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:52,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:52,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:65,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:65,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:67,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:67,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:68,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:72,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:72,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:79,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:79,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:81,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:86,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:86,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:87,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:87,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:91,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:94,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:97,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 23
    functionDepth: 6
    functionLinenumber: 23
    functionLinenumberEnd: 100
    functionName: fromtext_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - dns_name_ishostname
    - mem_tobuffer
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - inet_pton
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_a6(ARGS_FROMTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:116,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:118,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:120,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:121,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:122,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:123,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:123,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:124,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:124,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:128,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:129,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:134,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:134,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:135,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:142,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:142,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:143,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:144,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:145,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:146,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 149
    functionName: totext_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - memmove
    - dns_name_totext
    - memset
    - RETERR
    - inet_totext
    - INSIST
    - snprintf
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_a6(ARGS_TOTEXT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:160,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:162,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:163,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:165,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:167,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:178,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:179,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:179,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:180,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:194,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:194,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:195,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:202,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 204
    functionName: fromwire_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromwire
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_a6(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:215,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:217,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:218,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:220,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:223,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:223,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:224,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:230,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:231,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 206
    functionDepth: 6
    functionLinenumber: 206
    functionLinenumberEnd: 233
    functionName: towire_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - RETERR
    - INSIST
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_a6(ARGS_TOWIRE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:250,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:252,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:253,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:256,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:257,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:269,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:281,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:282,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:285,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:286,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:287,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:288,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 290
    functionName: compare_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_in_a6(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:304,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:305,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:307,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:308,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:314,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:314,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:323,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:323,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:327,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:327,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:336,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 338
    functionName: fromstruct_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - mem_tobuffer
    - dns_name_toregion
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_a6(ARGS_FROMSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:347,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:350,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:354,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:356,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:358,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:359,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:360,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:367,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:368,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:369,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:375,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:377,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:378,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 383
    functionName: tostruct_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - memmove
    - memset
    - ISC_LINK_INIT
    - INSIST
    - name_duporclone
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_a6(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:389,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:391,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:397,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: freestruct_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - dns_name_dynamic
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_a6(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:405,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:406,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:408,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:409,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:410,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: additionaldata_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_a6(ARGS_ADDLDATA)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:423,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:424,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:426,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:440,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:441,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:442,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 444
    functionName: digest_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_a6(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:449,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:451,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:452,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: checkowner_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_a6(ARGS_CHECKOWNER)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:463,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:464,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:466,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:468,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:469,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:473,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:474,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:475,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:476,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 483
    functionName: checknames_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_a6(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_a6
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 4
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: casecompare_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - compare_in_a6
    linkageType: ''
    returnType: int
    signature: int casecompare_in_a6(ARGS_COMPARE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:29,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:39,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:39,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:42,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:44,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:44,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:49,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:49,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:52,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:54,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:54,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:59,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:59,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:64,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:64,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:69,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:69,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:71,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:75,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:75,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:76,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:76,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:80,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:83,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 90
    functionName: fromtext_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_ishostname
    - uint16_tobuffer
    - dns_name_towire
    - REQUIRE
    - warn_badname
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_srv(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:103,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:106,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:111,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:112,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:113,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:114,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:115,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:115,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:116,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:116,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:121,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:122,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:123,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:124,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:124,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:125,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:125,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:130,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:131,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:132,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:133,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:133,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:134,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:134,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:139,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:140,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 143
    functionName: totext_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_srv(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:153,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:154,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:156,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:158,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:163,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:167,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:167,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:168,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 3
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: fromwire_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_srv(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:182,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:184,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:188,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:189,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:189,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:190,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:195,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:196,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: towire_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_srv(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:213,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:218,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:226,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:227,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:229,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:230,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:232,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:233,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:235,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:236,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 239
    functionName: compare_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_in_srv(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:250,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:252,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:253,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:255,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:255,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:256,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:256,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:257,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:257,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:258,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: fromstruct_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_srv(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:268,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:271,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:275,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:277,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:278,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:279,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:280,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:281,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:282,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:283,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:284,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:285,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:286,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 290
    functionName: tostruct_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_srv(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:298,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: freestruct_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_srv(ARGS_FREESTRUCT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:318,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:320,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:322,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:323,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:324,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:325,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:326,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:327,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:329,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:338,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:339,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:340,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:340,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:346,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:346,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:347,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 354
    functionName: additionaldata_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_concatenate
    - UNUSED
    - dns_name_equal
    - dns_fixedname_name
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_fixedname_init
    - dns_name_fromstring
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_srv(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:362,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:364,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:366,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:368,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:369,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:370,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: digest_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_srv(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:377,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:379,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:380,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:381,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 385
    functionName: checkowner_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_srv(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:392,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:393,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:395,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:397,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:398,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:399,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:400,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:401,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 408
    functionName: checknames_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_srv(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_srv
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: casecompare_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - compare_in_srv
    linkageType: ''
    returnType: int
    signature: int casecompare_in_srv(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:40,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:40,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:43,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:45,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:50,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:50,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:52,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:53,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:53,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:58,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:58,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:60,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:61,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 63
    functionName: fromtext_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - uint16_tobuffer
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_px(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:74,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:76,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:78,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:79,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:84,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:85,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:86,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:87,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:88,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:88,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:89,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:89,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:94,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:95,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:97,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:98,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:98,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:99,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:99,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:104,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:105,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: totext_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - name_length
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_px(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:116,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:119,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:121,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:123,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:128,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:132,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:132,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:133,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:138,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:138,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: fromwire_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_px(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:153,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:155,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:159,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:160,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:160,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:161,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:166,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:167,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:168,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:168,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:169,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:169,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:174,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:175,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 146
    functionDepth: 6
    functionLinenumber: 146
    functionLinenumberEnd: 177
    functionName: towire_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_px(ARGS_TOWIRE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:192,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:194,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:199,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:200,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:202,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:203,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:205,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:206,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:208,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:209,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:211,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:216,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:216,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:217,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:217,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:219,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:220,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 223
    functionName: compare_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_in_px(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:236,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:237,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:239,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:239,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:240,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:241,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:241,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:242,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 244
    functionName: fromstruct_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_px(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:255,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:259,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:261,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:262,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:264,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:265,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:267,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:269,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:270,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:271,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:271,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:273,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 278
    functionName: tostruct_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_px(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:286,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:292,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: freestruct_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_px(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:299,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:300,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:302,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:303,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:304,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: additionaldata_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_px(ARGS_ADDLDATA)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:317,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:319,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:321,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:327,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:328,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:329,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:333,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:333,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:334,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:335,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 338
    functionName: digest_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_px(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:343,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:345,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:346,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:347,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: checkowner_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_px(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:356,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:358,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:359,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: checknames_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_px(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_px
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: casecompare_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - compare_in_px
    linkageType: ''
    returnType: int
    signature: int casecompare_in_px(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:23,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:30,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: fromtext_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - isc_hex_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_eid(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:39,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:40,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:41,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:43,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:46,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:46,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:49,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:51,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:55,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: totext_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - REQUIRE
    - isc_hex_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_eid(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:65,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:67,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:69,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:76,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:76,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 79
    functionName: fromwire_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_eid(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:87,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: towire_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_eid(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:102,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:104,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:105,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: compare_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_eid(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:121,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: fromstruct_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_eid(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:134,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:138,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:140,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: tostruct_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_eid(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:153,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: freestruct_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_eid(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:168,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:170,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:171,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:172,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: additionaldata_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_eid(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:183,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: digest_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_eid(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:193,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:196,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: checkowner_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_eid(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: checknames_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_eid(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_eid
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: casecompare_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - compare_in_eid
    linkageType: ''
    returnType: int
    signature: int casecompare_in_eid(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:29,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:38,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:38,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:41,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:42,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:44,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:48,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: fromtext_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_availableregion
    - inet_pton
    - REQUIRE
    - isc_buffer_add
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_a(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:57,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:58,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:59,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:61,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:63,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: totext_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - inet_totext
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_a(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:72,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:73,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:75,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:77,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:79,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:80,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:88,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:89,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 92
    functionName: fromwire_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_availableregion
    - isc_buffer_activeregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_a(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:102,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:104,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:108,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: towire_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - memmove
    - UNUSED
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_a(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:123,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:125,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:126,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: compare_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_a(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:142,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:144,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: fromstruct_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - ntohl
    - UNUSED
    - REQUIRE
    - uint32_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_a(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:158,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:160,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:164,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:166,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:167,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 171
    functionName: tostruct_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - htonl
    - ISC_LINK_INIT
    - UNUSED
    - uint32_fromregion
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_a(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: freestruct_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_a(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: additionaldata_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_a(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:202,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: digest_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_a(ARGS_DIGEST)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:218,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:220,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:225,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:226,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:227,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:228,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:229,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:242,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:244,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:247,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:250,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:258,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 259
    functionName: checkowner_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - UNUSED
    - dns_name_equal
    - dns_name_getlabel
    - dns_name_ishostname
    - REQUIRE
    - strncasecmp
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_a(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:264,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:266,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 271
    functionName: checknames_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_a(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_a
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: casecompare_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - compare_in_a
    linkageType: ''
    returnType: int
    signature: int casecompare_in_a(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:23,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:30,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: fromtext_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_dhcid(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:41,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:42,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:43,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:49,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:52,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:52,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:54,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:54,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:58,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:58,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:63,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: totext_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - snprintf
    - isc_base64_totext
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_dhcid(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:73,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:74,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:77,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:78,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:80,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:85,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 87
    functionName: fromwire_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_dhcid(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:93,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:97,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:99,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: towire_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_dhcid(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:113,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:115,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:116,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: compare_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_dhcid(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:132,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: fromstruct_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_dhcid(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:145,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:149,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:151,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: tostruct_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_dhcid(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:164,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: freestruct_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_in_dhcid(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:183,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: additionaldata_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_dhcid(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: digest_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_dhcid(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: checkowner_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_dhcid(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: checknames_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_dhcid(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_dhcid
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: casecompare_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - compare_in_dhcid
    linkageType: ''
    returnType: int
    signature: int casecompare_in_dhcid(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:29,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:38,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:38,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:41,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:42,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:44,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:48,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: fromtext_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - memmove
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_availableregion
    - inet_pton
    - REQUIRE
    - isc_buffer_add
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_in_aaaa(ARGS_FROMTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:57,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:58,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:59,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:68,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:69,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:77,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:79,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 81
    functionName: totext_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - str_totext
    - inet_totext
    - INSIST
    - snprintf
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_in_aaaa(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:89,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:91,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:92,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:93,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:95,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:96,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:104,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:105,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 108
    functionName: fromwire_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_availableregion
    - isc_buffer_activeregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_in_aaaa(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:118,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:120,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:124,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: towire_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - memmove
    - UNUSED
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_in_aaaa(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:139,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:141,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:142,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: compare_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_in_aaaa(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:154,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:157,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: fromstruct_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_in_aaaa(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:170,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:172,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:176,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:178,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:179,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: tostruct_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISC_LINK_INIT
    - UNUSED
    - INSIST
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_in_aaaa(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: freestruct_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_in_aaaa(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: additionaldata_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_aaaa(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:214,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: digest_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_in_aaaa(ARGS_DIGEST)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:226,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:229,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:234,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:235,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:236,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:237,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:237,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:239,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:240,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 247
    functionName: checkowner_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - dns_name_countlabels
    - dns_name_split
    - UNUSED
    - dns_name_equal
    - dns_name_ishostname
    - REQUIRE
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checkowner_in_aaaa(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:252,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:254,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:255,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: checknames_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_in_aaaa(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_in_aaaa
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: casecompare_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - compare_in_aaaa
    linkageType: ''
    returnType: int
    signature: int casecompare_in_aaaa(ARGS_COMPARE)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: isc_regex_validate
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:165,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 125
    argCount: 1
    argNames:
    - txt
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 170
    functionName: txt_valid_regex
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - isc_regex_validate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t txt_valid_regex(const unsigned char *txt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:180,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:182,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:187,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:187,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:190,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:192,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:192,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:197,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:197,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:200,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:202,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:207,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:207,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:209,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:209,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:214,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:214,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:216,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:216,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:221,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:222,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:222,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:224,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:224,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:225,1
    - Dst: txt_valid_regex
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:225,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:230,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:230,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:232,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:236,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 238
    functionName: fromtext_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - txt_valid_regex
    - uint16_tobuffer
    - txt_fromtext
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    - isc_buffer_used
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_naptr(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:250,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:252,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:253,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:255,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:260,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:261,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:262,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:263,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:263,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:264,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:264,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:269,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:270,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:271,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:272,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:272,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:273,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:273,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:278,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:278,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:279,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:279,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:284,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:284,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:285,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:285,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:290,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:290,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:291,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:291,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:296,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:297,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 300
    functionName: totext_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - txt_totext
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_naptr(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:308,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:310,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:311,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:313,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:315,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:320,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:324,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:324,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:325,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:330,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:330,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:335,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:335,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:340,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:341,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:341,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:342,1
    - Dst: txt_valid_regex
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:342,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 348
    functionName: fromwire_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - txt_fromwire
    - txt_valid_regex
    - REQUIRE
    - dns_name_fromwire
    - isc_buffer_used
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_naptr(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:356,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:358,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:362,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:363,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:363,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:364,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:369,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:369,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:370,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:375,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:375,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:376,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:381,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:381,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:382,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:387,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:388,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 350
    functionDepth: 6
    functionLinenumber: 350
    functionLinenumberEnd: 390
    functionName: towire_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_naptr(ARGS_TOWIRE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:404,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:406,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:407,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:412,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:416,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:417,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:422,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:423,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:427,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:428,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:433,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:434,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:438,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:439,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:444,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:445,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:449,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:450,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:455,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:456,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:458,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:459,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 462
    functionName: compare_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_MIN
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_naptr(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:470,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:471,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:472,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:473,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:474,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:475,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:477,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:478,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:480,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:480,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:481,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:481,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:482,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:482,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:483,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:483,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:484,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:484,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:485,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:485,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:486,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:486,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:487,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:487,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:488,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 490
    functionName: fromstruct_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - mem_tobuffer
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_naptr(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:498,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:499,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:500,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:504,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:510,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:512,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:513,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:515,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:516,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:518,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:519,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:520,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:521,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:522,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:524,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:525,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:526,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:527,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:528,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:530,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:531,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:532,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:533,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:534,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:536,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:537,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:538,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 542
    functionName: tostruct_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_naptr(ARGS_TOSTRUCT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:549,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:556,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:559,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:562,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 566
    functionName: freestruct_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_naptr(ARGS_FREESTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:576,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:578,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:583,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:584,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:602,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:607,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:612,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:617,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 625
    functionName: additionaldata_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_naptr(ARGS_ADDLDATA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:634,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:636,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:644,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:651,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:658,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:665,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:680,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:681,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 684
    functionName: digest_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_naptr(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:688,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:690,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:691,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:692,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 696
    functionName: checkowner_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_naptr(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:700,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:702,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:703,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 707
    functionName: checknames_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_naptr(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_naptr
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 709
    functionDepth: 4
    functionLinenumber: 709
    functionLinenumberEnd: 712
    functionName: casecompare_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - compare_naptr
    linkageType: ''
    returnType: int
    signature: int casecompare_naptr(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:21,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_wallet(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:29,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_wallet(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:36,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_wallet(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:43,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:45,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: towire_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_wallet(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:57,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:60,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: compare_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_wallet(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:66,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: fromstruct_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_wallet(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:76,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:80,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: tostruct_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_txt
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_wallet(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:90,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: freestruct_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_txt
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_wallet(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: additionaldata_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_wallet(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:111,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: digest_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_wallet(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:122,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:123,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: checkowner_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_wallet(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: checknames_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_wallet(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_wallet
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: casecompare_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - compare_wallet
    linkageType: ''
    returnType: int
    signature: int casecompare_wallet(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:149,1
    - Dst: generic_txt_first
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - dns_rdata_wallet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: dns_rdata_wallet_first
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_txt_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_wallet_first(dns_rdata_wallet_t *wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:157,1
    - Dst: generic_txt_next
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - dns_rdata_wallet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: dns_rdata_wallet_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - generic_txt_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_wallet_next(dns_rdata_wallet_t *wallet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:166,1
    - Dst: generic_txt_current
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - wallet
    - string
    argTypes:
    - dns_rdata_wallet_t*
    - dns_rdata_wallet_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: dns_rdata_wallet_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - generic_txt_current
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_wallet_current(dns_rdata_wallet_t *wallet,\n\t\t\t
      dns_rdata_wallet_string_t *string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:28,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:30,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:30,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:33,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:37,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: fromtext_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_mb(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:48,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:49,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:51,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:54,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:55,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:57,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: totext_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_mb(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:69,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:71,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:73,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: fromwire_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_mb(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:83,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:87,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:88,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:89,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: towire_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_mb(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:107,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:108,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:111,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:113,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:114,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: compare_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_mb(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:130,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:132,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: fromstruct_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_mb(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:144,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:148,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:151,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:153,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: tostruct_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_mb(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:163,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: freestruct_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_mb(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:180,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:182,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:183,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: additionaldata_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_mb(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:196,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:197,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:198,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: digest_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_mb(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:209,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: checkowner_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - dns_name_ismailbox
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_mb(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: checknames_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_mb(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_mb
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: casecompare_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - compare_mb
    linkageType: ''
    returnType: int
    signature: int casecompare_mb(ARGS_COMPARE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:24,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:30,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:32,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:32,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:35,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:40,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:40,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:41,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:41,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:48,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:50,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 57
    functionName: fromtext_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_ishostname
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ptr(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:67,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:69,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:70,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:72,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:73,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:75,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: totext_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ptr(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:84,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:86,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:87,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:89,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:91,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: fromwire_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ptr(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:101,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:103,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:105,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:106,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:107,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: towire_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ptr(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:123,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:125,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:126,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:128,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:129,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:131,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:132,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: compare_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_ptr(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:145,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:147,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:148,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:150,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: fromstruct_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ptr(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:162,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:166,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:168,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:169,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:170,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:171,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 175
    functionName: tostruct_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ptr(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:182,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 190
    functionName: freestruct_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_ptr(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:196,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:198,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: additionaldata_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ptr(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:209,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:211,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:212,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:213,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: digest_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ptr(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: checkowner_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ptr(ARGS_CHECKOWNER)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:244,1
    - Dst: dns_name_isdnssd
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:250,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:254,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:255,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:256,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:258,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:259,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:260,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:261,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 239
    functionDepth: 4
    functionLinenumber: 239
    functionLinenumberEnd: 269
    functionName: checknames_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_issubdomain
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - dns_name_isdnssd
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_ptr(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_ptr
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: casecompare_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - compare_ptr
    linkageType: ''
    returnType: int
    signature: int casecompare_ptr(ARGS_COMPARE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:31,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:41,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:41,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:45,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:45,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:46,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:46,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:51,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:54,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:59,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:66,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:68,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:68,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:71,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:71,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:73,1
    - Dst: dns_counter_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:74,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:74,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 78
    functionName: fromtext_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_ismailbox
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_counter_fromtext
    - uint32_tobuffer
    - dns_name_ishostname
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_soa(ARGS_FROMTEXT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:95,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:104,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:106,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:108,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:110,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:111,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:111,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:113,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:114,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:114,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:116,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:119,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:119,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:121,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:121,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:123,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:126,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:126,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:129,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:129,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:131,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:131,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:136,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:137,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:138,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:139,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:139,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:141,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:141,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:144,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:144,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:145,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:145,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:146,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:146,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:148,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:148,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:150,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:150,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:155,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 159
    functionName: totext_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - name_length
    - dns_name_totext
    - str_totext
    - RETERR
    - uint32_fromregion
    - snprintf
    - REQUIRE
    - isc_region_consume
    - dns_ttl_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_soa(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:168,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:170,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:171,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:173,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:175,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:176,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:178,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:178,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:179,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:179,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:181,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:182,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:191,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:192,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 196
    functionName: fromwire_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - REQUIRE
    - dns_name_fromwire
    - isc_buffer_add
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_soa(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:206,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:208,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:210,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:211,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:213,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:215,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:216,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:217,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:217,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:219,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:220,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:220,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:221,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:221,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:223,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:228,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 6
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: towire_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - memmove
    - RETERR
    - isc_buffer_availableregion
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - isc_buffer_add
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_soa(ARGS_TOWIRE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:245,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:247,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:248,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:250,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:251,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:253,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:254,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:256,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:261,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:261,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:262,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:262,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:264,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:265,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:267,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:268,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:270,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:275,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:275,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:276,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:276,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 279
    functionName: compare_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_region_compare
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_soa(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:287,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:291,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:292,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:294,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:295,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:295,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:296,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:297,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:297,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:298,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:298,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:299,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:299,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:300,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:300,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:301,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:301,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: fromstruct_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - uint32_tobuffer
    - dns_name_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_soa(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:311,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:312,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:313,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:317,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:319,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:321,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:322,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:323,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:323,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:324,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:325,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:327,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:328,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:328,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:329,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:330,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:332,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:333,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:335,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:336,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:338,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:339,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:341,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:342,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 348
    functionName: tostruct_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - ISC_LINK_INIT
    - name_duporclone
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_soa(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:355,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:361,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 364
    functionName: freestruct_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_soa(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:368,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:370,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:371,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:372,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: additionaldata_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_soa(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:383,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:385,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:387,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:388,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:389,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:389,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:390,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:390,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:392,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:393,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:394,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:394,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:395,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 398
    functionName: digest_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_soa(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:402,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:404,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:405,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:406,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 410
    functionName: checkowner_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_soa(ARGS_CHECKOWNER)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:417,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:419,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:421,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:422,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:423,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:424,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:426,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:430,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:430,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:431,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:432,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 439
    functionName: checknames_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_ismailbox
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_soa(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_soa
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: casecompare_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - compare_soa
    linkageType: ''
    returnType: int
    signature: int casecompare_soa(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:28,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:30,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:30,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:33,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:37,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: fromtext_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_mf(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:48,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:49,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:51,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:54,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:55,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:57,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: totext_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_mf(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:69,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:71,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:73,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: fromwire_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_mf(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:83,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:87,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:88,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:89,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: towire_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_mf(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:107,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:108,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:111,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:113,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:114,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: compare_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_mf(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:130,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:132,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: fromstruct_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_mf(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:144,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:148,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:151,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:153,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: tostruct_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_mf(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:164,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: freestruct_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_mf(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:180,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:182,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:183,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: additionaldata_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_mf(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:196,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:197,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:198,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: digest_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_mf(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: checkowner_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_mf(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: checknames_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_mf(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_mf
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: casecompare_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - compare_mf
    linkageType: ''
    returnType: int
    signature: int casecompare_mf(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:36,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:36,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:41,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:43,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:43,1
    - Dst: locator_pton
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:46,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:47,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: fromtext_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - RETERR
    - locator_pton
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_nid(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:58,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:59,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:61,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:63,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:64,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:65,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:67,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:69,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:69,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:71,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: totext_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_nid(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:83,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:86,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:87,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:89,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:93,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: fromwire_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_nid(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:102,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: towire_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_nid(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:116,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:118,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:119,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: compare_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_nid(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:133,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:135,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:135,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: fromstruct_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_nid(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:146,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:148,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:152,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:154,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:155,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: tostruct_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISC_LINK_INIT
    - UNUSED
    - uint16_fromregion
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_nid(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: freestruct_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_nid(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:176,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: additionaldata_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_nid(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:188,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: digest_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_nid(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: checkowner_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_nid(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: checknames_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_nid(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_nid
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: casecompare_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - compare_nid
    linkageType: ''
    returnType: int
    signature: int casecompare_nid(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:28,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:30,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:30,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:33,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:37,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: fromtext_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_mg(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:48,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:49,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:51,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:54,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:55,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:57,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: totext_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_mg(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:69,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:71,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:73,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: fromwire_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_mg(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:83,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:87,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:88,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:89,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: towire_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_mg(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:107,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:108,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:111,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:113,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:114,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: compare_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_mg(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:130,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:132,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: fromstruct_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_mg(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:144,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:148,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:151,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:153,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: tostruct_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_mg(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:164,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: freestruct_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_mg(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: additionaldata_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_mg(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:190,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:192,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:193,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:194,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: digest_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_mg(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:205,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: checkowner_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - dns_name_ismailbox
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_mg(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: checknames_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_mg(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_mg
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: casecompare_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - compare_mg
    linkageType: ''
    returnType: int
    signature: int casecompare_mg(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:21,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ninfo(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:29,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ninfo(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:36,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ninfo(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:43,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:45,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: towire_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ninfo(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:57,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:60,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: compare_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_ninfo(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:66,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: fromstruct_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ninfo(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:76,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:80,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: tostruct_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_txt
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ninfo(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:90,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: freestruct_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_txt
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_ninfo(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: additionaldata_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ninfo(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:111,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: digest_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ninfo(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:122,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:123,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: checkowner_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ninfo(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: checknames_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_ninfo(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_ninfo
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: casecompare_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - compare_ninfo
    linkageType: ''
    returnType: int
    signature: int casecompare_ninfo(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:149,1
    - Dst: generic_txt_first
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ninfo
    argTypes:
    - dns_rdata_ninfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: dns_rdata_ninfo_first
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_txt_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_ninfo_first(dns_rdata_ninfo_t *ninfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:157,1
    - Dst: generic_txt_next
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ninfo
    argTypes:
    - dns_rdata_ninfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: dns_rdata_ninfo_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - generic_txt_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_ninfo_next(dns_rdata_ninfo_t *ninfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:166,1
    - Dst: generic_txt_current
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ninfo
    - string
    argTypes:
    - dns_rdata_ninfo_t*
    - dns_rdata_ninfo_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: dns_rdata_ninfo_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - generic_txt_current
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdata_ninfo_current(dns_rdata_ninfo_t *ninfo,\n\t\t\tdns_rdata_ninfo_string_t
      *string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:25,1
    - Dst: generic_fromtext_ds
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: fromtext_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_dlv(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:33,1
    - Dst: generic_totext_ds
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: totext_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_ds
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_dlv(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:40,1
    - Dst: generic_fromwire_ds
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: fromwire_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - generic_fromwire_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_dlv(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:49,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:50,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:54,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: towire_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_dlv(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:67,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:69,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:70,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: compare_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_dlv(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:76,1
    - Dst: generic_fromstruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: fromstruct_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_dlv(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:86,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:90,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: tostruct_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_ds
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_dlv(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:100,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: freestruct_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_dlv(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:116,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:117,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: additionaldata_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_dlv(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:128,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: digest_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_dlv(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: checkowner_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_dlv(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:152,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: checknames_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_dlv(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_dlv
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: casecompare_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - compare_dlv
    linkageType: ''
    returnType: int
    signature: int casecompare_dlv(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:28,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:35,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:35,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:39,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:39,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:46,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:46,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:50,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 52
    functionName: generic_fromtext_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - txt_fromtext
    - UNCONST
    - RETTOK
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromtext_txt(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:58,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:63,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:63,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:65,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: generic_totext_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - txt_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_txt(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:77,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:78,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:81,1
    - Dst: buffer_empty
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 87
    functionName: generic_fromwire_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - txt_fromwire
    - UNUSED
    - buffer_empty
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromwire_txt(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:91,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 5
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: fromtext_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - generic_fromtext_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_txt(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:99,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: totext_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - generic_totext_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_txt(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:106,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: fromwire_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - generic_fromwire_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_txt(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:113,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:115,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: towire_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_txt(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:127,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:129,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:130,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: compare_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_txt(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:140,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:143,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:145,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:146,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:151,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:152,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:156,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: generic_fromstruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromstruct_txt(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:170,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:170,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:172,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: generic_tostruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_LINKED
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_tostruct_txt(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:184,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: generic_freestruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void generic_freestruct_txt(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:198,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: fromstruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - generic_fromstruct_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_txt(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:208,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:212,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: tostruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - generic_tostruct_txt
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_txt(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:221,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:222,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: freestruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - generic_freestruct_txt
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_txt(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:229,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:231,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:233,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: additionaldata_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_txt(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:243,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: digest_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_txt(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:252,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:254,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:255,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:256,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: checkowner_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_txt(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:264,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:266,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: checknames_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_txt(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: casecompare_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - compare_txt
    linkageType: ''
    returnType: int
    signature: int casecompare_txt(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: generic_txt_first
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_txt_first(dns_rdata_txt_t *txt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:297,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:299,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:302,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:303,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: generic_txt_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - uint8_fromregion
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_txt_next(dns_rdata_txt_t *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:318,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:320,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:324,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:325,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - txt
    - string
    argTypes:
    - dns_rdata_txt_t*
    - dns_rdata_txt_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: generic_txt_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - uint8_fromregion
    - REQUIRE
    - INSIST
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t
      *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:335,1
    - Dst: generic_txt_first
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: dns_rdata_txt_first
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_txt_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_txt_first(dns_rdata_txt_t *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:343,1
    - Dst: generic_txt_next
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: dns_rdata_txt_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - generic_txt_next
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_txt_next(dns_rdata_txt_t *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:351,1
    - Dst: generic_txt_current
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - txt
    - string
    argTypes:
    - dns_rdata_txt_t*
    - dns_rdata_txt_string_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: dns_rdata_txt_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - generic_txt_current
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_txt_current(dns_rdata_txt_t *txt, dns_rdata_txt_string_t
      *string)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:28,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:33,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:35,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:35,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:40,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:42,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:42,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:47,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:47,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:50,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:52,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:52,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:57,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:57,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:59,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:59,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:64,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:64,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:66,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:66,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:69,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 72
    functionName: fromtext_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - uint32_tobuffer
    - txt_fromtext
    - REQUIRE
    - isc_base64_tobuffer
    - strcmp
    - RETTOK
    - isc_lex_ungettoken
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_doa(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:81,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:82,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:84,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:86,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:91,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:92,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:94,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:94,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:99,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:100,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:101,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:102,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:102,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:107,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:108,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:109,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:110,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:110,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:115,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:115,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:116,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:116,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:122,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 126
    functionName: totext_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - txt_totext
    - uint32_fromregion
    - snprintf
    - REQUIRE
    - isc_base64_totext
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_doa(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:135,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:137,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:154,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 156
    functionName: fromwire_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_doa(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:166,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:168,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: towire_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_doa(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:183,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:185,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:186,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: compare_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_doa(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:195,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:197,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:199,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:199,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:200,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:200,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:201,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:201,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:202,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:203,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:203,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: fromstruct_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_doa(ARGS_FROMSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:215,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:219,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:221,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:226,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:227,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:232,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:233,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:238,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:239,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:244,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:245,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:246,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:247,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:248,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:256,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 263
    functionName: tostruct_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_doa(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:270,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:277,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: freestruct_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_doa(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:290,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:291,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:292,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: additionaldata_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_doa(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:302,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: digest_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_doa(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:311,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:312,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:313,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:314,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: checkowner_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_doa(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:323,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:324,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: checknames_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_doa(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_doa
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: casecompare_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - compare_doa
    linkageType: ''
    returnType: int
    signature: int casecompare_doa(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:27,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:29,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:32,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:32,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:34,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 4
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: fromtext_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - txt_fromtext
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_hinfo(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:43,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:45,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:46,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:48,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:49,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:50,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:50,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: totext_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - txt_totext
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_hinfo(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:56,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:58,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:59,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:62,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:62,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: fromwire_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - RETERR
    - txt_fromwire
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_hinfo(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:71,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: towire_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_hinfo(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:81,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:85,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:87,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:88,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: compare_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_hinfo(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:102,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:104,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:104,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:105,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:105,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:106,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:106,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: fromstruct_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_hinfo(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:117,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:121,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:123,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:124,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:125,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:126,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:127,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:129,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:130,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: tostruct_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_hinfo(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:140,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:147,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: freestruct_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_hinfo(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:157,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:159,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:160,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:161,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: additionaldata_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_hinfo(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:171,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: digest_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_hinfo(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:180,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:183,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: checkowner_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_hinfo(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: checknames_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_hinfo(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_hinfo
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: casecompare_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - compare_hinfo
    linkageType: ''
    returnType: int
    signature: int casecompare_hinfo(ARGS_COMPARE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:38,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:38,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:40,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:44,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:44,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:49,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:51,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:56,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:58,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:58,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:63,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:63,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:68,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:68,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:73,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:73,1
    - Dst: dns_tsigrcode_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:75,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:78,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:78,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:80,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:83,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:87,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:87,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:92,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:92,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:95,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:97,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:102,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:102,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:107,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:107,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:110,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:112,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:112,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 118
    functionName: fromtext_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_tsigrcode_fromtext
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - uint32_tobuffer
    - uint16_tobuffer
    - strtol
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_tkey(ARGS_FROMTEXT)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:130,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:132,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:137,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:138,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:139,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:140,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:142,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:142,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:143,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:143,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:144,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:144,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:149,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:150,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:152,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:152,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:157,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:158,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:159,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:160,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:160,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:165,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:166,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:167,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:168,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:168,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:173,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:174,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:175,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:176,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:176,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:178,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:179,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:179,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:185,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:186,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:187,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:188,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:193,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:197,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:197,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:199,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:199,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:201,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:201,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:203,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:203,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:207,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:207,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:209,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:209,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:211,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:216,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:217,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:218,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:219,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:224,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:229,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:229,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:231,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:231,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:233,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:233,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:235,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:235,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:239,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 243
    functionName: totext_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - str_totext
    - name_length
    - RETERR
    - uint32_fromregion
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_tsigrcode_totext
    - isc_base64_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_tkey(ARGS_TOTEXT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:251,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:253,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:254,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:256,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:261,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:262,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:262,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:270,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:274,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:274,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:275,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:276,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:284,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:288,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:288,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:289,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:290,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:298,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:302,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 304
    functionName: fromwire_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_region_consume
    - mem_tobuffer
    - REQUIRE
    - uint16_fromregion
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_tkey(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:311,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:312,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:314,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:318,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:319,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:320,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:321,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:321,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:322,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:322,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 306
    functionDepth: 6
    functionLinenumber: 306
    functionLinenumberEnd: 325
    functionName: towire_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_tkey(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:335,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:336,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:337,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:339,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:344,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:345,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:346,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:347,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:348,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:349,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:350,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:353,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:353,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:354,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:354,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 356
    functionName: compare_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_region_compare
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_tkey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:362,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:365,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:367,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:368,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:373,1
    - Dst: name_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:373,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:378,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:378,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:383,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:383,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:388,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:388,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:393,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:393,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:398,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:398,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:403,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:403,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:408,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:408,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 414
    functionName: fromstruct_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - uint16_tobuffer
    - name_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_tkey(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:422,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:423,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:424,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:428,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:430,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:435,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:436,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:437,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:438,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:439,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:439,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:444,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:445,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:450,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:451,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:456,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:457,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:462,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:463,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:468,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:469,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:474,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:475,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:476,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:481,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:482,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:487,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 491
    functionName: tostruct_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - name_duporclone
    - uint32_fromregion
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_tkey(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:497,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:503,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:505,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 511
    functionName: freestruct_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_tkey(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:515,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:517,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:518,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:519,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: additionaldata_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_tkey(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:527,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:528,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 534
    functionName: digest_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_tkey(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:538,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:540,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:541,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:542,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: checkowner_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_tkey(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:550,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:552,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:553,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: checknames_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_tkey(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_tkey
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 4
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: casecompare_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - compare_tkey
    linkageType: ''
    returnType: int
    signature: int casecompare_tkey(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:36,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:39,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:39,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:42,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:44,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:44,1
    - Dst: typemap_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: fromtext_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - typemap_fromtext
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - uint32_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_csync(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:57,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:61,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:63,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:64,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:66,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:68,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:68,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:70,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:71,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:72,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:73,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:79,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:79,1
    - Dst: typemap_totext
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: totext_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - uint32_fromregion
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - typemap_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_csync(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:88,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:90,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:91,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:92,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:102,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:102,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:103,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:104,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:106,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:106,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:108,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:108,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 111
    functionName: fromwire_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    - typemap_test
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_csync(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:116,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:118,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: towire_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_csync(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:132,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:134,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:135,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: compare_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_csync(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:153,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:153,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:154,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:154,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:158,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:158,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 160
    functionName: fromstruct_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - typemap_test
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_csync(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:169,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:173,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:175,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:177,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:178,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:180,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:181,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: tostruct_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - uint32_fromregion
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_csync(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:194,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: freestruct_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_csync(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: additionaldata_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_csync(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:222,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: digest_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_csync(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:233,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: checkowner_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_csync(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:244,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:245,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: checknames_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_csync(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:256,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:257,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:259,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:260,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:262,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:263,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: casecompare_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int casecompare_csync(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:32,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:37,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:37,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:42,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:42,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:47,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:47,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:50,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:52,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:52,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 72
    functionName: fromtext_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - isc_hex_tobuffer
    - REQUIRE
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_sshfp(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:81,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:83,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:85,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:90,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:91,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:93,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:93,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:98,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:99,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:100,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:101,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:101,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:111,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:111,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:113,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:113,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:115,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:115,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:117,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:117,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:121,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 124
    functionName: totext_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - snprintf
    - REQUIRE
    - isc_region_consume
    - isc_hex_totext
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_sshfp(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:134,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:136,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:147,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 149
    functionName: fromwire_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_sshfp(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:158,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:160,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: towire_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_sshfp(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:173,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:175,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:176,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: compare_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_sshfp(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:190,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:192,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:192,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:193,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:193,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: fromstruct_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_sshfp(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:205,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:209,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:211,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:213,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:214,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:215,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:216,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: tostruct_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_sshfp(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:229,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 239
    functionName: freestruct_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_sshfp(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:243,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:245,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:246,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:247,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: additionaldata_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_sshfp(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:257,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: digest_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_sshfp(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:266,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:268,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:269,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:270,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: checkowner_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_sshfp(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:278,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:280,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:281,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: checknames_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_sshfp(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_sshfp
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: casecompare_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - compare_sshfp
    linkageType: ''
    returnType: int
    signature: int casecompare_sshfp(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:25,1
    - Dst: generic_fromtext_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: fromtext_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromtext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_dnskey(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:33,1
    - Dst: generic_totext_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: totext_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_dnskey(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:40,1
    - Dst: generic_fromwire_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: fromwire_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_dnskey(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:49,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:50,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:51,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:53,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:55,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: towire_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_dnskey(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:70,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:72,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:73,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: compare_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_dnskey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:79,1
    - Dst: generic_fromstruct_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: fromstruct_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_dnskey(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:90,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:94,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: tostruct_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - generic_tostruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_dnskey(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:104,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: freestruct_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_key
    linkageType: ''
    returnType: void
    signature: void freestruct_dnskey(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:111,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:113,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:115,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: additionaldata_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_dnskey(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:126,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: digest_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_dnskey(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: checkowner_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_dnskey(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: checknames_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_dnskey(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_dnskey
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: casecompare_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - compare_dnskey
    linkageType: ''
    returnType: int
    signature: int casecompare_dnskey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:32,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:35,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:35,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:37,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: fromtext_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - txt_fromtext
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_gpos(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:47,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:48,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:50,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:52,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:55,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:55,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:57,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: totext_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - txt_totext
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_gpos(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:70,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:71,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:72,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:75,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: fromwire_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - RETERR
    - txt_fromwire
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_gpos(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:83,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:85,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: towire_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_gpos(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:99,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:101,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:102,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: compare_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_gpos(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:113,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:115,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:116,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:118,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:118,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:119,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:119,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:120,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:120,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:121,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:121,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:122,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:122,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: fromstruct_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_gpos(ARGS_FROMSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:133,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:137,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:139,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:140,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:141,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:142,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:143,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:145,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:146,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:147,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:148,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:150,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:151,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 160
    functionName: tostruct_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_gpos(ARGS_TOSTRUCT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:167,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:174,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:177,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 183
    functionName: freestruct_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_gpos(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: additionaldata_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_gpos(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:201,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: digest_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_gpos(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: checkowner_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_gpos(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:225,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: checknames_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_gpos(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_gpos
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: casecompare_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - compare_gpos
    linkageType: ''
    returnType: int
    signature: int casecompare_gpos(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:36,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:36,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:41,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:43,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:43,1
    - Dst: locator_pton
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:46,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:47,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 50
    functionName: fromtext_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - RETERR
    - locator_pton
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_l64(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:58,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:59,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:61,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:63,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:64,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:65,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:67,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:69,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:69,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:71,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: totext_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_l64(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:83,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:86,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:87,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:89,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:93,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: fromwire_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_l64(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:102,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: towire_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_l64(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:116,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:118,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:119,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: compare_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_l64(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:133,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:135,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:135,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: fromstruct_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_l64(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:146,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:148,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:152,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:154,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:155,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: tostruct_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - memmove
    - ISC_LINK_INIT
    - UNUSED
    - uint16_fromregion
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_l64(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: freestruct_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_l64(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:176,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: additionaldata_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_l64(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:188,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: digest_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_l64(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: checkowner_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_l64(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: checknames_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_l64(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_l64
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: casecompare_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - compare_l64
    linkageType: ''
    returnType: int
    signature: int casecompare_l64(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:35,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:35,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:38,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:40,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:42,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:45,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:50,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:50,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:51,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:51,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:55,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:58,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 64
    functionName: fromtext_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_ishostname
    - uint16_tobuffer
    - dns_name_towire
    - REQUIRE
    - warn_badname
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_rt(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:76,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:78,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:79,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:81,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:82,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:83,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:84,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:85,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:85,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:86,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:86,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:87,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:88,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: totext_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_rt(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:102,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:104,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:106,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:108,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:109,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:116,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:117,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:118,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 120
    functionName: fromwire_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_name_fromwire
    - dns_decompress_setpermitted
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_rt(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:129,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:131,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:132,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:133,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:137,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:138,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:139,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:141,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:142,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 122
    functionDepth: 6
    functionLinenumber: 122
    functionLinenumberEnd: 145
    functionName: towire_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - memmove
    - isc_buffer_availableregion
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - isc_buffer_add
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_rt(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:159,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:161,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:166,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:167,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:169,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:170,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:172,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:173,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:175,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:176,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 179
    functionName: compare_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_rt(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:192,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:194,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:194,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:195,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: fromstruct_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_rt(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:207,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:211,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:213,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:214,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:215,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:216,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:217,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:218,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: tostruct_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_rt(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:230,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: freestruct_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_rt(ARGS_FREESTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:246,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:248,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:250,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:251,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:252,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 264
    functionName: additionaldata_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_rt(ARGS_ADDLDATA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:272,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:274,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:276,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:282,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:283,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 285
    functionName: digest_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_rt(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:291,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:292,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:293,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: checkowner_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_rt(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:304,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:306,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:308,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:309,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:310,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:311,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:312,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: checknames_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_rt(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_rt
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: casecompare_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - compare_rt
    linkageType: ''
    returnType: int
    signature: int casecompare_rt(ARGS_COMPARE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:23,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:32,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:39,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:39,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:42,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:42,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:43,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:43,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:49,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 56
    functionName: fromtext_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_ismailbox
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_minfo(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:67,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:69,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:70,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:71,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:73,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:75,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:76,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:78,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:79,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:84,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:84,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:86,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:86,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:88,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 92
    functionName: totext_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - str_totext
    - RETERR
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_minfo(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:102,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:104,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:106,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:107,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:109,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:109,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: fromwire_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_minfo(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:120,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:122,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:124,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:125,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:127,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:129,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:130,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:130,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:132,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:132,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:134,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:135,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: towire_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_minfo(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:154,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:155,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:157,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:158,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:160,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:161,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:163,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:168,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:168,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:169,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:169,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:171,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:172,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:174,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:175,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: compare_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_minfo(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:192,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:194,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:195,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:195,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:196,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: fromstruct_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - dns_name_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_minfo(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:208,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:212,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:214,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:215,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:216,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:217,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:218,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:219,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:219,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:221,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:222,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 226
    functionName: tostruct_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_minfo(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:233,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:239,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: freestruct_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_minfo(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:246,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:248,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:249,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:250,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: additionaldata_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_minfo(ARGS_ADDLDATA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:262,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:264,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:265,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:266,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:267,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:271,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:271,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:272,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:273,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 276
    functionName: digest_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_minfo(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:280,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:282,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:283,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:284,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: checkowner_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_minfo(ARGS_CHECKOWNER)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:297,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:299,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:300,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:301,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:302,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:304,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:308,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:308,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:309,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:310,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 317
    functionName: checknames_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_ismailbox
    - name_length
    - UNUSED
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_minfo(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_minfo
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: casecompare_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - compare_minfo
    linkageType: ''
    returnType: int
    signature: int casecompare_minfo(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:32,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:39,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:41,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:41,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:44,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 49
    functionName: fromtext_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - uint16_tobuffer
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_lp(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:60,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:61,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:63,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:64,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:66,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:67,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:68,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:70,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:70,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:72,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:72,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:74,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:75,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 78
    functionName: totext_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_lp(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:87,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:88,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:90,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:92,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:94,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:98,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:98,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:99,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: fromwire_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_lp(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:108,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: towire_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_lp(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:122,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:124,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:125,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: compare_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_lp(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:141,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:143,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:143,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:144,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 146
    functionName: fromstruct_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_lp(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:156,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:160,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:162,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:163,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:164,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:165,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:166,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:167,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: tostruct_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_lp(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:178,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: freestruct_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_lp(ARGS_FREESTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:196,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:198,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:199,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:200,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 208
    functionName: additionaldata_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_lp(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:214,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: digest_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_lp(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:225,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:226,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: checkowner_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_lp(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:236,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: checknames_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_lp(ARGS_CHECKNAMES)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:250,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:254,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:256,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:261,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:262,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:264,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:265,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:267,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:268,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:270,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:271,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 274
    functionName: casecompare_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int casecompare_lp(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:38,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:38,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:43,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:43,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:48,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:48,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:50,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:54,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:54,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:55,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:55,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:58,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:61,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: fromtext_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_ishostname
    - uint16_tobuffer
    - dns_name_towire
    - REQUIRE
    - warn_badname
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_afsdb(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:77,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:78,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:80,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:81,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:83,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:84,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:85,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:86,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:87,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:87,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:88,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:89,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: totext_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_afsdb(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:103,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:107,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:109,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:110,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:117,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:118,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:119,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: fromwire_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_name_fromwire
    - dns_decompress_setpermitted
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - REQUIRE
    - isc_buffer_add
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_afsdb(ARGS_FROMWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:130,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:132,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:133,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:134,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:138,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:139,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:140,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:142,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:143,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 146
    functionName: towire_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - memmove
    - isc_buffer_availableregion
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - isc_buffer_add
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_afsdb(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:160,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:162,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:167,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:168,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:170,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:171,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:173,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:174,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:176,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:177,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 180
    functionName: compare_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_afsdb(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:193,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:195,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:195,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:196,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: fromstruct_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_afsdb(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:208,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:212,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:214,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:216,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:218,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:219,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:221,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:222,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 227
    functionName: tostruct_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_afsdb(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:234,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: freestruct_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_afsdb(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:249,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:251,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:253,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:254,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:255,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: additionaldata_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_afsdb(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:266,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:268,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:270,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:272,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:273,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:274,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: digest_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_afsdb(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:281,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:283,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:284,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:285,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: checkowner_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_afsdb(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:296,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:298,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:300,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:301,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:302,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:303,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:304,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: checknames_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_afsdb(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_afsdb
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: casecompare_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - compare_afsdb
    linkageType: ''
    returnType: int
    signature: int casecompare_afsdb(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:39,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:42,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:47,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:47,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:50,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:50,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:53,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:55,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:55,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 58
    functionName: fromtext_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - isc_base64_tobuffer
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_sink(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:67,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:69,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:72,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:73,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:74,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:75,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:76,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:77,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:78,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:79,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:79,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:87,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:87,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:90,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:90,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:93,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:95,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:95,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:100,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 104
    functionName: totext_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - snprintf
    - REQUIRE
    - isc_base64_totext
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_sink(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:110,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:112,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:113,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:114,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:116,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:121,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:121,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: fromwire_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_sink(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:131,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: towire_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_sink(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:145,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:147,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:148,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: compare_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_sink(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:159,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:161,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:162,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:165,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:165,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:168,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:168,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:171,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:171,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 175
    functionName: fromstruct_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_sink(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:184,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:188,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:190,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:193,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:194,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:197,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:198,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:201,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:202,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 209
    functionName: tostruct_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_sink(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:216,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: freestruct_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_sink(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:233,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: additionaldata_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_sink(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:244,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: digest_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_sink(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:253,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:255,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:256,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:257,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: checkowner_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_sink(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:268,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 272
    functionName: checknames_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_sink(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_sink
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: casecompare_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - compare_sink
    linkageType: ''
    returnType: int
    signature: int casecompare_sink(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:29,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:31,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:31,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:38,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: fromtext_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_cname(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:49,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:50,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:52,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:53,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:55,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:56,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:58,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 61
    functionName: totext_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_cname(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:67,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:69,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:70,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:72,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:74,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: fromwire_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_cname(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:84,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:86,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:88,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:89,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:90,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: towire_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_cname(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:106,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:108,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:109,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:111,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:112,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:114,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:115,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: compare_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_cname(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:128,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:131,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:133,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: fromstruct_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_cname(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:145,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:149,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:151,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:152,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:153,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:154,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: tostruct_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_cname(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:164,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: freestruct_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_cname(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:176,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: additionaldata_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_cname(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:191,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:193,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:194,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:195,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: digest_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_cname(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: checkowner_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_cname(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: checknames_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_cname(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_cname
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: casecompare_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - compare_cname
    linkageType: ''
    returnType: int
    signature: int casecompare_cname(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:28,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:30,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:30,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:33,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:37,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: fromtext_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_md(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:48,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:49,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:51,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:54,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:55,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:57,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: totext_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_md(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:69,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:71,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:73,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: fromwire_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_md(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:83,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:87,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:88,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:89,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: towire_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_md(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:107,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:108,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:111,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:113,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:114,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: compare_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_md(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:130,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:132,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: fromstruct_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_md(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:144,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:148,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:151,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:153,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: tostruct_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_md(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:164,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: freestruct_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_md(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:181,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:183,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:184,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: additionaldata_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_md(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:195,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:197,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:198,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:199,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: digest_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_md(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: checkowner_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_md(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:221,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: checknames_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_md(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_md
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: casecompare_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - compare_md
    linkageType: ''
    returnType: int
    signature: int casecompare_md(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:21,1
    - Dst: generic_fromtext_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromtext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_rkey(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:29,1
    - Dst: generic_totext_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_rkey(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:36,1
    - Dst: generic_fromwire_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_rkey(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:45,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:46,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:47,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:49,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:51,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: towire_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_rkey(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:60,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:62,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:66,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:68,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:69,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 71
    functionName: compare_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_rkey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:75,1
    - Dst: generic_fromstruct_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: fromstruct_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_rkey(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:86,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:90,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: tostruct_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - generic_tostruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_rkey(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:100,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: freestruct_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_key
    linkageType: ''
    returnType: void
    signature: void freestruct_rkey(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:107,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:109,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:110,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:111,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: additionaldata_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_rkey(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:122,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: digest_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_rkey(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: checkowner_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_rkey(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:144,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:146,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:147,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: checknames_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_rkey(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_rkey
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: casecompare_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - compare_rkey
    linkageType: ''
    returnType: int
    signature: int casecompare_rkey(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:41,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:41,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:43,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:47,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:47,1
    - Dst: typemap_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: fromtext_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - typemap_fromtext
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_nsec(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:57,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:58,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:60,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:62,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:63,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:64,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:65,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:66,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:71,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:71,1
    - Dst: typemap_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 74
    functionName: totext_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_totext
    - name_length
    - str_totext
    - RETERR
    - UNUSED
    - REQUIRE
    - isc_region_consume
    - typemap_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_nsec(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:81,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:83,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:84,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:86,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:88,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:89,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:89,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:91,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:92,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:93,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:93,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 96
    functionName: fromwire_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - typemap_test
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_nsec(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:104,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:106,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:107,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:108,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:109,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:110,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:110,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:111,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:111,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: towire_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_nsec(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:125,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:127,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:128,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: compare_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_nsec(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:140,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:143,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:144,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:146,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:147,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:147,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:151,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:151,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: fromstruct_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - mem_tobuffer
    - dns_name_toregion
    - REQUIRE
    - typemap_test
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_nsec(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:163,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:167,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:169,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:170,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:171,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:172,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:172,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:173,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:174,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 180
    functionName: tostruct_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_nsec(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:187,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:193,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: freestruct_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_nsec(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: additionaldata_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_nsec(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:216,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 220
    functionName: digest_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_nsec(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:226,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:227,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 232
    functionName: checkowner_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_nsec(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:236,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:238,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:239,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 243
    functionName: checknames_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_nsec(ARGS_CHECKNAMES)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:256,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:257,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:259,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:260,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:262,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:263,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:265,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:266,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:268,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:273,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:273,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:274,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:274,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 3
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: casecompare_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_region_compare
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int casecompare_nsec(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:25,1
    - Dst: generic_fromtext_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: fromtext_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromtext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_cdnskey(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:33,1
    - Dst: generic_totext_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: totext_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_cdnskey(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:40,1
    - Dst: generic_fromwire_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: fromwire_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_cdnskey(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:49,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:50,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:54,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: towire_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_cdnskey(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:69,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:71,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:72,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: compare_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_cdnskey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:78,1
    - Dst: generic_fromstruct_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: fromstruct_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_cdnskey(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:89,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:93,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: tostruct_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - generic_tostruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_cdnskey(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:103,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: freestruct_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_key
    linkageType: ''
    returnType: void
    signature: void freestruct_cdnskey(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:110,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:112,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:113,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: additionaldata_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_cdnskey(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:125,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: digest_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_cdnskey(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: checkowner_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_cdnskey(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:147,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: checknames_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_cdnskey(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_cdnskey
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: casecompare_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - compare_cdnskey
    linkageType: ''
    returnType: int
    signature: int casecompare_cdnskey(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:36,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:36,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:38,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:38,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:54,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: fromtext_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - mem_tobuffer
    - REQUIRE
    - sscanf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_eui64(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:62,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:64,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:66,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: totext_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - snprintf
    - str_totext
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_eui64(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:77,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:79,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:80,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:81,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:83,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:87,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: fromwire_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_eui64(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:93,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:94,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:96,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: towire_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_eui64(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:107,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:112,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:113,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: compare_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_eui64(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:126,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:127,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: fromstruct_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_eui64(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:140,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:144,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: tostruct_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - memmove
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_eui64(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 158
    functionName: freestruct_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_eui64(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:165,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:166,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:167,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: additionaldata_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_eui64(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:178,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: digest_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_eui64(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: checkowner_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_eui64(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: checknames_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_eui64(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_eui64
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: casecompare_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - compare_eui64
    linkageType: ''
    returnType: int
    signature: int casecompare_eui64(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:42,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:47,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:47,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:52,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:52,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:54,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:54,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:55,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:55,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:60,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:60,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:62,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:63,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:63,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 27
    functionDepth: 4
    functionLinenumber: 27
    functionLinenumberEnd: 83
    functionName: generic_fromtext_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 1
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - dns_secalg_fromtext
    - mem_tobuffer
    - uint16_tobuffer
    - isc_hex_tobuffer
    - RETTOK
    - dns_dsdigest_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromtext_ds(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:87,1
    - Dst: generic_fromtext_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: fromtext_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 2
    functionsReached:
    - generic_fromtext_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ds(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:98,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:100,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:102,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:107,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:108,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:109,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:110,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:110,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:115,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:116,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:117,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:118,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:118,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:123,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:124,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:125,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:126,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:126,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:132,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:132,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:134,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:134,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:137,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:137,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:139,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:139,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:143,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:143,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:146,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 149
    functionName: generic_totext_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 1
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - isc_hex_totext
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_ds(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:154,1
    - Dst: generic_totext_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: totext_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_totext_ds
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ds(ARGS_TOTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:164,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:165,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:167,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:196,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 198
    functionName: generic_fromwire_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 1
    functionsReached:
    - mem_tobuffer
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromwire_ds(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:202,1
    - Dst: generic_fromwire_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: fromwire_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 2
    functionsReached:
    - generic_fromwire_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ds(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:214,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:216,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: towire_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ds(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:229,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:231,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:232,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: compare_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_ds(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:244,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:255,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:259,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:259,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:260,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:260,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:261,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:261,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 264
    functionName: generic_fromstruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 1
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromstruct_ds(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:268,1
    - Dst: generic_fromstruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: fromstruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 2
    functionsReached:
    - generic_fromstruct_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ds(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:279,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:281,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:282,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:282,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:284,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:286,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:287,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:288,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:289,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:290,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:291,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 297
    functionName: generic_tostruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 1
    functionsReached:
    - mem_maybedup
    - ISC_LINK_LINKED
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_tostruct_ds(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:304,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:308,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: tostruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 2
    functionsReached:
    - generic_tostruct_ds
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ds(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:318,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: freestruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_ds(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:332,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:334,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:335,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:336,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: additionaldata_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ds(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:346,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: digest_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ds(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:355,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:357,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:358,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:359,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: checkowner_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ds(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:367,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:369,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:370,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: checknames_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_ds(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: casecompare_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - compare_ds
    linkageType: ''
    returnType: int
    signature: int casecompare_ds(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:31,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:31,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:35,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:36,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:38,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - token
    argTypes:
    - isc_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 45
    functionName: check_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 4
    functionsReached:
    - strlen
    - inet_pton
    - DNS_AS_STR
    - strlcpy
    linkageType: ''
    returnType: bool
    signature: bool check_mx(isc_token_t *token)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:51,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:55,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:57,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:58,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:60,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:60,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:63,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:65,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:67,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:67,1
    - Dst: check_mx
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:72,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:75,1
    - Dst: warn_badmx
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:78,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:81,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:85,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:85,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:86,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:86,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:89,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:92,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:95,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 98
    functionName: fromtext_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - check_mx
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - buffer_fromregion
    - dns_name_ishostname
    - uint16_tobuffer
    - dns_name_towire
    - REQUIRE
    - warn_badname
    - RETTOK
    - warn_badmx
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_mx(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:110,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:112,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:113,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:115,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:116,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:117,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:118,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:119,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:119,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:121,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:121,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:123,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:124,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 127
    functionName: totext_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - dns_name_totext
    - RETERR
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_mx(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:137,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:139,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:141,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:143,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:147,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:147,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:148,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: fromwire_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_mx(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:158,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:160,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:162,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:163,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:163,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:164,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:166,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:167,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: towire_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_mx(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:184,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:186,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:191,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:192,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:195,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:197,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:198,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:200,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:201,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 204
    functionName: compare_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_mx(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:217,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:219,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:219,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:220,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: fromstruct_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - dns_name_toregion
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_mx(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:232,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:236,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:238,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:239,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:240,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:241,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:242,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:243,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 247
    functionName: tostruct_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_mx(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:254,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: freestruct_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_mx(ARGS_FREESTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:274,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:276,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:278,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:279,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:280,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:281,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:283,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:292,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:293,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:294,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 301
    functionName: additionaldata_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_concatenate
    - UNUSED
    - dns_name_equal
    - dns_fixedname_name
    - REQUIRE
    - isc_region_consume
    - dns_fixedname_init
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_mx(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:308,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:310,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:312,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:314,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:315,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:316,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: digest_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_mx(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:322,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:324,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:325,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: checkowner_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_mx(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:335,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:337,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:339,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:340,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:341,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:342,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:343,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 350
    functionName: checknames_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_mx(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_mx
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: casecompare_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - compare_mx
    linkageType: ''
    returnType: int
    signature: int casecompare_mx(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:29,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:39,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:44,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:47,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:49,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:54,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:54,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:57,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:59,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:59,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 65
    functionName: generic_fromtext_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - isc_hex_tobuffer
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromtext_tlsa(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:73,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:75,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:77,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:82,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:83,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:84,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:85,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:85,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:90,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:91,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:93,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:93,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:98,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:99,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:100,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:101,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:101,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:107,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:107,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:109,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:109,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:111,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:111,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:113,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:113,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:117,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 120
    functionName: generic_totext_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - snprintf
    - REQUIRE
    - isc_region_consume
    - isc_hex_totext
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_tlsa(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:126,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:128,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:130,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:137,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: generic_fromwire_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromwire_tlsa(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:143,1
    - Dst: generic_fromtext_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: fromtext_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - generic_fromtext_tlsa
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_tlsa(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:150,1
    - Dst: generic_totext_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: totext_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - generic_totext_tlsa
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_tlsa(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:157,1
    - Dst: generic_fromwire_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: fromwire_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_fromwire_tlsa
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_tlsa(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:167,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:169,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:171,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: towire_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_tlsa(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:184,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:186,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:187,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: compare_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_tlsa(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:195,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:200,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:202,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:203,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:203,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:204,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:204,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: generic_fromstruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromstruct_tlsa(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:220,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:220,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:222,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:224,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:225,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:226,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:227,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:228,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:229,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: generic_tostruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_LINKED
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_tostruct_tlsa(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:241,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 251
    functionName: generic_freestruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void generic_freestruct_tlsa(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:255,1
    - Dst: generic_fromstruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 4
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: fromstruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - generic_fromstruct_tlsa
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_tlsa(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:264,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:265,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:269,1
    - Dst: generic_tostruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: tostruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - generic_tostruct_tlsa
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_tlsa(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:279,1
    - Dst: generic_freestruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 282
    functionName: freestruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - generic_freestruct_tlsa
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_tlsa(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:286,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:290,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 294
    functionName: additionaldata_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_tlsa(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:300,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: digest_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_tlsa(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:311,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:312,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:313,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: checkowner_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_tlsa(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:321,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:323,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:324,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 328
    functionName: checknames_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_tlsa(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: casecompare_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - compare_tlsa
    linkageType: ''
    returnType: int
    signature: int casecompare_tlsa(ARGS_COMPARE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:32,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:37,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:39,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:44,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:44,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:46,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:46,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:51,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:54,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:54,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:72,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:74,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 78
    functionName: fromtext_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - uint32_tobuffer
    - isc_hex_tobuffer
    - isc_buffer_usedlength
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_zonemd(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:86,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:88,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:90,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:95,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:96,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:98,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:98,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:100,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:100,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:105,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:106,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:107,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:108,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:108,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:110,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:110,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:115,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:116,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:117,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:118,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:118,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:124,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:124,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:126,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:126,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:129,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:129,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:131,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:131,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:135,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:135,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:138,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 141
    functionName: totext_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - uint32_fromregion
    - snprintf
    - REQUIRE
    - isc_region_consume
    - isc_hex_totext
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_zonemd(ARGS_TOTEXT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:150,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:152,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:190,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 192
    functionName: fromwire_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_zonemd(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:201,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:203,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: towire_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_zonemd(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:216,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:218,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:219,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: compare_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_zonemd(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:229,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:231,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:236,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:239,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:243,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:243,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:244,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:244,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:245,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:245,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: fromstruct_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_zonemd(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:256,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:257,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:261,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:263,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:265,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:266,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:267,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:268,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:269,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:270,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 276
    functionName: tostruct_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_zonemd(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:283,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 293
    functionName: freestruct_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_zonemd(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:297,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:299,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:300,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:301,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: additionaldata_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_zonemd(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:311,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 316
    functionName: digest_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_zonemd(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:320,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:322,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:323,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:324,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 328
    functionName: checkowner_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_zonemd(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:332,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:334,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:335,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 339
    functionName: checknames_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_zonemd(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_zonemd
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: casecompare_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - compare_zonemd
    linkageType: ''
    returnType: int
    signature: int casecompare_zonemd(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:35,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:37,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:37,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:42,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:42,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:44,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:44,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:47,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:47,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:48,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:50,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:54,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 57
    functionName: fromtext_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - memmove
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_availableregion
    - uint16_tobuffer
    - REQUIRE
    - inet_pton
    - isc_buffer_add
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_l32(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:68,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:70,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:71,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:72,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:74,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:74,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:76,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:76,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 79
    functionName: totext_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - inet_totext
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_l32(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:87,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:88,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:89,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:91,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:95,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: fromwire_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_l32(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:104,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: towire_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_l32(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:118,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:120,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:121,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: compare_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_l32(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:136,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:138,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:138,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:139,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: fromstruct_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - ntohl
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_l32(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:153,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:157,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:159,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:160,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:161,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: tostruct_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - htonl
    - ISC_LINK_INIT
    - UNUSED
    - uint32_fromregion
    - uint16_fromregion
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_l32(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: freestruct_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_l32(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:183,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: additionaldata_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_l32(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: digest_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_l32(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: checkowner_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_l32(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: checknames_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_l32(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_l32
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: casecompare_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - compare_l32
    linkageType: ''
    returnType: int
    signature: int casecompare_l32(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:21,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_resinfo(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:29,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_resinfo(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:36,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_resinfo(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:43,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:45,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: towire_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_resinfo(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:57,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:60,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: compare_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_resinfo(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:66,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: fromstruct_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_resinfo(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:76,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:77,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:81,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tostruct_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_txt
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_resinfo(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:90,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:91,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: freestruct_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_txt
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_resinfo(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:98,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: additionaldata_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_resinfo(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:112,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: digest_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_resinfo(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:121,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:123,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:125,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: checkowner_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_resinfo(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: checknames_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_resinfo(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_resinfo
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: casecompare_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - compare_resinfo
    linkageType: ''
    returnType: int
    signature: int casecompare_resinfo(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:21,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 32
    functionName: fromtext_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_null(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:36,1
    - Dst: unknown_totext
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: totext_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - unknown_totext
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_null(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:45,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:47,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:48,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:49,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:51,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:52,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: fromwire_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_null(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:58,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:60,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: towire_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_null(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:71,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:72,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:74,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:75,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: compare_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_null(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:86,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:87,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:89,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:90,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: fromstruct_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_null(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:101,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:105,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:107,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: tostruct_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_null(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:119,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: freestruct_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_null(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: additionaldata_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_null(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:147,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: digest_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_null(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:158,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:159,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:160,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: checkowner_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_null(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:168,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:170,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:171,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: checknames_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_null(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_null
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: casecompare_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - compare_null
    linkageType: ''
    returnType: int
    signature: int casecompare_null(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:22,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:23,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:25,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: ARGS_FROMTEXT
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ARGS_FROMTEXT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:33,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: ARGS_TOTEXT
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ARGS_TOTEXT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:40,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:41,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: ARGS_FROMWIRE
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_decompress_setpermitted
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ARGS_FROMWIRE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:50,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:51,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:52,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: ARGS_TOWIRE
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - dns_compress_setpermitted
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ARGS_TOWIRE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:69,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:71,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:72,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: ARGS_COMPARE
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int ARGS_COMPARE
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:90,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ARGS_TOSTRUCT
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ARGS_TOSTRUCT
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:108,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:109,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: additionaldata_
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:119,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: ARGS_DIGEST
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ARGS_DIGEST
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:128,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: ARGS_CHECKOWNER
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool ARGS_CHECKOWNER
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:142,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:143,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: ARGS_CHECKNAMES
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool ARGS_CHECKNAMES
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:158,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:160,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:161,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/proforma.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: casecompare_
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/proforma.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int casecompare_
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:21,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_spf(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:29,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_spf(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:36,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_spf(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:43,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:45,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: towire_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_spf(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:57,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:60,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: compare_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_spf(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:66,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: fromstruct_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_spf(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:76,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:77,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:81,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 84
    functionName: tostruct_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_txt
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_spf(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:90,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:91,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: freestruct_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_txt
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_spf(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:98,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: additionaldata_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_spf(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:112,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 117
    functionName: digest_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_spf(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:121,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:123,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:125,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: checkowner_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_spf(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:136,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: checknames_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_spf(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_spf
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: casecompare_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - compare_spf
    linkageType: ''
    returnType: int
    signature: int casecompare_spf(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:48,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:50,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:51,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:52,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:53,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:54,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:57,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:57,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:59,1
    - Dst: dns_hashalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:59,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:60,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:63,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:63,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:69,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:72,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:72,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:75,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:77,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:77,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:80,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:80,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:83,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:85,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:85,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:86,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:86,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:88,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:88,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:88,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:88,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:89,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:89,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:95,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:95,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:97,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:98,1
    - Dst: isc_base32hexnp_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:98,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:98,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:99,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:100,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:102,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:102,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:102,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:103,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:103,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:103,1
    - Dst: typemap_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 5
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: fromtext_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - typemap_fromtext
    - RETERR
    - dns_hashalg_fromtext
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_init
    - strlen
    - isc_hex_decodestring
    - uint16_tobuffer
    - isc_buffer_usedlength
    - REQUIRE
    - isc_base32hexnp_decodestring
    - mem_tobuffer
    - strcmp
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_nsec3(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:118,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:120,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:123,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:124,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:125,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:126,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:126,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:129,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:130,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:131,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:132,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:132,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:135,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:136,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:137,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:138,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:138,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:141,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:142,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:143,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:148,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:148,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:151,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:155,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:155,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:157,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:157,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:160,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:161,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:162,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:166,1
    - Dst: isc_base32hexnp_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:166,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:173,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:173,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:175,1
    - Dst: typemap_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:175,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:178,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 182
    functionName: totext_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - isc_base32hexnp_totext
    - INSIST
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - isc_hex_totext
    - typemap_totext
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_nsec3(ARGS_TOTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:193,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:195,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:200,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:203,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:206,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:211,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:214,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:217,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:219,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:221,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:221,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:223,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:223,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 226
    functionName: fromwire_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    - typemap_test
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_nsec3(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:233,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:235,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:237,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: towire_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_nsec3(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:250,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:252,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:253,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 255
    functionName: compare_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_nsec3(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:264,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:269,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:270,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:272,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:272,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:273,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:273,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:274,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:274,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:275,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:275,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:276,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:276,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:277,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:277,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:278,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:278,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:282,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:282,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 284
    functionName: fromstruct_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - typemap_test
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_nsec3(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:291,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:293,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:297,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:301,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:302,1
    - Dst: uint16_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:303,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:305,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:306,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:307,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:308,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:310,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:311,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:312,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:313,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 319
    functionName: tostruct_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - uint16_consume_fromregion
    - ISC_LINK_INIT
    - INSIST
    - REQUIRE
    - isc_region_consume
    - uint8_consume_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_nsec3(ARGS_TOSTRUCT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:326,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:333,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:336,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: freestruct_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_nsec3(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:346,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:348,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:349,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:350,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: additionaldata_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_nsec3(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:360,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: digest_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_nsec3(ARGS_DIGEST)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:372,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:374,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:375,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:376,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:381,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:382,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:383,1
    - Dst: isc_base32hexnp_decoderegion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 389
    functionName: checkowner_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - isc_base32hexnp_decoderegion
    - UNUSED
    - dns_name_getlabel
    - isc_buffer_init
    - REQUIRE
    - isc_region_consume
    linkageType: ''
    returnType: bool
    signature: bool checkowner_nsec3(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:393,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:395,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:396,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: checknames_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_nsec3(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_nsec3
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: casecompare_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - compare_nsec3
    linkageType: ''
    returnType: int
    signature: int casecompare_nsec3(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:39,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:44,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:47,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:49,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:55,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:55,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:61,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:61,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:63,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:63,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:63,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:68,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:70,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:72,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:72,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:77,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:78,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:78,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:80,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:80,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:80,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:85,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:87,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:89,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:99,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:99,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:104,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:105,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:105,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 114
    functionName: fromtext_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_hex_decodestring
    - uint16_tobuffer
    - isc_base64_decodestring
    - REQUIRE
    - dns_name_wirefromtext
    - isc_lex_ungettoken
    - RETTOK
    - isc_buffer_used
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_hip(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:125,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:127,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:129,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:130,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:132,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:133,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:135,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:136,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:139,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:139,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:145,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:146,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:146,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:154,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:154,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:156,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:161,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:164,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:164,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:167,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:167,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:173,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:175,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:177,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:177,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:178,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:180,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:180,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:184,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 187
    functionName: totext_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_totext
    - str_totext
    - RETERR
    - INSIST
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - isc_base64_totext
    - isc_hex_totext
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_hip(ARGS_TOTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:200,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:204,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:210,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:212,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:213,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:215,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:217,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:220,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:223,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:223,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:224,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:226,1
    - Dst: isc_buffer_activelength
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:227,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:228,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:229,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 232
    functionName: fromwire_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - dns_name_fromwire
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - isc_buffer_activelength
    - uint8_fromregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_hip(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:238,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:239,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:241,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:243,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 245
    functionName: towire_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_hip(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:256,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:258,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:259,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 261
    functionName: compare_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_hip(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:274,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:275,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:278,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:279,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:281,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:281,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:282,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:282,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:283,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:283,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:284,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:284,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:285,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:285,1
    - Dst: dns_rdata_hip_first
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:288,1
    - Dst: dns_rdata_hip_next
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:289,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: fromstruct_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - dns_rdata_hip_next
    - dns_rdata_hip_first
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_hip(ARGS_FROMSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:304,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:308,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:310,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:312,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:313,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:315,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:316,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:318,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:319,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:323,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:324,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:326,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:328,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:329,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 339
    functionName: tostruct_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_hip(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:345,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:351,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:352,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 357
    functionName: freestruct_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_hip(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:361,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:363,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:364,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:365,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: additionaldata_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_hip(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:375,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: digest_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_hip(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:383,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:385,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:386,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:387,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: checkowner_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_hip(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:395,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:397,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:398,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: checknames_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_hip(ARGS_CHECKNAMES)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hip
    argTypes:
    - dns_rdata_hip_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: dns_rdata_hip_first
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_hip_first(dns_rdata_hip_t *hip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:424,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:425,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hip
    argTypes:
    - dns_rdata_hip_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: dns_rdata_hip_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 2
    functionsReached:
    - dns_name_fromregion
    - INSIST
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_hip_next(dns_rdata_hip_t *hip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:435,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:439,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - hip
    - name
    argTypes:
    - dns_rdata_hip_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 442
    functionName: dns_rdata_hip_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 1
    functionsReached:
    - dns_name_fromregion
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns_rdata_hip_current(dns_rdata_hip_t *hip, dns_name_t *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:454,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:455,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:456,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:457,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:458,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:460,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:461,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:463,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:464,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:465,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:470,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:471,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:472,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:473,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:474,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:476,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:477,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:478,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:482,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:483,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:485,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:486,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:488,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:489,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:490,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:495,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:495,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:496,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:496,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 499
    functionName: casecompare_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_region_compare
    - name_length
    - INSIST
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int casecompare_hip(ARGS_COMPARE)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:41,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:44,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:46,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:46,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:51,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:51,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:54,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:56,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:62,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:62,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:67,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:72,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:72,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:77,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:77,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:78,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:83,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:83,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:84,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:86,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:90,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:91,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:95,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:95,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:96,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:98,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:102,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:103,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:107,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:111,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:111,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:118,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 119
    functionName: fromtext_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - memmove
    - buffer_fromregion
    - RETERR
    - isc_base64_tobuffer
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_availableregion
    - dns_name_wirefromtext
    - REQUIRE
    - inet_pton
    - isc_buffer_add
    - strcmp
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ipseckey(ARGS_FROMTEXT)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:130,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:132,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:139,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:139,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:145,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:146,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:147,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:148,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:149,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:149,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:154,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:155,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:156,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:157,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:157,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:162,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:163,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:164,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:165,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:165,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:172,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:172,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:176,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:176,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:177,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:181,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:181,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:182,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:187,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:187,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:188,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:188,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:196,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:196,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:198,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:200,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:200,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:206,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 209
    functionName: totext_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_totext
    - str_totext
    - name_length
    - RETERR
    - inet_totext
    - snprintf
    - REQUIRE
    - isc_base64_totext
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ipseckey(ARGS_TOTEXT)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:219,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:221,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:223,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:225,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:235,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:236,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:242,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:243,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:249,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:250,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:253,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:253,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:254,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:255,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:255,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:256,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:257,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 266
    functionName: fromwire_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ipseckey(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:273,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:275,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:277,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: towire_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ipseckey(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:287,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:289,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:290,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:292,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:293,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: compare_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_ipseckey(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:304,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:306,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:307,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:310,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:316,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:316,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:317,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:317,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:318,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:318,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:325,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:326,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:326,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:330,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:330,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:334,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:335,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:335,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:339,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: fromstruct_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - ntohl
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - uint32_tobuffer
    - mem_tobuffer
    - dns_name_toregion
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ipseckey(ARGS_FROMSTRUCT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:351,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:355,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:357,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:358,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:360,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:361,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:363,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:364,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:366,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:367,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:374,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:375,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:376,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:380,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:381,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:382,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:386,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:387,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:388,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:389,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:389,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 403
    functionName: tostruct_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - htonl
    - memmove
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - name_duporclone
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ipseckey(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:410,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:417,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 425
    functionName: freestruct_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_ipseckey(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:429,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:431,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:432,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:433,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: additionaldata_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ipseckey(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:443,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: digest_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ipseckey(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:451,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:453,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:454,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:455,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: checkowner_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ipseckey(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:463,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:465,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:466,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 470
    functionName: checknames_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_ipseckey(ARGS_CHECKNAMES)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:484,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:486,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:487,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:489,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:491,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:494,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:495,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:497,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:498,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:500,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:501,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:503,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:508,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:508,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:509,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:509,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 512
    functionName: casecompare_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_name_fromregion
    - name_length
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int casecompare_ipseckey(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:30,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:32,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:32,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:35,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:39,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 41
    functionName: fromtext_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_dname(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:50,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:51,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:53,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:54,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:56,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:57,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:59,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 62
    functionName: totext_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_dname(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:70,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:71,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:73,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:75,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 77
    functionName: fromwire_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_dname(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:85,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:87,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:88,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:89,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:90,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: towire_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_dname(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:106,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:108,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:109,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:111,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:112,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:114,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:115,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: compare_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_dname(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:128,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:131,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:133,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: fromstruct_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_dname(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:145,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:149,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:151,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:152,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:153,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:154,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: tostruct_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_dname(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:165,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: freestruct_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_dname(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:180,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: additionaldata_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_dname(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:192,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:194,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:195,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:196,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 199
    functionName: digest_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_dname(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: checkowner_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_dname(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: checknames_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_dname(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_dname
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: casecompare_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - compare_dname
    linkageType: ''
    returnType: int
    signature: int casecompare_dname(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:21,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:27,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 2
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: fromtext_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_openpgpkey(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:39,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:40,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:42,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:48,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:48,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:53,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:53,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:55,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:55,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:59,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:59,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:63,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: totext_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - isc_base64_totext
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_openpgpkey(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:73,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:75,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:77,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:82,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:86,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 88
    functionName: fromwire_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_openpgpkey(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:97,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:99,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: towire_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_openpgpkey(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:112,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:114,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:115,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: compare_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_openpgpkey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:130,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 136
    functionName: fromstruct_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_openpgpkey(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:145,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:149,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:151,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 160
    functionName: tostruct_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_openpgpkey(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:167,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 177
    functionName: freestruct_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_openpgpkey(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:183,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:185,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: additionaldata_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_openpgpkey(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:195,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: digest_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_openpgpkey(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: checkowner_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_openpgpkey(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: checknames_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_openpgpkey(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:234,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:236,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:237,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: casecompare_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int casecompare_openpgpkey(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:23,1
    - Dst: generic_fromtext_ds
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: fromtext_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ta(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:30,1
    - Dst: generic_totext_ds
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 3
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: totext_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_ds
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ta(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:37,1
    - Dst: generic_fromwire_ds
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: fromwire_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - generic_fromwire_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ta(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:46,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:47,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:49,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:51,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: towire_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ta(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:60,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:62,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:64,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:66,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:67,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: compare_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_ta(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:73,1
    - Dst: generic_fromstruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 4
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: fromstruct_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ta(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:83,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:90,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: tostruct_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_ds
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ta(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:100,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: freestruct_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_ta(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:116,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:117,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: additionaldata_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ta(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:128,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: digest_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ta(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: checkowner_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ta(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:152,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: checknames_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_ta(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_ta
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: casecompare_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - compare_ta
    linkageType: ''
    returnType: int
    signature: int casecompare_ta(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:36,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:36,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:39,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:39,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:47,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: fromtext_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - txt_fromtext
    - REQUIRE
    - RETTOK
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_isdn(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:56,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:58,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:61,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:61,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:65,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:65,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 4
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: totext_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - txt_totext
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_isdn(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:71,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:73,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:74,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:75,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:77,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:77,1
    - Dst: buffer_empty
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:78,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: fromwire_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - buffer_empty
    - RETERR
    - UNUSED
    - txt_fromwire
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_isdn(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:86,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:89,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: towire_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_isdn(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:103,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:105,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:106,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: compare_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_isdn(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:117,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:119,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:120,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:122,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:122,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:123,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:123,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:127,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:127,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: fromstruct_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_isdn(ARGS_FROMSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:138,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:142,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:144,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:146,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:147,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:148,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:149,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:155,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:156,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 163
    functionName: tostruct_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_isdn(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:169,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:176,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: freestruct_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_isdn(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:188,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: additionaldata_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_isdn(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:200,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: digest_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_isdn(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: checkowner_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_isdn(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:221,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: checknames_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_isdn(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_isdn
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 3
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: casecompare_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - compare_isdn
    linkageType: ''
    returnType: int
    signature: int casecompare_isdn(ARGS_COMPARE)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:42,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:47,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:47,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:52,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:52,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:55,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:62,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:62,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:67,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:81,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:81,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:86,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:86,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:87,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:89,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:93,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:94,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:98,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:98,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:99,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:101,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:105,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:106,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:110,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:114,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 118
    functionName: fromtext_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - memmove
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - isc_buffer_availableregion
    - REQUIRE
    - inet_pton
    - isc_buffer_add
    - dns_name_wirefromtext
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_amtrelay(ARGS_FROMTEXT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:133,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:142,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:143,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:144,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:145,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:146,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:146,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:151,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:155,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:156,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:157,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:157,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:166,1
    - Dst: inet_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:169,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:172,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:173,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:174,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 180
    functionName: totext_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_totext
    - str_totext
    - UNREACHABLE
    - RETERR
    - UNUSED
    - inet_totext
    - snprintf
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_amtrelay(ARGS_TOTEXT)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:190,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:192,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:194,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:204,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:205,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:211,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:212,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:218,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:219,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:222,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:222,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:223,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:224,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:225,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:228,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 231
    functionName: fromwire_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_amtrelay(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:237,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:238,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:240,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:242,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: towire_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_amtrelay(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:255,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:257,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:258,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: compare_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_amtrelay(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:272,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:274,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:275,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:277,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:277,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:279,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:279,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:286,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:287,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:290,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:294,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:295,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 301
    functionName: fromstruct_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - ntohl
    - RETERR
    - UNUSED
    - isc_buffer_copyregion
    - uint32_tobuffer
    - mem_tobuffer
    - dns_name_toregion
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_amtrelay(ARGS_FROMSTRUCT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:311,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:312,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:316,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:318,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:321,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:322,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:324,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:325,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:327,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:330,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:337,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:338,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:339,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:343,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:344,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:348,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:349,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:350,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:350,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 362
    functionName: tostruct_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - htonl
    - memmove
    - mem_maybedup
    - ISC_LINK_INIT
    - name_duporclone
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_amtrelay(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:369,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:376,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 384
    functionName: freestruct_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_amtrelay(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:388,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:390,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:391,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:392,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: additionaldata_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_amtrelay(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:402,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 406
    functionName: digest_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_amtrelay(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:410,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:412,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:413,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:414,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: checkowner_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_amtrelay(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:422,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:424,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:425,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: checknames_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_amtrelay(ARGS_CHECKNAMES)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:438,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:440,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:441,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:442,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:444,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:445,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:447,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:450,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:453,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:454,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:456,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:457,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:459,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:460,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 463
    functionName: casecompare_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_name_fromregion
    - dns_name_rdatacompare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int casecompare_amtrelay(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:29,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:36,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:36,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:39,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:40,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 44
    functionName: fromtext_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_talink(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:54,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:55,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:57,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:58,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:61,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:63,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:64,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:64,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:66,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:67,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:67,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:71,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:73,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:73,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:75,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 78
    functionName: totext_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - name_length
    - dns_name_totext
    - str_totext
    - RETERR
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_talink(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:87,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:88,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:90,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:92,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:95,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:95,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 97
    functionName: fromwire_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_talink(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:106,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:108,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:110,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:111,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:113,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:115,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:116,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:116,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:117,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:117,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:119,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:120,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:120,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 6
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: towire_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_talink(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:133,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:135,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:136,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 138
    functionName: compare_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_talink(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:151,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:153,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:154,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:154,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:155,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: fromstruct_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - dns_name_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_talink(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:167,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:171,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:173,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:175,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:176,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:177,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:177,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:178,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:179,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:181,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:182,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:182,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:183,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 188
    functionName: tostruct_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_talink(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:195,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:201,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: freestruct_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_talink(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: additionaldata_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_talink(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:222,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: digest_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_talink(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:233,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: checkowner_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_talink(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:244,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: checknames_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_talink(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_talink
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: casecompare_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - compare_talink
    linkageType: ''
    returnType: int
    signature: int casecompare_talink(ARGS_COMPARE)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:37,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:38,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:44,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:44,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:46,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:48,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:48,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:50,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:53,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:57,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:57,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:62,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:62,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:64,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:64,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:65,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:70,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:70,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:76,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:76,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:81,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:83,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:83,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:88,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:88,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:90,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:90,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:90,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:91,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:97,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:97,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:99,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:102,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:106,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:106,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:106,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:108,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:108,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:113,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:113,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:115,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:115,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:115,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:116,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:122,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:122,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:124,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:127,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:131,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:131,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:131,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:133,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:133,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:138,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:138,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:140,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:140,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:145,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:145,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:147,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:151,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:151,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:156,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:158,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:158,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:170,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:170,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 174
    functionName: fromtext_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - buffer_fromregion
    - mem_tobuffer
    - dns_time32_fromtext
    - isc_base64_tobuffer
    - strtoul
    - RETERR
    - dns_secalg_fromtext
    - UNUSED
    - uint32_tobuffer
    - strlen
    - strtol
    - check_private
    - RETTOK
    - isc_lex_getmastertoken
    - DNS_AS_STR
    - uint16_tobuffer
    - isc_buffer_usedlength
    - dns_name_wirefromtext
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_rrsig(ARGS_FROMTEXT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:188,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:190,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:195,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:196,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:201,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:202,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:202,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:204,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:205,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:205,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:207,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:207,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:212,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:213,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:214,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:214,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:215,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:215,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:220,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:221,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:222,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:222,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:223,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:223,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:228,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:229,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:230,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:231,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:231,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:234,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:234,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:236,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:236,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:241,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:242,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:243,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:243,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:244,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:244,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:249,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:250,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:251,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:251,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:252,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:252,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:257,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:258,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:259,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:260,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:260,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:261,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:261,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:266,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:267,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:268,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:268,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:269,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:269,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:274,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:274,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:277,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:277,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:279,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:279,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:283,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:283,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:287,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 291
    functionName: totext_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_totext
    - str_totext
    - name_length
    - RETERR
    - uint32_fromregion
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_time32_totext
    - dns_rdatatype_isknown
    - dns_rdatatype_totext
    - isc_base64_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_rrsig(ARGS_TOTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:299,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:301,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:302,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:304,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:306,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:322,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:323,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:323,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:328,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:329,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:329,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:334,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:343,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:343,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:346,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 348
    functionName: fromwire_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - check_private
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_rrsig(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:356,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:358,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:359,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:369,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:369,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:370,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:375,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:376,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:377,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:377,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:378,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:378,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 350
    functionDepth: 6
    functionLinenumber: 350
    functionLinenumberEnd: 384
    functionName: towire_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_rrsig(ARGS_TOWIRE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:395,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:396,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:397,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:398,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:400,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:401,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:403,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:404,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:407,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:412,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:413,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:414,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:415,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:416,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:417,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:418,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:419,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:420,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:425,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:425,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:426,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:426,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 429
    functionName: compare_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_name_fromregion
    - name_length
    - INSIST
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_rrsig(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:438,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:439,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:441,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:442,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:447,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:447,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:452,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:452,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:457,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:457,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:462,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:462,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:467,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:467,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:472,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:472,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:477,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:477,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:482,1
    - Dst: name_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:482,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 488
    functionName: fromstruct_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - uint16_tobuffer
    - name_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_rrsig(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:498,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:502,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:504,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:509,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:510,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:515,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:516,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:521,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:522,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:527,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:528,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:533,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:534,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:539,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:540,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:545,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:546,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:548,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:549,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:550,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:551,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:552,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:552,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 561
    functionName: tostruct_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - name_duporclone
    - uint32_fromregion
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_rrsig(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:567,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:568,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:574,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 579
    functionName: freestruct_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_rrsig(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:583,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:585,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:586,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:587,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: additionaldata_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_rrsig(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:598,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:600,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:609,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:611,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:614,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:615,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:616,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:616,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:617,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 621
    functionName: digest_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_rrsig(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:628,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:630,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: covers_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 1
    functionsReached:
    - uint16_fromregion
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: dns_rdatatype_t
    signature: dns_rdatatype_t covers_rrsig(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:638,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:640,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:641,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:642,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 646
    functionName: checkowner_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_rrsig(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:650,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:652,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:653,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: checknames_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_rrsig(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_rrsig
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 662
    functionName: casecompare_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - compare_rrsig
    linkageType: ''
    returnType: int
    signature: int casecompare_rrsig(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:33,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:38,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:38,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:40,1
    - Dst: dns_cert_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:41,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:46,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:51,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:56,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:56,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:58,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:58,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:59,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:59,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 62
    functionName: fromtext_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - dns_cert_fromtext
    - dns_secalg_fromtext
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - RETTOK
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_cert(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:71,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:73,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:75,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:80,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:82,1
    - Dst: dns_cert_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:82,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:83,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:83,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:88,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:89,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:90,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:91,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:91,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:96,1
    - Dst: dns_secalg_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:96,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:103,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:103,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:105,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:105,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:107,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:107,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:109,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:109,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:113,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 116
    functionName: totext_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - str_totext
    - dns_secalg_totext
    - dns_cert_totext
    - RETERR
    - UNUSED
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - isc_base64_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_cert(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:122,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:125,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:126,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:128,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:133,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: fromwire_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_cert(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:142,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:144,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:146,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: towire_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_cert(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:159,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:161,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:162,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: compare_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_cert(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:176,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:178,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:178,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:179,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:179,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:180,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:180,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: fromstruct_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_cert(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:192,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:196,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:198,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:200,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:201,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:202,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:203,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:204,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:205,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 211
    functionName: tostruct_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_cert(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:218,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: freestruct_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_cert(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:235,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:236,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: additionaldata_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_cert(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:246,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: digest_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_cert(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:255,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:257,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:258,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:259,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: checkowner_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_cert(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:269,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:270,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: checknames_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_cert(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_cert
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: casecompare_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - compare_cert
    linkageType: ''
    returnType: int
    signature: int casecompare_cert(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:21,1
    - Dst: generic_fromtext_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_tlsa
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_smimea(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:29,1
    - Dst: generic_totext_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - generic_totext_tlsa
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_smimea(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:36,1
    - Dst: generic_fromwire_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_tlsa
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_smimea(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:45,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:46,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:48,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:50,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 52
    functionName: towire_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_smimea(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:59,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:60,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:62,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:63,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:65,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:66,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: compare_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_smimea(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:72,1
    - Dst: generic_fromstruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: fromstruct_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_tlsa
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_smimea(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:81,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:83,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:87,1
    - Dst: generic_tostruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: tostruct_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_tlsa
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_smimea(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:97,1
    - Dst: generic_freestruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: freestruct_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_tlsa
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_smimea(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:104,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:107,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:108,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: additionaldata_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_smimea(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:118,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: digest_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_smimea(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: checkowner_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_smimea(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:142,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: checknames_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_smimea(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_smimea
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: casecompare_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - compare_smimea
    linkageType: ''
    returnType: int
    signature: int casecompare_smimea(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:25,1
    - Dst: generic_fromtext_ds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 5
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: fromtext_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_cds(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:32,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:33,1
    - Dst: generic_totext_ds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: totext_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_ds
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_cds(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:40,1
    - Dst: generic_fromwire_ds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: fromwire_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - generic_fromwire_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_cds(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:49,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:50,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:54,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: towire_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_cds(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:63,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:64,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:65,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:67,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:69,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:70,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: compare_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_cds(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:76,1
    - Dst: generic_fromstruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: fromstruct_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_ds
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_cds(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:86,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:87,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:94,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: tostruct_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_ds
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_cds(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:104,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: freestruct_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_cds(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:121,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:122,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: additionaldata_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_cds(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:132,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: digest_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_cds(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:143,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:144,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:145,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: checkowner_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_cds(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:153,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:155,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: checknames_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_cds(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_cds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: casecompare_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - compare_cds
    linkageType: ''
    returnType: int
    signature: int casecompare_cds(ARGS_COMPARE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:30,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:44,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 5
    argNames:
    - str
    - max
    - precision
    - units
    - valuep
    argTypes:
    - char*
    - unsigned long
    - size_t
    - char
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: loc_getdecimal
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - decvalue
    - strtoul
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t loc_getdecimal(const char *str, unsigned long max, size_t
      precision, char units,\n\t       unsigned long *valuep)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:81,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:96,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - str
    - valuep
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 134
    functionName: loc_getprecision
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - decvalue
    - strtoul
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getprecision(const char *str, unsigned char *valuep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:138,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lexer
    - token
    - d
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: get_degrees
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_degrees(isc_lex_t *lexer, isc_token_t *token, unsigned
      long *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - d
    - m
    - s
    - maxd
    argTypes:
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: check_coordinate
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_coordinate(unsigned long d, unsigned long m, unsigned
      long s,\n\t\t unsigned long maxd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:160,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lexer
    - token
    - m
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: get_minutes
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_minutes(isc_lex_t *lexer, isc_token_t *token, unsigned
      long *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:170,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:170,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:172,1
    - Dst: loc_getdecimal
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:172,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - lexer
    - token
    - s
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: get_seconds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - DNS_AS_STR
    - loc_getdecimal
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t get_seconds(isc_lex_t *lexer, isc_token_t *token, unsigned
      long *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:180,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:180,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:182,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:183,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:185,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:189,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:190,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:192,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - lexer
    - token
    - directions
    - direction
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 199
    functionName: get_direction
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - DNS_AS_STR
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_direction(isc_lex_t *lexer, isc_token_t *token, const
      char *directions,\n\t      int *direction)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:216,1
    - Dst: get_degrees
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:216,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:217,1
    - Dst: check_coordinate
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:217,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:222,1
    - Dst: get_direction
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:222,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:227,1
    - Dst: get_minutes
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:227,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:228,1
    - Dst: check_coordinate
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:228,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:233,1
    - Dst: get_direction
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:233,1
    - Dst: get_seconds
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:238,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:240,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:242,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:243,1
    - Dst: check_coordinate
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:243,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:248,1
    - Dst: get_direction
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:248,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:250,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 7
    argNames:
    - lexer
    - dp
    - mp
    - sp
    - directions
    - directionp
    - maxd
    argTypes:
    - isc_lex_t*
    - unsigned long*
    - unsigned long*
    - unsigned long*
    - char*
    - int*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 260
    functionName: loc_getcoordinate
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - get_degrees
    - RETERR
    - get_direction
    - check_coordinate
    - RETTOK
    - get_minutes
    - get_seconds
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t loc_getcoordinate(isc_lex_t *lexer, unsigned long *dp,
      unsigned long *mp,\n\t\t  unsigned long *sp, const char *directions, int *directionp,\n\t\t
      \ unsigned long maxd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:267,1
    - Dst: loc_getcoordinate
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:267,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - lexer
    - latitude
    argTypes:
    - isc_lex_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 6
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: loc_getlatitude
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNREACHABLE
    - loc_getcoordinate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getlatitude(isc_lex_t *lexer, unsigned long *latitude)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:288,1
    - Dst: loc_getcoordinate
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:288,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - lexer
    - longitude
    argTypes:
    - isc_lex_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 283
    functionDepth: 6
    functionLinenumber: 283
    functionLinenumberEnd: 302
    functionName: loc_getlongitude
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNREACHABLE
    - loc_getcoordinate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getlongitude(isc_lex_t *lexer, unsigned long *longitude)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:310,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:310,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:312,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:313,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:314,1
    - Dst: loc_getdecimal
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:314,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:316,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:320,1
    - Dst: loc_getdecimal
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:320,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - lexer
    - altitude
    argTypes:
    - isc_lex_t*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: loc_getaltitude
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - DNS_AS_STR
    - RETTOK
    - loc_getdecimal
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getaltitude(isc_lex_t *lexer, unsigned long *altitude)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:334,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:334,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:338,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:341,1
    - Dst: loc_getprecision
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:341,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lexer
    - valuep
    argTypes:
    - isc_lex_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 344
    functionName: loc_getoptionalprecision
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - loc_getprecision
    - RETERR
    - isc_lex_getmastertoken
    - DNS_AS_STR
    - RETTOK
    - isc_lex_ungettoken
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getoptionalprecision(isc_lex_t *lexer, unsigned char
      *valuep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loc_getoptionalprecision
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lexer
    - sizep
    argTypes:
    - isc_lex_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 346
    functionDepth: 5
    functionLinenumber: 346
    functionLinenumberEnd: 349
    functionName: loc_getsize
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - loc_getoptionalprecision
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getsize(isc_lex_t *lexer, unsigned char *sizep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loc_getoptionalprecision
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lexer
    - hpp
    argTypes:
    - isc_lex_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 5
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: loc_gethorizontalprecision
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - loc_getoptionalprecision
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_gethorizontalprecision(isc_lex_t *lexer, unsigned
      char *hpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loc_getoptionalprecision
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lexer
    - vpp
    argTypes:
    - isc_lex_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 5
    functionLinenumber: 356
    functionLinenumberEnd: 359
    functionName: loc_getverticalprecision
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - loc_getoptionalprecision
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loc_getverticalprecision(isc_lex_t *lexer, unsigned char
      *vpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:396,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:398,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:399,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:400,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:401,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:402,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:404,1
    - Dst: loc_getlatitude
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:404,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:405,1
    - Dst: loc_getlongitude
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:405,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:406,1
    - Dst: loc_getaltitude
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:406,1
    - Dst: loc_getsize
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:407,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:412,1
    - Dst: loc_gethorizontalprecision
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:413,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:418,1
    - Dst: loc_getverticalprecision
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:419,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:424,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:426,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:426,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:427,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:427,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:428,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:428,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:429,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:429,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:431,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:431,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:432,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:432,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:433,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 385
    functionDepth: 7
    functionLinenumber: 385
    functionLinenumberEnd: 436
    functionName: fromtext_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - loc_gethorizontalprecision
    - loc_getlongitude
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - REQUIRE
    - loc_getaltitude
    - loc_getverticalprecision
    - loc_getlatitude
    - loc_getsize
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_loc(ARGS_FROMTEXT)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:462,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:463,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:471,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:474,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:476,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:479,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:483,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:485,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:488,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:492,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:494,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:497,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:500,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:502,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:503,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:518,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:520,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:521,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:536,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:538,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:539,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:548,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:554,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 555
    functionName: totext_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - str_totext
    - UNUSED
    - INSIST
    - uint32_fromregion
    - snprintf
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_loc(ARGS_TOTEXT)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:564,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:566,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:567,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:568,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:570,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:576,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:577,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:626,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:631,1
    - Dst: "latitude < (0x80000000UL - 90 * 3600000) ||\n\t    latitude >"
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:632,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:637,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:642,1
    - Dst: "longitude < (0x80000000UL - 180 * 3600000) ||\n\t    longitude >"
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:643,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:654,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:655,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:656,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 657
    functionName: fromwire_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - "latitude < (0x80000000UL - 90 * 3600000) ||\n\t    latitude >"
    - UNUSED
    - isc_buffer_activeregion
    - "longitude < (0x80000000UL - 180 * 3600000) ||\n\t    longitude >"
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    - uint32_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_loc(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:661,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:663,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:664,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 667
    functionName: towire_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_loc(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:675,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:677,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:678,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:680,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:681,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: compare_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_loc(ARGS_COMPARE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:690,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:691,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:692,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:693,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:695,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:696,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:701,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:701,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:707,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:707,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:713,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:713,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:719,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:719,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:726,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:726,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:733,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:733,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:734,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 735
    functionName: fromstruct_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_loc(ARGS_FROMSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:743,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:745,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:747,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:749,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:750,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:757,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:760,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:761,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:762,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:763,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:764,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:765,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:766,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:767,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:768,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:769,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:770,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:771,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 774
    functionName: tostruct_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - UNUSED
    - uint32_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_loc(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:780,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:781,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:783,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: freestruct_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_loc(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:789,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:791,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:792,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:793,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:794,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 797
    functionName: additionaldata_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_loc(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:803,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 808
    functionName: digest_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_loc(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:812,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:814,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:815,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:816,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 820
    functionName: checkowner_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_loc(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:824,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:826,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:827,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 831
    functionName: checknames_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_loc(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_loc
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 3
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: casecompare_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - compare_loc
    linkageType: ''
    returnType: int
    signature: int casecompare_loc(ARGS_COMPARE)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:38,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:39,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:45,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:45,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:47,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:51,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:51,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:53,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:55,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:55,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:60,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:60,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:61,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:63,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:67,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:81,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 25
    functionDepth: 4
    functionLinenumber: 25
    functionLinenumberEnd: 87
    functionName: fromtext_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - memset
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - mem_tobuffer
    - strtol
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    - isc_lex_ungettoken
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_nxt(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:97,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:99,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:100,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:101,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:102,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:103,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:103,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:104,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:106,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:106,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:114,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:114,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:115,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:116,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:116,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:121,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:124,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 133
    functionName: totext_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - name_length
    - dns_name_totext
    - str_totext
    - RETERR
    - snprintf
    - REQUIRE
    - isc_region_consume
    - dns_rdatatype_isknown
    - dns_rdatatype_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_nxt(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:142,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:143,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:145,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:147,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:148,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:148,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:150,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:156,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:156,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 159
    functionName: fromwire_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_nxt(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:167,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:169,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:170,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:171,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:172,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:173,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:173,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:174,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:174,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: towire_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_nxt(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:191,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:193,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:195,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:196,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:197,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:198,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:199,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:204,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:204,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:205,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:205,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: compare_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_region_compare
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_nxt(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:221,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:225,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:226,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:228,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:229,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:229,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: fromstruct_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - mem_tobuffer
    - dns_name_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_nxt(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:242,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:246,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:248,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:249,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:250,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:251,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:251,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:252,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:253,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 259
    functionName: tostruct_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_nxt(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:266,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:272,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: freestruct_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_nxt(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:281,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:283,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:284,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:285,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 289
    functionName: additionaldata_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_nxt(ARGS_ADDLDATA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:297,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:299,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:300,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:301,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:302,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:306,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: digest_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_nxt(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:313,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:315,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:316,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:317,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: checkowner_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_nxt(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:325,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:327,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:328,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 332
    functionName: checknames_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_nxt(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_nxt
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: casecompare_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - compare_nxt
    linkageType: ''
    returnType: int
    signature: int casecompare_nxt(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:29,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:39,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:39,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:44,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:47,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:49,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:54,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:54,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:57,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:59,1
    - Dst: multitxt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 61
    functionName: fromtext_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - multitxt_fromtext
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - uint16_tobuffer
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_uri(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:71,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:72,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:74,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:79,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:80,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:82,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:82,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:87,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:88,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:90,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:90,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:95,1
    - Dst: multitxt_totext
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: totext_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - str_totext
    - multitxt_totext
    - RETERR
    - UNUSED
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_uri(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:103,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:105,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:107,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:112,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:120,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: fromwire_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_uri(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:131,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:133,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: towire_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_uri(ARGS_TOWIRE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:147,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:149,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:150,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:155,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:159,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:160,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:165,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:169,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:170,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 173
    functionName: compare_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - memcmp
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: int
    signature: int compare_uri(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:183,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:185,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:191,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:191,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:196,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:196,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 202
    functionName: fromstruct_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_uri(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:211,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:215,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:217,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:222,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:223,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:228,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:229,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 238
    functionName: tostruct_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_uri(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:245,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 255
    functionName: freestruct_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_uri(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:259,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:261,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:262,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:263,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: additionaldata_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_uri(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:273,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: digest_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_uri(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:282,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:284,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:285,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:286,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 290
    functionName: checkowner_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_uri(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:294,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:296,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:297,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: checknames_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_uri(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_uri
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: casecompare_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - compare_uri
    linkageType: ''
    returnType: int
    signature: int casecompare_uri(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:21,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 5
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: fromtext_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - generic_fromtext_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_avc(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:28,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:29,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: totext_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_totext_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_avc(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:36,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: fromwire_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_fromwire_txt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_avc(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:43,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:45,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: towire_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_avc(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:57,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:59,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:60,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: compare_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_avc(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:66,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: fromstruct_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - generic_fromstruct_txt
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_avc(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:76,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:80,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: tostruct_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - generic_tostruct_txt
    - ISC_LINK_INIT
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_avc(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:90,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: freestruct_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - generic_freestruct_txt
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_avc(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:100,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:101,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: additionaldata_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_avc(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:111,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: digest_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_avc(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:122,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:123,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:124,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: checkowner_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_avc(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: checknames_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_avc(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_avc
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: casecompare_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - compare_avc
    linkageType: ''
    returnType: int
    signature: int casecompare_avc(ARGS_COMPARE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:46,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:48,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:49,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:50,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:51,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:52,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:55,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:55,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:57,1
    - Dst: dns_hashalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:57,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:58,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:58,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:61,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:61,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:67,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:70,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:70,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:75,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:75,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:78,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:78,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:81,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:83,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:83,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:84,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:84,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:86,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:86,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:86,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:86,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:87,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:87,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 91
    functionName: fromtext_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_hashalg_fromtext
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - strlen
    - isc_hex_decodestring
    - uint16_tobuffer
    - REQUIRE
    - strcmp
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_nsec3param(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:103,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:105,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:107,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:109,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:110,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:112,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:113,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:115,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:116,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:118,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:119,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:119,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:121,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:122,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:122,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:124,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:125,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:125,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:127,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:128,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:129,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:134,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:134,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:137,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 141
    functionName: totext_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - UNUSED
    - INSIST
    - snprintf
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - isc_hex_totext
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_nsec3param(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:152,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:154,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:159,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:162,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:165,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:167,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:168,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:168,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 171
    functionName: fromwire_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_nsec3param(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:180,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:182,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: towire_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_nsec3param(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:195,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:197,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:198,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: compare_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_nsec3param(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:212,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:214,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:214,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:215,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:215,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:216,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:217,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:217,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:218,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: fromstruct_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_nsec3param(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:229,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:233,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:237,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:238,1
    - Dst: uint16_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:239,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:241,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:242,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:243,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 249
    functionName: tostruct_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - uint16_consume_fromregion
    - ISC_LINK_INIT
    - INSIST
    - REQUIRE
    - isc_region_consume
    - uint8_consume_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_nsec3param(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:256,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: freestruct_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_nsec3param(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:270,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:272,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:273,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:274,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: additionaldata_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_nsec3param(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:284,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: digest_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_nsec3param(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:292,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:294,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:296,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: checkowner_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_nsec3param(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:304,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:306,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:307,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 311
    functionName: checknames_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_nsec3param(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_nsec3param
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: casecompare_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - compare_nsec3param
    linkageType: ''
    returnType: int
    signature: int casecompare_nsec3param(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:32,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:34,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:34,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:37,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:40,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:42,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:45,1
    - Dst: txt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: fromtext_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - txt_fromtext
    - REQUIRE
    - RETTOK
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_x25(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:53,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:56,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:58,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: totext_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - txt_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_x25(ARGS_TOTEXT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:67,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:69,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:70,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:71,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:73,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 83
    functionName: fromwire_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - txt_fromwire
    - UNUSED
    - REQUIRE
    - isc_buffer_activeregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_x25(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:90,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: towire_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_x25(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:104,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:106,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:107,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: compare_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_x25(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:122,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:123,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:130,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:135,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:135,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 137
    functionName: fromstruct_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - uint8_tobuffer
    - isdigit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_x25(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:146,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:152,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:153,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:154,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: tostruct_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_x25(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:165,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 175
    functionName: freestruct_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_x25(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:183,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: additionaldata_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_x25(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:193,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: digest_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_x25(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: checkowner_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_x25(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: checknames_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_x25(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_x25
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: casecompare_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - compare_x25
    linkageType: ''
    returnType: int
    signature: int casecompare_x25(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:37,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:38,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:41,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:41,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:43,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:43,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:43,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:44,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:44,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:47,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:47,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:49,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:49,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:50,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:50,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:53,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:53,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:55,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:55,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:55,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:56,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:59,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:59,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:61,1
    - Dst: dns_keyflags_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:61,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:62,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:65,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:65,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:67,1
    - Dst: dns_secproto_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:68,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:68,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:71,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:71,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:73,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:74,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:74,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 24
    functionDepth: 4
    functionLinenumber: 24
    functionLinenumberEnd: 87
    functionName: fromtext_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - dns_secproto_fromtext
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - uint32_tobuffer
    - dns_secalg_fromtext
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - dns_time32_fromtext
    - RETTOK
    - isc_base64_tobuffer
    - dns_keyflags_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_keydata(ARGS_FROMTEXT)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:99,1
    - Dst: unknown_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:102,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:105,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:108,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:109,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:110,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:110,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:111,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:111,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:114,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:115,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:116,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:116,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:117,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:117,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:120,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:121,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:122,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:122,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:123,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:123,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:126,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:127,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:128,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:129,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:129,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:130,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:130,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:143,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:144,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:145,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:145,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:146,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:146,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:150,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:152,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:152,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:157,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:157,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:169,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:169,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:171,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:171,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:173,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:173,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:175,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:175,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:180,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:180,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:182,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:182,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:186,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:196,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:196,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:197,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:197,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:200,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:200,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:201,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:201,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:202,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:202,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:203,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:205,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:206,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:206,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:207,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:207,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:210,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:212,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:212,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:213,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:213,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:214,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:215,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:216,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:219,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:219,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:220,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:220,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:222,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:222,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:224,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:224,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:227,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:227,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:230,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:231,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:233,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:233,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:237,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:237,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:238,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:238,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:240,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:241,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:243,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:243,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 248
    functionName: totext_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - dns_secalg_format
    - dns_rdata_toregion
    - dst_region_computeid
    - isc_time_set
    - snprintf
    - unknown_totext
    - REQUIRE
    - isc_region_consume
    - dns_time32_totext
    - uint16_fromregion
    - isc_base64_totext
    - isc_stdtime_now
    - uint32_fromregion
    - isc_time_formathttptimestamp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_keydata(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:254,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:256,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:257,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:258,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:260,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:261,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: fromwire_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_keydata(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:269,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:271,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:273,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: towire_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_keydata(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:284,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:286,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:287,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: compare_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_keydata(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:295,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:298,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:300,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:301,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:304,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:304,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:307,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:307,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:310,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:310,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:313,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:313,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:316,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:316,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:319,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:319,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 323
    functionName: fromstruct_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_keydata(ARGS_FROMSTRUCT)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:331,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:335,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:337,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:344,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:345,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:352,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:353,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:360,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:361,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:368,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:369,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:376,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:377,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:384,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:385,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:389,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 392
    functionName: tostruct_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - uint32_fromregion
    - REQUIRE
    - uint16_fromregion
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_keydata(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:398,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:399,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 409
    functionName: freestruct_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_keydata(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:413,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:415,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:416,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:417,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: additionaldata_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_keydata(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:427,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: digest_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_keydata(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:436,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:438,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:439,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:440,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: checkowner_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_keydata(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:448,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:450,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:451,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 455
    functionName: checknames_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_keydata(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_keydata
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: casecompare_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - compare_keydata
    linkageType: ''
    returnType: int
    signature: int casecompare_keydata(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:36,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:36,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:38,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:38,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: fromtext_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - mem_tobuffer
    - REQUIRE
    - sscanf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_eui48(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:59,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:60,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:62,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:64,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: totext_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - snprintf
    - str_totext
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_eui48(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:74,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:77,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:78,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:80,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:84,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: fromwire_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_eui48(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:90,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:91,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:93,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: towire_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_eui48(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:107,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:109,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:110,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: compare_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_eui48(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:121,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:123,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:124,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: fromstruct_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_eui48(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:133,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:137,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:141,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: tostruct_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - memmove
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_eui48(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: freestruct_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_eui48(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:160,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:162,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:164,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: additionaldata_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_eui48(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:175,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: digest_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_eui48(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:188,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: checkowner_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_eui48(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: checknames_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_eui48(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_eui48
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: casecompare_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - compare_eui48
    linkageType: ''
    returnType: int
    signature: int casecompare_eui48(ARGS_COMPARE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:32,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:40,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:42,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:46,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:47,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:47,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:51,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:54,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 61
    functionName: fromtext_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_ismailbox
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_rp(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:71,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:72,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:74,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:75,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:76,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:78,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:80,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:81,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:83,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:84,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:86,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:89,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:91,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:91,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:93,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 97
    functionName: totext_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - str_totext
    - RETERR
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_rp(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:104,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:107,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:109,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:111,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:112,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:114,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:114,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: fromwire_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_rp(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:125,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:127,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:128,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:129,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:131,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:133,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:134,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:136,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:136,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:138,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:139,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 6
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: towire_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - RETERR
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_rp(ARGS_TOWIRE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:156,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:158,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:159,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:161,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:162,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:164,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:165,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:167,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:172,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:172,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:173,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:173,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:175,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:176,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:178,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:179,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 182
    functionName: compare_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_rp(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:195,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:197,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:198,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:198,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:199,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 201
    functionName: fromstruct_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - dns_name_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_rp(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:211,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:215,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:217,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:218,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:219,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:220,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:221,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:222,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:222,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:223,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:224,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 228
    functionName: tostruct_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_rp(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:234,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:235,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:241,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: freestruct_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_rp(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:248,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:250,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:251,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:252,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: additionaldata_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_rp(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:263,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:265,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:266,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:268,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:269,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:269,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:270,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:270,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:272,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:273,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: digest_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_rp(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:280,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:282,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:283,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:284,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: checkowner_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_rp(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:297,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:299,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:300,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:301,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:302,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 309
    functionName: checknames_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_ismailbox
    - UNUSED
    - dns_name_clone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_rp(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_rp
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: casecompare_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - compare_rp
    linkageType: ''
    returnType: int
    signature: int casecompare_rp(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:34,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:37,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:38,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: fromtext_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_opt(ARGS_FROMTEXT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:56,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:58,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:60,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:61,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:62,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:63,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:64,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:65,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:65,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:66,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:69,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:71,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:75,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:75,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:77,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:77,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:83,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:83,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:87,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: totext_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - str_totext
    - RETERR
    - INSIST
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - isc_base64_totext
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_opt(ARGS_TOTEXT)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:106,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:108,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:109,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:111,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:113,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:122,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:123,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:124,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:125,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:135,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:141,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:152,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:153,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:154,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:155,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:156,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:157,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:199,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:209,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:219,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:225,1
    - Dst: isc_utf8_bom
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:232,1
    - Dst: isc_utf8_valid
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:240,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:243,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:251,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:258,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:259,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:260,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:261,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:263,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:267,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:282,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:285,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:291,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:292,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:296,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:297,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:298,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 155
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 301
    functionName: fromwire_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - isc_utf8_valid
    - dns_name_fromwire
    - memmove
    - dns_decompress_setpermitted
    - dns_fixedname_initname
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - isc_buffer_init
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_name_isabsolute
    - isc_buffer_add
    - uint8_fromregion
    - isc_utf8_bom
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_opt(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:305,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:307,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 310
    functionName: towire_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - mem_tobuffer
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_opt(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:318,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:319,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:321,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:322,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: compare_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_opt(ARGS_COMPARE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:333,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:335,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:336,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:338,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:339,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:344,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:345,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:346,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:350,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 357
    functionName: fromstruct_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - mem_tobuffer
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_opt(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:365,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:369,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:371,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: tostruct_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - ISC_LINK_INIT
    - REQUIRE
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_opt(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:384,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 394
    functionName: freestruct_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_opt(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:398,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:400,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:401,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:402,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: additionaldata_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_opt(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:414,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:416,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:417,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 421
    functionName: digest_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_opt(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:425,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:427,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:428,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:429,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: checkowner_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_opt(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:436,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:438,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:439,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: checknames_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_opt(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_opt
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: casecompare_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - compare_opt
    linkageType: ''
    returnType: int
    signature: int casecompare_opt(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - opt
    argTypes:
    - dns_rdata_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 462
    functionName: dns_rdata_opt_first
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_opt_first(dns_rdata_opt_t *opt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:470,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:471,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:472,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:474,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:477,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - opt
    argTypes:
    - dns_rdata_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 484
    functionName: dns_rdata_opt_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - uint16_fromregion
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_opt_next(dns_rdata_opt_t *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:490,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:492,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:493,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:494,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:496,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:500,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:501,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:502,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:503,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - opt
    - opcode
    argTypes:
    - dns_rdata_opt_t*
    - dns_rdata_opt_opcode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 508
    functionName: dns_rdata_opt_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - uint16_fromregion
    - REQUIRE
    - INSIST
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rdata_opt_current(dns_rdata_opt_t *opt, dns_rdata_opt_opcode_t
      *opcode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:24,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:28,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:30,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:30,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:33,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:37,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 4
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: fromtext_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - REQUIRE
    - dns_name_wirefromtext
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_mr(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:48,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:49,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:51,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:52,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:54,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:55,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:57,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: totext_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_mr(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:69,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:71,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:73,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: fromwire_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_mr(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:83,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:87,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:88,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:89,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 6
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: towire_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_mr(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:105,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:107,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:108,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:111,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:113,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:114,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: compare_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_mr(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:130,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:132,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: fromstruct_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_mr(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:144,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:148,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:151,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:152,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:153,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 157
    functionName: tostruct_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_mr(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:164,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: freestruct_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_mr(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: additionaldata_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_mr(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:190,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:192,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:193,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:194,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: digest_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_mr(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 209
    functionName: checkowner_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_mr(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: checknames_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_mr(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_mr
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 4
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: casecompare_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - compare_mr
    linkageType: ''
    returnType: int
    signature: int casecompare_mr(ARGS_COMPARE)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:23,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:29,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:30,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:31,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:33,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:33,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:36,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:40,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:40,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:41,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:41,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:44,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:47,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 53
    functionName: fromtext_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - buffer_fromregion
    - RETERR
    - dns_fixedname_initname
    - isc_lex_getmastertoken
    - UNUSED
    - dns_name_ishostname
    - dns_name_towire
    - warn_badname
    - REQUIRE
    - RETTOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_ns(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:62,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:63,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:65,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:66,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:68,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:69,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:71,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 74
    functionName: totext_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - dns_name_totext
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_ns(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:80,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:82,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:83,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:87,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 3
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: fromwire_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - UNUSED
    - REQUIRE
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_ns(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:97,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:99,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:101,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:102,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:103,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: towire_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - dns_name_towire
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_ns(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:119,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:121,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:122,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:124,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:125,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:127,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:128,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: compare_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_rdatacompare
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_ns(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:140,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:143,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:144,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:146,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: fromstruct_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_ns(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:158,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:162,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:164,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:165,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:166,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:167,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: tostruct_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - ISC_LINK_INIT
    - name_duporclone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_ns(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:177,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: freestruct_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_ns(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:194,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:196,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:197,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: additionaldata_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_ns(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:208,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:210,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:211,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:212,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: digest_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_digest
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_ns(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:221,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: checkowner_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_ns(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:236,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:238,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:239,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:240,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:241,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: checknames_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - UNUSED
    - dns_name_ishostname
    - dns_name_clone
    - REQUIRE
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: bool
    signature: bool checknames_ns(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_ns
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: casecompare_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - compare_ns
    linkageType: ''
    returnType: int
    signature: int casecompare_ns(ARGS_COMPARE)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - type
    - flags
    argTypes:
    - dns_rdatatype_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: generic_key_nokey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool generic_key_nokey(dns_rdatatype_t type, unsigned int flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:55,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:56,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:57,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:58,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:61,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:61,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:63,1
    - Dst: dns_keyflags_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:63,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:67,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:70,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:70,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:72,1
    - Dst: dns_secproto_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:72,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:73,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:73,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:76,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:76,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:78,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:78,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:79,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:79,1
    - Dst: generic_key_nokey
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:82,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:90,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:92,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:104,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 108
    functionName: generic_fromtext_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - generic_key_nokey
    - dns_secproto_fromtext
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - dns_secalg_fromtext
    - mem_tobuffer
    - uint16_tobuffer
    - isc_buffer_usedlength
    - check_private
    - RETTOK
    - isc_base64_tobuffer
    - dns_keyflags_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromtext_key(ARGS_FROMTEXT)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:120,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:122,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:125,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:126,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:127,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:128,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:128,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:129,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:129,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:141,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:142,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:143,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:143,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:144,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:144,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:148,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:149,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:150,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:150,1
    - Dst: generic_key_nokey
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:153,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:161,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:162,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:163,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:168,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:169,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:170,1
    - Dst: ASN1_OBJECT_free
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:171,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:173,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:177,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:183,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:183,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:185,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:185,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:189,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:189,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:191,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:191,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:195,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:196,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:197,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:198,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:202,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:202,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:204,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:204,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:208,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:215,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:215,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:216,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:218,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:218,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:219,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:219,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:220,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:220,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:221,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:222,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:222,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:223,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:223,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 110
    functionDepth: 4
    functionLinenumber: 110
    functionLinenumberEnd: 226
    functionName: generic_totext_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - generic_key_nokey
    - dns_name_fromregion
    - str_totext
    - ASN1_OBJECT_free
    - RETERR
    - dns_secalg_format
    - INSIST
    - dst_region_computeid
    - d2i_ASN1_OBJECT
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_name_format
    - i2t_ASN1_OBJECT
    - isc_base64_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_key(ARGS_TOTEXT)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:235,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:237,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:248,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:248,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:249,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:250,1
    - Dst: generic_key_nokey
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:252,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:263,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:263,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:266,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:267,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 269
    functionName: generic_fromwire_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - generic_key_nokey
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - check_private
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromwire_key(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:273,1
    - Dst: generic_fromtext_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 5
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: fromtext_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - generic_fromtext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_key(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:281,1
    - Dst: generic_totext_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 5
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: totext_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - generic_totext_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_key(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:288,1
    - Dst: generic_fromwire_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: fromwire_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - generic_fromwire_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_key(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:299,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:301,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:303,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: towire_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_key(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:312,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:313,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:314,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:318,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:320,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:321,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: compare_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_key(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:331,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:333,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:334,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:337,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:341,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:341,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:344,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:344,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:347,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:347,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 351
    functionName: generic_fromstruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - RETERR
    - UNUSED
    - INSIST
    - mem_tobuffer
    - uint16_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromstruct_key(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:358,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:359,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:362,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:364,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:364,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:366,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:369,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:370,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:373,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:374,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:377,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:378,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 385
    functionName: generic_tostruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - mem_maybedup
    - ISC_LINK_LINKED
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_tostruct_key(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:391,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 401
    functionName: generic_freestruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void generic_freestruct_key(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:405,1
    - Dst: generic_fromstruct_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: fromstruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - generic_fromstruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_key(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:415,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:416,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:420,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 423
    functionName: tostruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - ISC_LINK_INIT
    - generic_tostruct_key
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_key(ARGS_TOSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:430,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: freestruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - generic_freestruct_key
    linkageType: ''
    returnType: void
    signature: void freestruct_key(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:438,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:440,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:441,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:442,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 446
    functionName: additionaldata_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_key(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:453,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: digest_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_key(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:462,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:464,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:465,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:466,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: checkowner_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_key(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:474,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:475,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:477,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:478,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: checknames_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_key(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: casecompare_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - compare_key
    linkageType: ''
    returnType: int
    signature: int casecompare_key(ARGS_COMPARE)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:285,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:287,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:290,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:291,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:294,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:294,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:297,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:300,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:300,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:305,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:305,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:310,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:313,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:313,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:314,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:314,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:319,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:319,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:324,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:326,1
    - Dst: multitxt_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 328
    functionName: fromtext_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - multitxt_fromtext
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - mem_tobuffer
    - REQUIRE
    - RETTOK
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_caa(ARGS_FROMTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:336,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:339,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:340,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:342,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:347,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:348,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:349,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:349,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:354,1
    - Dst: txt_totext
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:354,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:355,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:355,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:360,1
    - Dst: multitxt_totext
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 4
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: totext_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - str_totext
    - multitxt_totext
    - RETERR
    - UNUSED
    - txt_totext
    - snprintf
    - REQUIRE
    - uint8_consume_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_caa(ARGS_TOTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:369,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:371,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:372,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:373,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:378,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:386,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:386,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:388,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:389,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:395,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:401,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:410,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 412
    functionName: fromwire_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_caa(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:419,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:420,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:422,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:424,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: towire_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - UNUSED
    - REQUIRE
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_caa(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:433,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:434,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:438,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:440,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:441,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 443
    functionName: compare_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: int
    signature: int compare_caa(ARGS_COMPARE)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:454,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:455,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:456,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:458,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:459,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:464,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:464,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:469,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:469,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:478,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:481,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:481,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 489
    functionName: fromstruct_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - RETERR
    - isc_buffer_copyregion
    - UNUSED
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_caa(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:498,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:499,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:503,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:505,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:510,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:511,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:516,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:517,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:522,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:523,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:524,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 534
    functionName: tostruct_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - mem_maybedup
    - ISC_LINK_INIT
    - INSIST
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_caa(ARGS_TOSTRUCT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:541,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:548,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 554
    functionName: freestruct_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_caa(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:559,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:560,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:562,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:563,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:564,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 568
    functionName: additionaldata_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_caa(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:576,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 581
    functionName: digest_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_caa(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:585,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:587,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:588,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:589,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: checkowner_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_caa(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:597,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:599,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:601,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:602,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: checknames_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_caa(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_caa
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 611
    functionName: casecompare_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - compare_caa
    linkageType: ''
    returnType: int
    signature: int casecompare_caa(ARGS_COMPARE)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:36,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:37,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:42,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:42,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:44,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:46,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:48,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:55,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:55,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:60,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:60,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:62,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:63,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:63,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:68,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:68,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:74,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:74,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:79,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:79,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:81,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:86,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:86,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:88,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:88,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:88,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:89,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:94,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:94,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:96,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:96,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:96,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:97,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:102,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:102,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:104,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:104,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:109,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:109,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:111,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:115,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:115,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:120,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:122,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:122,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:134,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 21
    functionDepth: 4
    functionLinenumber: 21
    functionLinenumberEnd: 138
    functionName: fromtext_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - buffer_fromregion
    - RETERR
    - isc_lex_getmastertoken
    - UNUSED
    - DNS_AS_STR
    - dns_secalg_fromtext
    - uint32_tobuffer
    - dns_name_wirefromtext
    - mem_tobuffer
    - uint16_tobuffer
    - strtol
    - REQUIRE
    - isc_buffer_usedlength
    - check_private
    - dns_time32_fromtext
    - RETTOK
    - isc_base64_tobuffer
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_sig(ARGS_FROMTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:154,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:156,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:161,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:162,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:167,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:168,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:168,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:170,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:171,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:171,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:173,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:173,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:178,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:179,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:180,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:180,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:181,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:181,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:186,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:187,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:188,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:188,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:189,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:189,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:194,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:195,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:196,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:197,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:197,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:198,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:198,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:203,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:204,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:205,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:205,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:208,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:208,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:210,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:210,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:215,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:217,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:217,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:218,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:218,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:223,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:224,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:225,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:226,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:226,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:227,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:227,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:232,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:233,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:234,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:235,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:235,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:236,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:238,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:238,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:243,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:243,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:245,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:245,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:247,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:247,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:251,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 255
    functionName: totext_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_prefix
    - str_totext
    - name_length
    - dns_name_totext
    - RETERR
    - uint32_fromregion
    - snprintf
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - dns_time32_totext
    - dns_rdatatype_isknown
    - dns_rdatatype_totext
    - isc_base64_totext
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_sig(ARGS_TOTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:263,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:266,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:268,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:270,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:286,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:287,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:287,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:292,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:293,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:293,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:298,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:307,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:307,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:310,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 312
    functionName: fromwire_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - dns_decompress_setpermitted
    - RETERR
    - isc_buffer_forward
    - UNUSED
    - isc_buffer_activeregion
    - mem_tobuffer
    - REQUIRE
    - check_private
    - dns_name_fromwire
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_sig(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:319,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:320,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:322,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:323,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:333,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:333,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:334,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:339,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:340,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:341,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:341,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:342,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:342,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 348
    functionName: towire_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_compress_setpermitted
    - name_length
    - RETERR
    - mem_tobuffer
    - dns_name_towire
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_sig(ARGS_TOWIRE)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:358,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:359,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:362,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:364,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:365,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:367,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:368,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:371,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:376,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:377,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:378,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:379,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:380,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:381,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:382,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:383,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:384,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:389,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:389,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:390,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:390,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 393
    functionName: compare_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - isc_region_compare
    - dns_name_fromregion
    - name_length
    - INSIST
    - dns_name_rdatacompare
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: int
    signature: int compare_sig(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:399,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:403,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:405,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:406,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:411,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:411,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:416,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:416,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:421,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:421,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:426,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:426,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:431,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:431,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:436,1
    - Dst: uint32_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:436,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:441,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:441,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:446,1
    - Dst: name_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:446,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 395
    functionDepth: 4
    functionLinenumber: 395
    functionLinenumberEnd: 452
    functionName: fromstruct_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - RETERR
    - UNUSED
    - uint32_tobuffer
    - mem_tobuffer
    - uint16_tobuffer
    - name_tobuffer
    - REQUIRE
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_sig(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:461,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:462,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:466,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:468,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:473,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:474,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:479,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:480,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:485,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:486,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:491,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:492,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:497,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:498,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:503,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:504,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:509,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:510,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:512,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:513,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:514,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:515,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:516,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:516,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 525
    functionName: tostruct_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - name_length
    - mem_maybedup
    - ISC_LINK_INIT
    - name_duporclone
    - uint32_fromregion
    - uint16_fromregion
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_sig(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:532,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:538,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 543
    functionName: freestruct_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_sig(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:547,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:549,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:550,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:551,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 555
    functionName: additionaldata_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_sig(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:562,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:564,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:573,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:575,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:578,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:579,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:580,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:580,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:581,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 585
    functionName: digest_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 2
    functionsReached:
    - dns_name_fromregion
    - name_length
    - RETERR
    - dns_name_digest
    - REQUIRE
    - isc_region_consume
    - dns_rdata_toregion
    - dns_name_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_sig(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:592,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:594,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 598
    functionName: covers_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 1
    functionsReached:
    - uint16_fromregion
    - dns_rdata_toregion
    - REQUIRE
    linkageType: ''
    returnType: dns_rdatatype_t
    signature: dns_rdatatype_t covers_sig(dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:602,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:604,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:605,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:606,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 610
    functionName: checkowner_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checkowner_sig(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:614,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:616,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:617,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 621
    functionName: checknames_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool checknames_sig(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_sig
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 4
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: casecompare_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - compare_sig
    linkageType: ''
    returnType: int
    signature: int casecompare_sig(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: VALID_RRITERATOR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rriterator.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_RRITERATOR(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ks
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: DNS_KEYSTORE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/keystore.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_KEYSTORE_VALID(ks)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ks
    - ','
    - ksp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: dns_keystore_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/keystore.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_keystore_attach(ks, ksp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ksp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: dns_keystore_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/keystore.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_keystore_detach(ksp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: dns_keystore_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/keystore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_keystore_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: dns_keystore_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/keystore.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_keystore_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: DNS_MESSAGE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_MESSAGE_VALID(msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - section
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSG_SECTION_FOREACH(msg, section, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: dns_message_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_message_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: dns_message_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_message_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: dns_message_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_message_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: dns_message_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_message_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: DNS_RPZ_ZBIT
    functionSourceFile: /src/bind9/lib/dns/include/dns/rpz.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RPZ_ZBIT(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: DNS_RPZ_ZMASK
    functionSourceFile: /src/bind9/lib/dns/include/dns/rpz.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RPZ_ZMASK(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rpzsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: dns_rpz_zones_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/rpz.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rpz_zones_detach(rpzsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rpzs
    - ','
    - rpzsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: dns_rpz_zones_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/rpz.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rpz_zones_attach(rpzs, rpzsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: dns_rpz_zones_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/rpz.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rpz_zones_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: dns_rpz_zones_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/rpz.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rpz_zones_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: DNS_PEERLIST_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/peer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PEERLIST_VALID(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DNS_PEER_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/peer.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_PEER_VALID(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: DNS_SERIAL_GT
    functionSourceFile: /src/bind9/lib/dns/include/dns/journal.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SERIAL_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: DNS_SERIAL_GE
    functionSourceFile: /src/bind9/lib/dns/include/dns/journal.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SERIAL_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: DNS_RDATASETITER_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASETITER_VALID(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: DNS__RDATASETITER_CONNECT
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__RDATASETITER_CONNECT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: DNS__RDATASETITER_CONCAT
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__RDATASETITER_CONCAT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rds
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: DNS_RDATASETITER_FOREACH_RES
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASETITER_FOREACH_RES(rds, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASETITER_FOREACH(rds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iteratorp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: dns_rdatasetiter_destroy
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdatasetiter_destroy(iteratorp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: dns_rdatasetiter_first
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdatasetiter_first(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: dns_rdatasetiter_next
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdatasetiter_next(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iterator
    - ','
    - rdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: dns_rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdatasetiter_current(iterator, rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - header
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: DNS_SLABHEADER_GETATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SLABHEADER_GETATTR(header, attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - header
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: DNS_SLABHEADER_SETATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SLABHEADER_SETATTR(header, attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - header
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: DNS_SLABHEADER_CLRATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SLABHEADER_CLRATTR(header, attribute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DNS_RDATASET_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASET_VALID(set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: DNS__RDATASET_CONNECT
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__RDATASET_CONNECT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: DNS__RDATASET_CONCAT
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__RDATASET_CONCAT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rds
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: DNS_RDATASET_FOREACH_RES
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASET_FOREACH_RES(rds, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASET_FOREACH(rds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: dns_rdataset_disassociate
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 287
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdataset_disassociate(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - source
    - ','
    - target
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: dns_rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdataset_clone(source, target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rdataset
    - ','
    - name
    - ','
    - neg
    - ','
    - negsig
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: dns_rdataset_getnoqname
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdataset_getnoqname(rdataset, name, neg, negsig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rdataset
    - ','
    - name
    - ','
    - nsec
    - ','
    - nsecsig
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: dns_rdataset_getclosest
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdataset_getclosest(rdataset, name, nsec, nsecsig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: dns_rdataset_expire
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdataset_expire(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: DNS_NAME_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_NAME_VALID(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: DNS_NAME_BINDABLE
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_NAME_BINDABLE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __ndata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: DNS_NAME_INITNONABSOLUTE
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_NAME_INITNONABSOLUTE(__ndata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __ndata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: DNS_NAME_INITABSOLUTE
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_NAME_INITABSOLUTE(__ndata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: dns_name_init
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 334
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_name_init(dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:227,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:228,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/include/dns/name.h:228,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/include/dns/name.h:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: dns_name_reset
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 5
    functionsReached:
    - DNS_NAME_BINDABLE
    - isc_buffer_clear
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_reset(dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:262,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:262,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/include/dns/name.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: dns_name_invalidate
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 5
    functionsReached:
    - ISC_LINK_INIT
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_invalidate(dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:296,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - name
    - buffer
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 300
    functionName: dns_name_setbuffer
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 7
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_setbuffer(dns_name_t *name, isc_buffer_t *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:593,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:593,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/include/dns/name.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: dns_name_countlabels
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 95
    functionsReached:
    - DNS_NAME_VALID
    - dns_name_offsets
    - REQUIRE
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t dns_name_countlabels(const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:703,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:703,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - r
    argTypes:
    - dns_name_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: dns_name_toregion
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 52
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_name_toregion(const dns_name_t *name, isc_region_t *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1022,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:1022,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1023,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1024,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1025,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:1026,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/include/dns/name.h:1026,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1027,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:1028,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/include/dns/name.h:1028,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/include/dns/name.h:1030,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/include/dns/name.h:1031,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/include/dns/name.h:1034,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/include/dns/name.h:1038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - name
    - suffixlabels
    - prefix
    - suffix
    argTypes:
    - dns_name_t*
    - unsigned int
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1041
    functionName: dns_name_split
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 25
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - INSIST
    - DNS_NAME_BINDABLE
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns_name_split(const dns_name_t *name, unsigned int suffixlabels,\n\t
      \      dns_name_t *prefix, dns_name_t *suffix)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2760
    functionName: dns_zone_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/zone.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_zone_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2760
    functionDepth: 0
    functionLinenumber: 2760
    functionLinenumberEnd: 2761
    functionName: dns_zone_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/zone.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_zone_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2763
    functionName: dns_zone_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/zone.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_zone_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2765
    functionName: dns_zone_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/zone.h
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_zone_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: DNS_DIFFTUPLE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/diff.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DIFFTUPLE_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: DNS_DIFF_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/diff.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DIFF_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: dns_tsigkey_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkey_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: dns_tsigkey_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkey_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: dns_tsigkey_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkey_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: dns_tsigkey_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkey_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: dns_tsigkeyring_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkeyring_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: dns_tsigkeyring_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkeyring_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: dns_tsigkeyring_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkeyring_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: dns_tsigkeyring_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/tsig.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_tsigkeyring_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: dns_requestmgr_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_requestmgr_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: dns_requestmgr_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_requestmgr_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: dns_requestmgr_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_requestmgr_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: dns_requestmgr_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_requestmgr_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: dns_request_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_request_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: dns_request_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_request_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: dns_request_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_request_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: dns_request_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/request.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_request_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: DNS_ADBFIND_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBFIND_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: DNS_ADBADDRINFO_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ADBADDRINFO_VALID(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: dns_adb_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adb_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: dns_adb_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adb_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: dns_adb_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adb_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: dns_adb_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_adb_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: dns_validator_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/validator.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_validator_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: dns_validator_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/validator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_validator_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: dns_validator_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/validator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_validator_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: dns_validator_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/validator.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_validator_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: dns_cache_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_cache_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: dns_cache_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/cache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_cache_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: dns_cache_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/cache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_cache_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: dns_cache_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/cache.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_cache_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bit
    - ','
    - bitset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: DNS_BIT_SET
    functionSourceFile: /src/bind9/lib/dns/include/dns/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_BIT_SET(bit, bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bit
    - ','
    - bitset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: DNS_BIT_CLEAR
    functionSourceFile: /src/bind9/lib/dns/include/dns/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_BIT_CLEAR(bit, bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bit
    - ','
    - bitset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: DNS_BIT_CHECK
    functionSourceFile: /src/bind9/lib/dns/include/dns/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_BIT_CHECK(bit, bitset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - qpr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: dns_qpreader
    functionSourceFile: /src/bind9/lib/dns/include/dns/qp.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_qpreader(qpr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: DNS_SKR_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/skr.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SKR_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DNS_SKRBUNDLE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/skr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SKRBUNDLE_VALID(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: VALID_NTATABLE
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NTATABLE(nt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: dns_ntatable_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntatable_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: dns_ntatable_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntatable_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: dns_ntatable_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntatable_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: dns_ntatable_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntatable_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: dns__nta_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns__nta_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: dns__nta_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns__nta_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: dns__nta_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns__nta_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: dns__nta_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns__nta_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - db
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: DNS_DB_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DB_VALID(db)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 333
    functionName: dns_db_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: dns_db_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: dns_db_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: dns_db_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 163
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - db
    - ','
    - versionp
    - ','
    - commit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 647
    functionName: dns_db_closeversion
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 77
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_closeversion(db, versionp, commit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - db
    - ','
    - name
    - ','
    - create
    - ','
    - nodep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 684
    functionName: dns_db_findnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_findnode(db, name, create, nodep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - db
    - ','
    - name
    - ','
    - create
    - ','
    - methods
    - ','
    - clientinfo
    - ','
    - nodep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: dns_db_findnodeext
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_findnodeext(db, name, create, methods, clientinfo, nodep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - db
    - ','
    - name
    - ','
    - version
    - ','
    - type
    - ','
    - options
    - ','
    - now
    - ','
    - nodep
    - ','
    - foundname
    - ','
    - rdataset
    - ','
    - sigrdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 738
    functionName: dns_db_find
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_db_find(db, name, version, type, options, now, nodep, foundname,
      \ \\\n\t\t    rdataset, sigrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - db
    - ','
    - name
    - ','
    - version
    - ','
    - type
    - ','
    - options
    - ','
    - now
    - ','
    - nodep
    - ','
    - foundname
    - ','
    - methods
    - ','
    - clientinfo
    - ','
    - rdataset
    - ','
    - sigrdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 750
    functionName: dns_db_findext
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_db_findext(db, name, version, type, options, now, nodep,          \\\n\t\t
      \      foundname, methods, clientinfo, rdataset, sigrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - db
    - ','
    - name
    - ','
    - options
    - ','
    - now
    - ','
    - nodep
    - ','
    - foundname
    - ','
    - dcname
    - ','
    - rdataset
    - ','
    - sigrdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 938
    functionName: dns_db_findzonecut
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_db_findzonecut(db, name, options, now, nodep, foundname, dcname,
      \ \\\n\t\t\t   rdataset, sigrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - db
    - ','
    - source
    - ','
    - targetp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 991
    functionName: dns_db_attachnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_attachnode(db, source, targetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - db
    - ','
    - nodep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: dns_db_detachnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 163
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_detachnode(db, nodep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - db
    - ','
    - node
    - ','
    - version
    - ','
    - type
    - ','
    - covers
    - ','
    - now
    - ','
    - rdataset
    - ','
    - sigrdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: dns_db_findrdataset
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_db_findrdataset(db, node, version, type, covers, now, rdataset,
      \ \\\n\t\t\t    sigrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - db
    - ','
    - node
    - ','
    - version
    - ','
    - options
    - ','
    - now
    - ','
    - iteratorp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1167
    functionName: dns_db_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_allrdatasets(db, node, version, options, now, iteratorp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - db
    - ','
    - node
    - ','
    - version
    - ','
    - now
    - ','
    - rdataset
    - ','
    - options
    - ','
    - addedrdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1216
    functionName: dns_db_addrdataset
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_db_addrdataset(db, node, version, now, rdataset, options,  \\\n\t\t\t
      \  addedrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - db
    - ','
    - node
    - ','
    - version
    - ','
    - rdataset
    - ','
    - options
    - ','
    - newrdataset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1279
    functionName: dns_db_subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "dns_db_subtractrdataset(db, node, version, rdataset, options,  \\\n\t\t\t\tnewrdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - db
    - ','
    - node
    - ','
    - version
    - ','
    - type
    - ','
    - covers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1327
    functionName: dns_db_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_deleterdataset(db, node, version, type, covers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - db
    - ','
    - nodep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1474
    functionName: dns_db_getoriginnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_getoriginnode(db, nodep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - db
    - ','
    - name
    - ','
    - create
    - ','
    - nodep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1535
    functionName: dns_db_findnsec3node
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_findnsec3node(db, name, create, nodep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - acl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: dns_acl_node_count
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_acl_node_count(acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: DNS_ACL_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ACL_VALID(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: dns_acl_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_acl_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: dns_acl_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_acl_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: dns_acl_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_acl_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: dns_acl_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_acl_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: dns_aclenv_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_aclenv_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: dns_aclenv_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_aclenv_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: dns_aclenv_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_aclenv_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: dns_aclenv_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/acl.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_aclenv_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: DNS_DYNDBCTX_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/dyndb.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DYNDBCTX_VALID(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DNS_CALLBACK_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/callbacks.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_CALLBACK_VALID(cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: DNS_RDATA_INITIALIZED
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATA_INITIALIZED(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: DNS_RDATA_INITIALIZED
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATA_INITIALIZED(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: DNS_RDATA_INITIALIZED
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATA_INITIALIZED(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: DNS_RDATA_VALIDFLAGS
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATA_VALIDFLAGS(rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 582
    functionName: dns_rdatatype_ismeta
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 10
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_ismeta(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: dns_rdatatype_issingleton
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 3
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_issingleton(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 610
    functionName: dns_rdatatype_notquestion
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 0
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_notquestion(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: dns_rdatatype_questiononly
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 1
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_questiononly(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: dns_rdatatype_atcname
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 4
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_atcname(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: dns_rdatatype_atparent
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 19
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_atparent(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: dns_rdatatype_followadditional
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 1
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_followadditional(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 681
    functionName: dns_rdatatype_isdnssec
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 6
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_isdnssec(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: dns_rdatatype_iskeymaterial
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_iskeymaterial(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 706
    functionName: dns_rdatatype_iszonecutauth
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 3
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_iszonecutauth(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_attributes
      Src: /src/bind9/lib/dns/include/dns/rdata.h:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: dns_rdatatype_isknown
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 5
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_isknown(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: dns_rdatatype_ismulti
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_ismulti(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: dns_rdatatype_issig
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_issig(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: dns_rdatatype_isaddr
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_isaddr(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: dns_rdatatype_isalias
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_isalias(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rdclass
    argTypes:
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: dns_rdataclass_ismeta
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdataclass_ismeta(dns_rdataclass_t rdclass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__lib_initialize
      Src: /src/bind9/lib/dns/include/dns/lib.h:33,1
    - Dst: dns__lib_initialize
      Src: /src/bind9/lib/dns/include/dns/lib.h:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: dns_lib_initialize
    functionSourceFile: /src/bind9/lib/dns/include/dns/lib.h
    functionUses: 0
    functionsReached:
    - isc__lib_initialize
    - dns__lib_initialize
    linkageType: ''
    returnType: void
    signature: void dns_lib_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__lib_shutdown
      Src: /src/bind9/lib/dns/include/dns/lib.h:38,1
    - Dst: isc__lib_shutdown
      Src: /src/bind9/lib/dns/include/dns/lib.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: dns_lib_shutdown
    functionSourceFile: /src/bind9/lib/dns/include/dns/lib.h
    functionUses: 0
    functionsReached:
    - dns__lib_shutdown
    - isc__lib_shutdown
    linkageType: ''
    returnType: void
    signature: void dns_lib_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: dns_dispatchmgr_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatchmgr_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: dns_dispatchmgr_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatchmgr_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: dns_dispatchmgr_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatchmgr_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: dns_dispatchmgr_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatchmgr_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: dns_dispatch_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatch_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: dns_dispatch_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatch_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: dns_dispatch_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatch_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: dns_dispatch_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dispatch_detach(ptrp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dctx
    - permitted
    argTypes:
    - dns_decompress_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: dns_decompress_setpermitted
    functionSourceFile: /src/bind9/lib/dns/include/dns/compress.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: dns_decompress_t
    signature: dns_decompress_t dns_decompress_setpermitted(dns_decompress_t dctx,
      bool permitted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_decompress_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: dns_decompress_getpermitted
    functionSourceFile: /src/bind9/lib/dns/include/dns/compress.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_decompress_getpermitted(dns_decompress_t dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: DNS_TRUST_PENDING
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TRUST_PENDING(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: DNS_TRUST_ADDITIONAL
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TRUST_ADDITIONAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: DNS_TRUST_GLUE
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TRUST_GLUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: DNS_TRUST_ANSWER
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TRUST_ANSWER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dbi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: DNS_DBITERATOR_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DBITERATOR_VALID(dbi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: DNS__DBITERATOR_CONNECT
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__DBITERATOR_CONNECT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: DNS__DBITERATOR_CONCAT
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__DBITERATOR_CONCAT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rds
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: DNS_DBITERATOR_FOREACH_RES
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DBITERATOR_FOREACH_RES(rds, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DBITERATOR_FOREACH(rds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iteratorp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: dns_dbiterator_destroy
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_destroy(iteratorp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: dns_dbiterator_first
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_first(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: dns_dbiterator_last
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_last(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - iterator
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: dns_dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_seek(iterator, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: dns_dbiterator_prev
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_prev(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: dns_dbiterator_next
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_next(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iterator
    - ','
    - nodep
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: dns_dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_current(iterator, nodep, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dlz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: DNS_DLZ_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/dlz.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DLZ_VALID(dlz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: dns_resolver_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/resolver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_resolver_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: dns_resolver_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/resolver.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_resolver_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: dns_resolver_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/resolver.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_resolver_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: dns_resolver_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/resolver.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_resolver_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: dns_xfrin_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/xfrin.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_xfrin_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: dns_xfrin_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/xfrin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_xfrin_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: dns_xfrin_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/xfrin.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_xfrin_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: dns_xfrin_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/xfrin.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_xfrin_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - remote
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DNS_REMOTE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/remote.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_REMOTE_VALID(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DNS_TYPEPAIR_TYPE
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TYPEPAIR_TYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: DNS_TYPEPAIR_COVERS
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TYPEPAIR_COVERS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - ext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: DNS_TYPEPAIR_VALUE
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TYPEPAIR_VALUE(base, ext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: DNS_SIGTYPE
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SIGTYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: DNS_SIZEHISTO_BUCKETIN
    functionSourceFile: /src/bind9/lib/dns/include/dns/stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SIZEHISTO_BUCKETIN(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: DNS_SIZEHISTO_BUCKETOUT
    functionSourceFile: /src/bind9/lib/dns/include/dns/stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SIZEHISTO_BUCKETOUT(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: DNS_RDATASTATSTYPE_BASE
    functionSourceFile: /src/bind9/lib/dns/include/dns/stats.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASTATSTYPE_BASE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: DNS_RDATASTATSTYPE_ATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/stats.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASTATSTYPE_ATTR(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: DNS_RDATASTATSTYPE_VALUE
    functionSourceFile: /src/bind9/lib/dns/include/dns/stats.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_RDATASTATSTYPE_VALUE(b, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - view
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: DNS_VIEW_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/view.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_VIEW_VALID(view)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: DNS_IPTABLE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/iptable.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_IPTABLE_VALID(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: dns_iptable_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/iptable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_iptable_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: dns_iptable_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/iptable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_iptable_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: dns_iptable_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/iptable.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_iptable_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: dns_iptable_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/iptable.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_iptable_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: dns_nametree_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_nametree_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: dns_nametree_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_nametree_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: dns_nametree_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_nametree_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: dns_nametree_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_nametree_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: dns_ntnode_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntnode_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: dns_ntnode_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntnode_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: dns_ntnode_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntnode_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: dns_ntnode_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nametree.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_ntnode_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - catz
    - ','
    - catzp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: dns_catz_zone_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zone_attach(catz, catzp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - catzp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: dns_catz_zone_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zone_detach(catzp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: dns_catz_zone_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zone_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: dns_catz_zone_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zone_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - catzs
    - ','
    - catzsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: dns_catz_zones_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zones_attach(catzs, catzsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - catzsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: dns_catz_zones_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zones_detach(catzsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: dns_catz_zones_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zones_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: dns_catz_zones_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/catz.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_catz_zones_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: dns_forwarders_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/forward.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_forwarders_ref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: dns_forwarders_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/forward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_forwarders_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: dns_forwarders_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/forward.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_forwarders_attach(ptr, ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: dns_forwarders_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/forward.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_forwarders_detach(ptrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kasp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: DNS_KASP_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/kasp.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_KASP_VALID(kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - foo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: VALID_CCMSG
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CCMSG(foo)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:52,1
    - Dst: isc_buffer_peekuint32
      Src: /src/bind9/lib/isccc/ccmsg.c:55,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isccc/ccmsg.c:64,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isccc/ccmsg.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - ccmsg
    argTypes:
    - isccc_ccmsg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 72
    functionName: try_parse_message
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 0
    functionsReached:
    - isc_buffer_peekuint32
    - isc_buffer_forward
    - REQUIRE
    - isc_buffer_remaininglength
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t try_parse_message(isccc_ccmsg_t *ccmsg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:79,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:79,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:81,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:86,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/isccc/ccmsg.c:89,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isccc/ccmsg.c:93,1
    - Dst: try_parse_message
      Src: /src/bind9/lib/isccc/ccmsg.c:96,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isccc/ccmsg.c:103,1
    - Dst: isccc_ccmsg_t*::recv_cb
      Src: /src/bind9/lib/isccc/ccmsg.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 107
    functionName: recv_data
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 0
    functionsReached:
    - isc_nm_read_stop
    - isccc_ccmsg_t*::recv_cb
    - isc_buffer_copyregion
    - REQUIRE
    - isc_region_consume
    - try_parse_message
    - VALID_CCMSG
    linkageType: ''
    returnType: void
    signature: "void recv_data(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t
      *region,\n\t  void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:114,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isccc/ccmsg.c:123,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isccc/ccmsg.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - mctx
    - handle
    - ccmsg
    argTypes:
    - isc_mem_t*
    - isc_nmhandle_t*
    - isccc_ccmsg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: isccc_ccmsg_init
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 2
    functionsReached:
    - isc_buffer_allocate
    - isc_nmhandle_attach
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void isccc_ccmsg_init(isc_mem_t *mctx, isc_nmhandle_t *handle,\n\t\t
      isccc_ccmsg_t *ccmsg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:131,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccmsg
    - maxsize
    argTypes:
    - isccc_ccmsg_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: isccc_ccmsg_setmaxsize
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 2
    functionsReached:
    - VALID_CCMSG
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isccc_ccmsg_setmaxsize(isccc_ccmsg_t *ccmsg, unsigned int maxsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:138,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:138,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isccc/ccmsg.c:142,1
    - Dst: isc_buffer_trycompact
      Src: /src/bind9/lib/isccc/ccmsg.c:144,1
    - Dst: try_parse_message
      Src: /src/bind9/lib/isccc/ccmsg.c:151,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isccc/ccmsg.c:154,1
    - Dst: isccc_ccmsg_t*::recv_cb
      Src: /src/bind9/lib/isccc/ccmsg.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ccmsg
    - cb
    - cbarg
    argTypes:
    - isccc_ccmsg_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 136
    functionDepth: 8
    functionLinenumber: 136
    functionLinenumberEnd: 159
    functionName: isccc_ccmsg_readmessage
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 3
    functionsReached:
    - isc_nm_read
    - isccc_ccmsg_t*::recv_cb
    - isc_buffer_forward
    - REQUIRE
    - isc_buffer_trycompact
    - try_parse_message
    - VALID_CCMSG
    linkageType: ''
    returnType: void
    signature: void isccc_ccmsg_readmessage(isccc_ccmsg_t *ccmsg, isc_nm_cb_t cb,
      void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:165,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:166,1
    - Dst: send_cb
      Src: /src/bind9/lib/isccc/ccmsg.c:171,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isccc/ccmsg.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - eresult
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: ccmsg_senddone
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - VALID_CCMSG
    - REQUIRE
    - send_cb
    linkageType: ''
    returnType: void
    signature: void ccmsg_senddone(isc_nmhandle_t *handle, isc_result_t eresult, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:179,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:180,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/lib/isccc/ccmsg.c:185,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isccc/ccmsg.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ccmsg
    - region
    - cb
    - cbarg
    argTypes:
    - isccc_ccmsg_t*
    - isc_region_t*
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 187
    functionName: isccc_ccmsg_sendmessage
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 2
    functionsReached:
    - isc_nm_send
    - VALID_CCMSG
    - REQUIRE
    - isc_nmhandle_ref
    linkageType: ''
    returnType: void
    signature: "void isccc_ccmsg_sendmessage(isccc_ccmsg_t *ccmsg, isc_region_t *region,\n\t\t\tisc_nm_cb_t
      cb, void *cbarg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:191,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:191,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isccc/ccmsg.c:194,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isccc/ccmsg.c:195,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isccc/ccmsg.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ccmsg
    argTypes:
    - isccc_ccmsg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: isccc_ccmsg_disconnect
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 2
    functionsReached:
    - isc_nmhandle_detach
    - isc_nm_read_stop
    - isc_nmhandle_close
    - REQUIRE
    - VALID_CCMSG
    linkageType: ''
    returnType: void
    signature: void isccc_ccmsg_disconnect(isccc_ccmsg_t *ccmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:202,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:203,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isccc/ccmsg.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ccmsg
    argTypes:
    - isccc_ccmsg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: isccc_ccmsg_invalidate
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 2
    functionsReached:
    - isc_buffer_free
    - VALID_CCMSG
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isccc_ccmsg_invalidate(isccc_ccmsg_t *ccmsg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:212,1
    - Dst: VALID_CCMSG
      Src: /src/bind9/lib/isccc/ccmsg.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/ccmsg.c:214,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isccc/ccmsg.c:214,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isccc/ccmsg.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ccmsg
    - ccregion
    argTypes:
    - isccc_ccmsg_t*
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: isccc_ccmsg_toregion
    functionSourceFile: /src/bind9/lib/isccc/ccmsg.c
    functionUses: 1
    functionsReached:
    - VALID_CCMSG
    - isc_buffer_current
    - REQUIRE
    - isc_buffer_remaininglength
    linkageType: ''
    returnType: void
    signature: void isccc_ccmsg_toregion(isccc_ccmsg_t *ccmsg, isccc_region_t *ccregion)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:116,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/cc.c:117,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:118,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:119,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isccc/cc.c:123,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:124,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:126,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:130,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:131,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:135,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isccc/cc.c:139,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:144,1
    - Dst: table_towire
      Src: /src/bind9/lib/isccc/cc.c:149,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:160,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/cc.c:163,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:164,1
    - Dst: isccc_sexpr_listp
      Src: /src/bind9/lib/isccc/cc.c:165,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:169,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isccc/cc.c:173,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:178,1
    - Dst: list_towire
      Src: /src/bind9/lib/isccc/cc.c:183,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:194,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/cc.c:197,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 53
    argCount: 2
    argNames:
    - elt
    - buffer
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 202
    functionName: value_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - table_towire
    - isccc_sexpr_binaryp
    - isc_buffer_putmem
    - isccc_sexpr_tobinary
    - isc_buffer_reserve
    - isccc_sexpr_listp
    - REGION_SIZE
    - INSIST
    - isccc_alist_alistp
    - isc_buffer_init
    - list_towire
    - isc_buffer_putuint8
    - isc_buffer_putuint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_first
      Src: /src/bind9/lib/isccc/cc.c:211,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:212,1
    - Dst: ISCCC_SEXPR_CAR
      Src: /src/bind9/lib/isccc/cc.c:214,1
    - Dst: ISCCC_SEXPR_CAR
      Src: /src/bind9/lib/isccc/cc.c:215,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/cc.c:216,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:217,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:218,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:219,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:223,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isccc/cc.c:227,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:228,1
    - Dst: value_towire
      Src: /src/bind9/lib/isccc/cc.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - alist
    - buffer
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 239
    functionName: table_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - ISCCC_SEXPR_CDR
    - ISCCC_SEXPR_CAR
    - isccc_alist_first
    - value_towire
    - isc_buffer_putmem
    - isc_buffer_reserve
    - INSIST
    - strlen
    - isc_buffer_putuint8
    - isccc_sexpr_tostring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: value_towire
      Src: /src/bind9/lib/isccc/cc.c:246,1
    - Dst: ISCCC_SEXPR_CAR
      Src: /src/bind9/lib/isccc/cc.c:246,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - list
    - buffer
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: list_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - ISCCC_SEXPR_CDR
    - ISCCC_SEXPR_CAR
    - value_towire
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t list_towire(isccc_sexpr_t *list, isc_buffer_t **buffer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac
      Src: /src/bind9/lib/isccc/cc.c:291,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:291,1
    - Dst: memset
      Src: /src/bind9/lib/isccc/cc.c:298,1
    - Dst: isccc_base64_encode
      Src: /src/bind9/lib/isccc/cc.c:301,1
    - Dst: PUT_MEM
      Src: /src/bind9/lib/isccc/cc.c:306,1
    - Dst: PUT_MEM
      Src: /src/bind9/lib/isccc/cc.c:308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 5
    argNames:
    - data
    - length
    - out
    - algorithm
    - secret
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - uint32_t
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 311
    functionName: sign
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 20
    functionsReached:
    - memset
    - PUT_MEM
    - REGION_SIZE
    - isc_hmac
    - isccc_base64_encode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t sign(unsigned char *data, unsigned int length, unsigned
      char *out,\n     uint32_t algorithm, isccc_region_t *secret)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:319,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:330,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:340,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isccc/cc.c:346,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:348,1
    - Dst: isccc_alist_delete
      Src: /src/bind9/lib/isccc/cc.c:360,1
    - Dst: table_towire
      Src: /src/bind9/lib/isccc/cc.c:364,1
    - Dst: sign
      Src: /src/bind9/lib/isccc/cc.c:369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 4
    argNames:
    - alist
    - buffer
    - algorithm
    - secret
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    - uint32_t
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 313
    functionDepth: 4
    functionLinenumber: 313
    functionLinenumberEnd: 375
    functionName: isccc_cc_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 2
    functionsReached:
    - table_towire
    - isccc_alist_delete
    - isc_buffer_putmem
    - sign
    - isc_buffer_reserve
    - isc_buffer_putuint32
    - isc_buffer_used
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_cc_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer,
      uint32_t algorithm,\n\t\tisccc_region_t *secret)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:392,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:393,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:397,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:399,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:401,1
    - Dst: isc_hmac
      Src: /src/bind9/lib/isccc/cc.c:432,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:432,1
    - Dst: memset
      Src: /src/bind9/lib/isccc/cc.c:441,1
    - Dst: isccc_base64_encode
      Src: /src/bind9/lib/isccc/cc.c:442,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/cc.c:454,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/isccc/cc.c:459,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/cc.c:467,1
    - Dst: GET8
      Src: /src/bind9/lib/isccc/cc.c:477,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/isccc/cc.c:479,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 5
    argNames:
    - alist
    - data
    - length
    - algorithm
    - secret
    argTypes:
    - isccc_sexpr_t*
    - unsigned char*
    - unsigned int
    - uint32_t
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 486
    functionName: verify
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 38
    functionsReached:
    - isccc_sexpr_binaryp
    - memset
    - isccc_sexpr_tobinary
    - REGION_SIZE
    - isc_hmac
    - isccc_alist_alistp
    - isc_safe_memequal
    - GET8
    - isccc_base64_encode
    - isccc_alist_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t verify(isccc_sexpr_t *alist, unsigned char *data, unsigned
      int length,\n       uint32_t algorithm, isccc_region_t *secret)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:509,1
    - Dst: GET8
      Src: /src/bind9/lib/isccc/cc.c:512,1
    - Dst: GET32
      Src: /src/bind9/lib/isccc/cc.c:513,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:514,1
    - Dst: isccc_sexpr_frombinary
      Src: /src/bind9/lib/isccc/cc.c:521,1
    - Dst: table_fromwire
      Src: /src/bind9/lib/isccc/cc.c:529,1
    - Dst: list_fromwire
      Src: /src/bind9/lib/isccc/cc.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - source
    - depth
    - valuep
    argTypes:
    - isccc_region_t*
    - unsigned int
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 537
    functionName: value_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - REGION_SIZE
    - isccc_sexpr_frombinary
    - GET8
    - table_fromwire
    - list_fromwire
    - GET32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t value_fromwire(isccc_region_t *source, unsigned int depth,\n\t
      \      isccc_sexpr_t **valuep)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:549,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:557,1
    - Dst: REGION_EMPTY
      Src: /src/bind9/lib/isccc/cc.c:562,1
    - Dst: GET8
      Src: /src/bind9/lib/isccc/cc.c:563,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:564,1
    - Dst: GET_MEM
      Src: /src/bind9/lib/isccc/cc.c:568,1
    - Dst: value_fromwire
      Src: /src/bind9/lib/isccc/cc.c:571,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/cc.c:575,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccc/cc.c:579,1
    - Dst: verify
      Src: /src/bind9/lib/isccc/cc.c:587,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:602,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 5
    argNames:
    - source
    - secret
    - algorithm
    - depth
    - alistp
    argTypes:
    - isccc_region_t*
    - isccc_region_t*
    - uint32_t
    - unsigned int
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 606
    functionName: table_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - verify
    - REGION_SIZE
    - isccc_alist_define
    - isccc_sexpr_free
    - REGION_EMPTY
    - isccc_alist_create
    - REQUIRE
    - GET8
    - GET_MEM
    - strcmp
    - value_fromwire
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t table_fromwire(isccc_region_t *source, isccc_region_t
      *secret,\n\t       uint32_t algorithm, unsigned int depth, isccc_sexpr_t **alistp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REGION_EMPTY
      Src: /src/bind9/lib/isccc/cc.c:619,1
    - Dst: value_fromwire
      Src: /src/bind9/lib/isccc/cc.c:621,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:623,1
    - Dst: isccc_sexpr_addtolist
      Src: /src/bind9/lib/isccc/cc.c:626,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:627,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - source
    - depth
    - listp
    argTypes:
    - isccc_region_t*
    - unsigned int
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 636
    functionName: list_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - REGION_EMPTY
    - isccc_sexpr_addtolist
    - value_fromwire
    - isccc_sexpr_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t list_fromwire(isccc_region_t *source, unsigned int depth,\n\t
      \     isccc_sexpr_t **listp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:644,1
    - Dst: GET32
      Src: /src/bind9/lib/isccc/cc.c:648,1
    - Dst: table_fromwire
      Src: /src/bind9/lib/isccc/cc.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - source
    - alistp
    - algorithm
    - secret
    argTypes:
    - isccc_region_t*
    - isccc_sexpr_t**
    - uint32_t
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 654
    functionName: isccc_cc_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - GET32
    - REGION_SIZE
    - table_fromwire
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_cc_fromwire(isccc_region_t *source, isccc_sexpr_t
      **alistp,\n\t\t  uint32_t algorithm, isccc_region_t *secret)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:663,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:669,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:676,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/cc.c:680,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:681,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:685,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/cc.c:689,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:690,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/lib/isccc/cc.c:694,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/lib/isccc/cc.c:695,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/lib/isccc/cc.c:697,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:701,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:705,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:714,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 8
    argNames:
    - version
    - from
    - to
    - serial
    - now
    - expires
    - alistp
    - want_expires
    argTypes:
    - uint32_t
    - char*
    - char*
    - uint32_t
    - isccc_time_t
    - isccc_time_t
    - isccc_sexpr_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 717
    functionName: createmessage
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 3
    functionsReached:
    - isccc_cc_defineuint32
    - isccc_alist_define
    - isccc_sexpr_free
    - isccc_alist_create
    - REQUIRE
    - isccc_cc_definestring
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t createmessage(uint32_t version, const char *from, const
      char *to,\n\t      uint32_t serial, isccc_time_t now, isccc_time_t expires,\n\t
      \     isccc_sexpr_t **alistp, bool want_expires)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createmessage
      Src: /src/bind9/lib/isccc/cc.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - version
    - from
    - to
    - serial
    - now
    - expires
    - alistp
    argTypes:
    - uint32_t
    - char*
    - char*
    - uint32_t
    - isccc_time_t
    - isccc_time_t
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 725
    functionName: isccc_cc_createmessage
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - createmessage
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_cc_createmessage(uint32_t version, const char *from,
      const char *to,\n\t\t       uint32_t serial, isccc_time_t now, isccc_time_t
      expires,\n\t\t       isccc_sexpr_t **alistp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:735,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:737,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:738,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/lib/isccc/cc.c:739,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/lib/isccc/cc.c:740,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:748,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:750,1
    - Dst: createmessage
      Src: /src/bind9/lib/isccc/cc.c:755,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:760,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:765,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:775,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - message
    - ok
    - ackp
    argTypes:
    - isccc_sexpr_t*
    - bool
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 778
    functionName: isccc_cc_createack
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - createmessage
    - isccc_cc_lookupuint32
    - isccc_sexpr_free
    - isccc_alist_alistp
    - REQUIRE
    - isccc_cc_definestring
    - isccc_cc_lookupstring
    - isccc_alist_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_cc_createack(isccc_sexpr_t *message, bool ok, isccc_sexpr_t
      **ackp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:784,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:785,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - message
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: isccc_cc_isack
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - isccc_alist_alistp
    - isccc_cc_lookupstring
    - isccc_alist_lookup
    linkageType: ''
    returnType: bool
    signature: bool isccc_cc_isack(isccc_sexpr_t *message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:798,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:799,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - message
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 806
    functionName: isccc_cc_isreply
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - isccc_alist_alistp
    - isccc_cc_lookupstring
    - isccc_alist_lookup
    linkageType: ''
    returnType: bool
    signature: bool isccc_cc_isreply(isccc_sexpr_t *message)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:816,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:818,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:819,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:820,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:820,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/lib/isccc/cc.c:821,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:822,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:830,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:832,1
    - Dst: isccc_cc_createmessage
      Src: /src/bind9/lib/isccc/cc.c:837,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:843,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:849,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:855,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:856,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:867,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - message
    - now
    - expires
    - alistp
    argTypes:
    - isccc_sexpr_t*
    - isccc_time_t
    - isccc_time_t
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 869
    functionName: isccc_cc_createresponse
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - isccc_cc_lookupuint32
    - isccc_sexpr_free
    - isccc_alist_alistp
    - REQUIRE
    - isccc_cc_createmessage
    - isccc_cc_definestring
    - isccc_cc_lookupstring
    - isccc_alist_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_cc_createresponse(isccc_sexpr_t *message, isccc_time_t
      now,\n\t\t\tisccc_time_t expires, isccc_sexpr_t **alistp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:876,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccc/cc.c:877,1
    - Dst: isccc_alist_definebinary
      Src: /src/bind9/lib/isccc/cc.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - alist
    - key
    - str
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 881
    functionName: isccc_cc_definestring
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 5
    functionsReached:
    - strlen
    - UNCONST
    - isccc_alist_definebinary
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_cc_definestring(isccc_sexpr_t *alist, const char *key, const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/isccc/cc.c:889,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:890,1
    - Dst: isccc_alist_definebinary
      Src: /src/bind9/lib/isccc/cc.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - alist
    - key
    - i
    argTypes:
    - isccc_sexpr_t*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 895
    functionName: isccc_cc_defineuint32
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 2
    functionsReached:
    - strlen
    - snprintf
    - isccc_alist_definebinary
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_cc_defineuint32(isccc_sexpr_t *alist, const char *key, uint32_t i)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:901,1
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/cc.c:903,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:905,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:906,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/cc.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - alist
    - key
    - strp
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 917
    functionName: isccc_cc_lookupstring
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 6
    functionsReached:
    - ISCCC_SEXPR_CDR
    - isccc_alist_assq
    - isccc_sexpr_binaryp
    - REQUIRE
    - isccc_sexpr_tostring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_cc_lookupstring(isccc_sexpr_t *alist, const char
      *key, char **strp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/cc.c:923,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:925,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:926,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccc/cc.c:928,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/cc.c:929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - alist
    - key
    - uintp
    argTypes:
    - isccc_sexpr_t*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 938
    functionName: isccc_cc_lookupuint32
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 3
    functionsReached:
    - ISCCC_SEXPR_CDR
    - isccc_alist_assq
    - isccc_sexpr_binaryp
    - strtoul
    - isccc_sexpr_tostring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_cc_lookupuint32(isccc_sexpr_t *alist, const char
      *key, uint32_t *uintp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:942,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:943,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:944,1
    - Dst: free
      Src: /src/bind9/lib/isccc/cc.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key
    - type
    - value
    - arg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 947
    functionName: symtab_undefine
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 4
    functionsReached:
    - UNUSED
    - free
    linkageType: ''
    returnType: void
    signature: void symtab_undefine(char *key, unsigned int type, isc_symvalue_t value,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:953,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - key
    - type
    - value
    - arg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 965
    functionName: symtab_clean
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool symtab_clean(char *key, unsigned int type, isc_symvalue_t value,
      void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccc/cc.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mctx
    - symtabp
    argTypes:
    - isc_mem_t*
    - isc_symtab_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 4
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: isccc_cc_createsymtab
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - isc_symtab_create
    linkageType: ''
    returnType: void
    signature: void isccc_cc_createsymtab(isc_mem_t *mctx, isc_symtab_t **symtabp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_foreach
      Src: /src/bind9/lib/isccc/cc.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - symtab
    - now
    argTypes:
    - isc_symtab_t*
    - isccc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 972
    functionDepth: 4
    functionLinenumber: 972
    functionLinenumberEnd: 975
    functionName: isccc_cc_cleansymtab
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - isc_symtab_foreach
    linkageType: ''
    returnType: void
    signature: void isccc_cc_cleansymtab(isc_symtab_t *symtab, isccc_time_t now)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: has_whitespace
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool has_whitespace(const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:1004,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:1005,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:1006,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:1007,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:1012,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:1013,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:1019,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:1023,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:1026,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:1030,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:1036,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:1036,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:1037,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:1037,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1041,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1041,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1041,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1041,1
    - Dst: malloc
      Src: /src/bind9/lib/isccc/cc.c:1042,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccc/cc.c:1046,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccc/cc.c:1048,1
    - Dst: free
      Src: /src/bind9/lib/isccc/cc.c:1051,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - symtab
    - message
    - now
    argTypes:
    - isc_symtab_t*
    - isccc_sexpr_t*
    - isccc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 1056
    functionName: isccc_cc_checkdup
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - malloc
    - has_whitespace
    - INSIST
    - isccc_alist_alistp
    - strlen
    - isc_symtab_define
    - snprintf
    - free
    - isccc_cc_lookupstring
    - isccc_alist_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_cc_checkdup(isc_symtab_t *symtab, isccc_sexpr_t
      *message,\n\t\t  isccc_time_t now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: CAR
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: CDR
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDR(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isccc/sexpr.c:51,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/sexpr.c:56,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - car
    - cdr
    argTypes:
    - isccc_sexpr_t*
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: isccc_sexpr_cons
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached:
    - CAR
    - malloc
    - CDR
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_cons(isccc_sexpr_t *car, isccc_sexpr_t *cdr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: isccc_sexpr_tconst
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_tconst(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isccc/sexpr.c:71,1
    - Dst: strdup
      Src: /src/bind9/lib/isccc/sexpr.c:76,1
    - Dst: free
      Src: /src/bind9/lib/isccc/sexpr.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 83
    functionName: isccc_sexpr_fromstring
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached:
    - strdup
    - malloc
    - free
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_fromstring(const char *str)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isccc/sexpr.c:90,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/sexpr.c:95,1
    - Dst: malloc
      Src: /src/bind9/lib/isccc/sexpr.c:103,1
    - Dst: free
      Src: /src/bind9/lib/isccc/sexpr.c:105,1
    - Dst: memmove
      Src: /src/bind9/lib/isccc/sexpr.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - region
    argTypes:
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 117
    functionName: isccc_sexpr_frombinary
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 1
    functionsReached:
    - memmove
    - REGION_SIZE
    - malloc
    - free
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_frombinary(const isccc_region_t *region)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bind9/lib/isccc/sexpr.c:131,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/sexpr.c:134,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/sexpr.c:136,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:138,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/sexpr.c:140,1
    - Dst: free
      Src: /src/bind9/lib/isccc/sexpr.c:144,1
    - Dst: free
      Src: /src/bind9/lib/isccc/sexpr.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - sexprp
    argTypes:
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: isccc_sexpr_free
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 9
    functionsReached:
    - isccc_sexpr_free
    - CAR
    - CDR
    - free
    linkageType: ''
    returnType: void
    signature: void isccc_sexpr_free(isccc_sexpr_t **sexprp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/bind9/lib/isccc/sexpr.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: printable
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 2
    functionsReached:
    - isprint
    linkageType: ''
    returnType: bool
    signature: bool printable(isccc_region_t *r)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:172,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:178,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:181,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:184,1
    - Dst: isccc_sexpr_print
      Src: /src/bind9/lib/isccc/sexpr.c:186,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/sexpr.c:186,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:187,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:189,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:191,1
    - Dst: isccc_sexpr_print
      Src: /src/bind9/lib/isccc/sexpr.c:192,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:198,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/sexpr.c:201,1
    - Dst: printable
      Src: /src/bind9/lib/isccc/sexpr.c:203,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:204,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:206,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/sexpr.c:208,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccc/sexpr.c:213,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - sexpr
    - stream
    argTypes:
    - isccc_sexpr_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 215
    functionName: isccc_sexpr_print
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 1
    functionsReached:
    - UNREACHABLE
    - CAR
    - REGION_SIZE
    - CDR
    - fprintf
    - isccc_sexpr_print
    - printable
    linkageType: ''
    returnType: void
    signature: void isccc_sexpr_print(isccc_sexpr_t *sexpr, FILE *stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:219,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/sexpr.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: isccc_sexpr_car
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached:
    - CAR
    - REQUIRE
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_car(isccc_sexpr_t *list)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:226,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: isccc_sexpr_cdr
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CDR
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_cdr(isccc_sexpr_t *list)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:233,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/sexpr.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pair
    - car
    argTypes:
    - isccc_sexpr_t*
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: isccc_sexpr_setcar
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached:
    - CAR
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void isccc_sexpr_setcar(isccc_sexpr_t *pair, isccc_sexpr_t *car)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:240,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pair
    - cdr
    argTypes:
    - isccc_sexpr_t*
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: isccc_sexpr_setcdr
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CDR
    linkageType: ''
    returnType: void
    signature: void isccc_sexpr_setcdr(isccc_sexpr_t *pair, isccc_sexpr_t *cdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:251,1
    - Dst: isccc_sexpr_cons
      Src: /src/bind9/lib/isccc/sexpr.c:253,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:261,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:261,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/sexpr.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - l1p
    - l2
    argTypes:
    - isccc_sexpr_t**
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: isccc_sexpr_addtolist
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 1
    functionsReached:
    - isccc_sexpr_cons
    - REQUIRE
    - CDR
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_sexpr_addtolist(isccc_sexpr_t **l1p, isccc_sexpr_t *l2)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sexpr
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: isccc_sexpr_listp
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isccc_sexpr_listp(isccc_sexpr_t *sexpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sexpr
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 283
    functionName: isccc_sexpr_emptyp
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isccc_sexpr_emptyp(isccc_sexpr_t *sexpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sexpr
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: isccc_sexpr_stringp
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isccc_sexpr_stringp(isccc_sexpr_t *sexpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sexpr
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: isccc_sexpr_binaryp
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isccc_sexpr_binaryp(isccc_sexpr_t *sexpr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sexpr
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: isccc_sexpr_tostring
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: char
    signature: 'char *

      isccc_sexpr_tostring(isccc_sexpr_t *sexpr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/sexpr.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sexpr
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: isccc_sexpr_tobinary
    functionSourceFile: /src/bind9/lib/isccc/sexpr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isccc_region_t
    signature: 'isccc_region_t *

      isccc_sexpr_tobinary(isccc_sexpr_t *sexpr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/base64.c:49,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/isccc/base64.c:52,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isccc/base64.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isccc_region_t*
    - int
    - char*
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: isccc_base64_encode
    functionSourceFile: /src/bind9/lib/isccc/base64.c
    functionUses: 2
    functionsReached:
    - isc_buffer_init
    - isc_buffer_used
    - isc_base64_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_base64_encode(isccc_region_t *source, int wordlength,\n\t\t
      \   const char *wordbreak, isccc_region_t *target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/base64.c:66,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isccc/base64.c:68,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isccc/base64.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: isccc_base64_decode
    functionSourceFile: /src/bind9/lib/isccc/base64.c
    functionUses: 1
    functionsReached:
    - isc_buffer_init
    - isc_buffer_used
    - isc_base64_decodestring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_base64_decode(const char *cstr, isccc_region_t *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: CAR
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: CDR
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CDR(s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_sexpr_fromstring
      Src: /src/bind9/lib/isccc/alist.c:56,1
    - Dst: isccc_sexpr_cons
      Src: /src/bind9/lib/isccc/alist.c:60,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: isccc_alist_create
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 2
    functionsReached:
    - isccc_sexpr_cons
    - isccc_sexpr_fromstring
    - isccc_sexpr_free
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_alist_create(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:76,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccc/alist.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - alist
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 84
    functionName: isccc_alist_alistp
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 9
    functionsReached:
    - strcmp
    - CAR
    linkageType: ''
    returnType: bool
    signature: bool isccc_alist_alistp(isccc_sexpr_t *alist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/alist.c:88,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/alist.c:88,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - alist
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: isccc_alist_emptyp
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 0
    functionsReached:
    - isccc_alist_alistp
    - REQUIRE
    - CDR
    linkageType: ''
    returnType: bool
    signature: bool isccc_alist_emptyp(isccc_sexpr_t *alist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/alist.c:98,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/alist.c:98,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alist
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: isccc_alist_first
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 1
    functionsReached:
    - isccc_alist_alistp
    - REQUIRE
    - CDR
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_alist_first(isccc_sexpr_t *alist)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/alist.c:107,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/alist.c:107,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:112,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:115,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:116,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:117,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:118,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccc/alist.c:120,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - alist
    - key
    argTypes:
    - isccc_sexpr_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 128
    functionName: isccc_alist_assq
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 2
    functionsReached:
    - CAR
    - INSIST
    - CDR
    - isccc_alist_alistp
    - REQUIRE
    - strcmp
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_alist_assq(isccc_sexpr_t *alist, const char *key)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/alist.c:134,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/alist.c:134,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:137,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:139,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:140,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:141,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:142,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccc/alist.c:144,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:146,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:146,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:147,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:148,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - alist
    - key
    argTypes:
    - isccc_sexpr_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: isccc_alist_delete
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 1
    functionsReached:
    - CAR
    - INSIST
    - CDR
    - isccc_alist_alistp
    - isccc_sexpr_free
    - REQUIRE
    - strcmp
    linkageType: ''
    returnType: void
    signature: void isccc_alist_delete(isccc_sexpr_t *alist, const char *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/alist.c:161,1
    - Dst: isccc_sexpr_fromstring
      Src: /src/bind9/lib/isccc/alist.c:166,1
    - Dst: isccc_sexpr_cons
      Src: /src/bind9/lib/isccc/alist.c:170,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:172,1
    - Dst: isccc_sexpr_addtolist
      Src: /src/bind9/lib/isccc/alist.c:175,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:177,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:184,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:184,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - alist
    - key
    - value
    argTypes:
    - isccc_sexpr_t*
    - char*
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 189
    functionName: isccc_alist_define
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 2
    functionsReached:
    - isccc_alist_assq
    - isccc_sexpr_cons
    - isccc_sexpr_fromstring
    - isccc_sexpr_free
    - CDR
    - isccc_sexpr_addtolist
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: "isccc_sexpr_t *\nisccc_alist_define(isccc_sexpr_t *alist, const char
      *key,\n\t\t   isccc_sexpr_t *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_sexpr_fromstring
      Src: /src/bind9/lib/isccc/alist.c:196,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/alist.c:200,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - alist
    - key
    - str
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: isccc_alist_definestring
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 0
    functionsReached:
    - isccc_sexpr_fromstring
    - isccc_alist_define
    - isccc_sexpr_free
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: "isccc_sexpr_t *\nisccc_alist_definestring(isccc_sexpr_t *alist, const
      char *key,\n\t\t\t const char *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_sexpr_frombinary
      Src: /src/bind9/lib/isccc/alist.c:213,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/alist.c:217,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/alist.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - alist
    - key
    - r
    argTypes:
    - isccc_sexpr_t*
    - char*
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: isccc_alist_definebinary
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 2
    functionsReached:
    - isccc_sexpr_frombinary
    - isccc_alist_define
    - isccc_sexpr_free
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: "isccc_sexpr_t *\nisccc_alist_definebinary(isccc_sexpr_t *alist, const
      char *key,\n\t\t\t isccc_region_t *r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/alist.c:229,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alist
    - key
    argTypes:
    - isccc_sexpr_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: isccc_alist_lookup
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 10
    functionsReached:
    - isccc_alist_assq
    - CDR
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_alist_lookup(isccc_sexpr_t *alist, const char *key)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/alist.c:240,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:242,1
    - Dst: isccc_sexpr_stringp
      Src: /src/bind9/lib/isccc/alist.c:243,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/alist.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - alist
    - key
    - strp
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 254
    functionName: isccc_alist_lookupstring
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 0
    functionsReached:
    - isccc_alist_assq
    - isccc_sexpr_tostring
    - isccc_sexpr_stringp
    - CDR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_alist_lookupstring(isccc_sexpr_t *alist, const char
      *key, char **strp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/alist.c:261,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:263,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/alist.c:264,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/alist.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - alist
    - key
    - r
    argTypes:
    - isccc_sexpr_t*
    - char*
    - isccc_region_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: isccc_alist_lookupbinary
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 0
    functionsReached:
    - isccc_alist_assq
    - isccc_sexpr_tobinary
    - isccc_sexpr_binaryp
    - CDR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isccc_alist_lookupbinary(isccc_sexpr_t *alist, const
      char *key,\n\t\t\t isccc_region_t **r)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/alist.c:282,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:283,1
    - Dst: isccc_alist_first
      Src: /src/bind9/lib/isccc/alist.c:285,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:286,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:288,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:289,1
    - Dst: isccc_sexpr_listp
      Src: /src/bind9/lib/isccc/alist.c:289,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:290,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:291,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:292,1
    - Dst: isccc_sexpr_stringp
      Src: /src/bind9/lib/isccc/alist.c:292,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:293,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/alist.c:294,1
    - Dst: isccc_alist_prettyprint
      Src: /src/bind9/lib/isccc/alist.c:295,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:296,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:297,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:299,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:302,1
    - Dst: isccc_sexpr_listp
      Src: /src/bind9/lib/isccc/alist.c:303,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:304,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:306,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:307,1
    - Dst: isccc_alist_prettyprint
      Src: /src/bind9/lib/isccc/alist.c:308,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:308,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:309,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:310,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:312,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:315,1
    - Dst: isccc_sexpr_print
      Src: /src/bind9/lib/isccc/alist.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - sexpr
    - indent
    - stream
    argTypes:
    - isccc_sexpr_t*
    - unsigned int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 319
    functionName: isccc_alist_prettyprint
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 1
    functionsReached:
    - isccc_alist_first
    - CAR
    - isccc_sexpr_listp
    - isccc_alist_prettyprint
    - INSIST
    - CDR
    - isccc_alist_alistp
    - fprintf
    - isccc_sexpr_print
    - isccc_sexpr_tostring
    - isccc_sexpr_stringp
    linkageType: ''
    returnType: void
    signature: "void isccc_alist_prettyprint(isccc_sexpr_t *sexpr, unsigned int indent,\n\t\t\tFILE
      *stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: ISCCC_SEXPR_CAR
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/sexpr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCCC_SEXPR_CAR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ISCCC_SEXPR_CDR
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/sexpr.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISCCC_SEXPR_CDR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: GET8
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET8(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: GET16
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: GET24
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET24(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: GET32
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET32(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: GET64
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET64(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: GETC16
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETC16(v, w, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: GETC32
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETC32(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: GET_OFFSET
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_OFFSET(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - c
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: GET_MEM
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_MEM(v, c, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 125
    functionName: GET_TYPE
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_TYPE(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: PUT8
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT8(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: PUT16
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT16(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: PUT24
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT24(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: PUT32
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT32(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: PUT64
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT64(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: PUTC16
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTC16(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: PUTC32
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTC32(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: PUT_OFFSET
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_OFFSET(v, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: PUT_MEM
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_MEM(s, c, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: REGION_SIZE
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGION_SIZE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: REGION_EMPTY
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGION_EMPTY(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: REGION_FROMSTRING
    functionSourceFile: /src/bind9/lib/isccc/include/isccc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REGION_FROMSTRING(r, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: TRACE
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 161
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRACE(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: ASSERT
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ASSERT
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSERT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:62,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts:
    - condition: (ctx == NULL)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/fuzz/dns_qp.c
    - condition: (pval == &item[ival])
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/fuzz/dns_qp.c
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: fuzz_attach
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void fuzz_attach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:69,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts:
    - condition: (ctx == NULL)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bind9/fuzz/dns_qp.c
    - condition: (pval == &item[ival])
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bind9/fuzz/dns_qp.c
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: fuzz_detach
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void fuzz_detach(void *ctx, void *pval, uint32_t ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:76,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:77,1
    - Dst: memmove
      Src: /src/bind9/fuzz/dns_qp.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - key
    - ctx
    - pval
    - ival
    argTypes:
    - dns_qpkey_t
    - void*
    - void*
    - uint32_t
    assertStmts:
    - condition: (ctx == NULL)
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/fuzz/dns_qp.c
    - condition: (pval == &item[ival])
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bind9/fuzz/dns_qp.c
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: fuzz_makekey
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert
    linkageType: ''
    returnType: size_t
    signature: size_t fuzz_makekey(dns_qpkey_t key, void *ctx, void *pval, uint32_t
      ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:84,1
    - Dst: strlcpy
      Src: /src/bind9/fuzz/dns_qp.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts:
    - condition: (ctx == NULL)
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bind9/fuzz/dns_qp.c
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: fuzz_triename
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - assert
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void fuzz_triename(void *ctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_uniform
      Src: /src/bind9/fuzz/dns_qp.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: random_byte
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 2
    functionsReached:
    - isc_random_uniform
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t random_byte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_qp.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_qp.c:103,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/fuzz/dns_qp.c:105,1
    - Dst: isc_random_uniform
      Src: /src/bind9/fuzz/dns_qp.c:106,1
    - Dst: random_byte
      Src: /src/bind9/fuzz/dns_qp.c:110,1
    - Dst: memmove
      Src: /src/bind9/fuzz/dns_qp.c:112,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/fuzz/dns_qp.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - random_byte
    - memmove
    - ARRAY_SIZE
    - qp_test_keytoascii
    - UNUSED
    - isc_random_uniform
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/bind9/fuzz/dns_qp.c:123,1
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/dns_qp.c:126,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/fuzz/dns_qp.c:127,1
    - Dst: dns_qp_create
      Src: /src/bind9/fuzz/dns_qp.c:130,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/fuzz/dns_qp.c:146,1
    - Dst: TRACE
      Src: /src/bind9/fuzz/dns_qp.c:148,1
    - Dst: isc_result_toid
      Src: /src/bind9/fuzz/dns_qp.c:149,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:151,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:152,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:153,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:154,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:156,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:157,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:158,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:159,1
    - Dst: UNREACHABLE
      Src: /src/bind9/fuzz/dns_qp.c:161,1
    - Dst: dns_qp_insert
      Src: /src/bind9/fuzz/dns_qp.c:164,1
    - Dst: TRACE
      Src: /src/bind9/fuzz/dns_qp.c:165,1
    - Dst: isc_result_toid
      Src: /src/bind9/fuzz/dns_qp.c:166,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:169,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:170,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:171,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:173,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:175,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:176,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:177,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:178,1
    - Dst: UNREACHABLE
      Src: /src/bind9/fuzz/dns_qp.c:180,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/fuzz/dns_qp.c:183,1
    - Dst: TRACE
      Src: /src/bind9/fuzz/dns_qp.c:185,1
    - Dst: isc_result_toid
      Src: /src/bind9/fuzz/dns_qp.c:186,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:189,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:190,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:191,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:193,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:195,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:196,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:197,1
    - Dst: ASSERT
      Src: /src/bind9/fuzz/dns_qp.c:198,1
    - Dst: UNREACHABLE
      Src: /src/bind9/fuzz/dns_qp.c:200,1
    - Dst: qp_test_dumpqp
      Src: /src/bind9/fuzz/dns_qp.c:204,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/fuzz/dns_qp.c:205,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:207,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/fuzz/dns_qp.c:210,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:211,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/fuzz/dns_qp.c:214,1
    - Dst: isc_mem_detach
      Src: /src/bind9/fuzz/dns_qp.c:215,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/fuzz/dns_qp.c:216,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/fuzz/dns_qp.c:218,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qp.c:220,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (item[i].refcount == 0)
      pos:
        line_end: 219
        line_start: 219
        source_file: /src/bind9/fuzz/dns_qp.c
    - condition: (item[i].exists == (item[i].refcount != 0))
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bind9/fuzz/dns_qp.c
    - condition: (ok)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/bind9/fuzz/dns_qp.c
    constantsTouched: []
    func_position:
      end: 224
      start: 119
    functionDepth: 11
    functionLinenumber: 119
    functionLinenumberEnd: 224
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - TRACE
    - isc_mem_setdestroycheck
    - dns_qp_create
    - qp_test_dumptrie
    - dns_qp_getkey
    - assert
    - dns_qp_deletekey
    - ARRAY_SIZE
    - dns_qp_destroy
    - isc_mem_detach
    - isc_mem_checkdestroyed
    - qp_test_dumpqp
    - isc_result_toid
    - ASSERT
    - dns_qp_insert
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:48,1
    - Dst: isc_lex_create
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:49,1
    - Dst: memset
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:51,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:56,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_lex_setcomments
    - isc_lex_setspecials
    - isc_lex_create
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:66,1
    - Dst: va_start
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:69,1
    - Dst: vfprintf
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:70,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:71,1
    - Dst: va_end
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cb
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 74
    functionName: nullmsg
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    functionUses: 0
    functionsReached:
    - va_end
    - UNUSED
    - va_start
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void nullmsg(dns_rdatacallbacks_t *cb, const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:110,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:113,1
    - Dst: strncmp
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:114,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:116,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:130,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:133,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:136,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:137,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:138,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:140,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:146,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:146,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:148,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:153,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:154,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:155,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:160,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:165,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:165,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:166,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:166,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:167,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:167,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:169,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:170,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:173,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:175,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:176,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:177,1
    - Dst: memcmp
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:177,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:182,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:183,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:184,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:186,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:191,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:191,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:192,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:192,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:193,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:193,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:195,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:196,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:198,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:199,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:200,1
    - Dst: memcmp
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:200,1
    - Dst: dns_compress_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:205,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:206,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:207,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:208,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:209,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:210,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:211,1
    - Dst: memcmp
      Src: /src/bind9/fuzz/dns_rdata_fromwire_text.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (result == ISC_R_SUCCESS)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (!memcmp(rdata3.data, data, size))
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (result == ISC_R_SUCCESS)
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (rdata1.length == size)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (types < sizeof(typelist) / sizeof(typelist[0]))
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (result == ISC_R_SUCCESS)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (!memcmp(rdata2.data, data, size))
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (result == ISC_R_SUCCESS)
      pos:
        line_end: 197
        line_start: 197
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (!memcmp(target.base, data, size))
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (rdata2.length == size)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (result == ISC_R_SUCCESS)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (target.used == size)
      pos:
        line_end: 209
        line_start: 209
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (rdata3.length == size)
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    constantsTouched: []
    func_position:
      end: 214
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 214
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    functionUses: 0
    functionsReached:
    - dns_compress_invalidate
    - dns_rdatacallbacks_init
    - dns_rdata_totext
    - memcmp
    - isc_buffer_setactive
    - dns_rdata_towire
    - assert
    - fprintf
    - dns_rdatatype_format
    - isc_buffer_constinit
    - dns_rdata_fromwire
    - dns_rdatatype_ismeta
    - dns_rdata_fromtext
    - dns_master_styleflags
    - dns_rdata_tofmttext
    - strncmp
    - isc_buffer_init
    - CHECK
    - isc_buffer_usedlength
    - isc_buffer_add
    - isc_lex_openbuffer
    - dns_compress_init
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_qpkey_name.c:35,1
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_qpkey_name.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_qpkey_name.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:48,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:49,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:50,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_qpkey_name.c:52,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_qpkey_name.c:53,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_qpkey_name.c:54,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_qpkey_name.c:56,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/fuzz/dns_qpkey_name.c:56,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:59,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:60,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:62,1
    - Dst: dns_name_equal
      Src: /src/bind9/fuzz/dns_qpkey_name.c:62,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:63,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_qpkey_name.c:66,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/fuzz/dns_qpkey_name.c:66,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:68,1
    - Dst: ISC_MIN
      Src: /src/bind9/fuzz/dns_qpkey_name.c:70,1
    - Dst: dns_name_compare
      Src: /src/bind9/fuzz/dns_qpkey_name.c:72,1
    - Dst: memcmp
      Src: /src/bind9/fuzz/dns_qpkey_name.c:73,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:75,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:76,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:77,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (dns_name_equal(namein, nameout))
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: ((namerel > 0) == (keyrel > 0))
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: (space == DNS_DBNAMESPACE_NORMAL)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: ((namerel < 0) == (keyrel < 0))
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: ((namerel == 0) == (keyrel == 0))
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: (space == DNS_DBNAMESPACE_NORMAL)
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    constantsTouched: []
    func_position:
      end: 81
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 81
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_qpkey_name.c
    functionUses: 0
    functionsReached:
    - dns_name_fromwire
    - assert
    - dns_fixedname_initname
    - dns_qpkey_toname
    - ISC_MIN
    - dns_name_equal
    - dns_qpkey_fromname
    - CHECK
    - memcmp
    - isc_buffer_add
    - isc_buffer_setactive
    - dns_name_compare
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:38,1
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromtext.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:49,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:61,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:67,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:68,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:69,1
    - Dst: isc_lex_create
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:71,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:76,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:78,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:80,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:80,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:82,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:101,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:109,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:129,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:138,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:141,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:142,1
    - Dst: isc_lex_close
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:146,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:147,1
    - Dst: isc_mem_detach
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:148,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 150
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromtext.c
    functionUses: 0
    functionsReached:
    - isc_buffer_setactive
    - isc_lex_setcomments
    - fprintf
    - dns_rdataclass_fromtext
    - isc_buffer_constinit
    - RUNTIME_CHECK
    - isc_lex_close
    - isc_lex_setspecials
    - dns_rdata_fromtext
    - isc_lex_gettoken
    - isc_lex_destroy
    - isc_mem_detach
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_openbuffer
    - isc_mem_create
    - dns_rdatatype_fromtext
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: CHECK
    functionSourceFile: /src/bind9/fuzz/fuzz.h
    functionUses: 718
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bind9/fuzz/main.c:40,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/main.c:41,1
    - Dst: strerror
      Src: /src/bind9/fuzz/main.c:42,1
    - Dst: fstat
      Src: /src/bind9/fuzz/main.c:46,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/main.c:47,1
    - Dst: strerror
      Src: /src/bind9/fuzz/main.c:48,1
    - Dst: malloc
      Src: /src/bind9/fuzz/main.c:52,1
    - Dst: read
      Src: /src/bind9/fuzz/main.c:53,1
    - Dst: printf
      Src: /src/bind9/fuzz/main.c:55,1
    - Dst: fflush
      Src: /src/bind9/fuzz/main.c:56,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/bind9/fuzz/main.c:57,1
    - Dst: fflush
      Src: /src/bind9/fuzz/main.c:58,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/main.c:61,1
    - Dst: strerror
      Src: /src/bind9/fuzz/main.c:63,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/main.c:65,1
    - Dst: free
      Src: /src/bind9/fuzz/main.c:70,1
    - Dst: close
      Src: /src/bind9/fuzz/main.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 73
    functionName: test_one_file
    functionSourceFile: /src/bind9/fuzz/main.c
    functionUses: 0
    functionsReached:
    - fstat
    - malloc
    - open
    - LLVMFuzzerTestOneInput
    - free
    - close
    - strerror
    - fprintf
    - read
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void test_one_file(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/bind9/fuzz/main.c:80,1
    - Dst: readdir
      Src: /src/bind9/fuzz/main.c:85,1
    - Dst: strlen
      Src: /src/bind9/fuzz/main.c:86,1
    - Dst: strlen
      Src: /src/bind9/fuzz/main.c:86,1
    - Dst: snprintf
      Src: /src/bind9/fuzz/main.c:91,1
    - Dst: test_one_file
      Src: /src/bind9/fuzz/main.c:93,1
    - Dst: closedir
      Src: /src/bind9/fuzz/main.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: test_all_from
    functionSourceFile: /src/bind9/fuzz/main.c
    functionUses: 0
    functionsReached:
    - readdir
    - test_one_file
    - opendir
    - strlen
    - snprintf
    - closedir
    linkageType: ''
    returnType: void
    signature: void test_all_from(const char *dirname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bind9/fuzz/main.c:103,1
    - Dst: LLVMFuzzerInitialize
      Src: /src/bind9/fuzz/main.c:105,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/main.c:107,1
    - Dst: strcmp
      Src: /src/bind9/fuzz/main.c:111,1
    - Dst: test_one_file
      Src: /src/bind9/fuzz/main.c:119,1
    - Dst: POST
      Src: /src/bind9/fuzz/main.c:123,1
    - Dst: strncmp
      Src: /src/bind9/fuzz/main.c:128,1
    - Dst: snprintf
      Src: /src/bind9/fuzz/main.c:132,1
    - Dst: test_all_from
      Src: /src/bind9/fuzz/main.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/bind9/fuzz/main.c
    functionUses: 124
    functionsReached:
    - strncmp
    - strrchr
    - test_one_file
    - LLVMFuzzerInitialize
    - POST
    - snprintf
    - fprintf
    - strcmp
    - test_all_from
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_message_checksig.c:131,1
    - Dst: mkdtemp
      Src: /src/bind9/fuzz/dns_message_checksig.c:139,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:141,1
    - Dst: snprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:145,1
    - Dst: fopen
      Src: /src/bind9/fuzz/dns_message_checksig.c:146,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:148,1
    - Dst: fputs
      Src: /src/bind9/fuzz/dns_message_checksig.c:151,1
    - Dst: fclose
      Src: /src/bind9/fuzz/dns_message_checksig.c:152,1
    - Dst: snprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:154,1
    - Dst: fopen
      Src: /src/bind9/fuzz/dns_message_checksig.c:155,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:157,1
    - Dst: fputs
      Src: /src/bind9/fuzz/dns_message_checksig.c:160,1
    - Dst: fclose
      Src: /src/bind9/fuzz/dns_message_checksig.c:161,1
    - Dst: snprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:163,1
    - Dst: fopen
      Src: /src/bind9/fuzz/dns_message_checksig.c:164,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:166,1
    - Dst: fputs
      Src: /src/bind9/fuzz/dns_message_checksig.c:169,1
    - Dst: fclose
      Src: /src/bind9/fuzz/dns_message_checksig.c:170,1
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:172,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:174,1
    - Dst: dns_view_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:176,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:178,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:179,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/fuzz/dns_message_checksig.c:181,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:183,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:184,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:188,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:191,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:192,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/fuzz/dns_message_checksig.c:195,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:197,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:198,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/fuzz/dns_message_checksig.c:202,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:204,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:205,1
    - Dst: dns_zone_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:209,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/fuzz/dns_message_checksig.c:211,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/fuzz/dns_message_checksig.c:212,1
    - Dst: dns_zone_settype
      Src: /src/bind9/fuzz/dns_message_checksig.c:213,1
    - Dst: dns_zone_setkeydirectory
      Src: /src/bind9/fuzz/dns_message_checksig.c:214,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/fuzz/dns_message_checksig.c:215,1
    - Dst: dns_zone_load
      Src: /src/bind9/fuzz/dns_message_checksig.c:218,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:220,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:221,1
    - Dst: dns_view_addzone
      Src: /src/bind9/fuzz/dns_message_checksig.c:225,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:227,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:228,1
    - Dst: dns_zone_setview
      Src: /src/bind9/fuzz/dns_message_checksig.c:232,1
    - Dst: dns_view_freeze
      Src: /src/bind9/fuzz/dns_message_checksig.c:233,1
    - Dst: dns_zone_detach
      Src: /src/bind9/fuzz/dns_message_checksig.c:235,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 75
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 238
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_message_checksig.c
    functionUses: 1
    functionsReached:
    - dns_view_create
    - dns_zone_detach
    - snprintf
    - dns_name_fromstring
    - dns_view_addzone
    - dns_zone_load
    - dns_tsigkeyring_add
    - isc_loopmgr_create
    - dns_fixedname_initname
    - dns_zone_setfile
    - dns_zone_setview
    - fprintf
    - fopen
    - fclose
    - dns_zone_settype
    - dns_tsigkeyring_create
    - dns_zone_create
    - dns_zone_setclass
    - dns_zone_setkeydirectory
    - dns_zone_setorigin
    - fputs
    - isc_result_totext
    - mkdtemp
    - dns_tsigkey_create
    - dns_view_freeze
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_checksig.c:248,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:251,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:254,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:256,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:257,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:258,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:259,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/fuzz/dns_message_checksig.c:262,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:263,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:264,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/fuzz/dns_message_checksig.c:270,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:271,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:272,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/fuzz/dns_message_checksig.c:274,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:275,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:276,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/fuzz/dns_message_checksig.c:278,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/fuzz/dns_message_checksig.c:281,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/fuzz/dns_message_checksig.c:282,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:284,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/fuzz/dns_message_checksig.c:285,1
    - Dst: dns_message_create
      Src: /src/bind9/fuzz/dns_message_checksig.c:288,1
    - Dst: dns_message_parse
      Src: /src/bind9/fuzz/dns_message_checksig.c:290,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:292,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:293,1
    - Dst: dns_message_detach
      Src: /src/bind9/fuzz/dns_message_checksig.c:296,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_checksig.c:300,1
    - Dst: dns_message_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:302,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:305,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:307,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 5
    argNames:
    - messagep
    - data
    - size
    - addasig
    - addtsig
    argTypes:
    - dns_message_t**
    - uint8_t*
    - size_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 240
    functionDepth: 11
    functionLinenumber: 240
    functionLinenumberEnd: 314
    functionName: create_message
    functionSourceFile: /src/bind9/fuzz/dns_message_checksig.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - dns_message_parse
    - dns_message_detach
    - isc_result_totext
    - isc_buffer_init
    - isc_buffer_putuint16
    - dns_message_totext
    - fprintf
    - isc_buffer_putuint8
    - isc_buffer_putuint32
    - dns_message_create
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_message(dns_message_t **messagep, const uint8_t
      *data, size_t size,\n\t       bool addasig, bool addtsig)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:358,1
    - Dst: create_message
      Src: /src/bind9/fuzz/dns_message_checksig.c:365,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_checksig.c:397,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/fuzz/dns_message_checksig.c:398,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:399,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/fuzz/dns_message_checksig.c:400,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:401,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:402,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/fuzz/dns_message_checksig.c:404,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:405,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:406,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/fuzz/dns_message_checksig.c:407,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/fuzz/dns_message_checksig.c:409,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/fuzz/dns_message_checksig.c:414,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:416,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:417,1
    - Dst: dns_view_setkeyring
      Src: /src/bind9/fuzz/dns_message_checksig.c:421,1
    - Dst: dns_message_checksig
      Src: /src/bind9/fuzz/dns_message_checksig.c:423,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:428,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:429,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_checksig.c:430,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:431,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:432,1
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_checksig.c:433,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/fuzz/dns_message_checksig.c:434,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_checksig.c:435,1
    - Dst: dns_message_detach
      Src: /src/bind9/fuzz/dns_message_checksig.c:443,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 316
    functionDepth: 12
    functionLinenumber: 316
    functionLinenumberEnd: 447
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_message_checksig.c
    functionUses: 1
    functionsReached:
    - isc_buffer_putmem
    - dns_message_settsigkey
    - dns_message_checksig
    - dns_message_detach
    - isc_result_totext
    - create_message
    - isc_buffer_init
    - isc_buffer_putuint16
    - dns_tsigrcode_totext
    - fprintf
    - dns_view_setkeyring
    - dns_message_setquerytsig
    - isc_buffer_putuint32
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:31,1
    - Dst: isc_lex_create
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/isc_lex_gettoken.c
    functionUses: 1
    functionsReached:
    - isc_lex_create
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:42,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:43,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:44,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:46,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:46,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/fuzz/isc_lex_gettoken.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/isc_lex_gettoken.c
    functionUses: 1
    functionsReached:
    - CHECK
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_lex_openbuffer
    - isc_lex_gettoken
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/dns_message_parse.c:39,1
    - Dst: isc_mem_get
      Src: /src/bind9/fuzz/dns_message_parse.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_create
      Src: /src/bind9/fuzz/dns_message_parse.c:50,1
    - Dst: dns_message_parse
      Src: /src/bind9/fuzz/dns_message_parse.c:52,1
    - Dst: dns_message_detach
      Src: /src/bind9/fuzz/dns_message_parse.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - input
    - messagep
    argTypes:
    - isc_buffer_t*
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 7
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: parse_message
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 2
    functionsReached:
    - dns_message_parse
    - dns_message_detach
    - dns_message_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_message(isc_buffer_t *input, dns_message_t **messagep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_parse.c:72,1
    - Dst: dns_message_totext
      Src: /src/bind9/fuzz/dns_message_parse.c:73,1
    - Dst: isc_mem_put
      Src: /src/bind9/fuzz/dns_message_parse.c:76,1
    - Dst: isc_mem_get
      Src: /src/bind9/fuzz/dns_message_parse.c:78,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_message_parse.c:84,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/fuzz/dns_message_parse.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - message
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 11
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: print_message
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 14
    functionsReached:
    - isc_buffer_init
    - isc_mem_get
    - dns_message_totext
    - isc_buffer_usedlength
    - fprintf
    - isc_mem_put
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t print_message(dns_message_t *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - r
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: CHECKRESULT
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKRESULT(r, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/fuzz/dns_message_parse.c:106,1
    - Dst: dns_compress_init
      Src: /src/bind9/fuzz/dns_message_parse.c:113,1
    - Dst: CHECKRESULT
      Src: /src/bind9/fuzz/dns_message_parse.c:115,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/fuzz/dns_message_parse.c:115,1
    - Dst: CHECKRESULT
      Src: /src/bind9/fuzz/dns_message_parse.c:117,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/fuzz/dns_message_parse.c:117,1
    - Dst: CHECKRESULT
      Src: /src/bind9/fuzz/dns_message_parse.c:120,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/fuzz/dns_message_parse.c:121,1
    - Dst: CHECKRESULT
      Src: /src/bind9/fuzz/dns_message_parse.c:122,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/fuzz/dns_message_parse.c:122,1
    - Dst: CHECKRESULT
      Src: /src/bind9/fuzz/dns_message_parse.c:125,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/fuzz/dns_message_parse.c:125,1
    - Dst: dns_message_renderend
      Src: /src/bind9/fuzz/dns_message_parse.c:128,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/fuzz/dns_message_parse.c:130,1
    - Dst: dns_message_detach
      Src: /src/bind9/fuzz/dns_message_parse.c:134,1
    - Dst: parse_message
      Src: /src/bind9/fuzz/dns_message_parse.c:136,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/fuzz/dns_message_parse.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - messagep
    argTypes:
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 99
    functionDepth: 8
    functionLinenumber: 99
    functionLinenumberEnd: 143
    functionName: render_message
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 0
    functionsReached:
    - dns_compress_invalidate
    - CHECKRESULT
    - dns_message_detach
    - isc_buffer_init
    - dns_message_renderbegin
    - parse_message
    - dns_compress_init
    - dns_message_renderend
    - dns_message_rendersection
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t render_message(dns_message_t **messagep)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_message_parse.c:155,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_message_parse.c:156,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_message_parse.c:157,1
    - Dst: parse_message
      Src: /src/bind9/fuzz/dns_message_parse.c:159,1
    - Dst: print_message
      Src: /src/bind9/fuzz/dns_message_parse.c:164,1
    - Dst: render_message
      Src: /src/bind9/fuzz/dns_message_parse.c:169,1
    - Dst: print_message
      Src: /src/bind9/fuzz/dns_message_parse.c:174,1
    - Dst: dns_message_detach
      Src: /src/bind9/fuzz/dns_message_parse.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 145
    functionDepth: 12
    functionLinenumber: 145
    functionLinenumberEnd: 185
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 1
    functionsReached:
    - dns_message_detach
    - render_message
    - parse_message
    - isc_buffer_add
    - isc_buffer_setactive
    - print_message
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_master_load.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/fuzz/dns_master_load.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_master_load.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc, char ***argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_master_load.c:43,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_master_load.c:44,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_master_load.c:45,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/fuzz/dns_master_load.c:48,1
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/dns_master_load.c:51,1
    - Dst: dns_db_create
      Src: /src/bind9/fuzz/dns_master_load.c:52,1
    - Dst: dns_db_beginload
      Src: /src/bind9/fuzz/dns_master_load.c:59,1
    - Dst: dns_master_loadbuffer
      Src: /src/bind9/fuzz/dns_master_load.c:64,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_master_load.c:68,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_master_load.c:68,1
    - Dst: dns_db_endload
      Src: /src/bind9/fuzz/dns_master_load.c:70,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_master_load.c:72,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_master_load.c:72,1
    - Dst: dns_db_detach
      Src: /src/bind9/fuzz/dns_master_load.c:76,1
    - Dst: isc_mem_detach
      Src: /src/bind9/fuzz/dns_master_load.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 79
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_master_load.c
    functionUses: 1
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_db_endload
    - dns_master_loadbuffer
    - isc_mem_detach
    - dns_db_detach
    - dns_db_beginload
    - isc_result_totext
    - fprintf
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_mem_create
    - dns_db_create
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_name_fromtext_target.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:38,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:40,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:41,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:42,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:44,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:44,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:47,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_name_fromtext_target.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_name_fromtext_target.c
    functionUses: 1
    functionsReached:
    - dns_name_fromtext
    - dns_fixedname_name
    - isc_result_totext
    - fprintf
    - isc_buffer_add
    - dns_fixedname_init
    - isc_buffer_setactive
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: VALID_NAME
    functionSourceFile: /src/bind9/fuzz/old.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NAME(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - var
    - ','
    - default_offsets
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: INIT_OFFSETS
    functionSourceFile: /src/bind9/fuzz/old.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_OFFSETS(name, var, default_offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: MAKE_EMPTY
    functionSourceFile: /src/bind9/fuzz/old.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_EMPTY(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: BINDABLE
    functionSourceFile: /src/bind9/fuzz/old.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BINDABLE(name)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/old.c:69,1
    - Dst: VALID_NAME
      Src: /src/bind9/fuzz/old.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/old.c:70,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/fuzz/old.c:70,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/fuzz/old.c:71,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/fuzz/old.c:77,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/old.c:80,1
    - Dst: BINDABLE
      Src: /src/bind9/fuzz/old.c:80,1
    - Dst: INIT_OFFSETS
      Src: /src/bind9/fuzz/old.c:82,1
    - Dst: MAKE_EMPTY
      Src: /src/bind9/fuzz/old.c:87,1
    - Dst: isc_buffer_used
      Src: /src/bind9/fuzz/old.c:101,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/fuzz/old.c:111,1
    - Dst: isc_buffer_current
      Src: /src/bind9/fuzz/old.c:116,1
    - Dst: dns_decompress_getpermitted
      Src: /src/bind9/fuzz/old.c:153,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/fuzz/old.c:164,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/fuzz/old.c:185,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/fuzz/old.c:198,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/old.c:199,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 5
    argNames:
    - name
    - source
    - dctx
    - options
    - target
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    - dns_decompress_t
    - unsigned int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 217
    functionName: old_name_fromwire
    functionSourceFile: /src/bind9/fuzz/old.c
    functionUses: 1
    functionsReached:
    - isc_buffer_clear
    - isc_buffer_used
    - FATAL_ERROR
    - isc_buffer_forward
    - BINDABLE
    - isc_buffer_add
    - INIT_OFFSETS
    - MAKE_EMPTY
    - REQUIRE
    - isc_buffer_current
    - dns_decompress_getpermitted
    - isc_ascii_tolower
    - ISC_BUFFER_VALID
    - VALID_NAME
    - isc_buffer_availablelength
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t old_name_fromwire(dns_name_t *name, isc_buffer_t *source,
      dns_decompress_t dctx,\n\t\t  unsigned int options, isc_buffer_t *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:38,1
    - Dst: isc_lex_create
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/isc_lex_getmastertoken.c
    functionUses: 1
    functionsReached:
    - isc_lex_create
    - isc_mem_create
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:56,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:64,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:65,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:66,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:68,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:68,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/fuzz/isc_lex_getmastertoken.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/isc_lex_getmastertoken.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_lex_getmastertoken
    - CHECK
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_lex_openbuffer
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_name_fromwire.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_name_fromwire.c:42,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_name_fromwire.c:43,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_name_fromwire.c:54,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_name_fromwire.c:55,1
    - Dst: alarm
      Src: /src/bind9/fuzz/dns_name_fromwire.c:61,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_name_fromwire.c:68,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_name_fromwire.c:69,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_name_fromwire.c:70,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/fuzz/dns_name_fromwire.c:71,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/fuzz/dns_name_fromwire.c:72,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_name_fromwire.c:74,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_name_fromwire.c:75,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_name_fromwire.c:76,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/fuzz/dns_name_fromwire.c:77,1
    - Dst: old_name_fromwire
      Src: /src/bind9/fuzz/dns_name_fromwire.c:78,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:80,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:81,1
    - Dst: dns_name_equal
      Src: /src/bind9/fuzz/dns_name_fromwire.c:81,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:83,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:85,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:86,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:88,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:90,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:91,1
    - Dst: REQUIRE
      Src: /src/bind9/fuzz/dns_name_fromwire.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 36
    functionDepth: 4
    functionLinenumber: 36
    functionLinenumberEnd: 95
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_name_fromwire.c
    functionUses: 1
    functionsReached:
    - alarm
    - dns_name_fromwire
    - old_name_fromwire
    - dns_fixedname_initname
    - isc_buffer_forward
    - dns_name_equal
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_buffer_constinit
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/bind9/util/gen-eddsa-vectors.c:35,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/util/gen-eddsa-vectors.c:39,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:42,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/util/gen-eddsa-vectors.c:46,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/util/gen-eddsa-vectors.c:47,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:49,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/bind9/util/gen-eddsa-vectors.c:54,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:55,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:59,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:61,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:63,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/util/gen-eddsa-vectors.c:66,1
    - Dst: EVP_DigestSign
      Src: /src/bind9/util/gen-eddsa-vectors.c:67,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:70,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:74,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:76,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:78,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/util/gen-eddsa-vectors.c:80,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/util/gen-eddsa-vectors.c:81,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/bind9/util/gen-eddsa-vectors.c:84,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/util/gen-eddsa-vectors.c:85,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:87,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/util/gen-eddsa-vectors.c:91,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/util/gen-eddsa-vectors.c:92,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:94,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/bind9/util/gen-eddsa-vectors.c:99,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:100,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:104,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:106,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:108,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/util/gen-eddsa-vectors.c:111,1
    - Dst: EVP_DigestSign
      Src: /src/bind9/util/gen-eddsa-vectors.c:112,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-eddsa-vectors.c:115,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:119,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:121,1
    - Dst: printf
      Src: /src/bind9/util/gen-eddsa-vectors.c:123,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/util/gen-eddsa-vectors.c:125,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/util/gen-eddsa-vectors.c:126,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/bind9/util/gen-eddsa-vectors.c
    functionUses: 124
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_MD_CTX_create
    - EVP_PKEY_get_raw_public_key
    - EVP_PKEY_free
    - EVP_DigestSignInit
    - EVP_PKEY_keygen_init
    - ERR_clear_error
    - printf
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen
    - EVP_DigestSign
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:44,1
    - Dst: BN_new
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:45,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:46,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:50,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:54,1
    - Dst: BN_set_bit
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:58,1
    - Dst: BN_set_bit
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:59,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:61,1
    - Dst: EVP_PKEY_CTX_set_rsa_keygen_bits
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:62,1
    - Dst: EVP_PKEY_CTX_set1_rsa_keygen_pubexp
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:63,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:64,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:66,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:70,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:72,1
    - Dst: BN_num_bytes
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:76,1
    - Dst: BN_bn2bin
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:77,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:78,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:80,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:82,1
    - Dst: BN_num_bytes
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:84,1
    - Dst: BN_bn2bin
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:85,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:86,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:88,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:90,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:92,1
    - Dst: EVP_sha1
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:92,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:93,1
    - Dst: EVP_SignFinal
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:94,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:96,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:100,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:102,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:104,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:106,1
    - Dst: EVP_sha256
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:106,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:107,1
    - Dst: EVP_SignFinal
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:108,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:110,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:114,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:116,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:118,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:120,1
    - Dst: EVP_sha512
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:120,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:121,1
    - Dst: EVP_SignFinal
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:122,1
    - Dst: ERR_clear_error
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:124,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:128,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:130,1
    - Dst: printf
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:132,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:134,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/util/gen-rsa-sha-vectors.c:135,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/bind9/util/gen-rsa-sha-vectors.c
    functionUses: 124
    functionsReached:
    - EVP_DigestUpdate
    - EVP_PKEY_CTX_new_from_name
    - BN_bn2bin
    - printf
    - BN_new
    - EVP_PKEY_free
    - EVP_sha1
    - ERR_clear_error
    - EVP_DigestInit_ex
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_sha256
    - EVP_PKEY_keygen
    - BN_num_bytes
    - EVP_MD_CTX_create
    - EVP_SignFinal
    - EVP_PKEY_get_bn_param
    - EVP_sha512
    - EVP_MD_CTX_free
    - BN_set_bit
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:28,1
    - Dst: __coverity_negative_sink__
      Src: /src/bind9/util/models.c:30,1
    - Dst: __coverity_alloc__
      Src: /src/bind9/util/models.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mem
    - FLARG
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: isc__mem_get
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 2
    functionsReached:
    - __coverity_alloc__
    - __coverity_panic__
    - __coverity_negative_sink__
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_get(void *mem, unsigned int size FLARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:40,1
    - Dst: __coverity_free__
      Src: /src/bind9/util/models.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - ptr
    - FLARG
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: isc__mem_put
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 0
    functionsReached:
    - __coverity_panic__
    - __coverity_free__
    linkageType: ''
    returnType: void
    signature: void isc__mem_put(void *mem, void *ptr, unsigned int size FLARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:48,1
    - Dst: __coverity_free__
      Src: /src/bind9/util/models.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - ptr
    - FLARG
    argTypes:
    - void*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: isc__mem_putanddetach
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 0
    functionsReached:
    - __coverity_panic__
    - __coverity_free__
    linkageType: ''
    returnType: void
    signature: void isc__mem_putanddetach(void *mem, void *ptr, unsigned int size
      FLARG)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:56,1
    - Dst: __coverity_negative_sink__
      Src: /src/bind9/util/models.c:58,1
    - Dst: __coverity_alloc__
      Src: /src/bind9/util/models.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mem
    - FLARG
    argTypes:
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: isc__mem_allocate
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 4
    functionsReached:
    - __coverity_alloc__
    - __coverity_panic__
    - __coverity_negative_sink__
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_allocate(void *mem, unsigned int size FLARG)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:74,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/util/models.c:77,1
    - Dst: memcpy
      Src: /src/bind9/util/models.c:80,1
    - Dst: __coverity_free__
      Src: /src/bind9/util/models.c:81,1
    - Dst: __coverity_free__
      Src: /src/bind9/util/models.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - mem
    - ptr
    - FLARG
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: isc__mem_reallocate
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 1
    functionsReached:
    - isc__mem_allocate
    - __coverity_panic__
    - __coverity_free__
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_reallocate(void *mem, void *ptr, size_t size FLARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:92,1
    - Dst: __coverity_free__
      Src: /src/bind9/util/models.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - FLARG
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: isc__mem_free
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 2
    functionsReached:
    - __coverity_panic__
    - __coverity_free__
    linkageType: ''
    returnType: void
    signature: void isc__mem_free(void *mem, void *ptr FLARG)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:104,1
    - Dst: __coverity_alloc__
      Src: /src/bind9/util/models.c:109,1
    - Dst: strlen
      Src: /src/bind9/util/models.c:109,1
    - Dst: __coverity_writeall__
      Src: /src/bind9/util/models.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mem
    - FLARG
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: isc__mem_strdup
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 0
    functionsReached:
    - strlen
    - __coverity_alloc__
    - __coverity_panic__
    - __coverity_writeall__
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_strdup(void *mem, char *s FLARG)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:118,1
    - Dst: __coverity_alloc__
      Src: /src/bind9/util/models.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - FLARG
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: isc__mempool_get
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 0
    functionsReached:
    - __coverity_alloc__
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mempool_get(void *mem FLARG)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:129,1
    - Dst: __coverity_free__
      Src: /src/bind9/util/models.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - FLARG
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: isc__mempool_put
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 0
    functionsReached:
    - __coverity_panic__
    - __coverity_free__
    linkageType: ''
    returnType: void
    signature: void isc__mempool_put(void *mem, void *ptr FLARG)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __coverity_panic__
      Src: /src/bind9/util/models.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - result
    - expression
    - file
    - line
    argTypes:
    - LargestIntegralType
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: _assert_true
    functionSourceFile: /src/bind9/util/models.c
    functionUses: 3
    functionsReached:
    - __coverity_panic__
    linkageType: ''
    returnType: void
    signature: "void _assert_true(const LargestIntegralType result, const char *const
      expression,\n\t     const char *const file, const int line)"
Fuzzer filename: /src/bind9/fuzz/dns_rdata_fromwire_text.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- limits.h
- isc/quota.h
- zlib.h
- dns/ssu.h
- dns/adb.h
- cmocka.h
- dns/zt.h
- picohttpparser.h
- libgen.h
- dst_internal.h
- isc/managers.h
- endian.h
- sys/resource.h
- dns/cache.h
- isc/uv.h
- dns/ds.h
- urcu-qsbr.h
- dyndb_p.h
- isc/lib.h
- timer.c
- isccfg/cfg.h
- json_c_version.h
- isc/utf8.h
- dns/qp.h
- sys/types.h
- util.h
- dns/rpz.h
- urcu/compiler.h
- isc/parseint.h
- openssl/ecdsa.h
- sys/mman.h
- isc/hmac.h
- dns/skr.h
- named/smf_globals.h
- named/builtin.h
- stdatomic.h
- ifaddrs.h
- dns/dyndb.h
- krb5/krb5.h
- isc/dir.h
- isc/fxhash.h
- isccc/cc.h
- stdalign.h
- dns/message.h
- urcu-bp.h
- malloc_np.h
- dns/rdatatype.h
- async.c
- isc/base64.h
- isc/job.h
- loop_p.h
- dns/rdata.h
- async_p.h
- isc/ascii.h
- urcu-pointer.h
- gssapi/gssapi_krb5.h
- isc/string.h
- dirent.h
- lwp.h
- isc/tid.h
- linux/rtnetlink.h
- sys/time.h
- dns/edns.h
- glob.h
- libscf.h
- isc/timer.h
- isc/sockaddr.h
- ht.c
- stdlib.h
- mem_p.h
- uv_wrap.h
- isc/readline.h
- isc/stats.h
- netmgr/tcp.c
- openssl/dh.h
- dns/dnssec.h
- threads.h
- sys/prctl.h
- strings.h
- nmmintrin.h
- dns/zoneverify.h
- ns/interfacemgr.h
- gssapi_krb5.h
- isccfg/check.h
- isc/heap.h
- named/control.h
- fstrm.h
- sys/socket.h
- dns/acl.h
- byteswap.h
- dns/update.h
- dns/rdataset.h
- sys/byteorder.h
- errno.h
- isc/atomic.h
- named/fuzz.h
- dns/rriterator.h
- isc/work.h
- dns/sdlz.h
- dns/cert.h
- dns/opcode.h
- dns/compress.h
- dns/tsig.h
- isc/tm.h
- named/os.h
- net/if6.h
- isc/crypto.h
- mutex_p.h
- dns/journal.h
- krb5.h
- fcntl.h
- openssl/x509v3.h
- dns/result.h
- isc/log.h
- assert.h
- arpa/inet.h
- ns/stats.h
- ns/notify.h
- locale.h
- signal.h
- isc/counter.h
- ../../lib/dns/ede.c
- dns/keymgr.h
- dns/iptable.h
- dns/nametree.h
- isc/net.h
- isc/httpd.h
- synch.h
- syscall.h
- isc/buffer.h
- isccc/types.h
- stdarg.h
- sched.h
- isc/hashmap.h
- dns/resolver.h
- dns/trace.h
- dns/xfrin.h
- dns/callbacks.h
- fuzz.h
- isc/pause.h
- dns/private.h
- json_object.h
- nghttp2/nghttp2.h
- md.c
- openssl/store.h
- sys/utsname.h
- dst_openssl.h
- isc/types.h
- isc/thread.h
- grp.h
- isccfg/aclconf.h
- isccc/util.h
- sys/param.h
- dns/fixedname.h
- named/zoneconf.h
- os_p.h
- dns/soa.h
- dns/master.h
- dns/types.h
- urcu/rculfhash.h
- dns/forward.h
- update.c
- dlz_p.h
- dst/gssapi.h
- dns/ttl.h
- isc/safe.h
- isc/ratelimiter.h
- linux/netlink.h
- dns/nsec3.h
- dns/byaddr.h
- net/route.h
- ../isc/openssl_shim.c
- isc/barrier.h
- isc/random.h
- dns/rrl.h
- openssl_shim.h
- isc/hex.h
- pthread_np.h
- dns/enumclass.h
- regex.h
- immintrin.h
- jemalloc/jemalloc.h
- stddef.h
- dns/rdatasetiter.h
- isc/list.h
- ns/query.h
- dst/dst.h
- netdb.h
- urcu/wfstack.h
- dns/dlz.h
- dns/dlz_dlopen.h
- openssl/x509_vfy.h
- gperftools/profiler.h
- dns/keytable.h
- sys/sysctl.h
- isc/netscope.h
- netmgr/http.c
- isc/loop.h
- err.h
- protobuf-c/protobuf-c.h
- isc/portset.h
- isc/error.h
- acl_p.h
- isc/radix.h
- named/transportconf.h
- isccc/symtype.h
- bind.keys.h
- code.h
- dns/transport.h
- dns/enumtype.h
- proxyheader_test_data.h
- stdbool.h
- named/globals.h
- dns/geoip.h
- ns/hooks.h
- dns/dnstap.h
- ../loop_p.h
- dns/rdatalist.h
- qp_p.h
- ns/server.h
- dns/dbiterator.h
- syslog.h
- isc/result.h
- isc/proxy2.h
- stdint.h
- qpzone_p.h
- isccfg/kaspconf.h
- named/statschannel.h
- qpzone.c
- isc/entropy.h
- dns/keydata.h
- isc/once.h
- tests/ns.h
- time.h
- pwd.h
- isc/siphash.h
- hashmap_nodes.h
- sys/processor.h
- old.h
- sys/ioctl.h
- isc/signal.h
- zone.h
- sys/stat.h
- maxminddb.h
- named/tkeyconf.h
- dns/catz.h
- isc/spinlock.h
- isccc/ccmsg.h
- netmgr/socket.c
- named/logconf.h
- urcu/rculist.h
- isc/formatcheck.h
- openssl/ssl.h
- check-tool.h
- linkhash.h
- geoip2.c
- dns/dsdigest.h
- xsl_p.h
- ns/types.h
- sys/sockio.h
- isc/util.h
- math.h
- tests/qp.h
- editline/readline.h
- libkern/OSByteOrder.h
- isc/hash.h
- dns/stats.h
- inttypes.h
- sys/malloc.h
- isc/md.h
- stdio.h
- dns/badcache.h
- dns/ede.h
- dns/rcode.h
- dnssectool.h
- isc/overflow.h
- dns/zone.h
- uv.h
- openssl/err.h
- isccc/base64.h
- isc/fuzz.h
- isc/symtab.h
- dns/ncache.h
- qpcache_p.h
- isc/backtrace.h
- named/tsigconf.h
- tests/isc.h
- uv.c
- sys/endian.h
- ctype.h
- isc/xml.h
- isc/refcount.h
- isc/time.h
- dns/order.h
- dns/name.h
- isc/commandline.h
- named/config.h
- dns/ipkeylist.h
- isc/urcu.h
- isccc/sexpr.h
- dns/rdatastruct.h
- gssapi/gssapi.h
- zone_p.h
- x86intrin.h
- qpcache.c
- isc/ht.h
- dns/keyvalues.h
- openssl/core_names.h
- ns/listenlist.h
- dns/clientinfo.h
- isc/interfaceiter.h
- isc/tls.h
- dns/rdataclass.h
- net/if.h
- isc/regex.h
- openssl/rsa.h
- dns/lib.h
- lmdb.h
- tests/dns.h
- dns/kasp.h
- dns/secalg.h
- dns/keyflags.h
- db.h
- ns/client.h
- sys/capability.h
- execinfo.h
- netmgr/netmgr-int.h
- dns/peer.h
- db_p.h
- openssl/rand.h
- hmac.c
- netmgr_common.h
- ns/update.h
- dns/time.h
- libxml/xmlwriter.h
- openssl/opensslv.h
- ns/xfrout.h
- loop.c
- isc/meminfo.h
- keygen.h
- dns/rdataslab.h
- dns/keystore.h
- dns/secproto.h
- isc/sieve.h
- dns/dns64.h
- isc/netaddr.h
- irs/resconf.h
- named/geoip.h
- dns/request.h
- isc/lex.h
- openssl/evp.h
- dns/validator.h
- isc/iterated_hash.h
- dns/bit.h
- string.h
- getopt.h
- idn2.h
- isc/assertions.h
- netmgr-int.h
- isc/stdio.h
- dlz/dlz_dlopen_driver.h
- dns/rootns.h
- isc/file.h
- isc/stdtime.h
- isc/serial.h
- jemalloc_shim.h
- isccfg/namedconf.h
- sys/un.h
- dns/view.h
- dns/dispatch.h
- isc/histo.h
- isccfg/duration.h
- dns/diff.h
- openssl/param_build.h
- sys/procset.h
- dns/remote.h
- isc/endian.h
- named/types.h
- isc/mem.h
- dns/nta.h
- dns/tkey.h
- log.h
- isc/getaddresses.h
- gssapi.h
- netmgr/udp.c
- hashmap.c
- dns/unreachcache.h
- errno2result.h
- isc/dnsstream.h
- named/server.h
- isc/errno.h
- openssl/conf.h
- sys/uio.h
- thread_p.h
- isc/base32.h
- isc/strerr.h
- openssl/crypto.h
- dns/ecs.h
- syncptr.h
- TargetConditionals.h
- confgen/os.h
- isc/queue.h
- job_p.h
- libxml/parser.h
- netinet/in.h
- dns/client.h
- tsig_p.h
- isc/helper.h
- sys/cpuset.h
- ../openssl_shim.h
- isc/magic.h
- work.c
- time.c
- pthread.h
- setjmp.h
- named/log.h
- openssl/provider.h
- probes.h
- instance.h
- ratelimiter.c
- isc/region.h
- openssl/bn.h
- isc/attributes.h
- isc/syslog.h
- openssl/objects.h
- dst_parse.h
- named/main.h
- isc/netmgr.h
- dns/db.h
- isccc/alist.h
- isc/rwlock.h
- driver.h
- isc/url.h
- openssl/sha.h
- isc/os.h
- dighost.h
- isc/async.h
- unistd.h
- isccfg/grammar.h
- dns/nsec.h
- dns/masterdump.h
- libxml/xmlversion.h
- openssl/x509.h
- dnstap.pb-c.h
- urcu.h
- isc/mutex.h
- isc/nonce.h
- dnsstream_utils_test_data.h
- ../isc/openssl_shim.h
report: name
sources:
- function_names:
  - linux_setcaps
  - SET_CAP
  - linux_initialprivs
  - linux_minprivs
  - linux_keepcaps
  - setperms
  - connect_systemd_notify_unix
  - setup_systemd_notify
  - setup_syslog
  - named_os_init
  - named_os_daemonize
  - named_os_started
  - named_os_opendevnull
  - named_os_closedevnull
  - all_digits
  - named_os_chroot
  - named_os_inituserinfo
  - named_os_restoreuser
  - named_os_changeuser
  - named_os_uid
  - named_os_adjustnofile
  - named_os_minprivs
  - safe_open
  - cleanup_pidfile
  - mkdirpath
  - named_os_openfile
  - named_os_writepidfile
  - named_os_shutdown
  - named_os_shutdownmsg
  - named_os_tzset
  - getuname
  - named_os_uname
  - named_os_notify_systemd
  - named_os_notify_close
  source_file: /src/bind9/bin/named/os.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_FACILITY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/bin/named/os.c
      type_or_value: LOG_DAEMON
    - item_type: preproc_def
      name: INIT_CAP
      pos:
        line_end: 131
        line_start: 117
        source_file: /src/bind9/bin/named/os.c
      type_or_value: "do {                                                                  \\\n\t\tcaps
        = cap_init();                                            \\\n\t\tif (caps
        == NULL) {                                           \\\n\t\t\tstrerror_r(errno,
        strbuf, sizeof(strbuf));            \\\n\t\t\tnamed_main_earlyfatal(\"cap_init
        failed: %s\", strbuf); \\\n\t\t}                                                             \\\n\t\tcurcaps
        = cap_get_proc();                                     \\\n\t\tif (curcaps
        == NULL) {                                        \\\n\t\t\tstrerror_r(errno,
        strbuf, sizeof(strbuf));            \\\n\t\t\tnamed_main_earlyfatal(\"cap_get_proc
        failed: %s\",      \\\n\t\t\t\t\t      strbuf);                        \\\n\t\t}
        \                                                            \\\n\t} while
        (0)"
    - item_type: preproc_def
      name: FREE_CAP
      pos:
        line_end: 137
        line_start: 131
        source_file: /src/bind9/bin/named/os.c
      type_or_value: "{                          \\\n\t\tcap_free(caps);    \\\n\t\tcap_free(curcaps);
        \\\n\t}                          \\\n\twhile (0)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - category_fromconf
  - CFG_LIST_FOREACH
  - channel_fromconf
  - named_logconfig
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  source_file: /src/bind9/bin/named/logconf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - named_main_earlywarning
  - named_main_earlyfatal
  - assertion_failed
  - library_fatal_error
  - library_unexpected_error
  - usage
  - save_command_line
  - parse_int
  - set_flags
  - list_dnssec_algorithms
  - list_ds_algorithms
  - list_hmac_algorithms
  - logit
  - printit
  - format_supported_algorithms
  - printversion
  - RTC
  - parse_fuzz_arg
  - parse_T_opt
  - parse_port
  - parse_command_line
  - create_managers
  - setup
  - cleanup
  - named_main_setmemstats
  - named_smf_get_instance
  - main
  source_file: /src/bind9/bin/named/main.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_MAIN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/bin/named/main.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned int
      - name: negate
        type: bool
      item_type: struct
      name: flag_def
      pos:
        line_end: 367
        line_start: 363
        source_file: /src/bind9/bin/named/main.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/xsl_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - configure_zone_acl
  - configure_zone_ssutable
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - configure_staticstub_serveraddrs
  - CFG_LIST_FOREACH
  - configure_staticstub_servernames
  - CFG_LIST_FOREACH
  - configure_staticstub
  - zonetype_fromconfig
  - strtoargvsub
  - strtoargv
  - checknames
  - isself
  - process_notifytype
  - named_zone_configure
  - named_zone_configure_writeable_dlz
  - named_zone_reusable
  - named_zone_inlinesigning
  - named_zone_templateopts
  - CFG_LIST_FOREACH
  source_file: /src/bind9/bin/named/zoneconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATICSTUB_SERVER_TTL
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '86400'
    - item_type: preproc_def
      name: SIGNED
      pos:
        line_end: 1077
        line_start: 1076
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '".signed"'
    structs: []
    typedefs:
    - item_type: typedef
      name: acl_type_t
      pos:
        line_end: 60
        line_start: 53
        source_file: /src/bind9/bin/named/zoneconf.c
    union: []
- function_names:
  - fuzz_thread_resolver
  - fuzz_thread_tcp
  - named_fuzz_notify
  - named_fuzz_setup
  source_file: /src/bind9/bin/named/fuzz.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - TCHECK
  - CHECKM
  - CHECKMF
  - CHECKFATAL
  - configure_view_acl
  - configure_view_nametable
  - CFG_LIST_FOREACH
  - ta_fromconfig
  - sfd_add
  - process_key
  - load_view_keys
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - keyloaded
  - configure_view_dnsseckeys
  - get_view_querysource_dispatch
  - configure_order
  - configure_peer
  - configure_dyndb
  - disable_algorithms
  - CFG_LIST_FOREACH
  - disable_ds_digests
  - CFG_LIST_FOREACH
  - on_disable_list
  - CFG_LIST_FOREACH
  - check_dbtype
  - setquerystats
  - cachelist_find
  - cache_reusable
  - cache_sharable
  - dlzconfigure_callback
  - dns64_reverse
  - configure_rpz_name
  - configure_rpz_name2
  - configure_rpz_zone
  - configure_rpz
  - CFG_LIST_FOREACH
  - catz_addmodzone_cb
  - catz_delzone_cb
  - catz_run
  - catz_addzone
  - catz_delzone
  - catz_modzone
  - catz_changeview
  - catz_reconfigure
  - configure_catz_zone
  - configure_catz
  - CFG_LIST_FOREACH
  - CHECK_RRL
  - CHECK_RRL_RATE
  - configure_rrl
  - add_soa
  - add_ns
  - create_empty_zone
  - CFG_LIST_FOREACH
  - create_ipv4only_zone
  - configure_dnstap
  - CFG_LIST_FOREACH
  - create_mapped_acl
  - register_one_plugin
  - minimal_cache_allowed
  - configure_view
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - configure_hints
  - configure_alternates
  - CFG_LIST_FOREACH
  - validate_tls
  - configure_forward
  - CFG_LIST_FOREACH
  - get_viewinfo
  - find_view
  - create_view
  - configure_zone
  - add_keydata_zone
  - configure_server_quota
  - interface_timer_tick
  - cid
  - tat_done
  - get_tat_qname
  - (&dsset)
  - tat_send
  - dotat
  - tat_timer_tick
  - pps_timer_tick
  - setstring
  - setoptstring
  - removed
  - cleanup_session_key
  - generate_session_key
  - configure_session_key
  - setup_newzones
  - configure_zone_setviewcommit
  - configure_newzones
  - CFG_LIST_FOREACH
  - data_to_cfg
  - for_all_newzone_cfgs
  - configure_newzone
  - configure_newzone_revert
  - configure_newzones
  - get_newzone_config
  - apply_configuration
  - CAP_IF_NOT_ZERO
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - ISC_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - load_configuration
  - view_loaded
  - load_zones
  - run_server
  - named_server_flushonshutdown
  - shutdown_server
  - get_matching_view_sync
  - get_matching_view_done
  - get_matching_view_next
  - get_matching_view_continue
  - get_matching_view
  - named_server_create
  - named_server_destroy
  - fatal
  - loadconfig
  - reload
  - named_server_reload
  - named_server_reloadwanted
  - named_server_closelogs
  - named_server_closelogswanted
  - memprof_toggle
  - memprof_dump
  - memprof_toggle
  - memprof_dump
  - named_server_scan_interfaces
  - next_token
  - zone_from_args
  - named_server_retransfercommand
  - named_server_reloadcommand
  - named_server_resetstatscommand
  - named_server_reconfigcommand
  - named_server_notifycommand
  - named_server_refreshcommand
  - named_server_setortoggle
  - listenlist_fromconfig
  - CFG_LIST_FOREACH
  - find_maplist
  - CFG_LIST_FOREACH
  - listenelt_fromconfig
  - CFG_LIST_FOREACH
  - listenelt_http
  - CFG_LIST_FOREACH
  - named_server_dumpstats
  - add_zone_tolist
  - add_view_tolist
  - dumpcontext_destroy
  - dumpdone
  - named_server_dumpdb
  - named_server_dumpsecroots
  - named_server_dumprecursing
  - named_server_setdebuglevel
  - named_server_validation
  - named_server_flushcache
  - named_server_flushnode
  - named_server_status
  - named_server_testgen
  - named_server_rekey
  - synczone
  - named_server_sync
  - named_server_freeze
  - named_smf_add_message
  - add_comment
  - dumpzone
  - nzf_append
  - nzf_writeconf
  - load_nzf
  - nzd_setkey
  - dumpzone
  - nzd_save
  - nzd_writable
  - nzd_open
  - nzd_env_close
  - nzd_env_reopen
  - nzd_close
  - load_nzf
  - CFG_LIST_FOREACH
  - newzone_parse
  - delete_zoneconf
  - do_addzone
  - do_modzone
  - inuse
  - rmzone
  - named_server_delzone
  - find_name_in_list_from_map
  - CFG_LIST_FOREACH
  - emitzone
  - named_server_showzone
  - newzone_cfgctx_destroy
  - named_server_signing
  - (&privset)
  - argcheck
  - named_server_dnssec
  - ISC_LIST_FOREACH
  - putmem
  - putstr
  - putuint8
  - putnull
  - named_server_zonestatus
  - named_server_nta
  - named_server_saventa
  - named_server_loadnta
  - mkey_refresh
  - mkey_destroy
  - mkey_dumpzone
  - DNS_RDATASET_FOREACH
  - mkey_status
  - named_server_mkeys
  - named_server_dnstap
  - named_server_tcptimeouts
  - named_server_servestale
  - named_server_fetchlimit
  - named_server_skr
  - named_server_togglememprof
  - named_server_getmemprof
  - named_server_getmemprof
  source_file: /src/bind9/bin/named/server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/bind9/bin/named/server.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/bind9/bin/named/server.c
      type_or_value: '1'
    - item_type: preproc_def
      name: configure_newzones
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/bin/named/server.c
      type_or_value: configure_newzones_db
    - item_type: preproc_def
      name: dumpzone
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/bin/named/server.c
      type_or_value: dumpzone_db
    - item_type: preproc_def
      name: configure_newzones
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/bin/named/server.c
      type_or_value: configure_newzones_file
    - item_type: preproc_def
      name: dumpzone
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/bind9/bin/named/server.c
      type_or_value: dumpzone_file
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/bin/named/server.c
      type_or_value: ((size_t)(-1))
    - item_type: preproc_def
      name: SIZE_AS_PERCENT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/bind9/bin/named/server.c
      type_or_value: ((size_t)(-2))
    - item_type: preproc_def
      name: MIN_INITIAL_TIMEOUT
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/bind9/bin/named/server.c
      type_or_value: "UINT32_C(2500)\t"
    - item_type: preproc_def
      name: MAX_INITIAL_TIMEOUT
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/bin/named/server.c
      type_or_value: 'UINT32_C(120000) '
    - item_type: preproc_def
      name: MIN_IDLE_TIMEOUT
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/bin/named/server.c
      type_or_value: "UINT32_C(100)\t"
    - item_type: preproc_def
      name: MAX_IDLE_TIMEOUT
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/bind9/bin/named/server.c
      type_or_value: 'UINT32_C(120000) '
    - item_type: preproc_def
      name: MIN_KEEPALIVE_TIMEOUT
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/bind9/bin/named/server.c
      type_or_value: "UINT32_C(100)\t"
    - item_type: preproc_def
      name: MAX_KEEPALIVE_TIMEOUT
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/bind9/bin/named/server.c
      type_or_value: UINT32_C(UINT16_MAX * 100)
    - item_type: preproc_def
      name: MIN_ADVERTISED_TIMEOUT
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/bind9/bin/named/server.c
      type_or_value: 'UINT32_C(0) '
    - item_type: preproc_def
      name: MAX_ADVERTISED_TIMEOUT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/bind9/bin/named/server.c
      type_or_value: UINT32_C(UINT16_MAX * 100)
    - item_type: preproc_def
      name: MIN_PRIMARIES_TIMEOUT
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/bind9/bin/named/server.c
      type_or_value: "UINT32_C(2500)\t"
    - item_type: preproc_def
      name: MAX_PRIMARIES_TIMEOUT
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/bind9/bin/named/server.c
      type_or_value: 'UINT32_C(120000) '
    - item_type: preproc_def
      name: MAX_ADB_SIZE_FOR_CACHESHARE
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/bind9/bin/named/server.c
      type_or_value: 8388608U
    - item_type: preproc_def
      name: DZARG_MAGIC
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/bind9/bin/named/server.c
      type_or_value: ISC_MAGIC('D', 'z', 'a', 'r')
    - item_type: preproc_def
      name: HEADER1
      pos:
        line_end: 12294
        line_start: 12293
        source_file: /src/bind9/bin/named/server.c
      type_or_value: '"# New zone file for view: "'
    - item_type: preproc_def
      name: HEADER2
      pos:
        line_end: 12297
        line_start: 12294
        source_file: /src/bind9/bin/named/server.c
      type_or_value: "\"\\n# This file contains configuration for zones added by\\n\"
        \\\n\t\"# the 'rndc addzone' command. DO NOT EDIT BY HAND.\\n\""
    structs:
    - fields:
      - name: addr
        type: isc_sockaddr_t
      - name: dispatchgen
        type: unsigned int
      - name: '*dispatch'
        type: dns_dispatch_t
      item_type: struct
      name: named_dispatch
      pos:
        line_end: 243
        line_start: 238
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*cache'
        type: dns_cache_t
      - name: '*primaryview'
        type: dns_view_t
      - name: needflush
        type: bool
      - name: adbsizeadjusted
        type: bool
      - name: rdclass
        type: dns_rdataclass_t
      - name: (named_cache_t)
        type: ISC_LINK
      item_type: struct
      name: named_cache
      pos:
        line_end: 252
        line_start: 245
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: dumpcache
        type: bool
      - name: dumpzones
        type: bool
      - name: dumpadb
        type: bool
      - name: dumpexpired
        type: bool
      - name: dumpfail
        type: bool
      - name: '*fp'
        type: FILE
      - name: '*view'
        type: struct viewlistentry
      - name: '*zone'
        type: struct zonelistentry
      - name: '*mdctx'
        type: dns_dumpctx_t
      - name: '*db'
        type: dns_db_t
      - name: '*cache'
        type: dns_db_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*version'
        type: dns_dbversion_t
      item_type: struct
      name: dumpcontext
      pos:
        line_end: 270
        line_start: 254
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*view'
        type: dns_view_t
      item_type: struct
      name: viewlistentry
      pos:
        line_end: 276
        line_start: 272
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      item_type: struct
      name: zonelistentry
      pos:
        line_end: 281
        line_start: 278
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*srcaddr'
        type: isc_netaddr_t
      - name: '*destaddr'
        type: isc_netaddr_t
      - name: '*message'
        type: dns_message_t
      - name: '*env'
        type: dns_aclenv_t
      - name: '*sctx'
        type: ns_server_t
      - name: '*loop'
        type: isc_loop_t
      - name: cb
        type: isc_job_cb
      - name: '*cbarg'
        type: void
      - name: '*sigresult'
        type: isc_result_t
      - name: '*viewmatchresult'
        type: isc_result_t
      - name: quota_result
        type: isc_result_t
      - name: '**viewp'
        type: dns_view_t
      - name: '*view'
        type: dns_view_t
      item_type: struct
      name: matching_view_ctx
      pos:
        line_end: 301
        line_start: 287
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*conf_parser'
        type: cfg_parser_t
      - name: '*add_parser'
        type: cfg_parser_t
      - name: '*config'
        type: cfg_obj_t
      - name: '*vconfig'
        type: cfg_obj_t
      - name: '*nzf_config'
        type: cfg_obj_t
      - name: '*actx'
        type: cfg_aclconfctx_t
      item_type: struct
      name: ns_cfgctx
      pos:
        line_end: 315
        line_start: 307
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*server'
        type: named_server_t
      - name: reconfig
        type: bool
      - name: refs
        type: isc_refcount_t
      item_type: struct
      name: ns_zoneload_t
      pos:
        line_end: 332
        line_start: 328
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*server'
        type: named_server_t
      item_type: struct
      name: catz_cb_data_t
      pos:
        line_end: 336
        line_start: 334
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*entry'
        type: dns_catz_entry_t
      - name: '*origin'
        type: dns_catz_zone_t
      - name: '*view'
        type: dns_view_t
      - name: '*cbd'
        type: catz_cb_data_t
      - name: mod
        type: bool
      item_type: struct
      name: catz_chgzone
      pos:
        line_end: 345
        line_start: 338
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*catz'
        type: dns_catz_zone_t
      - name: '*config'
        type: cfg_obj_t
      - name: '*cbd'
        type: catz_cb_data_t
      item_type: struct
      name: catz_reconfig_data
      pos:
        line_end: 351
        line_start: 347
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '**text'
        type: isc_buffer_t
      - name: result
        type: isc_result_t
      item_type: struct
      name: ns_dzarg_t
      pos:
        line_end: 364
        line_start: 359
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*name'
        type: char
      - name: '*type'
        type: char
      item_type: struct
      name: "zones[] = {\n\t\t\t{ \"ipv4only.arpa\", \"ipv4only\" },\n\t\t\t{ \"170.0.0.192.in-addr.arpa\",
        \"ipv4reverse\" },\n\t\t\t{ \"171.0.0.192.in-addr.arpa\", \"ipv4reverse\"
        },\n\t\t}"
      pos:
        line_end: 5562
        line_start: 5559
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*fetch'
        type: dns_fetch_t
      - name: '*view'
        type: dns_view_t
      - name: tatname
        type: dns_fixedname_t
      - name: keyname
        type: dns_fixedname_t
      - name: rdataset
        type: dns_rdataset_t
      - name: sigrdataset
        type: dns_rdataset_t
      item_type: struct
      name: ns_tat_t
      pos:
        line_end: 6756
        line_start: 6747
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*view'
        type: dns_view_t
      - name: '*loop'
        type: isc_loop_t
      item_type: struct
      name: dotat_arg
      pos:
        line_end: 6805
        line_start: 6802
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: cleanup
        type: bool
      item_type: struct
      name: ns_dzctx_t
      pos:
        line_end: 13629
        line_start: 13626
        source_file: /src/bind9/bin/named/server.c
    typedefs:
    - item_type: typedef
      name: (*nzfwriter_t)(const cfg_obj_t *config, dns_view_t *view)
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/bind9/bin/named/server.c
    - item_type: typedef
      name: catz_type_t
      pos:
        line_end: 357
        line_start: 353
        source_file: /src/bind9/bin/named/server.c
    - item_type: typedef
      name: memprof_status
      pos:
        line_end: 372
        line_start: 366
        source_file: /src/bind9/bin/named/server.c
    - item_type: typedef
      name: "(*newzone_cfg_cb_t)(const cfg_obj_t *zconfig,\n\t\t\t\t\t cfg_obj_t *config,
        cfg_obj_t *vconfig,\n\t\t\t\t\t dns_view_t *view,\n\t\t\t\t\t cfg_aclconfctx_t
        *actx)"
      pos:
        line_end: 7580
        line_start: 7577
        source_file: /src/bind9/bin/named/server.c
    union: []
- function_names:
  - RETERR
  - LOG
  - named_tkeyctx_fromconfig
  source_file: /src/bind9/bin/named/tkeyconf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - open_geoip2
  - named_geoip_init
  - named_geoip_load
  - named_geoip_unload
  - named_geoip_shutdown
  source_file: /src/bind9/bin/named/geoip.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - add_initial_keys
  - CFG_LIST_FOREACH
  - named_tsigkeyring_fromconfig
  source_file: /src/bind9/bin/named/tsigconf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - named_log_init
  - named_log_setdefaultchannels
  - named_log_setsafechannels
  - named_log_setdefaultsslkeylogfile
  - named_log_setdefaultcategory
  - named_log_setunmatchedcategory
  source_file: /src/bind9/bin/named/log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_FACILITY
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/bin/named/log.c
      type_or_value: LOG_DAEMON
    structs: []
    typedefs: []
    union: []
- function_names:
  - getcommand
  - command_compare
  - named_control_docommand
  source_file: /src/bind9/bin/named/control.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - user_zonetype
  - TRY0
  - set_desc
  - get_histo_desc
  - init_desc
  - SET_NSSTATDESC
  - SET_RESSTATDESC
  - SET_ADBSTATDESC
  - SET_ZONESTATDESC
  - SET_SOCKSTATDESC
  - SET_DNSSECSTATDESC
  - SET_DNSTAPSTATDESC
  - SET_GLUECACHESTATDESC
  - generalstat_dump
  - dump_stats
  - dump_histo
  - dump_counters
  - rdtypestat_dump
  - rdatastatstype_attr
  - rdatasetstats_dump
  - opcodestat_dump
  - rcodestat_dump
  - dnssecsignstat_dump
  - zone_xmlrender
  - xfrin_xmlrender
  - generatexml
  - wrap_xmlfree
  - render_xml
  - render_xml_all
  - render_xml_status
  - render_xml_server
  - render_xml_zones
  - render_xml_xfrins
  - render_xml_net
  - render_xml_mem
  - render_xml_traffic
  - CHECKMEM
  - wrap_jsonfree
  - addzone
  - zone_jsonrender
  - xfrin_jsonrender
  - generatejson
  - render_json
  - render_json_all
  - render_json_status
  - render_json_server
  - render_json_zones
  - render_json_xfrins
  - render_json_mem
  - render_json_net
  - render_json_traffic
  - render_xsl
  - shutdown_listener
  - client_ok
  - destroy_listener
  - add_listener
  - update_listener
  - named_statschannels_configure
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - named_statschannels_shutdown
  - named_stats_dump
  source_file: /src/bind9/bin/named/statschannel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_XMLCHAR
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: (const xmlChar *)
    - item_type: preproc_def
      name: STATS_XML_VERSION_MAJOR
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"3"'
    - item_type: preproc_def
      name: STATS_XML_VERSION_MINOR
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"14"'
    - item_type: preproc_def
      name: STATS_XML_VERSION
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: STATS_XML_VERSION_MAJOR "." STATS_XML_VERSION_MINOR
    - item_type: preproc_def
      name: STATS_JSON_VERSION_MAJOR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"1"'
    - item_type: preproc_def
      name: STATS_JSON_VERSION_MINOR
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"8"'
    - item_type: preproc_def
      name: STATS_JSON_VERSION
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: STATS_JSON_VERSION_MAJOR "." STATS_JSON_VERSION_MINOR
    - item_type: preproc_def
      name: nsstats_xmldesc
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: resstats_xmldesc
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: adbstats_xmldesc
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: zonestats_xmldesc
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: sockstats_xmldesc
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: dnssecstats_xmldesc
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: udpinsizestats_xmldesc
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: udpoutsizestats_xmldesc
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: tcpinsizestats_xmldesc
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: tcpoutsizestats_xmldesc
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: dnstapstats_xmldesc
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: gluecachestats_xmldesc
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: STATS_XML_STATUS
      pos:
        line_end: 1285
        line_start: 1284
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: STATS_XML_SERVER
      pos:
        line_end: 1286
        line_start: 1285
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: STATS_XML_ZONES
      pos:
        line_end: 1287
        line_start: 1286
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STATS_XML_XFRINS
      pos:
        line_end: 1288
        line_start: 1287
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: STATS_XML_NET
      pos:
        line_end: 1289
        line_start: 1288
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: STATS_XML_MEM
      pos:
        line_end: 1290
        line_start: 1289
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: STATS_XML_TRAFFIC
      pos:
        line_end: 1291
        line_start: 1290
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: STATS_XML_ALL
      pos:
        line_end: 1292
        line_start: 1291
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: STATS_JSON_STATUS
      pos:
        line_end: 2295
        line_start: 2294
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: STATS_JSON_SERVER
      pos:
        line_end: 2296
        line_start: 2295
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: STATS_JSON_ZONES
      pos:
        line_end: 2297
        line_start: 2296
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STATS_JSON_XFRINS
      pos:
        line_end: 2298
        line_start: 2297
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: STATS_JSON_NET
      pos:
        line_end: 2299
        line_start: 2298
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: STATS_JSON_MEM
      pos:
        line_end: 2300
        line_start: 2299
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: STATS_JSON_TRAFFIC
      pos:
        line_end: 2301
        line_start: 2300
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: STATS_JSON_ALL
      pos:
        line_end: 2302
        line_start: 2301
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0xff'
    structs:
    - fields:
      - name: '*httpdmgr'
        type: isc_httpdmgr_t
      - name: address
        type: isc_sockaddr_t
      - name: '*mctx'
        type: isc_mem_t
      - name: lock
        type: isc_mutex_t
      - name: '*acl'
        type: dns_acl_t
      item_type: struct
      name: named_statschannel
      pos:
        line_end: 88
        line_start: 74
        source_file: /src/bind9/bin/named/statschannel.c
    - fields:
      - name: type
        type: isc_statsformat_t
      - name: '*arg'
        type: void
      - name: ncounters
        type: int
      - name: '*counterindices'
        type: int
      - name: '*countervalues'
        type: uint64_t
      - name: result
        type: isc_result_t
      item_type: struct
      name: stats_dumparg
      pos:
        line_end: 97
        line_start: 90
        source_file: /src/bind9/bin/named/statschannel.c
    - fields:
      - name: type
        type: dns_zonetype_t
      - name: '*const string'
        type: char
      item_type: struct
      name: zt
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/bind9/bin/named/statschannel.c
    typedefs: []
    union: []
- function_names:
  - named_config_parsedefaults
  - directory_callback
  - named_config_parsefile
  - named_config_getdefault
  - named_config_get
  - named_config_findopt
  - named_checknames_get
  - CFG_LIST_FOREACH
  - named_config_listcount
  - CFG_LIST_FOREACH
  - named_config_getclass
  - named_config_gettype
  - named_config_getzonetype
  - named_config_getremotesdef
  - CFG_LIST_FOREACH
  - named_config_getname
  - grow_array
  - shrink_array
  - named_config_getipandkeylist
  - named_config_getport
  - named_config_getkeyalgorithm
  source_file: /src/bind9/bin/named/config.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: port
        type: in_port_t
      - name: '*src4s'
        type: isc_sockaddr_t
      - name: '*src6s'
        type: isc_sockaddr_t
      item_type: struct
      name: '*lists = NULL'
      pos:
        line_end: 725
        line_start: 720
        source_file: /src/bind9/bin/named/config.c
    - fields:
      - name: '*element'
        type: cfg_listelt_t
      - name: port
        type: in_port_t
      - name: src4
        type: isc_sockaddr_t
      - name: src6
        type: isc_sockaddr_t
      item_type: struct
      name: '*stack = NULL'
      pos:
        line_end: 731
        line_start: 726
        source_file: /src/bind9/bin/named/config.c
    - fields:
      - name: '*str'
        type: char
      - name: hmac
        type: "enum {\n\t\thmacnone,\n\t\thmacmd5,\n\t\thmacsha1,\n\t\thmacsha224,\n\t\thmacsha256,\n\t\thmacsha384,\n\t\thmacsha512\n\t}"
      - name: type
        type: unsigned int
      - name: size
        type: uint16_t
      item_type: struct
      name: keyalgorithms
      pos:
        line_end: 1014
        line_start: 1001
        source_file: /src/bind9/bin/named/config.c
    typedefs: []
    union: []
- function_names:
  - VALID_BDBNODE
  - VALID_BDB
  - putrdata
  - putrr
  - putsoa
  - puttxt
  - dns64_rdata
  - dns64_cname
  - ZLEN
  - builtin_lookup
  - builtin_authority
  - version_lookup
  - hostname_lookup
  - authors_lookup
  - id_lookup
  - empty_lookup
  - ipv4only_lookup
  - ipv4reverse_lookup
  - rdataset_clone
  - new_rdataset
  - rdatasetiter_current
  - destroy
  - currentversion
  - attachversion
  - closeversion
  - createnode
  - destroynode
  - getoriginnode
  - findnode
  - find
  - attachnode
  - detachnode
  - findrdataset
  - allrdatasets
  - create
  - named_builtin_init
  - named_builtin_deinit
  source_file: /src/bind9/bin/named/builtin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BDBNODE_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: ISC_MAGIC('B', 'D', 'B', 'N')
    - item_type: preproc_def
      name: BDB_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: ISC_MAGIC('B', 'D', 'B', '-')
    - item_type: preproc_def
      name: BDB_DNS64
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: 0x00000001U
    - item_type: preproc_def
      name: DEFAULT_REFRESH
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: "28800U\t"
    - item_type: preproc_def
      name: DEFAULT_RETRY
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: "7200U\t"
    - item_type: preproc_def
      name: DEFAULT_EXPIRE
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: '604800U '
    - item_type: preproc_def
      name: DEFAULT_MINIMUM
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: "86400U\t"
    - item_type: preproc_def
      name: DEFAULT_TTL
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: (60 * 60 * 24)
    structs:
    - fields:
      - name: flags
        type: unsigned int
      - name: '*dbimp'
        type: dns_dbimplementation_t
      item_type: struct
      name: bdbimplementation
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/bind9/bin/named/builtin.c
    - fields:
      - name: common
        type: dns_db_t
      - name: '*implementation'
        type: bdbimplementation_t
      - name: (*lookup)(bdbnode_t *node)
        type: isc_result_t
      - name: '*server'
        type: char
      - name: '*contact'
        type: char
      item_type: struct
      name: bdb
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/bind9/bin/named/builtin.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*bdb'
        type: bdb_t
      - name: (dns_rdatalist_t)
        type: ISC_LIST
      - name: (isc_buffer_t)
        type: ISC_LIST
      - name: '*name'
        type: dns_name_t
      - name: (bdbnode_t)
        type: ISC_LINK
      - name: callbacks
        type: dns_rdatacallbacks_t
      item_type: struct
      name: bdbnode
      pos:
        line_end: 72
        line_start: 63
        source_file: /src/bind9/bin/named/builtin.c
    - fields:
      - name: common
        type: dns_rdatasetiter_t
      - name: '*current'
        type: dns_rdatalist_t
      item_type: struct
      name: bdb_rdatasetiter
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/bind9/bin/named/builtin.c
    typedefs: []
    union: []
- function_names:
  - MAYBE_LOCK
  - MAYBE_UNLOCK
  - dlopen_log
  - dlopen_dlz_allnodes
  - dlopen_dlz_allowzonexfr
  - dlopen_dlz_authority
  - dlopen_dlz_findzonedb
  - dlopen_dlz_lookup
  - dl_load_symbol
  - dlopen_dlz_create
  - dlopen_dlz_destroy
  - dlopen_dlz_newversion
  - dlopen_dlz_closeversion
  - dlopen_dlz_configure
  - dlopen_dlz_ssumatch
  - dlopen_dlz_addrdataset
  - dlopen_dlz_subrdataset
  - dlopen_dlz_delrdataset
  - dlz_dlopen_init
  - dlz_dlopen_clear
  source_file: /src/bind9/bin/named/dlz_dlopen_driver.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*dl_path'
        type: char
      - name: '*dlzname'
        type: char
      - name: dl_handle
        type: uv_lib_t
      - name: '*dbdata'
        type: void
      - name: flags
        type: unsigned int
      - name: lock
        type: isc_mutex_t
      - name: version
        type: int
      - name: in_configure
        type: bool
      - name: '*dlz_version'
        type: dlz_dlopen_version_t
      - name: '*dlz_create'
        type: dlz_dlopen_create_t
      - name: '*dlz_findzonedb'
        type: dlz_dlopen_findzonedb_t
      - name: '*dlz_lookup'
        type: dlz_dlopen_lookup_t
      - name: '*dlz_authority'
        type: dlz_dlopen_authority_t
      - name: '*dlz_allnodes'
        type: dlz_dlopen_allnodes_t
      - name: '*dlz_allowzonexfr'
        type: dlz_dlopen_allowzonexfr_t
      - name: '*dlz_newversion'
        type: dlz_dlopen_newversion_t
      - name: '*dlz_closeversion'
        type: dlz_dlopen_closeversion_t
      - name: '*dlz_configure'
        type: dlz_dlopen_configure_t
      - name: '*dlz_ssumatch'
        type: dlz_dlopen_ssumatch_t
      - name: '*dlz_addrdataset'
        type: dlz_dlopen_addrdataset_t
      - name: '*dlz_subrdataset'
        type: dlz_dlopen_subrdataset_t
      - name: '*dlz_delrdataset'
        type: dlz_dlopen_delrdataset_t
      - name: '*dlz_destroy'
        type: dlz_dlopen_destroy_t
      item_type: struct
      name: dlopen_data
      pos:
        line_end: 58
        line_start: 32
        source_file: /src/bind9/bin/named/dlz_dlopen_driver.c
    typedefs: []
    union: []
- function_names:
  - create_name
  - parse_transport_option
  - parse_transport_tls_versions
  - parse_transport_bool_option
  - add_doh_transports
  - CFG_LIST_FOREACH
  - add_tls_transports
  - CFG_LIST_FOREACH
  - CHECK
  - transport_list_fromconfig
  - transport_list_add_ephemeral
  - named_transports_fromconfig
  source_file: /src/bind9/bin/named/transportconf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - controllistener_ref
  - controllistener_unref
  - controllistener_attach
  - controllistener_detach
  - controlconnection_ref
  - controlconnection_unref
  - controlconnection_attach
  - controlconnection_detach
  - CHECK
  - free_controlkey
  - free_controlkeylist
  - free_listener
  - shutdown_listener
  - address_ok
  - control_senddone
  - log_invalid
  - conn_cleanup
  - control_respond
  - control_command
  - conn_shutdown
  - conn_free
  - newconnection
  - control_newconn
  - controls_shutdown
  - named_controls_shutdown
  - cfgkeylist_find
  - CFG_LIST_FOREACH
  - controlkeylist_fromcfg
  - CFG_LIST_FOREACH
  - register_keys
  - get_rndckey
  - get_key_info
  - update_listener
  - add_listener
  - named_controls_configure
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - named_controls_create
  - named_controls_destroy
  source_file: /src/bind9/bin/named/controlconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLOCKSKEW
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/bin/named/controlconf.c
      type_or_value: '300'
    structs:
    - fields:
      - name: '*keyname'
        type: char
      - name: algorithm
        type: uint32_t
      - name: secret
        type: isc_region_t
      - name: (controlkey_t)
        type: ISC_LINK
      item_type: struct
      name: controlkey
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/bind9/bin/named/controlconf.c
    - fields:
      - name: references
        type: isc_refcount_t
      - name: ccmsg
        type: isccc_ccmsg_t
      - name: '*listener'
        type: controllistener_t
      - name: '*ctrl'
        type: isccc_sexpr_t
      - name: '*buffer'
        type: isc_buffer_t
      - name: '*text'
        type: isc_buffer_t
      - name: '*request'
        type: isccc_sexpr_t
      - name: '*response'
        type: isccc_sexpr_t
      - name: alg
        type: uint32_t
      - name: secret
        type: isccc_region_t
      - name: nonce
        type: uint32_t
      - name: now
        type: isc_stdtime_t
      - name: result
        type: isc_result_t
      - name: (controlconnection_t)
        type: ISC_LINK
      - name: shuttingdown
        type: bool
      item_type: struct
      name: controlconnection
      pos:
        line_end: 85
        line_start: 69
        source_file: /src/bind9/bin/named/controlconf.c
    - fields:
      - name: '*controls'
        type: named_controls_t
      - name: '*mctx'
        type: isc_mem_t
      - name: address
        type: isc_sockaddr_t
      - name: '*sock'
        type: isc_nmsocket_t
      - name: '*acl'
        type: dns_acl_t
      - name: shuttingdown
        type: bool
      - name: references
        type: isc_refcount_t
      - name: keys
        type: controlkeylist_t
      - name: connections
        type: controlconnectionlist_t
      - name: type
        type: isc_socktype_t
      - name: perm
        type: uint32_t
      - name: owner
        type: uint32_t
      - name: group
        type: uint32_t
      - name: readonly
        type: bool
      - name: (controllistener_t)
        type: ISC_LINK
      item_type: struct
      name: controllistener
      pos:
        line_end: 103
        line_start: 87
        source_file: /src/bind9/bin/named/controlconf.c
    - fields:
      - name: '*server'
        type: named_server_t
      - name: listeners
        type: controllistenerlist_t
      - name: shuttingdown
        type: bool
      - name: symtab_lock
        type: isc_mutex_t
      - name: '*symtab'
        type: isc_symtab_t
      item_type: struct
      name: named_controls
      pos:
        line_end: 111
        line_start: 105
        source_file: /src/bind9/bin/named/controlconf.c
    typedefs:
    - item_type: typedef
      name: (controlkey_t)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bind9/bin/named/controlconf.c
    - item_type: typedef
      name: (controlconnection_t)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/bin/named/controlconf.c
    - item_type: typedef
      name: (controllistener_t)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bind9/bin/named/controlconf.c
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_IANA_ROOT_ZONE_PRIMARIES
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/bin/named/include/named/config.h
      type_or_value: '"_default_iana_root_zone_primaries"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/os.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/log.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/builtin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - INIT
  source_file: /src/bind9/bin/named/include/named/globals.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTERN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/bin/named/include/named/globals.h
      type_or_value: extern
    - item_type: preproc_def
      name: NAMED_RUN_PID_DIR
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/bin/named/include/named/globals.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/tsigconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/bind9/bin/named/include/named/main.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_MAIN_ARGS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/bin/named/include/named/main.h
      type_or_value: '"46A:c:Cd:D:E:fFgL:M:m:n:N:p:sS:t:T:U:u:vVx:X:"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - NAMED_SERVER_VALID
  source_file: /src/bind9/bin/named/include/named/server.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_SERVER_MAGIC
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/bin/named/include/named/server.h
      type_or_value: ISC_MAGIC('S', 'V', 'E', 'R')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*sctx'
        type: ns_server_t
      - name: '*statsfile'
        type: char
      - name: '*dumpfile'
        type: char
      - name: '*secrootsfile'
        type: char
      - name: '*bindkeysfile'
        type: char
      - name: '*recfile'
        type: char
      - name: version_set
        type: bool
      - name: '*version'
        type: char
      - name: hostname_set
        type: bool
      - name: '*hostname'
        type: char
      - name: '*loadmgr'
        type: dns_loadmgr_t
      - name: '*zonemgr'
        type: dns_zonemgr_t
      - name: viewlist
        type: dns_viewlist_t
      - name: kasplist
        type: dns_kasplist_t
      - name: keystorelist
        type: dns_keystorelist_t
      - name: '*interfacemgr'
        type: ns_interfacemgr_t
      - name: '*in_roothints'
        type: dns_db_t
      - name: '*interface_timer'
        type: isc_timer_t
      - name: '*heartbeat_timer'
        type: isc_timer_t
      - name: '*pps_timer'
        type: isc_timer_t
      - name: '*tat_timer'
        type: isc_timer_t
      - name: interface_interval
        type: uint32_t
      - name: reload_status
        type: atomic_int
      - name: flushonshutdown
        type: bool
      - name: cachelist
        type: named_cachelist_t
      - name: '*zonestats'
        type: isc_stats_t
      - name: '*resolverstats'
        type: isc_stats_t
      - name: '*sockstats'
        type: isc_stats_t
      - name: '*controls'
        type: named_controls_t
      - name: dispatchgen
        type: unsigned int
      - name: dispatches
        type: named_dispatchlist_t
      - name: statschannels
        type: named_statschannellist_t
      - name: '*sessionkey'
        type: dst_key_t
      - name: '*session_keyfile'
        type: char
      - name: '*session_keyname'
        type: dns_name_t
      - name: session_keyalg
        type: unsigned int
      - name: session_keybits
        type: uint16_t
      - name: interface_auto
        type: bool
      - name: secret[32]
        type: unsigned char
      - name: cookiealg
        type: ns_cookiealg_t
      - name: '*dtenv'
        type: dns_dtenv_t
      - name: '*tlsctx_server_cache'
        type: isc_tlsctx_cache_t
      - name: '*tlsctx_client_cache'
        type: isc_tlsctx_cache_t
      - name: '*sighup'
        type: isc_signal_t
      - name: '*sigusr1'
        type: isc_signal_t
      item_type: struct
      name: named_server
      pos:
        line_end: 107
        line_start: 43
        source_file: /src/bind9/bin/named/include/named/server.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/fuzz.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/tkeyconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/geoip.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/statschannel.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_STATSCHANNEL_HTTPPORT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/bin/named/include/named/statschannel.h
      type_or_value: '80'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/logconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/transportconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/control.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_CONTROL_PORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '953'
    - item_type: preproc_def
      name: NAMED_COMMAND_ADDZONE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"addzone"'
    - item_type: preproc_def
      name: NAMED_COMMAND_CLOSELOGS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"closelogs"'
    - item_type: preproc_def
      name: NAMED_COMMAND_DELZONE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"delzone"'
    - item_type: preproc_def
      name: NAMED_COMMAND_DNSSEC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"dnssec"'
    - item_type: preproc_def
      name: NAMED_COMMAND_DNSTAP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"dnstap"'
    - item_type: preproc_def
      name: NAMED_COMMAND_DNSTAPREOPEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"dnstap-reopen"'
    - item_type: preproc_def
      name: NAMED_COMMAND_DUMPDB
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"dumpdb"'
    - item_type: preproc_def
      name: NAMED_COMMAND_DUMPSTATS
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"stats"'
    - item_type: preproc_def
      name: NAMED_COMMAND_FETCHLIMIT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"fetchlimit"'
    - item_type: preproc_def
      name: NAMED_COMMAND_FLUSH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"flush"'
    - item_type: preproc_def
      name: NAMED_COMMAND_FLUSHNAME
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"flushname"'
    - item_type: preproc_def
      name: NAMED_COMMAND_FLUSHTREE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"flushtree"'
    - item_type: preproc_def
      name: NAMED_COMMAND_FREEZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"freeze"'
    - item_type: preproc_def
      name: NAMED_COMMAND_HALT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"halt"'
    - item_type: preproc_def
      name: NAMED_COMMAND_LOADKEYS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"loadkeys"'
    - item_type: preproc_def
      name: NAMED_COMMAND_MEMPROF
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"memprof"'
    - item_type: preproc_def
      name: NAMED_COMMAND_MKEYS
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"managed-keys"'
    - item_type: preproc_def
      name: NAMED_COMMAND_MODZONE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"modzone"'
    - item_type: preproc_def
      name: NAMED_COMMAND_NOTIFY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"notify"'
    - item_type: preproc_def
      name: NAMED_COMMAND_NOTRACE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"notrace"'
    - item_type: preproc_def
      name: NAMED_COMMAND_NTA
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"nta"'
    - item_type: preproc_def
      name: NAMED_COMMAND_NULL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"null"'
    - item_type: preproc_def
      name: NAMED_COMMAND_QUERYLOG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"querylog"'
    - item_type: preproc_def
      name: NAMED_COMMAND_RECONFIG
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"reconfig"'
    - item_type: preproc_def
      name: NAMED_COMMAND_RECURSING
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"recursing"'
    - item_type: preproc_def
      name: NAMED_COMMAND_REFRESH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"refresh"'
    - item_type: preproc_def
      name: NAMED_COMMAND_RELOAD
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"reload"'
    - item_type: preproc_def
      name: NAMED_COMMAND_RESETSTATS
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"reset-stats"'
    - item_type: preproc_def
      name: NAMED_COMMAND_RESPONSELOG
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"responselog"'
    - item_type: preproc_def
      name: NAMED_COMMAND_RETRANSFER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"retransfer"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SCAN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"scan"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SECROOTS
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"secroots"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SERVESTALE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"serve-stale"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SHOWZONE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"showzone"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SIGN
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"sign"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SIGNING
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"signing"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SKR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"skr"'
    - item_type: preproc_def
      name: NAMED_COMMAND_STATUS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"status"'
    - item_type: preproc_def
      name: NAMED_COMMAND_STOP
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"stop"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SYNC
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"sync"'
    - item_type: preproc_def
      name: NAMED_COMMAND_TCPTIMEOUTS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"tcp-timeouts"'
    - item_type: preproc_def
      name: NAMED_COMMAND_TESTGEN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"testgen"'
    - item_type: preproc_def
      name: NAMED_COMMAND_THAW
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"thaw"'
    - item_type: preproc_def
      name: NAMED_COMMAND_TRACE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"trace"'
    - item_type: preproc_def
      name: NAMED_COMMAND_UNFREEZE
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"unfreeze"'
    - item_type: preproc_def
      name: NAMED_COMMAND_VALIDATION
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"validation"'
    - item_type: preproc_def
      name: NAMED_COMMAND_ZONESTATUS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"zonestatus"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/types.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (named_cache_t)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/bind9/bin/named/include/named/types.h
    - item_type: typedef
      name: (named_dispatch_t)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bind9/bin/named/include/named/types.h
    - item_type: typedef
      name: (named_statschannel_t)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bind9/bin/named/include/named/types.h
    - item_type: typedef
      name: named_reload_t
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/bind9/bin/named/include/named/types.h
    union: []
- function_names:
  - INIT
  source_file: /src/bind9/bin/named/include/named/smf_globals.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTERN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/bin/named/include/named/smf_globals.h
      type_or_value: extern
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/zoneconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/dlz/dlz_dlopen_driver.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_port
  - parse_protocol
  - parse_address
  - parse_workers
  - parse_timeout
  - parse_input
  - parse_output
  - parse_options
  - setup
  - teardown
  - waitforsignal
  - read_cb
  - send_cb
  - connect_cb
  - run
  - main
  source_file: /src/bind9/bin/tests/test_client.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: protocol_t
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/bind9/bin/tests/test_client.c
    union: []
- function_names:
  - parse_port
  - parse_protocol
  - parse_address
  - parse_workers
  - parse_options
  - setup
  - teardown
  - test_server_yield
  - read_cb
  - send_cb
  - accept_cb
  - run
  - main
  source_file: /src/bind9/bin/tests/test_server.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: protocol_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bind9/bin/tests/test_server.c
    union: []
- function_names:
  - CHECKRESULT
  - fromhex
  - usage
  - printmessage
  - main
  - process_message
  source_file: /src/bind9/bin/tests/system/wire-test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/bind9/bin/tests/system/wire-test.c
      type_or_value: '"bdm:prst"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/bind9/bin/tests/system/feature-test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - install_hooks
  - logmsg
  - plugin_register
  - plugin_check
  - plugin_destroy
  - plugin_version
  - client_state_get
  - client_state_create
  - client_state_destroy
  - async_qctx_initialize
  - cancelasync
  - destroyasync
  - doasync
  - async_query_done_begin
  - async_qctx_destroy
  source_file: /src/bind9/bin/tests/system/hooks/driver/test-async.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*module'
        type: ns_plugin_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*ht'
        type: isc_ht_t
      - name: hlock
        type: isc_mutex_t
      item_type: struct
      name: async_instance
      pos:
        line_end: 55
        line_start: 50
        source_file: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    - fields:
      - name: async
        type: bool
      - name: '*rev'
        type: ns_hook_resume_t
      - name: hookpoint
        type: ns_hookpoint_t
      - name: origresult
        type: isc_result_t
      item_type: struct
      name: state
      pos:
        line_end: 62
        line_start: 57
        source_file: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    typedefs: []
    union: []
- function_names:
  - CHECK
  - RUNCHECK
  - recvresponse
  - sendquery
  - sendqueries
  - teardown_view
  - teardown_requestmgr
  - teardown_dispatchv4
  - teardown_dispatchmgr
  - main
  source_file: /src/bind9/bin/tests/system/pipelined/pipequeries.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/bin/tests/system/pipelined/pipequeries.c
      type_or_value: '5300'
    - item_type: preproc_def
      name: TIMEOUT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/bin/tests/system/pipelined/pipequeries.c
      type_or_value: '30'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/tests/system/dlzexternal/driver/driver.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - loginfo
  - logerr
  - single_valued
  - add_name
  - del_name
  - fmt_address
  - dlz_version
  - b9_add_helper
  - dlz_create
  - dlz_destroy
  - dlz_findzonedb
  - dlz_lookup
  - dlz_allowzonexfr
  - dlz_allnodes
  - dlz_newversion
  - dlz_closeversion
  - dlz_configure
  - dlz_ssumatch
  - modrdataset
  - dlz_addrdataset
  - dlz_subrdataset
  - dlz_delrdataset
  source_file: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RECORDS
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
      type_or_value: '100'
    structs:
    - fields:
      - name: name[100]
        type: char
      - name: type[10]
        type: char
      - name: data[200]
        type: char
      - name: ttl
        type: dns_ttl_t
      item_type: struct
      name: record
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    - fields:
      - name: '*zone_name'
        type: char
      - name: current[MAX_RECORDS]
        type: struct record
      - name: adds[MAX_RECORDS]
        type: struct record
      - name: deletes[MAX_RECORDS]
        type: struct record
      - name: transaction_started
        type: bool
      - name: '*log'
        type: log_t
      - name: '*putrr'
        type: dns_sdlz_putrr_t
      - name: '*putnamedrr'
        type: dns_sdlz_putnamedrr_t
      - name: '*writeable_zone'
        type: dns_dlz_writeablezone_t
      item_type: struct
      name: dlz_example_data
      pos:
        line_end: 97
        line_start: 82
        source_file: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    typedefs:
    - item_type: typedef
      name: log_t(int level, const char *fmt, ...)
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
      type: void
    union: []
- function_names:
  - syncptr_write
  - syncptr_find_zone
  - syncptr
  - syncptrs
  - DNS_RDATASET_FOREACH
  source_file: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: diff
        type: dns_diff_t
      - name: ptr_target_name
        type: dns_fixedname_t
      - name: b
        type: isc_buffer_t
      - name: buf[DNS_NAME_MAXWIRE]
        type: unsigned char
      item_type: struct
      name: syncptr
      pos:
        line_end: 60
        line_start: 52
        source_file: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    typedefs: []
    union: []
- function_names:
  - log_error_r
  - log_error
  - log_info
  source_file: /src/bind9/bin/tests/system/dyndb/driver/log.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_SAMPLEDB
  - destroy
  - currentversion
  - newversion
  - attachversion
  - closeversion
  - findnode
  - find
  - findzonecut
  - attachnode
  - detachnode
  - createiterator
  - findrdataset
  - allrdatasets
  - addrdataset
  - subtractrdataset
  - deleterdataset
  - issecure
  - nodecount
  - setloop
  - getoriginnode
  - getnsec3parameters
  - findnsec3node
  - setsigningtime
  - getsigningtime
  - getrrsetstats
  - findnodeext
  - findext
  - setcachestats
  - nodefullname
  - add_soa
  - add_ns
  - add_a
  - create_db
  source_file: /src/bind9/bin/tests/system/dyndb/driver/db.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SAMPLEDB_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/bin/tests/system/dyndb/driver/db.c
      type_or_value: ISC_MAGIC('S', 'M', 'D', 'B')
    structs:
    - fields:
      - name: common
        type: dns_db_t
      - name: '*inst'
        type: sample_instance_t
      - name: '*db'
        type: dns_db_t
      item_type: struct
      name: sampledb
      pos:
        line_end: 73
        line_start: 63
        source_file: /src/bind9/bin/tests/system/dyndb/driver/db.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/tests/system/dyndb/driver/instance.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*db_name'
        type: char
      - name: '*db_imp'
        type: dns_dbimplementation_t
      - name: '*view'
        type: dns_view_t
      - name: '*zmgr'
        type: dns_zonemgr_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: exiting
        type: bool
      - name: '*zone1'
        type: dns_zone_t
      - name: zone1_fn
        type: dns_fixedname_t
      - name: '*zone1_name'
        type: dns_name_t
      - name: '*zone2'
        type: dns_zone_t
      - name: zone2_fn
        type: dns_fixedname_t
      - name: '*zone2_name'
        type: dns_name_t
      item_type: struct
      name: sample_instance
      pos:
        line_end: 59
        line_start: 41
        source_file: /src/bind9/bin/tests/system/dyndb/driver/instance.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/tests/system/dyndb/driver/zone.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CLEANUP_WITH
  - CHECK
  source_file: /src/bind9/bin/tests/system/dyndb/driver/util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - parse_params
  - new_sample_instance
  - load_sample_instance_zones
  - destroy_sample_instance
  source_file: /src/bind9/bin/tests/system/dyndb/driver/instance.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_zone
  - publish_zone
  - load_zone
  - activate_zone
  source_file: /src/bind9/bin/tests/system/dyndb/driver/zone.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_write
  source_file: /src/bind9/bin/tests/system/dyndb/driver/log.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/tests/system/dyndb/driver/db.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/tests/system/dyndb/driver/syncptr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dyndb_init
  - dyndb_destroy
  - dyndb_version
  source_file: /src/bind9/bin/tests/system/dyndb/driver/driver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - main
  source_file: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check
  - main
  source_file: /src/bind9/bin/tests/system/rndc/gencheck.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USAGE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/bin/tests/system/rndc/gencheck.c
      type_or_value: '"usage: gencheck <filename>\n"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/bind9/bin/tools/named-nzd2nzf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - UNUSED
  - main
  source_file: /src/bind9/bin/tools/arpaname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - loadzone
  - loadjournal
  - main
  source_file: /src/bind9/bin/tools/named-makejournal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - RUNCHECK
  - ADD_STRING
  - rcode_totext
  - recvresponse
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - add_opt
  - compute_cookie
  - sendquery
  - sendqueries
  - usage
  - help
  - fatal
  - parse_uint_helper
  - parse_uint
  - parse_xint
  - newopts
  - save_opt
  - parse_netprefix
  - append
  - reverse_octets
  - get_reverse
  - plus_option
  - FULLCHECK
  - FULLCHECK2
  - GLOBAL
  - dash_option
  - clone_default_query
  - preparse_args
  - parse_args
  - set_source_ports
  - teardown
  - setup
  - main
  - ISC_LIST_FOREACH
  source_file: /src/bind9/bin/tools/mdig.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MXNAME
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: (DNS_NAME_MAXTEXT + 1)
    - item_type: preproc_def
      name: COMMSIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: OUTPUTBUF
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '32767'
    - item_type: preproc_def
      name: MAXPORT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: PORT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '53'
    - item_type: preproc_def
      name: MAXTIMEOUT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: TCPTIMEOUT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '10'
    - item_type: preproc_def
      name: UDPTIMEOUT
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '5'
    - item_type: preproc_def
      name: MAXTRIES
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: EDNSOPTS
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/bind9/bin/tools/mdig.c
      type_or_value: 100U
    structs:
    - fields:
      - name: textname[MXNAME]
        type: char
      - name: recurse
        type: bool
      - name: have_aaonly
        type: bool
      - name: have_adflag
        type: bool
      - name: have_cdflag
        type: bool
      - name: have_zflag
        type: bool
      - name: dnssec
        type: bool
      - name: expire
        type: bool
      - name: send_cookie
        type: bool
      - name: '*cookie'
        type: char
      - name: nsid
        type: bool
      - name: rdtype
        type: dns_rdatatype_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: udpsize
        type: uint16_t
      - name: edns
        type: int16_t
      - name: '*ednsopts'
        type: dns_ednsopt_t
      - name: ednsoptscnt
        type: unsigned int
      - name: ednsflags
        type: unsigned int
      - name: '*ecs_addr'
        type: isc_sockaddr_t
      - name: timeout
        type: unsigned int
      - name: udptimeout
        type: unsigned int
      - name: udpretries
        type: unsigned int
      item_type: struct
      name: query
      pos:
        line_end: 151
        line_start: 126
        source_file: /src/bind9/bin/tools/mdig.c
    typedefs: []
    union:
    - fields:
      - name: '*consttext'
        type: char
      - name: '*deconsttext'
        type: char
      item_type: union
      name: totext
      pos:
        line_end: 179
        line_start: 176
        source_file: /src/bind9/bin/tools/mdig.c
- function_names:
  - fatal
  - check_result
  - usage
  - nsec3hash
  - nsec3hash_print
  - nsec3hash_rdata_print
  - main
  source_file: /src/bind9/bin/tools/nsec3hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "nsec3printer(unsigned int algo, unsigned int flags, unsigned int iters,\n\t
        \    const char *saltstr, const char *domain, const char *digest)"
      pos:
        line_end: 70
        line_start: 68
        source_file: /src/bind9/bin/tools/nsec3hash.c
      type: void
    union: []
- function_names:
  - CHECKM
  - fatal
  - usage
  - print_dtdata
  - print_hex
  - print_packet
  - print_yaml
  - main
  source_file: /src/bind9/bin/tools/dnstap-read.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - setup_logging
  - main
  source_file: /src/bind9/bin/tools/named-journalprint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - cleanup
  - fatal
  - main
  source_file: /src/bind9/bin/tools/named-rrchecker.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/check/check-tool.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ERRRET
  - usage
  - destroy
  - main
  - ARGCMP
  source_file: /src/bind9/bin/check/named-checkzone.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - usage
  - directory_callback
  - get_maps
  - get_checknames
  - CFG_LIST_FOREACH
  - configure_hint
  - configure_zone
  - configure_view
  - CFG_LIST_FOREACH
  - config_getclass
  - load_zones_fromconfig
  - CFG_LIST_FOREACH
  - output
  - main
  source_file: /src/bind9/bin/check/named-checkconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 599
        line_start: 598
        source_file: /src/bind9/bin/check/named-checkconf.c
      type_or_value: '"acdhijlm:nt:pvxz"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - freekey
  - add
  - logged
  - checkisservedby
  - checkns
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - checkmx
  - checksrv
  - setup_logging
  - load_zone
  - dump_zone
  source_file: /src/bind9/bin/check/check-tool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CHECK_SIBLING
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CHECK_LOCAL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ERR_IS_CNAME
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ERR_NO_ADDRESSES
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '2'
    - item_type: preproc_def
      name: ERR_LOOKUP_FAILURE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '3'
    - item_type: preproc_def
      name: ERR_EXTRA_A
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ERR_EXTRA_AAAA
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ERR_MISSING_GLUE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '5'
    - item_type: preproc_def
      name: ERR_IS_MXCNAME
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '6'
    - item_type: preproc_def
      name: ERR_IS_SRVCNAME
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '7'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - usage
  - fatal
  - warn
  - delv_log
  - setup_logging
  - print_status
  - printdata
  - DNS_RDATASET_FOREACH
  - setup_style
  - convert_name
  - key_fromconfig
  - load_keys
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - setup_dnsseckeys
  - addserver
  - findserver
  - parse_uint
  - plus_option
  - FULLCHECK
  - dash_option
  - preparse_args
  - parse_args
  - append_str
  - reverse_octets
  - get_reverse
  - resolve_cb
  - run_resolve
  - shutdown_server
  - recvresponse
  - MSG_SECTION_FOREACH
  - accept_cb
  - sendquery
  - matchview
  - run_server
  - main
  source_file: /src/bind9/bin/delv/delv.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXNAME
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: (DNS_NAME_MAXTEXT + 1)
    - item_type: preproc_def
      name: MAX_QUERIES
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_TOTAL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '200'
    - item_type: preproc_def
      name: MAX_RESTARTS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '11'
    structs: []
    typedefs: []
    union: []
- function_names:
  - primary_from_servers
  - getzoneclass
  - setzoneclass
  - fatal
  - error
  - debug
  - ddebug
  - check_result
  - nsu_strsep
  - reset_system
  - parse_hmac
  - basenamelen
  - setup_keystr
  - read_sessionkey
  - setup_keyfile
  - doshutdown
  - maybeshutdown
  - shutdown_program
  - set_source_ports
  - create_name
  - setup_system
  - get_addresses
  - pre_parse_args
  - parse_args
  - parse_name
  - parse_rdata
  - make_prereq
  - evaluate_prereq
  - updateopt
  - evaluate_lease
  - evaluate_server
  - evaluate_local
  - evaluate_key
  - evaluate_zone
  - evaluate_realm
  - evaluate_ttl
  - evaluate_class
  - update_addordelete
  - evaluate_update
  - evaluate_checknames
  - evaluate_checksvcb
  - setzone
  - show_message
  - do_next_command
  - get_next_command
  - user_interaction
  - done_update
  - check_tsig_error
  - next_primary
  - update_completed
  - send_update
  - next_server
  - recvsoa
  - sendrequest
  - get_ticket_realm
  - failed_gssrequest
  - start_gssrequest
  - send_gssrequest
  - recvgss
  - start_update
  - cleanup
  - getinput
  - main
  source_file: /src/bind9/bin/nsupdate/nsupdate.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXCMD
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: MAXWIRE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: INITTEXT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (2 * 1024)
    - item_type: preproc_def
      name: MAXTEXT
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: TTL_MAX
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: '2147483647U '
    - item_type: preproc_def
      name: DNSDEFAULTPORT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: '53'
    - item_type: preproc_def
      name: DEFAULT_EDNS_BUFSIZE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: '1232'
    - item_type: preproc_def
      name: MAX_SERVERADDRS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RESOLV_CONF
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: '"/etc/resolv.conf"'
    - item_type: preproc_def
      name: STATUS_MORE
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)0
    - item_type: preproc_def
      name: STATUS_SEND
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)1
    - item_type: preproc_def
      name: STATUS_QUIT
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)2
    - item_type: preproc_def
      name: STATUS_SYNTAX
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)3
    - item_type: preproc_def
      name: PARSE_ARGS_FMT
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: '"46A:C:dDE:ghH:iK:lL:MoOk:p:Pr:R:St:Tu:vVy:"'
    structs:
    - fields:
      - name: '*msg'
        type: dns_message_t
      - name: '*addr'
        type: isc_sockaddr_t
      item_type: struct
      name: nsu_requestinfo
      pos:
        line_end: 188
        line_start: 185
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
    - fields:
      - name: '*msg'
        type: dns_message_t
      - name: '*addr'
        type: isc_sockaddr_t
      - name: context
        type: gss_ctx_id_t
      item_type: struct
      name: nsu_gssinfo
      pos:
        line_end: 218
        line_start: 214
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
    typedefs: []
    union: []
- function_names:
  - CHECK
  - WANTDNSSEC
  - RECURSIONOK
  - install_hooks
  - parse_filter_a
  - doc_filter_a
  - parse_filter_a_on
  - check_syntax
  - parse_parameters
  - plugin_register
  - plugin_check
  - plugin_destroy
  - plugin_version
  - is_v4_client
  - is_v6_client
  - client_state_get
  - client_state_create
  - client_state_destroy
  - mark_as_rendered
  - process_name
  - process_section
  - MSG_SECTION_FOREACH
  - filter_qctx_initialize
  - filter_prep_response_begin
  - filter_respond_begin
  - filter_respond_any_found
  - filter_query_done_send
  - filter_qctx_destroy
  source_file: /src/bind9/bin/plugins/filter-a.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILTER_A_RECURSING
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/bin/plugins/filter-a.c
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: FILTER_A_FILTERED
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/bin/plugins/filter-a.c
      type_or_value: '0x0002 '
    structs:
    - fields:
      - name: mode
        type: filter_a_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: filter_data
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/bind9/bin/plugins/filter-a.c
    - fields:
      - name: '*module'
        type: ns_plugin_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*ht'
        type: isc_ht_t
      - name: hlock
        type: isc_mutex_t
      - name: v4_a
        type: filter_a_t
      - name: v6_a
        type: filter_a_t
      - name: '*a_acl'
        type: dns_acl_t
      item_type: struct
      name: filter_instance
      pos:
        line_end: 89
        line_start: 73
        source_file: /src/bind9/bin/plugins/filter-a.c
    - fields:
      - name: '*qctx'
        type: query_ctx_t
      - name: mode
        type: filter_a_t
      - name: section
        type: dns_section_t
      - name: '*name'
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      - name: only_if_aaaa_exists
        type: bool
      item_type: struct
      name: section_filter
      pos:
        line_end: 434
        line_start: 427
        source_file: /src/bind9/bin/plugins/filter-a.c
    typedefs:
    - item_type: typedef
      name: filter_a_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/bin/plugins/filter-a.c
    union: []
- function_names:
  - CHECK
  - WANTDNSSEC
  - RECURSIONOK
  - install_hooks
  - parse_filter_aaaa
  - doc_filter_aaaa
  - parse_filter_aaaa_on
  - check_syntax
  - parse_parameters
  - plugin_register
  - plugin_check
  - plugin_destroy
  - plugin_version
  - is_v4_client
  - is_v6_client
  - client_state_get
  - client_state_create
  - client_state_destroy
  - mark_as_rendered
  - process_name
  - process_section
  - MSG_SECTION_FOREACH
  - filter_qctx_initialize
  - filter_prep_response_begin
  - filter_respond_begin
  - filter_respond_any_found
  - filter_query_done_send
  - filter_qctx_destroy
  source_file: /src/bind9/bin/plugins/filter-aaaa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILTER_AAAA_RECURSING
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: FILTER_AAAA_FILTERED
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
      type_or_value: '0x0002 '
    structs:
    - fields:
      - name: mode
        type: filter_aaaa_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: filter_data
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
    - fields:
      - name: '*module'
        type: ns_plugin_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*ht'
        type: isc_ht_t
      - name: hlock
        type: isc_mutex_t
      - name: v4_aaaa
        type: filter_aaaa_t
      - name: v6_aaaa
        type: filter_aaaa_t
      - name: '*aaaa_acl'
        type: dns_acl_t
      item_type: struct
      name: filter_instance
      pos:
        line_end: 89
        line_start: 73
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
    - fields:
      - name: '*qctx'
        type: query_ctx_t
      - name: mode
        type: filter_aaaa_t
      - name: section
        type: dns_section_t
      - name: '*name'
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      - name: only_if_a_exists
        type: bool
      item_type: struct
      name: section_filter
      pos:
        line_end: 438
        line_start: 431
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
    typedefs:
    - item_type: typedef
      name: filter_aaaa_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
    union: []
- function_names:
  - rcode_totext
  - show_usage
  - host_shutdown
  - received
  - trying
  - say_message
  - printsection
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - printrdata
  - chase_cnamechain
  - printmessage
  - pre_parse_args
  - parse_args
  - main
  source_file: /src/bind9/bin/dig/host.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: unsigned int
      - name: '*text'
        type: char
      item_type: struct
      name: rtype
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/bind9/bin/dig/host.c
    typedefs: []
    union:
    - fields:
      - name: '*consttext'
        type: char
      - name: '*deconsttext'
        type: char
      item_type: union
      name: totext
      pos:
        line_end: 93
        line_start: 90
        source_file: /src/bind9/bin/dig/host.c
- function_names:
  - ADD_STRING
  - rcode_totext
  - print_usage
  - usage
  - usage
  - help
  - received
  - trying
  - say_message
  - dns64prefix_answer
  - short_answer
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - isdotlocal
  - MSG_SECTION_FOREACH
  - printmessage
  - printgreeting
  - FULLCHECK
  - FULLCHECK2
  - FULLCHECK6
  - MATCH
  - MATCH_DIGIT
  - ADVANCE
  - GETP
  - proxy_handle_port_string
  - proxy_handle_addr_string
  - parse_proxy_addresses
  - rule_proxy_addrs
  - rule_addr
  - rule_port
  - rule_addr_char
  - plus_proxy_handle_addresses
  - plus_proxy_options
  - plus_tls_options
  - plus_option
  - dash_option
  - preparse_args
  - split_batchline
  - parse_args
  - query_finished
  - dig_error
  - dig_warning
  - dig_comments
  - dig_setup
  - dig_query_setup
  - dig_startup
  - dig_shutdown
  - main
  source_file: /src/bind9/bin/dig/dig.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIG_MAX_ADDRESSES
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/bin/dig/dig.c
      type_or_value: '20'
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: '*last_addr_start'
        type: char
      - name: last_addr_len
        type: size_t
      - name: '*last_port_start'
        type: char
      - name: last_port_len
        type: size_t
      - name: '*src_addr_start'
        type: char
      - name: src_addr_len
        type: size_t
      - name: '*src_port_start'
        type: char
      - name: src_port_len
        type: size_t
      - name: '*dst_addr_start'
        type: char
      - name: dst_addr_len
        type: size_t
      - name: '*dst_port_start'
        type: char
      - name: dst_port_len
        type: size_t
      item_type: struct
      name: isc_proxy_addrs_parser_state
      pos:
        line_end: 1139
        line_start: 1119
        source_file: /src/bind9/bin/dig/dig.c
    typedefs: []
    union: []
- function_names:
  - systemlocale
  - resetlocale
  - default_warnerr
  - default_comments
  - cancel_lookup
  - count_dots
  - hex_dump
  - append
  - reverse_octets
  - get_reverse
  - warn
  - warn
  - digexit
  - fatal
  - debug
  - check_result
  - make_server
  - get_server_list
  - flush_server_list
  - ISC_LIST_FOREACH
  - set_nameserver
  - clone_server_list
  - ISC_LIST_FOREACH
  - make_empty_lookup
  - cloneopts
  - clone_lookup
  - requeue_lookup
  - setup_text_key
  - parse_uint_helper
  - parse_uint
  - parse_xint
  - parse_bits
  - parse_netprefix
  - parse_hmac
  - read_confkey
  - setup_file_key
  - make_searchlist_entry
  - clear_searchlist
  - ISC_LIST_FOREACH
  - create_search_list
  - add_fallback_nameserver
  - setup_system
  - set_search_domain
  - setup_libs
  - save_opt
  - add_opt
  - add_question
  - check_if_done
  - ISC_LIST_FOREACH
  - check_if_queries_done
  - _destroy_lookup
  - lookup_attach
  - _lookup_attach
  - lookup_detach
  - _lookup_detach
  - destroy_lookup
  - destroy_query
  - query_attach
  - _query_attach
  - query_detach
  - _query_detach
  - start_lookup
  - clear_current_lookup
  - followup_lookup
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - next_origin
  - insert_soa
  - compute_cookie
  - new_query
  - _new_query
  - setup_lookup
  - nssearch_next
  - send_done
  - _cancel_lookup
  - get_tls_sni_hostname
  - get_create_tls_context
  - start_tcp
  - print_query_size
  - send_udp
  - udp_ready
  - start_udp
  - try_next_server
  - force_next
  - launch_next_query
  - tcp_connected
  - check_for_more_data
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - process_cookie
  - process_opt
  - ednsvers
  - recv_done
  - MSG_SECTION_FOREACH
  - get_address
  - getaddresses
  - do_lookup
  - onrun_callback
  - run_loop
  - cancel_all
  - ISC_LIST_FOREACH
  - cleanup_openssl_refs
  - destroy_libs
  - idn_filter
  - idn_input
  - dig_idnsetup
  - dig_lookup_is_tls
  source_file: /src/bind9/bin/dig/dighost.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DIG_MAX_ADDRESSES
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: '20'
    - item_type: preproc_def
      name: EDNSOPT_OPTIONS
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: 100U
    - item_type: preproc_def
      name: N_EDNS_OPTNAMES
      pos:
        line_end: 1391
        line_start: 1390
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: (sizeof(optnames) / sizeof(optnames[0]))
    - item_type: preproc_def
      name: MAXOPTS
      pos:
        line_end: 2403
        line_start: 2402
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: (EDNSOPT_OPTIONS + DNS_EDNSOPTIONS)
    structs:
    - fields:
      - name: code
        type: uint32_t
      - name: '*name'
        type: char
      item_type: struct
      name: dig_ednsoptname
      pos:
        line_end: 1363
        line_start: 1360
        source_file: /src/bind9/bin/dig/dighost.c
    typedefs: []
    union: []
- function_names:
  - rcode_totext
  - printsoa
  - printaddr
  - printrdata
  - printsection
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - detailsection
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - received
  - trying
  - chase_cnamechain
  - printmessage
  - show_settings
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - testtype
  - testclass
  - set_port
  - set_timeout
  - set_tries
  - set_ndots
  - setoption
  - CHECKOPT
  - addlookup
  - do_next_command
  - readline_next_command
  - fgets_next_command
  - usage
  - parse_args
  - process_next_command
  - start_next_command
  - read_loop
  - main
  source_file: /src/bind9/bin/dig/nslookup.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: N_KNOWN_RRTYPES
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/bin/dig/nslookup.c
      type_or_value: (sizeof(rtypetext) / sizeof(rtypetext[0]))
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*consttext'
        type: char
      - name: '*deconsttext'
        type: char
      item_type: union
      name: totext
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/bind9/bin/dig/nslookup.c
- function_names:
  - DIG_VALID_LOOKUP
  - DIG_VALID_QUERY
  source_file: /src/bind9/bin/dig/dighost.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MXSERV
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '20'
    - item_type: preproc_def
      name: MXNAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: (DNS_NAME_MAXTEXT + 1)
    - item_type: preproc_def
      name: MXRD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '32'
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '512'
    - item_type: preproc_def
      name: COMMSIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: RESOLV_CONF
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '"/etc/resolv.conf"'
    - item_type: preproc_def
      name: OUTPUTBUF
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '32767'
    - item_type: preproc_def
      name: MAXRRLIMIT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAXTIMEOUT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MAXTRIES
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAXNDOTS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MAXPORT
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MAXSERIAL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAXQID
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: TCP_TIMEOUT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '10'
    - item_type: preproc_def
      name: UDP_TIMEOUT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SERVER_TIMEOUT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LOOKUP_LIMIT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DEFAULT_EDNS_VERSION
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_EDNS_BUFSIZE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '1232'
    - item_type: preproc_def
      name: DEFAULT_HTTPS_QUERY
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '"?dns="'
    - item_type: preproc_def
      name: DIG_LOOKUP_MAGIC
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: ISC_MAGIC('D', 'i', 'g', 'l')
    - item_type: preproc_def
      name: DIG_QUERY_MAGIC
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: ISC_MAGIC('D', 'i', 'g', 'q')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: aaonly
        type: bool
      - name: textname[MXNAME]
        type: char
      - name: cmdline[MXNAME]
        type: char
      - name: rdtype
        type: dns_rdatatype_t
      - name: qrdtype
        type: dns_rdatatype_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: rdtypeset
        type: bool
      - name: rdclassset
        type: bool
      - name: name_space[BUFSIZE]
        type: char
      - name: oname_space[BUFSIZE]
        type: char
      - name: renderbuf
        type: isc_buffer_t
      - name: '*sendspace'
        type: char
      - name: '*name'
        type: dns_name_t
      - name: interval
        type: isc_interval_t
      - name: '*sendmsg'
        type: dns_message_t
      - name: '*oname'
        type: dns_name_t
      - name: (dig_lookup_t)
        type: ISC_LINK
      - name: (dig_query_t)
        type: ISC_LIST
      - name: (dig_query_t)
        type: ISC_LIST
      - name: '*current_query'
        type: dig_query_t
      - name: my_server_list
        type: dig_serverlist_t
      - name: '*origin'
        type: dig_searchlist_t
      - name: '*xfr_q'
        type: dig_query_t
      - name: retries
        type: uint32_t
      - name: nsfound
        type: int
      - name: udpsize
        type: int16_t
      - name: edns
        type: int16_t
      - name: original_edns
        type: int16_t
      - name: padding
        type: int16_t
      - name: ixfr_serial
        type: uint32_t
      - name: rdatabuf
        type: isc_buffer_t
      - name: rdatastore[MXNAME]
        type: char
      - name: '*tsigctx'
        type: dst_context_t
      - name: '*querysig'
        type: isc_buffer_t
      - name: msgcounter
        type: uint32_t
      - name: fdomain
        type: dns_fixedname_t
      - name: '*ecs_addr'
        type: isc_sockaddr_t
      - name: '*cookie'
        type: char
      - name: '*ednsopts'
        type: dns_ednsopt_t
      - name: ednsoptscnt
        type: unsigned int
      - name: ednsflags
        type: unsigned int
      - name: opcode
        type: dns_opcode_t
      - name: rrcomments
        type: int
      - name: qid
        type: uint16_t
      - name: fuzztime
        type: isc_stdtime_t
      item_type: struct
      name: dig_lookup
      pos:
        line_end: 192
        line_start: 101
        source_file: /src/bind9/bin/dig/dighost.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*lookup'
        type: dig_lookup_t
      - name: started
        type: bool
      - name: first_soa_rcvd
        type: bool
      - name: second_rr_rcvd
        type: bool
      - name: first_repeat_rcvd
        type: bool
      - name: warn_id
        type: bool
      - name: canceled
        type: bool
      - name: first_rr_serial
        type: uint32_t
      - name: second_rr_serial
        type: uint32_t
      - name: msg_count
        type: uint32_t
      - name: rr_count
        type: uint32_t
      - name: ixfr_axfr
        type: bool
      - name: '*servname'
        type: char
      - name: '*userarg'
        type: char
      - name: sendbuf
        type: isc_buffer_t
      - name: '*recvspace'
        type: char
      - name: references
        type: isc_refcount_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: '*readhandle'
        type: isc_nmhandle_t
      - name: '*sendhandle'
        type: isc_nmhandle_t
      - name: (dig_query_t)
        type: ISC_LINK
      - name: (dig_query_t)
        type: ISC_LINK
      - name: sockaddr
        type: isc_sockaddr_t
      - name: time_sent
        type: isc_time_t
      - name: time_recv
        type: isc_time_t
      - name: byte_count
        type: uint64_t
      - name: '*timer'
        type: isc_timer_t
      item_type: struct
      name: dig_query
      pos:
        line_end: 224
        line_start: 195
        source_file: /src/bind9/bin/dig/dighost.h
    - fields:
      - name: servername[MXNAME]
        type: char
      - name: userarg[MXNAME]
        type: char
      - name: (dig_server_t)
        type: ISC_LINK
      item_type: struct
      name: dig_server
      pos:
        line_end: 230
        line_start: 226
        source_file: /src/bind9/bin/dig/dighost.h
    - fields:
      - name: origin[MXNAME]
        type: char
      - name: (dig_searchlist_t)
        type: ISC_LINK
      item_type: struct
      name: dig_searchlist
      pos:
        line_end: 235
        line_start: 232
        source_file: /src/bind9/bin/dig/dighost.h
    typedefs:
    - item_type: typedef
      name: (dig_server_t)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bind9/bin/dig/dighost.h
    - item_type: typedef
      name: (dig_searchlist_t)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/bind9/bin/dig/dighost.h
    - item_type: typedef
      name: (dig_lookup_t)
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/bind9/bin/dig/dighost.h
    union: []
- function_names:
  - set_user
  source_file: /src/bind9/bin/confgen/os.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/confgen/keygen.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DO
  source_file: /src/bind9/bin/confgen/util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_CONTROL_PORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/bin/confgen/util.h
      type_or_value: '953'
    structs: []
    typedefs: []
    union: []
- function_names:
  - notify
  - fatal
  source_file: /src/bind9/bin/confgen/util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/bind9/bin/confgen/rndc-confgen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_KEYNAME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/bin/confgen/rndc-confgen.c
      type_or_value: '"rndc-key"'
    - item_type: preproc_def
      name: DEFAULT_SERVER
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/bin/confgen/rndc-confgen.c
      type_or_value: '"127.0.0.1"'
    - item_type: preproc_def
      name: DEFAULT_PORT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/bin/confgen/rndc-confgen.c
      type_or_value: '953'
    structs: []
    typedefs: []
    union: []
- function_names:
  - alg_fromtext
  - alg_bits
  - generate_key
  - write_key_file
  source_file: /src/bind9/bin/confgen/keygen.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/bind9/bin/confgen/tsig-keygen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYGEN_DEFAULT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/bin/confgen/tsig-keygen.c
      type_or_value: '"tsig-key"'
    - item_type: preproc_def
      name: CONFGEN_DEFAULT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/bin/confgen/tsig-keygen.c
      type_or_value: '"ddns-key"'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/bin/confgen/include/confgen/os.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - initname
  - db_load_from_stream
  - loadset
  - loadkey
  - emit
  - usage
  - main
  - (&rdataset)
  source_file: /src/bind9/bin/dnssec/dnssec-importkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/bind9/bin/dnssec/dnssec-importkey.c
      type_or_value: '"D:f:hK:L:P:v:V"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - STR
  - NEXTTOKEN
  - BADTOKEN
  - CHECK
  - usage
  - between
  - checkparams
  - getkasp
  - keyalgtag_cmp
  - get_dnskeys
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - setcontext
  - cleanup
  - ISC_LIST_FOREACH
  - progress
  - freerrset
  - create_key
  - print_rdata
  - print_dnskeys
  - sign_rrset
  - get_keymaterial
  - ISC_LIST_FOREACH
  - sign_bundle
  - parse_dnskey
  - keygen
  - ISC_LIST_FOREACH
  - request
  - ISC_LIST_FOREACH
  - sign
  - main
  source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KSR_LINESIZE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: '1500 '
    - item_type: preproc_def
      name: DATETIME_INDEX
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: '25'
    - item_type: preproc_def
      name: MAXWIRE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: OPTIONS
      pos:
        line_end: 1337
        line_start: 1336
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: '"E:e:Ff:hi:K:k:l:ov:V"'
    structs:
    - fields:
      - name: '*policy'
        type: char
      - name: '*configfile'
        type: char
      - name: '*file'
        type: char
      - name: '*keydir'
        type: char
      - name: '*keystore'
        type: dns_keystore_t
      - name: now
        type: isc_stdtime_t
      - name: start
        type: isc_stdtime_t
      - name: end
        type: isc_stdtime_t
      - name: setstart
        type: bool
      - name: setend
        type: bool
      - name: ksk
        type: bool
      - name: ttl
        type: dns_ttl_t
      - name: alg
        type: dst_algorithm_t
      - name: size
        type: int
      - name: lifetime
        type: time_t
      - name: parentpropagation
        type: time_t
      - name: propagation
        type: time_t
      - name: publishsafety
        type: time_t
      - name: retiresafety
        type: time_t
      - name: sigrefresh
        type: time_t
      - name: sigvalidity
        type: time_t
      - name: signdelay
        type: time_t
      - name: ttlds
        type: time_t
      - name: ttlsig
        type: time_t
      item_type: struct
      name: ksr_ctx
      pos:
        line_end: 78
        line_start: 52
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
    typedefs: []
    union: []
- function_names:
  - check_dns_dbiterator_current
  - OPTOUT
  - REVOKE
  - INCSTAT
  - savezonecut
  - dumpnode
  - DNS_RDATASETITER_FOREACH
  - lock_and_dumpnode
  - signwithkey
  - issigningkey
  - ispublishedkey
  - iszonekey
  - isksk
  - iszsk
  - keythatsigned_unlocked
  - ISC_LIST_FOREACH
  - keythatsigned
  - expecttofindkey
  - setverifies
  - signset
  - (&sigset)
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - hashlist_init
  - hashlist_free
  - hashlist_add
  - hashlist_add_dns_name
  - hashlist_comp
  - hashlist_sort
  - hashlist_hasdup
  - hashlist_findnext
  - hashlist_exists
  - addnowildcardhash
  - opendb
  - loadds
  - (&keyset)
  - secure
  - is_delegation
  - has_dname
  - signname
  - DNS_RDATASETITER_FOREACH
  - active_node
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - get_soa_ttls
  - setsoaserial
  - presign
  - postsign
  - signapex
  - abortwork
  - assignwork
  - add_ds
  - remove_records
  - DNS_RDATASETITER_FOREACH
  - remove_sigs
  - DNS_RDATASETITER_FOREACH
  - nsecify
  - DNS_DBITERATOR_FOREACH
  - DNS_RDATASETITER_FOREACH
  - addnsec3param
  - addnsec3
  - nsec3clean
  - (&rdataset)
  - rrset_cleanup
  - DNS_RDATASET_FOREACH
  - (&tmprdataset)
  - cleanup_zone
  - DNS_DBITERATOR_FOREACH
  - DNS_RDATASETITER_FOREACH
  - nsec3ify
  - DNS_DBITERATOR_FOREACH
  - loadzone
  - loadzonekeys
  - loadexplicitkeys
  - ISC_LIST_FOREACH
  - report
  - clear_keylist
  - add_digest
  - build_final_keylist
  - ISC_LIST_FOREACH
  - warnifallksk
  - (&rdataset)
  - set_nsec3params
  - writeset
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - print_time
  - print_version
  - usage
  - removetempfile
  - print_stats
  - main
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IS_NSEC3
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: (nsec_datatype == dns_rdatatype_nsec3)
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAXDSKEYS
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SIGNER_EVENTCLASS
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: ISC_EVENTCLASS(0x4453)
    - item_type: preproc_def
      name: SIGNER_EVENT_WRITE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: (SIGNER_EVENTCLASS + 0)
    - item_type: preproc_def
      name: SIGNER_EVENT_WORK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: (SIGNER_EVENTCLASS + 1)
    - item_type: preproc_def
      name: SOA_SERIAL_KEEP
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SOA_SERIAL_INCREMENT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOA_SERIAL_UNIXTIME
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SOA_SERIAL_DATE
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 3290
        line_start: 3287
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: "\"3:AaCc:Dd:E:e:f:FgG:hH:i:I:j:J:K:k:L:m:M:n:N:o:O:PpQqRr:s:ST:tuUv:\"
        \\\n\t\"VX:xzZ:\""
    structs:
    - fields:
      - name: '*hashbuf'
        type: unsigned char
      - name: entries
        type: size_t
      - name: size
        type: size_t
      - name: length
        type: size_t
      item_type: struct
      name: hashlist
      pos:
        line_end: 792
        line_start: 787
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
    typedefs: []
    union: []
- function_names:
  - initname
  - db_load_from_stream
  - loadset
  - loadkeyset
  - loadkey
  - logkey
  - emit
  - emits
  - usage
  - main
  - (&rdataset)
  source_file: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPTIONS
      pos:
        line_end: 386
        line_start: 385
        source_file: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
      type_or_value: '"12Aa:Cc:d:Ff:K:sT:v:whV"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - main
  source_file: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RSA
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
      type_or_value: '4096 '
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
      type_or_value: '"3A:a:Cc:D:E:Ff:GhI:i:kK:L:l:M:n:P:p:R:S:t:v:Vy"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - report
  - loadzone
  - usage
  - main
  source_file: /src/bind9/bin/dnssec/dnssec-verify.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/bind9/bin/dnssec/dnssec-verify.c
      type_or_value: '"c:E:hJ:m:o:I:qv:Vxz"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - verbose_time
  - initname
  - findset
  - freeset
  - freelist
  - free_all_sets
  - load_db
  - free_db
  - load_child_sets
  - get_dsset_name
  - load_parent_set
  - formatset
  - write_parent_set
  - match_key_dsset
  - DNS_RDATASET_FOREACH
  - match_keyset_dsset
  - DNS_RDATASET_FOREACH
  - free_keytable
  - matching_sigs
  - DNS_RDATASET_FOREACH
  - signed_loose
  - signed_strict
  - DNS_RDATASET_FOREACH
  - ds_from_cds
  - ds_from_cdnskey
  - append_new_ds_set
  - DNS_RDATASET_FOREACH
  - make_new_ds_set
  - rdata_cmp
  - consistent_digests
  - DNS_RDATASET_FOREACH
  - print_diff
  - update_diff
  - nsdiff
  - usage
  - cleanup
  - main
  source_file: /src/bind9/bin/dnssec/dnssec-cds.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_CDS_RDATA_TEXT_SIZE
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/bind9/bin/dnssec/dnssec-cds.c
      type_or_value: DNS_RDATA_MAXLENGTH * 2
    - item_type: preproc_def
      name: OPTIONS
      pos:
        line_end: 1087
        line_start: 1086
        source_file: /src/bind9/bin/dnssec/dnssec-cds.c
      type_or_value: '"a:c:Dd:f:i:ms:T:uv:V"'
    structs:
    - fields:
      - name: rdata
        type: dns_rdata_t
      - name: '*dst'
        type: dst_key_t
      - name: algo
        type: dns_secalg_t
      - name: tag
        type: dns_keytag_t
      item_type: struct
      name: keyinfo
      pos:
        line_end: 118
        line_start: 113
        source_file: /src/bind9/bin/dnssec/dnssec-cds.c
    typedefs:
    - item_type: typedef
      name: "ds_maker_func_t(isc_buffer_t *buf, dns_rdata_t *ds, dns_dsdigest_t dt,\n\t\tdns_rdata_t
        *crdata)"
      pos:
        line_end: 123
        line_start: 121
        source_file: /src/bind9/bin/dnssec/dnssec-cds.c
    - item_type: typedef
      name: strictness_t
      pos:
        line_end: 459
        line_start: 459
        source_file: /src/bind9/bin/dnssec/dnssec-cds.c
    union: []
- function_names: []
  source_file: /src/bind9/bin/dnssec/dnssectool.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_RSA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/bin/dnssec/dnssectool.h
      type_or_value: '4096 '
    - item_type: preproc_def
      name: MAX_DH
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/bin/dnssec/dnssectool.h
      type_or_value: '4096 '
    - item_type: preproc_def
      name: SIG_FORMATSIZE
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/bind9/bin/dnssec/dnssectool.h
      type_or_value: (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535"))
    structs: []
    typedefs:
    - item_type: typedef
      name: (fatalcallback_t)(void)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bind9/bin/dnssec/dnssectool.h
      type: void
    union: []
- function_names:
  - usage
  - main
  source_file: /src/bind9/bin/dnssec/dnssec-revoke.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - progress
  - keygen
  - check_keystore_options
  - main
  - ISC_LIST_FOREACH
  source_file: /src/bind9/bin/dnssec/dnssec-keygen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 803
        line_start: 800
        source_file: /src/bind9/bin/dnssec/dnssec-keygen.c
      type_or_value: "\"3A:a:b:Cc:D:d:E:Ff:GhI:i:K:k:L:l:M:m:n:P:p:qR:r:S:s:\" \\\n\t\"T:t:v:V\""
    structs:
    - fields:
      - name: '*predecessor'
        type: char
      - name: '*policy'
        type: char
      - name: '*configfile'
        type: char
      - name: '*directory'
        type: char
      - name: '*keystore'
        type: dns_keystore_t
      - name: '*algname'
        type: char
      - name: size
        type: int
      - name: tag_min
        type: uint16_t
      - name: tag_max
        type: uint16_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: options
        type: int
      - name: ttl
        type: dns_ttl_t
      - name: wantzsk
        type: bool
      - name: wantksk
        type: bool
      - name: wantrev
        type: bool
      - name: alg
        type: dst_algorithm_t
      - name: prepub
        type: int
      - name: now
        type: isc_stdtime_t
      - name: publish
        type: isc_stdtime_t
      - name: activate
        type: isc_stdtime_t
      - name: inactive
        type: isc_stdtime_t
      - name: revokekey
        type: isc_stdtime_t
      - name: deltime
        type: isc_stdtime_t
      - name: syncadd
        type: isc_stdtime_t
      - name: syncdel
        type: isc_stdtime_t
      - name: setpub
        type: bool
      - name: setact
        type: bool
      - name: setinact
        type: bool
      - name: setrev
        type: bool
      - name: setdel
        type: bool
      - name: setsyncadd
        type: bool
      - name: setsyncdel
        type: bool
      - name: unsetpub
        type: bool
      - name: unsetact
        type: bool
      - name: unsetinact
        type: bool
      - name: unsetrev
        type: bool
      - name: unsetdel
        type: bool
      - name: setttl
        type: bool
      - name: use_nsec3
        type: bool
      - name: genonly
        type: bool
      - name: showprogress
        type: bool
      - name: quiet
        type: bool
      - name: oldstyle
        type: bool
      - name: lifetime
        type: time_t
      - name: ksk
        type: bool
      - name: zsk
        type: bool
      item_type: struct
      name: keygen_ctx
      pos:
        line_end: 125
        line_start: 75
        source_file: /src/bind9/bin/dnssec/dnssec-keygen.c
    typedefs: []
    union: []
- function_names:
  - usage
  - printtime
  - writekey
  - main
  source_file: /src/bind9/bin/dnssec/dnssec-settime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/bind9/bin/dnssec/dnssec-settime.c
      type_or_value: '"A:D:d:E:fg:hI:i:K:k:L:P:p:R:r:S:suv:Vz:"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fatal
  - setfatalcallback
  - check_result
  - vbprintf
  - version
  - sig_format
  - setup_logging
  - time_units
  - isnone
  - strtottl
  - strtokeystate
  - strtotime
  - strtoclass
  - strtodsdigest
  - cmp_dtype
  - add_dtype
  - try_dir
  - check_keyversion
  - set_keyversion
  - key_collision
  - isoptarg
  - loadjournal
  - kasp_from_conf
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  source_file: /src/bind9/bin/dnssec/dnssectool.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYSTATES_NVALUES
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/bin/dnssec/dnssectool.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - preparse_args
  - get_addresses
  - rndc_recvdone
  - rndc_connected
  - rndc_startconnect
  - rndc_start
  - parse_config
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - main
  source_file: /src/bind9/bin/rndc/rndc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SERVERADDRS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/bin/rndc/rndc.c
      type_or_value: '10'
    - item_type: preproc_def
      name: RNDC_TIMEOUT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/bin/rndc/rndc.c
      type_or_value: 60 * 1000
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/bind9/bin/rndc/rndc.c
      type_or_value: '"46b:c:hk:Mmp:qrs:t:Vy:"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DO
  source_file: /src/bind9/bin/rndc/util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_CONTROL_PORT
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/bin/rndc/util.h
      type_or_value: '953'
    structs: []
    typedefs: []
    union: []
- function_names:
  - notify
  - fatal
  source_file: /src/bind9/bin/rndc/util.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - tls_setup
  source_file: /src/bind9/tests/isc/tls_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/ascii_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*a'
        type: char
      - name: cmp
        type: int
      item_type: struct
      name: "diff[] = {\n\t{ \"foo\", \"bar\", +1 },\n\t{ \"bar\", \"foo\", -1 },\n\t{
        \"foosuffix\", \"barsuffix\", +1 },\n\t{ \"barsuffix\", \"foosuffix\", -1
        },\n\t{ \"prefixfoo\", \"prefixbar\", +1 },\n\t{ \"prefixbar\", \"prefixfoo\",
        -1 },\n}"
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/bind9/tests/isc/ascii_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/stats_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - proxystream_recv_one_prerendered
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - proxystream_setup
  source_file: /src/bind9/tests/isc/proxystream_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - shutdownconnect_connectcb
  - stream_shutdownconnect_setup
  - proxystream_shutdownconnect_setup
  - proxystream_shutdownconnect_teardown
  - proxystreamtls_shutdownconnect_setup
  - proxystreamtls_shutdownconnect_teardown
  - stream_shutdownconnect
  - stream_shutdownconnect_teardown
  - shutdownread_readcb
  - shutdownread_sendcb
  - shutdownread_connectcb
  - stream_shutdownread_setup
  - proxystream_shutdownread_setup
  - proxystream_shutdownread_teardown
  - proxystreamtls_shutdownread_setup
  - proxystreamtls_shutdownread_teardown
  - stream_shutdownread
  - stream_shutdownread_teardown
  source_file: /src/bind9/tests/isc/stream_shutdown.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_ht_full
  - test_ht_iterator
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/ht_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mctx
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/isc/ht_test.c
      type_or_value: __mctx
    structs: []
    typedefs: []
    union: []
- function_names:
  - count
  - shutdown_loopmgr
  - ISC_RUN_TEST_IMPL
  - runjob
  - ISC_RUN_TEST_IMPL
  - pause_loopmgr
  - ISC_RUN_TEST_IMPL
  - send_sigint
  - ISC_RUN_TEST_IMPL
  - send_sigterm
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/loop_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_INPUT
  - _setup
  - _teardown
  - _reset
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - isc_md_test
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/md_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - start_listening
  - tlsdns_connect
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - tlsdns_setup
  source_file: /src/bind9/tests/isc/tlsdns_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/result_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - mem_thread
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/mem_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MP1_FREEMAX
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MP1_FILLCNT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MP1_MAXALLOC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '30'
    - item_type: preproc_def
      name: MP2_FREEMAX
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '25'
    - item_type: preproc_def
      name: MP2_FILLCNT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '25'
    - item_type: preproc_def
      name: REGET_INIT_SIZE
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: REGET_GROW_SIZE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: REGET_SHRINK_SIZE
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '512'
    - item_type: preproc_def
      name: ITERS
      pos:
        line_end: 481
        line_start: 480
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '512'
    - item_type: preproc_def
      name: NUM_ITEMS
      pos:
        line_end: 482
        line_start: 481
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '1024 '
    - item_type: preproc_def
      name: ITEM_SIZE
      pos:
        line_end: 483
        line_start: 482
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '65534'
    structs: []
    typedefs: []
    union: []
- function_names:
  - F
  - touch
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/file_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAME
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"internal"'
    - item_type: preproc_def
      name: SHA
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"3bed2cb3a3acf7b6a8ef408420cc682d5520e26976d354254f528c965612054f"'
    - item_type: preproc_def
      name: TRUNC_SHA
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"3bed2cb3a3acf7b6"'
    - item_type: preproc_def
      name: BAD1
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"in/internal"'
    - item_type: preproc_def
      name: BADHASH1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"8bbb97a888791399"'
    - item_type: preproc_def
      name: BAD2
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"Internal"'
    - item_type: preproc_def
      name: BADHASH2
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/tests/isc/file_test.c
      type_or_value: '"2ea1842b445b0c81"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/isc/proxyudp_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_env
  - ISC_RUN_TEST_IMPL
  - pthread_spin_thread
  - isc_spinlock_thread
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/spinlock_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAD_PTHREAD_SPIN_INIT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ITERS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '200'
    - item_type: preproc_def
      name: CNT_MIN
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '800'
    - item_type: preproc_def
      name: CNT_MAX
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '1600'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/safe_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/counter_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - igamc
  - igam
  - scount_calculate
  - bitcount_calculate
  - tables_init
  - matrix_binaryrank
  - random_test
  - monobit
  - runs
  - blockfrequency
  - binarymatrixrank
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/random_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REPS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/tests/isc/random_test.c
      type_or_value: '25000'
    structs: []
    typedefs:
    - item_type: typedef
      name: (pvalue_func_t)(uint16_t *values, size_t length)
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bind9/tests/isc/random_test.c
      type: double
    - item_type: typedef
      name: isc_random_func
      pos:
        line_end: 73
        line_start: 66
        source_file: /src/bind9/tests/isc/random_test.c
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/errno_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: err
        type: int
      - name: result
        type: isc_result_t
      item_type: struct
      name: testpair_t
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/bind9/tests/isc/errno_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/hash_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - start_listening
  - tcpdns_connect
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - tcpdns_setup
  source_file: /src/bind9/tests/isc/tcpdns_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/tests/isc/hashmap_nodes.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TRACE
  - TRACETIME
  - millis_since
  - TRACETIME
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/histo_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIME_LIMIT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/tests/isc/histo_test.c
      type_or_value: (123 * NS_PER_MS)
    - item_type: preproc_def
      name: SUBRANGE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/isc/histo_test.c
      type_or_value: '69'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/netaddr_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*address'
        type: char
      - name: expect
        type: bool
      item_type: struct
      name: "tests[] = { { \"0.0.0.0\", true },    { \"0.0.0.1\", true },\n\t\t      {
        \"0.0.1.2\", true },    { \"0.1.2.3\", true },\n\t\t      { \"10.0.0.0\",
        false },  { \"10.9.0.0\", false },\n\t\t      { \"10.9.8.0\", false },  {
        \"10.9.8.7\", false },\n\t\t      { \"127.0.0.0\", false }, { \"127.0.0.1\",
        false } }"
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/bind9/tests/isc/netaddr_test.c
    - fields:
      - name: family
        type: int
      - name: '*addr'
        type: char
      - name: len
        type: unsigned int
      item_type: struct
      name: "tests[] = { { AF_INET, \"0.0.0.0\", 0 },\n\t\t      { AF_INET, \"255.255.255.254\",
        31 },\n\t\t      { AF_INET, \"255.255.255.255\", 32 },\n\t\t      { AF_INET,
        \"255.255.255.0\", 24 },\n\t\t      { AF_INET, \"255.128.0.0\", 9 },\n\t\t
        \     { AF_INET, \"255.192.0.0\", 10 },\n\t\t      { AF_INET6, \"ffff::\",
        16 },\n\t\t      { AF_INET6, \"ffff:ffff::\", 32 },\n\t\t      { AF_INET6,
        \"ffff:ffff:ffff::\", 48 },\n\t\t      { AF_INET6, \"ffff:ffff:ffff:ffff::\",
        64 },\n\t\t      { AF_INET6, \"ffff:ffff:ffff:ffff:ffff::\", 80 } }"
      pos:
        line_end: 64
        line_start: 60
        source_file: /src/bind9/tests/isc/netaddr_test.c
    - fields:
      - name: family
        type: int
      - name: '*addr'
        type: char
      - name: is_multicast
        type: bool
      item_type: struct
      name: "tests[] = {\n\t\t{ AF_INET, \"1.2.3.4\", false },\t{ AF_INET, \"4.3.2.1\",
        false },\n\t\t{ AF_INET, \"224.1.1.1\", true }, { AF_INET, \"1.1.1.244\",
        false },\n\t\t{ AF_INET6, \"::1\", false },\t{ AF_INET6, \"ff02::1\", true
        }\n\t}"
      pos:
        line_end: 115
        line_start: 111
        source_file: /src/bind9/tests/isc/netaddr_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - tick
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - tock
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - setup_test
  - teardown_test
  source_file: /src/bind9/tests/isc/ratelimiter_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*event'
        type: isc_rlevent_t
      item_type: struct
      name: rlstat
      pos:
        line_end: 39
        line_start: 37
        source_file: /src/bind9/tests/isc/ratelimiter_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/tests/isc/dnsstream_utils_test_data.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __wrap_uv_udp_open
  - __wrap_uv_udp_bind
  - __wrap_uv_udp_connect
  - __wrap_uv_udp_getpeername
  - __wrap_uv_udp_getsockname
  - __wrap_uv_udp_send
  - __wrap_uv_udp_recv_start
  - __wrap_uv_udp_recv_stop
  - __wrap_uv_tcp_open
  - __wrap_uv_tcp_bind
  - __wrap_uv_tcp_getsockname
  - __wrap_uv_tcp_getpeername
  - __wrap_uv_tcp_connect
  - __wrap_uv_listen
  - __wrap_uv_accept
  - __wrap_uv_send_buffer_size
  - __wrap_uv_recv_buffer_size
  - __wrap_uv_fileno
  - uv_udp_open
  - uv_udp_bind
  - uv_udp_connect
  - uv_udp_getpeername
  - uv_udp_getsockname
  - uv_udp_send
  - uv_udp_recv_start
  - uv_udp_recv_stop
  - uv_tcp_open
  - uv_tcp_bind
  - uv_tcp_getsockname
  - uv_tcp_getpeername
  - uv_tcp_connect
  - uv_listen
  - uv_accept
  - uv_send_buffer_size
  - uv_recv_buffer_size
  - uv_fileno
  - WILL_RETURN
  source_file: /src/bind9/tests/isc/uv_wrap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESET_RETURN
      pos:
        line_end: 315
        line_start: 294
        source_file: /src/bind9/tests/isc/uv_wrap.h
      type_or_value: "{                                                      \\\n\t\tatomic_store(&__state_uv_udp_open,
        0);         \\\n\t\tatomic_store(&__state_uv_udp_bind, 0);         \\\n\t\tatomic_store(&__state_uv_udp_connect,
        0);      \\\n\t\tatomic_store(&__state_uv_udp_getpeername, 0);  \\\n\t\tatomic_store(&__state_uv_udp_getsockname,
        0);  \\\n\t\tatomic_store(&__state_uv_udp_send, 0);         \\\n\t\tatomic_store(&__state_uv_udp_recv_start,
        0);   \\\n\t\tatomic_store(&__state_uv_udp_recv_stop, 0);    \\\n\t\tatomic_store(&__state_uv_tcp_open,
        0);         \\\n\t\tatomic_store(&__state_uv_tcp_bind, 0);         \\\n\t\tatomic_store(&__state_uv_tcp_getpeername,
        0);  \\\n\t\tatomic_store(&__state_uv_tcp_getsockname, 0);  \\\n\t\tatomic_store(&__state_uv_tcp_connect,
        0);      \\\n\t\tatomic_store(&__state_uv_listen, 0);           \\\n\t\tatomic_store(&__state_uv_accept,
        0);           \\\n\t\tatomic_store(&__state_uv_send_buffer_size, 0); \\\n\t\tatomic_store(&__state_uv_recv_buffer_size,
        0); \\\n\t\tatomic_store(&__state_uv_fileno, 0);           \\\n\t}"
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/regex_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*expression'
        type: char
      - name: expect
        type: int
      - name: exception
        type: int
      item_type: struct
      name: "tests[] = {\n\t\t{ \"\", -1, 0 },\n\t\t{ \"*\", -1, 0 },\n\t\t{ \".*\",
        0, 0 },\n\t\t{ \".**\", -1, 0 },\n\t\t{ \".*\\?\", -1, 0 },\n\t\t{ \".*+\",
        -1, 0 },\n\t\t{ \"+\", -1, 0 },\n\t\t{ \".+\", 0, 0 },\n\t\t{ \".++\", -1,
        0 },\n\t\t{ \".+\\?\", -1, 0 },\n\t\t{ \".+*\", -1, 0 },\n\t\t{ \"\\?\", -1,
        0 },\n\t\t{ \".\\?\", 0, 0 },\n\t\t{ \".\\?\\?\", -1, 0 },\n\t\t{ \".\\?*\",
        -1, 0 },\n\t\t{ \".\\?+\", -1, 0 },\n\t\t{ \"(\", -1, 0 },\n\t\t{ \"()\",
        1, 0 },\n\t\t{ \"(|)\", -1, 0 },\n\t\t{ \"(a|)\", -1, 0 },\n\t\t{ \"(|b)\",
        -1, 0 },\n\t\t{ \".{\", 0, 0 },\n\t\t{ \".{1\", -1, 0 },\n\t\t{ \".\\\\{1\",
        0, 0 },\n\t\t{ \".{1}\", 0, 0 },\n\t\t{ \".\\\\{1}\", 0, 0 },\n\t\t{ \".{,\",
        0, 0 },\n\t\t{ \".{,}\", 0, 0 },\n\t\t{ \".{1,}\", 0, 0 },\n\t\t{ \".\\\\{1,}\",
        0, 0 },\n\t\t{ \".{1,\\\\}\", -1, 0 },\n\t\t{ \".{1,\", -1, 0 },\n\t\t{ \".\\\\{1,\",
        0, 0 },\n\t\t{ \".{1,2}\", 0, 0 },\n\t\t{ \".{1,2}*\", -1, 0 },\n\t\t{ \".{1,2}+\",
        -1, 0 },\n\t\t{ \".{1,2}\\?\", -1, 0 },\n\t\t{ \".{1,2\", -1, 0 },\n\t\t{
        \".{2,1}\", -1, 0 },\n\t\t{ \"[\", -1, 0 },\n\t\t{ \"[]\", -1, 0 },\n\t\t{
        \"[]]\", 0, 0 },\n\t\t{ \"[[]\", 0, 0 },\n\t\t{ \"[^]\", -1, 0 },\n\t\t{ \"[1-2-3]\",
        -1, 0 },\n\t\t{ \"[1-22-3]\", 0, 0 },\n\t\t{ \"[+--23]\", 0, 0 },\n\t\t{ \"[+--]\",
        0, 0 },\n\t\t{ \"[-1]\", 0, 0 },\n\t\t{ \"[1-]\", 0, 0 },\n\t\t{ \"[[.^.]]\",
        0, 0 },\n\t\t{ \"[^]]\", 0, 0 },\n\t\t{ \"[^^]\", 0, 0 },\n\t\t{ \"[]]\\?\",
        0, 0 },\n\t\t{ \"[[]\\?\", 0, 0 },\n\t\t{ \"[[..]]\", -1, 0 },\n\t\t{ \"[[...]]\",
        0, 0 },\n\t\t{ \"[[..5.]--]\", -1, 0 },\n\t\t{ \"[[.+.]--]\", 0, 0 },\n\t\t{
        \"[[..+.]--]\", -1, 0 },\n\t\t{ \"[[.5.]--]\", -1, 0 },\n\t\t{ \"[1-[=x=]]\",
        -1, 0 },\n\t\t{ \"[[:alpha:]]\", 0, 0 },\n\t\t{ \"[[:alpha:]\", -1, 0 },\n\t\t{
        \"[[:alnum:]]\", 0, 0 },\n\t\t{ \"[[:alnum:]\", -1, 0 },\n\t\t{ \"[[:digit:]]\",
        0, 0 },\n\t\t{ \"[[:digit:]\", -1, 0 },\n\t\t{ \"[[:punct:]]\", 0, 0 },\n\t\t{
        \"[[:punct:]\", -1, 0 },\n\t\t{ \"[[:graph:]]\", 0, 0 },\n\t\t{ \"[[:graph:]\",
        -1, 0 },\n\t\t{ \"[[:space:]]\", 0, 0 },\n\t\t{ \"[[:space:]\", -1, 0 },\n\t\t{
        \"[[:blank:]]\", 0, 0 },\n\t\t{ \"[[:blank:]\", -1, 0 },\n\t\t{ \"[[:upper:]]\",
        0, 0 },\n\t\t{ \"[[:upper:]\", -1, 0 },\n\t\t{ \"[[:cntrl:]]\", 0, 0 },\n\t\t{
        \"[[:cntrl:]\", -1, 0 },\n\t\t{ \"[[:print:]]\", 0, 0 },\n\t\t{ \"[[:print:]\",
        -1, 0 },\n\t\t{ \"[[:xdigit:]]\", 0, 0 },\n\t\t{ \"[[:xdigit:]\", -1, 0 },\n\t\t{
        \"[[:unknown:]]\", -1, 0 },\n\t\t{ \"\\\\[\", 0, 0 },\n\t\t{ \"(a)\\\\1\",
        1, 0 },\n\t\t{ \"(a)\\\\2\", -1, 1 },\n\t\t{ \"\\\\0\", 0, 0 },\n\t\t{ \"[[][:g(\\?(raph:][:alnu)(\\?{m:][:space:]h]<Z3})AAA)S[:space:]\"\n\t\t
        \ \"{176,}\",\n\t\t  0, 0 },\n\t\t{ \"(()IIIIIIII(III[[[[[[[[[[[[[[[[[[^[[[[[[[[
        \             [^  \"\n\t\t  \"     \"\n\t\t  \"fX][:ascii:].)N[:a(\\?<!lpha:])][:punct:]e*y+)a{-124,223}\",\n\t\t
        \ 3, 0 },\n\t\t{ \"(pP\\\\\\\\\\\\(\\?<!\"\n\t\t  \"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\lRRRRRRRRRRRRRRRRBBBBBBBBBBBBBBBB))\"\n\t\t
        \ \"kkkkkkkkkkkkkkkkkkkkk|^\",\n\t\t  1, 0 },\n\t\t{ \"[^[^[{111}(\\?=(\\?:(\\?>/\"\n\t\t
        \ \"r(\\?<(\\?=!(\\?(\\?!<!Q(\\?:=0_{Meqipm`(\\?((\\?{x|N)))))|))+]+]Z)\"\n\t\t
        \ \"O{,-215}])}))___________________{}\",\n\t\t  0, 0 },\n\t\t{ \"[C{,-218(\\?=}E^<
        ]PP-Ga)t``````````````````````````{138}\", 0,\n\t\t  0 },\n\t\t{ \"[^h(\\?<!(\\?>Nn(\\?#])))\",
        0, 0 },\n\t\t{ \"[(\\?!(\\?<=[^{,37}AAAA(AAAAAAAAAAAAA])\", 0, 0 },\n\t\t{
        \"[^((\\?(\\?:ms(\\?<!xims:A{}(\\?{*</H(\\?=xL \"\n\t\t  \"$(\\?<!,[})))*)qqqqqqqqqqqqqqqqqq)]\"\n\t\t
        \ \"33333333333333333333333333333{[:graph:]p)-+( \"\n\t\t  \"oqD]){-10,}-{247}_______________________X-e[:alpha:][:\"\n\t\t
        \ \"upperword:]_(______wwwwwwwww \"\n\t\t  \"/c[:upperword:][:alnum:][:alnum:][:pun(\\?{ct:])[:blankcntrl:\"\n\t\t
        \ \"]})*_*\",\n\t\t  2, 0 },\n\t\t{ \"[(\\?<!:lowerprin(\\?{t:]{}}){113,})[:punct:]\"\n\t\t
        \ \"IIIIIIIIIIIIIIIIIIIIIIII\",\n\t\t  0, 0 },\n\t\t{ \"PP)\", 0, 0 },\n\t\t{
        \"(([^(\\?<!((\\?>\\?=[])p.]}8X[:blankcntrl:],{-119,94})XmF1.{)-)\"\n\t\t
        \ \"[:upperword:])[:digit:]{zg-q\",\n\t\t  2, 0 },\n\t\t{ \"[^[({(\\?#254}))Z[l][x50]=444444444444(4444444444u[:punct:]\"\n\t\t
        \ \"\\?[:punct:(\\?!])])\",\n\t\t  1, 0 },\n\t\t{ \"[^[^[^([^((*4[(^((\\?<=])Ec)\",
        0, 0 },\n\t\t{ \"(0)Y:8biiiiiiiiiiiiiiiiiii\", 1, 0 },\n\t\t{ \"[^w(\\?!)P::::::::::::::(\\?#::(\\?<=:::::::::]\\\"\\\"{}[\"\n\t\t
        \ \"3333333333333333(\\?<=33333(\\?!)9Xja][:alph(\\?<=a:])xB1)(\"\n\t\t  \"PX8Cf\\?4444)qq[:digit:])\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([U[^[^].]^m]/306KS7JJJJJJJJ{})\", 1, 0 },\n\t\t{ \"[^[^([^[(\\?!(\\?>8j`Wg2(\\?{,(\\?>!#N++++(\\?<![++++++)+\"\n\t\t
        \ \"44444444bA:K(\\?<!O3([:digit:]3]}}}}}}}}}}}}}}}}}}}}}}}}LP})\"\n\t\t  \"S\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[({(\\?{,(\\?(=213}*))})]WWWWWWWWWWWWWWW[:alnum:])\", 0,
        0 },\n\t\t{ \"[:(\\?<=ascii:])\", 0, 0 },\n\t\t{ \"[U(\\?#)(\\?<=+HzE])[:punct:]{-207,170}\\?s.!\",
        0, 0 },\n\t\t{ \"{}z=jU75~n#soD\\\"&\\?UL`X{xxxxxxxxxxxxxxxxxxxx(xxxxxx${-246,\"\n\t\t
        \ \"27}[:graph:]g\\\"{_bX)[:alnum:][:punct:]{-79,}-\",\n\t\t  1, 0 },\n\t\t{
        \"[^{,-186}@@@@[^(\\?{@@(\\?>@+(\\?>l.]}))*\\\\BCYX]^W{52,123}(\"\n\t\t  \"lXislccccccccccccccccc)-*)\",\n\t\t
        \ 1, 0 },\n\t\t{ \"(x42+,)7=]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\", 1, 0 },\n\t\t{
        \"[^(*[:graph:]q/TH\\?B(\\?{P)]})uZn[:digit:]+2\", 0, 0 },\n\t\t{ \"([XXXXXXXXXXXXXXXXXXXXX[(:alnum:][:space:]i%[:upperw(\\?=o(\"\n\t\t
        \ \"\\?#rd:])) \",\n\t\t  1, 0 },\n\t\t{ \"(@@@@)\", 1, 0 },\n\t\t{ \"{-18,}[:as[(\\?>^[cii:]]{}>+{-46,}{,95}[:punct:]{}\"\n\t\t
        \ \"99999999999999])-{-134}'sK$\"\n\t\t  \"wCKjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(l[:alpha:(\\?!]))\", 1, 0 },\n\t\t{ \"[[^(\\?{]|JJ[:alph(a:]X{})B^][:lowerprint:]n-219{-32}{19,105}\"\n\t\t
        \ \"k4P}){,-144}\",\n\t\t  0, 0 },\n\t\t{ \"[[^]P[:punct:][:alpha:][:xdigit:]syh]|W#JS*(m<2,P-RK)cA@\",
        1,\n\t\t  0 },\n\t\t{ \"([^((\\?({\\?<=)}){[^}^]{}])^P4[:punct:[]$)]\", 1,
        0 },\n\t\t{ \"([(\\?#:(\\?{space:]}):{}{-242,}n)F[:alpha:]3$)d4H3up6qS[:\"\n\t\t
        \ \"blankcntrl:]B:C{}[:upperword:]r\",\n\t\t  1, 0 },\n\t\t{ \"([(\\?:]))[:digit:]mLV.{}\",
        1, 0 },\n\t\t{ \"[^PPP-[]{[,50}{128,}]111111111111111]p\", 0, 0 },\n\t\t{
        \"[^([^([^([[^[([^[^[[2[[[[[[[[[[[[[^[[[[(\\?(\\?{:[[[[[[(\\?([-[\"\n\t\t
        \ \":ascii:]--*)\",\n\t\t  -1, 0 },\n\t\t{ \")!F^DA/ZZZZZZZZZZZZZZZZZZ\",
        0, 0 },\n\t\t{ \"[[[[[[[((\\?=\\?(\\?>([[[[[[[^[[[[(\\?()[[[K(\\?#))])))]7Y[:\"\n\t\t
        \ \"space:]{,-96}pP)[:ascii:]u{-88}:N{-251}uo\",\n\t\t  0, 0 },\n\t\t{ \"t[:x(\\?<=digit:])eYYYYYYYYYYYYYYYYYY{,-220}A\",
        0, 0 },\n\t\t{ \"[[({10,}[:graph:]Pdddddd(\\?#X)])[:alnum:(]]L-C){,50}[:\"\n\t\t
        \ \"blankcntrl:]p[:gra(ph:]){66,}\",\n\t\t  0, 0 },\n\t\t{ \"[^[^]*4br]w[:digit(\\?::]n99999999999999999)P[:punct:]pP\",
        0,\n\t\t  0 },\n\t\t{ \"[:digit:]{67,247}!N{122})VrXe\", 0, 0 },\n\t\t{ \"[:xdigit:]^[:xdigit:]Z[:alnum:]^^^^1[:upperword:(\\?=])[:\"\n\t\t
        \ \"lowerprint:]*JJ-\",\n\t\t  0, 0 },\n\t\t{ \"[[(\\?imsximsx:^*e(){,3[6}](V~\\?^[:asc(\\?!ii:]I.dZ))]$^\"\n\t\t
        \ \"AAAAAAAAAAAAAAAAAAAAAAAA[:space:]k)]\",\n\t\t  1, 0 },\n\t\t{ \"W{,112}[:lowerp(\\?<!rint:]$#GT>R7~t'\"\n\t\t
        \ \"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"9,O).\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^{6((\\?>\\?:4}(\\?<=G))f)\"\n\t\t  \"KKKKKKKKKKKKKKKKKKKKKKKKKKKKKpppppppp(\\?=ppppp]{,-101}|[:\"\n\t\t
        \ \"blankcntrl:]Z{-182})\",\n\t\t  0, 0 },\n\t\t{ \"([:punct:]@^,,,,,,,,,,,,,,,,,,,,,,,,,,0\\?:-o8NPIIIIIIIII)\"\n\t\t
        \ \"pPKKKKKKKKKKKKKKKKKKKK\",\n\t\t  1, 0 },\n\t\t{ \"([^[[^[^]]]])\", 1,
        0 },\n\t\t{ \"[([^[(333\\\"(\\?#\\\\\\\\[)(\\?isx-x:\\\"Tx]')\", 0, 0 },\n\t\t{
        \"[[n>^>T%.zzzzzzzzzzzzzzzzz$&|Fk.1o7^o, \"\n\t\t  \"^8{202,-12}$[:alnum:]]G[:upperword:]V[:xdigit:]L|[:\"\n\t\t
        \ \"upperword:]KKKKKKKKKKKKYX\\\"\\\")xJ \"\n\t\t  \"~B@[{,-68}/][:upperword:]QI.\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^[]tN^hy3\\\"d@v T[GE\\?^~{124,10(\\?{2}]})\\?[:upperword:]O\",
        0,\n\t\t  0 },\n\t\t{ \"d.``````````````````````````[:up(\\?=perword:]\"\n\t\t
        \ \"RRRRRRRRRRRRRRR)\",\n\t\t  0, 0 },\n\t\t{ \"[Z{{{{{{{{{{{{{(\\?={(\\?<!{{{{{{{{{(\\?>{{J6N:H[tA+mN3Zmf:p\\?]\"\n\t\t
        \ \"\\?){-181,82}S4n.b[:lowerpri(\\?{nt:]|\"\n\t\t  \"ggggggggggggggggggggggggggggggg}))4)\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^((/////[^////[^/////////[(^/////]fI{240}{-120}+]R]GA)\",
        0,\n\t\t  0 },\n\t\t{ \"[-(\\?#.)(\\?())[:alpha:](\\?={(\\?#}r)[:space:]PPW]o)\",
        0, 0 },\n\t\t{ \"[:lowerp(\\?{rint:]})201{46,}[:a[^scii:]0Q{37,}][:blankcntrl:\"\n\t\t
        \ \"]1331\",\n\t\t  0, 0 },\n\t\t{ \"[^(\\?!(\\?#)\\\\GIwxKKKKKKKKKK'$KKKKKKKK]l)bbb^&\\?\",
        0, 0 },\n\t\t{ \"[:ascii:]*[:sp(\\?<=ace:])\", 0, 0 },\n\t\t{ \"({-66,}Z{})0I{-111,}[:punct(\\?():])\",
        1, 0 },\n\t\t{ \"[[^(\\?!()%%%%%%%%%%%%%(\\?:%%%%%%%%%%%%%%%%)t(\\?{VX>B#6sUU(\"\n\t\t
        \ \"\\?<!UUUUUU(\\?=UUU[^UUUUUUUUUUUU(\\?((\\?:UPPPPPPPPPPP)\"\n\t\t  \"PPPPPPPPPPPPPPP]ffffffffffffffffffffffff)^[:space:]\"\n\t\t
        \ \"wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{243}9[:lowerprint:]Dv[:\"\n\t\t  \"graph:])][:blankcntrl:]V%E[:graph:]})[:space:]{-83,}cQZ{}4{-\"\n\t\t
        \ \"23,135}\",\n\t\t  0, 0 },\n\t\t{ \"({,-76[}]O[:xdi(\\?<!git:])\\?5))))))))\\?d[:lowerprint:]\"\n\t\t
        \ \"b666666[:graph:]c\",\n\t\t  1, 0 },\n\t\t{ \"{}{-145,}[:(\\?(spa)ce:])f\",
        0, 0 },\n\t\t{ \"[([^].{116,243}]T*[[^:punct(\\?[{[^:(\\?<!]]8()])[:alnum:])})]\"\n\t\t
        \ \"N{}{,243}*[n]][:graph:]\",\n\t\t  1, 0 },\n\t\t{ \"[^w]8888888888888888_________(__________[:ascii:]BdqTE$^0|\"\n\t\t
        \ \"MNto*i#############[^#################])\",\n\t\t  1, 0 },\n\t\t{ \"[^[[[<[()\\?]GGG{,26[}[:alnum:]SSSSS.gggggggg[:graph:]\"\n\t\t
        \ \"CCCCCCCCCCC{79,}{138,191}][:di(git:]u]@]\"\n\t\t  \"JJJJJJJJJJJJJJJJJJJJJJJ[:graph:(\\?:][:alnum:]])[:alnum:])]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^(((BBBBBBBBBB(\\?>BBBZvvvvvvvvvv(\\?m(sximsx:vvv)iiiiiiii)))\"\n\t\t
        \ \"j>Rs:Sm]0MMMMMMMMMMM|@F)Y]*^#EEEEEEE)*\",\n\t\t  0, 0 },\n\t\t{ \"([^([(U(\\?!)<<<<<<<<<<(\\?#<<<<(\\?<!<<<)(\\?=L.{73,})+]n9U}fk%\"\n\t\t
        \ \"Jn}'b Na<%yyyyyyyyyyyy)){-198,}]))[:space:].pP361U]3s@u_9AU \"\n\t\t  \"Te/{s`6=IMZdL1|.ySRo\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[[((\\?<=\\?>(\\?#){}]{}`){1,82}){-143[,}]^G\", 0, 0 },\n\t\t{
        \"[:digit:]W|[:up(\\?<!perword:]{,-101}llllllllllllllllll[:\"\n\t\t  \"upperword:])mmYYYYYYYYYYYYYYYYYYYYYYY*\",\n\t\t
        \ 0, 0 },\n\t\t{ \"@NHy)\", 0, 0 },\n\t\t{ \"([^[^]][:alnum:]222[^22222222(\\?{2222222222222222][:lo(\\?:\"\n\t\t
        \ \"werprint:][:xdigit:]^[:blankcntrl:]s+N)[:alpha:]-\"\n\t\t  \"NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNWxxxxxxxxxxxxxxxxxxxxxxxxxxD[\"\n\t\t
        \ \":space:]U)TTTTTTTTTTfffffffffffzzzzzzzzzzzzzzzzzzzzzzzzz})\",\n\t\t  1,
        0 },\n\t\t{ \"[^[^[[^[][^[]pP([^\\?[^<=(\\?=]){158,})]]]][:digit:]]\"\n\t\t
        \ \"K22222222222p^dUKJ`\\\">@]\",\n\t\t  1, 0 },\n\t\t{ \"[^[^[(\\?imsximsx::p(\\?{unct:][(\\?>:ascii:]5w)]{159}\\\\Q\\?@C]\"\n\t\t
        \ \"4(44444444}[^)|)[:graph:]]C:b)\",\n\t\t  1, 0 },\n\t\t{ \"[^[[(tYri[W<8%1(\\?='yt][:lowerprint:[]))1r]][:alnum:][:\"\n\t\t
        \ \"digit:]{48}{-52,-183}+][:alpha:]r][:upperword:]\\?{-105,155}{\"\n\t\t
        \ \"-55,-87}pPN#############################{63,232}]\",\n\t\t  0, 0 },\n\t\t{
        \"[*(\\?>L(\\?<(\\?>=))]&&&&&&&(&&&&&&&&&&&&&&&&&&))[|WIX]{-62,-\"\n\t\t  \"114}S
        \ K=HW60XE<2+W\",\n\t\t  1, 0 },\n\t\t{ \"(00000000000)z\\\\\\\\*t{}R{88}[:alnum:]*\",
        1, 0 },\n\t\t{ \"(([^(\\?=\\?gggggg[gLw)]{-250,}[:xdigit:]yZ[:g(raph:]8QNr[:\"\n\t\t
        \ \"space:][:blankcntrl:]A)][:digit:]D)[:xdigit:])\",\n\t\t  2, 0 },\n\t\t{
        \"[^([^,(\\?<!]*))]\", 0, 0 },\n\t\t{ \"[^(\\?{[:alnum:]]}}}}}}}}}}}}}}}}}}}}}}}){-83}\",
        0, 0 },\n\t\t{ \"WWWWWWWW[:alnum(\\?<=(\\?#:]{,-1})@OSSS)[:digit:]\", 0, 0
        },\n\t\t{ \"[^(\\?!*]+G)\", 0, 0 },\n\t\t{ \"[LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL>s8.>[^{}$(\\?(]]XXXXXXX)\"\n\t\t
        \ \"XXXXXXXXXXXXXX[:alpha:]Whii\\?p[:xdigit:])+\",\n\t\t  0, 0 },\n\t\t{ \"(7777[:blankcntrl:])\",
        1, 0 },\n\t\t{ \"[^C[:digit:]]{}YYYY(YYYYYYYYYYYYYYYY)\", 1, 0 },\n\t\t{ \"on|,#tve%F(w-::::::::::::::::::::::::::::*=->)\",
        1, 0 },\n\t\t{ \"([((\\?=(\\?!((\\?=')))27(<{})S-vvvvvvvvvv(\\?=\"\n\t\t  \"vvvvvvvvvvvvvvvvv[:punct:][:alnum:]}}}}}}}}}}}}}}}}}}}}}}}\"\n\t\t
        \ \"PPPPPPPPPPPPPPPPPPPPPPPPPPPPPgggggggggggggggggggggggggg(\\?#(\"\n\t\t
        \ \"\\?#gggggg<X){}]{-164,61})>+))uQ)W>[:punct:][:xdigit:][:\"\n\t\t  \"digit:][:punct:]{}[:digit:][:space:]){,-105}=xiAyf}o[:alpha:\"\n\t\t
        \ \"]akZSYK+sl{\",\n\t\t  1, 0 },\n\t\t{ \"[^[^]/S:Hq<[:upperword:(\\?<=]W[:alnum:]X])1973\",
        0, 0 },\n\t\t{ \"[[^[[^([^VVVV(\\?!(VVVVVVVVVVVVVVVVVVVVV[VVVVX][^]2))\"\n\t\t
        \ \"98ppppppppppppppppppppppppppppppp/////////////////////\"\n\t\t  \"b.]G{-101,}[:[ascii:]P].=~])AAAAAAAAAAAAA2{-153,}]]]]]]]]]]]\"\n\t\t
        \ \"]]]]]]]]]]]]]]]]]]]]][:alnum:][:lowerprint:]WN/\"\n\t\t  \"D!rD]|4444{180}]V_@3lW#lat]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^[^([^TTTTT(\\?:T(\\?:T7777{,59}])[:graph:][:ascii(\\?<=:]))f]\"\n\t\t
        \ \"AD{,-43}%%%%%%%%%%%%%%%%)S|[:digit:]FZm<[:blankcntrl:]QT&xj*\"\n\t\t  \"{-114,}$[:xdigit:]042][:xdig[it:]{-180}027[:alpha:][:ascii:]\"\n\t\t
        \ \"[:lowerprint:][:xdigit:]^|[:alnum:][^Mi]z!suQ{-44,-32}[:\"\n\t\t  \"digit:]]\",\n\t\t
        \ 0, 0 },\n\t\t{ \")\", 0, 0 },\n\t\t{ \"''''''''''[:a(\\?imsxisx:lnum:])P\",
        0, 0 },\n\t\t{ \"(([{20(\\?<=8}[:alnum:]pP$`(\\?#N)wRH[:graph:]aaaaaaaaaaaaaa(\"\n\t\t
        \ \"\\?=aaaaaaaaaaaaaaaaP]a)))[:punct:]-\\?)A^\",\n\t\t  2, 0 },\n\t\t{ \"[^(.//\"\n\t\t
        \ \"[:punct:]&-333333333333333333333333333(\\?<!33)\"\n\t\t  \"LLLLLLLLLLLLLLLLL[:alnum:]$1]~8]|^\\\"A[:xdigit:]\\?[:ascii:]{\"\n\t\t
        \ \"128,}{,-74}[:graph:]{157}3N){-196,184}D\",\n\t\t  0, 0 },\n\t\t{ \"[^($(\\?{(\\?<=)[#)]})[:space:]]nWML0D{}\",
        0, 0 },\n\t\t{ \",,,,,,,,,,,,,,,,,,,,,,,,,,,,,[^]x{213,-93}(\\?{A7]V{}})\",
        0,\n\t\t  0 },\n\t\t{ \"[k(\\?=*)+^[f(])r_H6\", 0, 0 },\n\t\t{ \"[(\\?#(\\?{)]q})\",
        0, 0 },\n\t\t{ \"([GLLLLLLLLLL(\\?!((\\?:LLLLLLLL]))C#T$Y))^|>W90DDDDDDDDDDD[^\"\n\t\t
        \ \"DDDDDDDDDDDDDDDDDDDD]B[:punct:]c/\",\n\t\t  1, 0 },\n\t\t{ \"[^(\\?<!)(\\?{b}){,199}A[:space:]+++++++(\\?!++++++++{36}Tn])\",\n\t\t
        \ 0, 0 },\n\t\t{ \"()[:alpha:]a\", 1, 0 },\n\t\t{ \"[(\\?(:blan)kcntrl:])lUUUUUUUUUUUUUUUUUUUUUUU\",
        0, 0 },\n\t\t{ \"[^[^(s[[[[[[[[[[[[[[(\\?#[[[[[[[)\\?`````][:blankcntrl:(\\?>]|)\"\n\t\t
        \ \"p1EmmmmmmmmmmmmmmmmmmmmmmmmmmmmL{-241}666666666666666666666)\"\n\t\t  \"]^bLDDDDDDDDDDDDD]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[nn(\\?<!nnnnn(\\?#n8)=````````````````````{41,}]U,cb*%Y[:\"\n\t\t
        \ \"graph:]).[:alnum:]\\\\\\\\\\\\\\\\\\\\gt\",\n\t\t  0, 0 },\n\t\t{ \"()\\?5{,-195}lm*Ga[:space:]Y\",
        1, 0 },\n\t\t{ \"[(\\?:].di)c\", 0, 0 },\n\t\t{ \"([([^([\\?{})Za,$S(\\?!p(\\?{++(\\?##V(\\?<!Evuil.2(\\?<![^[h|[^']\"\n\t\t
        \ \"C)*\\\"]5]\",\n\t\t  1, 0 },\n\t\t{ \"[((^24(\\?#4[^Kkj{}))]]{232}47)077[:alpha:]zzzzzzzz{}\",
        0,\n\t\t  0 },\n\t\t{ \"[^(\\?:[^F]o$h)-iV%]\", 0, 0 },\n\t\t{ \"[[^[([((([^(\\?{[^((\\?=)kaSx(\\?imsximsx:w3A[`%+A$I{,62}ns&Y!#\"\n\t\t
        \ \"ay \"\n\t\t  \"o9YAo{Y>1((\\?>\\?#45)Z{,108}{}11111111111111111111111111qqqq)\"\n\t\t
        \ \"\\?][:lowerprint:]mbo#)@\",\n\t\t  0, 0 },\n\t\t{ \"[^iii8(888888(\\?<!8^]))s\",
        0, 0 },\n\t\t{ \"([[(\\?(\\?:({^]}[)[(r)])G]{,-87}\", 1, 0 },\n\t\t{ \"([[^{249,}(\\?>(\\?=)]]T()[:bl(\\?!ankcntrl:]=jjjjjjjjjjjjjjjj-\"\n\t\t
        \ \")))t{}[:alpha:]-\\\":i! Gn[A4Ym7<<<<<<<<<<<<<<<<]\",\n\t\t  2, 0 },\n\t\t{
        \"^{}{[^,241(\\?#}(\\?m(\\?ixim:sximsx:]t))+oD)\", 0, 0 },\n\t\t{ \"5[(\\?#:xdigit:])\",
        0, 0 },\n\t\t{ \"[^f{(\\?>,22(9}[^[^])6KKKKKKKKKKKKK)]RRRRRRRRfuK99999999C}\"\n\t\t
        \ \"osnNR]BgCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC[:blankcntrl:]\",\n\t\t  0, 0
        },\n\t\t{ \"[^(\\?=U){24,}W-{,17(\\?:3[^}]q.nQ#PU_|i$$$$$$$$$$$$$$+)[:dig(\"\n\t\t
        \ \"\\?<!it:]){-98}\\?[:upperword:]]\",\n\t\t  -1, 0 },\n\t\t{ \"[(\\?<=[0(\\?!72])euE.]{,-159}[:alnum:]t-:l\\?)$\"\n\t\t
        \ \"yyyyyyyyyyyyyyyyyyyyyyyyyyfffffffffffffffffffffffffff\",\n\t\t  0, 0 },\n\t\t{
        \"[^[^]q[:asc(\\?imsxmsx:ii:]JJJJJJJJJJJJJJJJJJJJ[:graph:]]$)`#\"\n\t\t  \"DdY^qqqqqqqqqqqqqqqqqqqqqqqqqqqu>4^4ta[:alpha:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(((b0HN)q))p5<T())`7JJv{'cv'#L8BNz\", 4, 0 },\n\t\t{ \"[pFp2VttBg(\\?<=7777777777777|TTTTTTTTTTTTTTT[:space:]Z]^p\\\"[\"\n\t\t
        \ \":blankcntrl:])\",\n\t\t  0, 0 },\n\t\t{ \")aM@@@@@@@@@@@@@\", 0, 0 },\n\t\t{
        \"([^[(\\?<![^])\", 1, 0 },\n\t\t{ \"()Z[:ascii:]\", 1, 0 },\n\t\t{ \"(fuPPo)..........................[:xdigit:]{}{,4}*kkkkkkkCx#\"\n\t\t
        \ \",_=&~)|.2x\",\n\t\t  1, 0 },\n\t\t{ \"[+(\\?<=){}++++++[:alnum:](\\?=+]s)[:alnum:]~~~~~~\"\n\t\t
        \ \"XXXXXXXXXXXXXXX.[:digit:]\",\n\t\t  0, 0 },\n\t\t{ \"[{}[^^(\\?(]))CCCCCCCCCCCCCCCCCCCCEg2cF]{}3\",
        0, 0 },\n\t\t{ \"([[[^[^[^([[^[^([(\\?<=G[[)=(\\?!===(\\?isximsx:==(\\?#==[^=====\"\n\t\t
        \ \"(\\?{==================$T[[^^u_TiC.Fo.02>X)uH]$})354b[:alnum:\"\n\t\t
        \ \"]]]EVVVVVVVVVVVVVVVVVVVVVVVVVVVVVz[:digi(\\?(t:][:upperword:]\"\n\t\t
        \ \")\",\n\t\t  1, 0 },\n\t\t{ \"([:blankcntrl:]t-){121,}[:ascii:]444444{}[:graph:]E040\",
        1,\n\t\t  0 },\n\t\t{ \"[^{134,}]DzQ\\?{-30,191})z,\\?1Vfq!z}cgv)ERK)1T/=f\\?>'\",
        0,\n\t\t  0 },\n\t\t{ \"@v)<yN]'l-/\"\n\t\t  \"KKKKKKKBBBBBBBBBBBBBMa2eLA[:digit(\\?<!:])\\\"\\\"e|l$&m`_yn[:\"\n\t\t
        \ \"blankcntrl:]uuuuuuuuuuuuuuuuuuu[:punct:]\",\n\t\t  0, 0 },\n\t\t{ \"[[999999999999999(\\?<=(\\?:(\\?ixmx:(\\?>))])Y]|){,10}\\?{}\",
        0,\n\t\t  0 },\n\t\t{ \"([[[(\\?!^]P-AA[AAAAAA[A[^A)r]+B]])\", 1, 0 },\n\t\t{
        \"3}|[:ascii:][:punct:]()\", 1, 0 },\n\t\t{ \"()dw\", 1, 0 },\n\t\t{ \"[N]{})))))))))))))))))))))))\",
        0, 0 },\n\t\t{ \"[[[^([[(\\?()(\\?#)++([^\\?{+++[^+++++++++++(\\?!+(\\?=+++++++r9/\"\n\t\t
        \ \"n]N7{-219}{-91}pP[:punct:]T]mROm+~[:digit:][:digit:])Y:\",\n\t\t  0, 0
        },\n\t\t{ \"[^'Pu[(\\?<!D&]_a[:alnum:]E<,F%4&[:xdigit:])][:lowerprint:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"tttt(tttttttttt*uKKUUUUU)\", 1, 0 },\n\t\t{ \"([:ascii:]GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG)+kX______________{\"\n\t\t
        \ \"}GGGGG\\?TUH3,{67,77}|[:graph:]C{,-136}{}[:upperword:[]{,-6}&\"\n\t\t
        \ \"]T84]n={C\",\n\t\t  1, 0 },\n\t\t{ \"[:upperword:]DC[:u(\\?<=pperword:]*d`H0\\?m>~\\?N|z#Ar--SO{,-\"\n\t\t
        \ \"141}076)G\\?{,-110}M+-[:alpha:]\",\n\t\t  0, 0 },\n\t\t{ \"{,-214}{,10(9})\",
        1, 0 },\n\t\t{ \"([^xxxxxxxxxxxxxxxxxMMMMMMMMMMMMMMXW])].[:punct:]Q`{-63,63}\"\n\t\t
        \ \"Uua[:alnum:]\\?OQssb#L@@@@@@@@(@@@)[:graph:]\",\n\t\t  2, 0 },\n\t\t{
        \"[[^(\\?!```[^``````````````(\\?<=``(\\?>````````M/////(\\?!/////\"\n\t\t
        \ \"///////////////\"\n\t\t  \"[^GD!|#li]~)*.$]))Tq!]C[:lowerprint:]Qk[{}]]\"\n\t\t
        \ \"JJJJJJJJJJJJJJJJJJJJJJJ{e])c\",\n\t\t  0, 0 },\n\t\t{ \"$[5(7ES])[:xdigit:]%{MRMtYD&aS&g6jp&ghJ@:!I~4%{\"\n\t\t
        \ \"P\\?0vvvvvvvvvvvvvvvvvvvv\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\x54[:\"\n\t\t
        \ \"lowerprint:][:upperword:]\",\n\t\t  0, 0 },\n\t\t{ \"[((([(\\?((\\?>[:alnum:][):as(\\?<!cii:(\\?:]Re))K|)|^){-28,89}\"\n\t\t
        \ \"l<H.<H:N)QKuuuuuuuuw8E136P)^)[:ascii:]][:xdigit:]-\",\n\t\t  0, 0 },\n\t\t{
        \"(pjvA'x]=D\\\"qUby\\\\+'R)r\\?C22[:ascii:]\", 1, 0 },\n\t\t{ \"[]*b~y C=#P\\\"6(gD%#-[^FBt{}]${-244}\",
        0, 0 },\n\t\t{ \"[:up(\\?!pe(\\?=rword:])lA-'yb\\\"Xk|K_V\\\"/\"\n\t\t  \"@}:&zUA-)W#{-178,-142}(){-202,}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"()1.WldRA-!!!!!!!!!!!!!!!!!\", 1, 0 },\n\t\t{ \"lZZZZZZZZZZZZZZZ(Z[:al(\\?:num:])\"\n\t\t
        \ \"ttttttttttttttttttttttttttttttg.)6$yyy\",\n\t\t  1, 0 },\n\t\t{ \"[([^([^[^(([([^[^(([[$(\\?{P(\\?=(\\?<(\\?!=(\\?#P[^Y])<GA[:\"\n\t\t
        \ \"ascii:][(\\?#(\\?<!:alpha:](B{100,})]}))\\?)XU=\",\n\t\t  1, 0 },\n\t\t{
        \"[[dVw{6(\\?{9,}2222kkkkkkkkkkkkkkkkkkkkkkkkkk|{}*E]]{}SB{35}-\"\n\t\t  \"w%{eh})<{-178,}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(D(~))\", 2, 0 },\n\t\t{ \"[(:alpha:]{,90}Z|)[:ascii:]Du\\?[:grap[^h:]^w+|{}][:ascii:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[:p(\\?<=unct:]kkkkkkkkkkkkkkkkkkkk)\", 0, 0 },\n\t\t{
        \"{}[:((\\?<!dig((\\?#it(\\?#:]())p))ZZZZZZZZZZ[:blankcntrl:]){}{\"\n\t\t
        \ \"-124,})[:ascii:]\",\n\t\t  1, 0 },\n\t\t{ \"[[:graph:]{168}lRRRRRRRRRRRRR(\\?#RRRRRRRRRRRRRRRRR)rrrr(\\?(\"\n\t\t
        \ \"rrrrrr)rrrrrrrS[(\\?<!@f)6>{,-49})q${98,}J\\?]){\",\n\t\t  0, 0 },\n\t\t{
        \"([:pu(\\?(nc)t:]F{-32,-102}+)\\?cpP[:lowerprint:].^)\", 1, 0 },\n\t\t{ \"([{}{210,-238}]1:h)\",
        1, 0 },\n\t\t{ \"([]QQQQ[QQQQQQQQQQQQQQQQQQ][:digit:]Z{-20,}Slllllll[:space:]\"\n\t\t
        \ \"C^(@{-174,-156}fx{cf2c}{-242,}rBBBBBBBBBBBBBBBBBBc[:alpha:]\"\n\t\t  \"N\\?))$[:graph:][:ascii:]P+nnnnnnnnnnnnnnnnnnnnnnn1N$r>>>>>>>\"\n\t\t
        \ \">>>>>>>>>>>>>>>>>(>>{,88}{,-234}__________)[:upperword:]R.[:\"\n\t\t  \"alnum:][:lowerprint:]^}\\\"\",\n\t\t
        \ 3, 0 },\n\t\t{ \"([^(\\?=]-))$\", 1, 0 },\n\t\t{ \"([:ascii:]\\?,D[:upperword:][:xdigit:]tttttttttttt[^tt(\\?<!\"\n\t\t
        \ \"ttttttttt21f|.(pP[:punct:])])rrrrrrrr)\",\n\t\t  1, 0 },\n\t\t{ \"([{1(\\?=16}iiiiiiiiii((\\?<=iiiiiiiiiiiiiiiiii|ZZZZZZZZZZZ(\"\n\t\t
        \ \"\\?(\\?#{ZZZZZZZ))c}))<<<<<(\\?#<<<<<<<<<<<d7CVq8]w{-148,-168}\"\n\t\t
        \ \"\\\\Gp){-230,}D3\",\n\t\t  1, 0 },\n\t\t{ \"[^8888(88888888888EX].[:alnum:]){}\",
        0, 0 },\n\t\t{ \"([^][^)2]-[:lower(\\?=print:]{,79}[:graph:]n)\", 1, 0 },\n\t\t{
        \"[bSi\\?x_mp(C)0{64}[:space:]hhh(\\?(hhh)hhL){5,130}'w\\\"$l&[:\"\n\t\t  \"xdigit:][:alpha:]IIIIIIIIIIIIIIIIIIIIIII+-SOOOOOOOOOOOO
        \    \"\n\t\t  \"          (\\?( )              ]f)ed\",\n\t\t  0, 0 },\n\t\t{
        \"[[^[(^(C.Jl[^X&Rb64a+Sd])'m[:alpha:])]]]{134,}\", 0, 0 },\n\t\t{ \"()L\",
        1, 0 },\n\t\t{ \"[[(({224,(\\?#88})@======(\\?!=========(\\?{=)PPP)i^@p(\\?([:\"\n\t\t
        \ \"punct:]})^^[^^^^^^^^^^^^^^^^^^^^^@)m]|{CS{,-3}168)-[:xdigit:\"\n\t\t  \"][:upperword:]hnD=Bns)z)AAAAAAAAAAAAAAAAAAAAAAA[^A{}\"\n\t\t
        \ \"ccccccccccc)SZ]Q-p.sD]]+P\",\n\t\t  0, 0 },\n\t\t{ \"[[^[^]{135,}66666666666666666666[6(666i2M9.!uhmT\\?JMm.*(\\?!+\"\n\t\t
        \ \")[:alpha:]eeeeeeeeeeeeeeeeeeeeeeeeeee]]])ZZ[:blankcntrl:][:\"\n\t\t  \"ascii:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(13[3Ux>{,10}[(\\?<=:xdigit:]))PL9{-89,-181}F'''''''''\",
        1,\n\t\t  0 },\n\t\t{ \"[^.|(\\?{af]})^$XE!$\", 0, 0 },\n\t\t{ \"(WWWWWWWWWWWWWWWWWWWWWWWWWWWW#J)\",
        1, 0 },\n\t\t{ \"({}}M7we-216)L[:digit:][:upperword:]\", 1, 0 },\n\t\t{ \"([:aln[^u(\\?=m:]))].z\",
        1, 0 },\n\t\t{ \"([:alpha:]{(92})%6{41,136})Vij@[:alnum:][:lowerprint:]\",
        2,\n\t\t  0 },\n\t\t{ \"[[[++(\\?{+++{}})n{{137,}{51,-177}Z[]M*[:ascii:]{(-29,-47}2)$\"\n\t\t
        \ \"e^{,-195}{-156,}^]{}{-225,69}A]{-222,}{,20}m[:blankcntrl:]\",\n\t\t  1,
        0 },\n\t\t{ \")l)[:alnum:][:graph:]g8TTTTTTTTTTTTTTTTLLLLLLLLLLLLLLLLL\",
        0,\n\t\t  0 },\n\t\t{ \"[([(\\?<=.(\\?{)/})mmmmmmmm(\\?(mmmmm]{-154,-176}*S)I]\",
        0, 0 },\n\t\t{ \"[(([{(\\?(\\?<!im(\\?imsix:sim(sx:,141}])D)l{,42}ttttt[(\\?::\"\n\t\t
        \ \"punct:])){-162,-141}{-26,})dU@@@@@@@@@@@@@@@ \"\n\t\t  \"S)\\\\A\\?w|VVVVVVVVV)X.kN{,21}{-208,-52}>[:lowerprint:][:\"\n\t\t
        \ \"ascii:]e-]]]]]]]]]]]]]]]]]]]]]\",\n\t\t  0, 0 },\n\t\t{ \"[^({}(){(66(\\?=,}[^]'''''QQQQQQQQQ).P#>^){86,168}Z[(\\?<!:\"\n\t\t
        \ \"lowerprint:]{-166,-70}<k\",\n\t\t  0, 0 },\n\t\t{ \"APP[:alpha:][:alnum:]nd[:upperword:(\\?(]^\"\n\t\t
        \ \"xxxxxxxxxxxxxxxxxxx)xxxxxxxxx{-70}[:punct:]l)U-\",\n\t\t  0, 0 },\n\t\t{
        \"[^(.\\\"od~(6({[^(\\?<!228}\\?)\\?)######(\\?:#########z \"\n\t\t  \")c(\\?<!aQ`(\\?{UKSwu[})][^-17]{11,}}][:ascii:]))^RiH+WyspP[\"\n\t\t
        \ \"qi&)=p6])[:space:]{-221,}]6p\",\n\t\t  0, 0 },\n\t\t{ \"{-78}()[:xdigit:]{155}{,-92}\",
        1, 0 },\n\t\t{ \"[(\\?>Q{,147}_____________(\\?!______uuuuuuuuuuuuuTr]){74,179}\"\n\t\t
        \ \"{}){,103}{-209,16}*RRRRRRRRRRRRRRRRw{,87}9{144}[:ascii:]'<\"\n\t\t  \"Ab\",\n\t\t
        \ 0, 0 },\n\t\t{ \"([666c] {-171}yc,8-k_)EEEEEEEEEEEEEEEEEEEEE<\", 1, 0 },\n\t\t{
        \"[^(\\?>(\\?<!)2(\\?imim:)6HwN)^|fc!(\\?(d]75))065)G\", 0, 0 },\n\t\t{ \"[[^xDB[:alnum:][:xdigit:]][:digit:]jW]([:alpha:])\",
        1, 0 },\n\t\t{ \"[ds~T+[x55[:digit:]X[JJJJJJJ.[(\\?::upperword:]){,-14}][:\"\n\t\t
        \ \"xdigit:]bbbbbbbbbbb\",\n\t\t  0, 0 },\n\t\t{ \"[qqqqq(\\?<=qqqq(\\?(qqq)^G[):ascii:]])W\",
        0, 0 },\n\t\t{ \"[:space:]JJJJJJ[:alph(\\?<!a:]|[:ascii:(\\?(])[:x)digit:]-
        \"\n\t\t  \"XSstG[:g(\\?>raph:])^)Ny6RF_ndoU9@*rxW{4,41}4{}\",\n\t\t  0, 0
        },\n\t\t{ \"[:punct:]{162,}j[:aln(um:].....................[^...]\\?>z[:\"\n\t\t
        \ \"l[owerprint:]){55,222}]\",\n\t\t  0, 0 },\n\t\t{ \"(>vWa)OXcccccccccccccccccccccccc[:alpha:]C{,-10}81|m1D^T)[:\"\n\t\t
        \ \"lowerprint:]''''[:alpha:]l\",\n\t\t  1, 0 },\n\t\t{ \"(XZcgM/UI-/\"\n\t\t
        \ \"mZq-222){-85,-196}[:alpha:]{114}rrrrrrrrrrrrrrrrrrrrrrrr{,\"\n\t\t  \"157}ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZLkD-&&&&&&&&&&&&&&&-][:\"\n\t\t
        \ \"alnum:]{}{,111}[:digit:]\",\n\t\t  1, 0 },\n\t\t{ \"[^(\\?:]MMMMMMMMMMMMMMMMMMMMMMMMMMM)cK[\"\n\t\t
        \ \"KKKKKKKKKKKKKKKKKKKKKKKK]P{146}\",\n\t\t  0, 0 },\n\t\t{ \"([^[^wqesa)n\\?L(\\?<=FH+G[^rCGmfD]w)m1D\\\"%}]])\",
        1, 0 },\n\t\t{ \"[((\\?:[^.HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH|S)xd)*[:space:](])[\"\n\t\t
        \ \":xdigit:]ngr'G#/B]-----------------------------\",\n\t\t  0, 0 },\n\t\t{
        \")[:lowerprint(\\?<=(:]l))G p\", 0, 0 },\n\t\t{ \"[^[^(\\?<(\\?<(=(\\?imsximx:![(((\\?<!\\?(^))\\?]^)[:xdigit:][:\"\n\t\t
        \ \"graph:]{-104,})Gf+GD*qc)c]f))])\",\n\t\t  0, 0 },\n\t\t{ \"[^([\\?())P[:alnum:]w]{-186,-139}-[:space:]RN3w[Fmvpl[:space:\"\n\t\t
        \ \"][:digit:]&&&&&&&&&&&&}(\\?#}}}}}}}}}}}}}}}}}}}])z\",\n\t\t  0, 0 },\n\t\t{
        \"([[^^*C[()f][(\\?=:punct([\\?#:]o)]V)]%%%%%%%%%%%%%%%%%%%%%%%%\"\n\t\t  \"%%%%%%[^x{1f948})]]\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[(:xdigit:])zE\", 0, 0 },\n\t\t{ \"[:pu(\\?(nc)t:])(a*){-51}\",
        1, 0 },\n\t\t{ \"[^(.NKKKKKKKKKKKKKKKKKKKKKKKK-[:upperword:][:space:]`MPi>\",\n\t\t
        \ -1, 0 },\n\t\t{ \"Nvvv[vv.][:alnu[^m:]+|Crrrrrrrrrrrrrrrrrrrrr[:xdigit:]j1n)v#\"\n\t\t
        \ \"]\",\n\t\t  0, 0 },\n\t\t{ \"[^#}[(\\?>:alnum:]).QQQQ[^QQQQQQ!!![!!!!!!!-s.n]se]{-238,}Tf]\"\n\t\t
        \ \"p4721\",\n\t\t  0, 0 },\n\t\t{ \"([((\\?#\\?<=)+)Hr:-H]z[:graph:].{}oooooo(ooooooooo][:punct:]\"\n\t\t
        \ \"k<gXG@@@@@@@@@@@@@@@@@@@{,-176}){}L`)$\",\n\t\t  2, 0 },\n\t\t{ \"({,249}{-73,}Z&&&&&&&&Ds35MB<v)qqqqqqqqqqqqqqqqqqqqqqqqq\",
        1,\n\t\t  0 },\n\t\t{ \"[^.N][:blankcntrl:]))))))))))))))))))))))))))))))\",
        0, 0 },\n\t\t{ \"(()*){198,}\", 2, 0 },\n\t\t{ \"{-237,}220{}[:ascii:]```````(`````````````\\?{-115,185}){,-\"\n\t\t
        \ \"18}[:punct:]'|Kk\",\n\t\t  1, 0 },\n\t\t{ \"[(\\?()])\", 0, 0 },\n\t\t{
        \"([(\\?#[:alnum:]CQ)}}}}}}}}(\\?>}}}}}}}(}}}}}\\?310[|))xA5r][[^\"\n\t\t
        \ \":ascii:]^{,-156}{])CCCCCCCCCCC-145]FzwOD_u\\?\",\n\t\t  1, 0 },\n\t\t{
        \"[^[^[]{-163}{(-203}[(\\?!:upperword:]PPGjZ[:xdi(\\?=git(\\?#:]{\"\n\t\t
        \ \"-73}s)qqqq(qqqqqqqqqqqqqqqqqq{173,210}[:xdigit:(\\?<(\\?>=]WW[\"\n\t\t
        \ \"^WWWWWWW\\?*O)))Q){}08)[(\\?(\\?<=#:blankcntrl:]{90,}]U)])L)\"\n\t\t  \"ooooooooooooooooooooooooooox--^c[:ascii:]])s)\",\n\t\t
        \ 2, 0 },\n\t\t{ \"[(\\?!:punc(\\?imximx:t[^:]4F<}!)]'M-)tKKKa4904\", 0, 0
        },\n\t\t{ \"[^^{}\\\\(\\?<!\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\(\\?#\\\\\\\\\\\\\\\\[:punct:](\\?>)\"\n\t\t
        \ \"T000000000(\\?(000)00000))+])\",\n\t\t  0, 0 },\n\t\t{ \"L[:p(\\?#unct:])\",
        0, 0 },\n\t\t{ \"[:upperw(\\?<!ord:])\", 0, 0 },\n\t\t{ \"@$\\\"\\\"\\\"\\\"\\\"\\\"\\\"[\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"[^(\\\"\\\"\\\"\\\"\\\"(\\\"\\\"][]))\"\n\t\t
        \ \"*U{223,138}*o```````````````(\\?=[```````````````]{238}\"\n\t\t  \"mmmPPPPPPPPPPPPPPP&&&&&&&&&&&&&&&&&&)sF$[:digit:[]]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^#Txx[xxxlPB(\\?><[^U/)]]{}X3333333333(3333333f*])\",
        1, 0 },\n\t\t{ \"<<<<<<<<<<<<<<<[^<<<<<<<<<.][(\\?#:ascii:])[:xdigit:]|^\",
        0,\n\t\t  0 },\n\t\t{ \"([:punct:]{}){-167,}{-59,}Pd\\\"\", 1, 0 },\n\t\t{
        \"[((\\?#{,214})t$)VVV[:xdigit:]{104(\\?<=}D][:graph:])|H){1,}{-\"\n\t\t  \"176,}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[[([[^N,,,,,(\\?=,,(\\?#(\\?:,,,,,,,,,,,[^,,,,,,,,,,]<,~4::_.A]\"\n\t\t
        \ \"){-52,}-[:alnum:]Pnnnnnnnnnnnnnnnnnn)d\",\n\t\t  0, 0 },\n\t\t{ \"{-18(3,})uT{4,}\",
        1, 0 },\n\t\t{ \"[^[^[(p+c(\\?<!b$))(\\?:EU(\\?(.][^{}]3[:xdigi[^t):][:punct(\\?>\"\n\t\t
        \ \":])[])][:s[^pace:]][:alnum:][:alpha:]]kw06E\",\n\t\t  0, 0 },\n\t\t{ \"[^^^^^^JJJJJJJJ(JJ(\\?=JJ(.6[:space:]H]{231,}A^eqqq)[:ascii:(\"\n\t\t
        \ \"\\?>(])[(\\?>:spa(\\?:ce:]xxxxxxxxx)@_t-))\"\n\t\t  \"138GNNNNNNNNNNNNNNNNNNNNNNNNNN[:digit:]no!`#E\\?&[:\"\n\t\t
        \ \"lowerprint:].)[:graph:]{86,}[:digit:][:alnum:]\",\n\t\t  0, 0 },\n\t\t{
        \"[:g(\\?<=raph:]a{114,146}(){}0Y[:bl(ankcntrl:])D)\\?\", 1, 0 },\n\t\t{ \"[^[^]*H{-192,96}S|]G)6B-kLB\",
        0, 0 },\n\t\t{ \"[[^[^][/\"\n\t\t  \"NS8`um(\\?{82&{((\\?{\\?<!-[110,-88}]m)})kkkkkkkk$$$$$$$$$$$$[^\"\n\t\t
        \ \"$$$$$@n%BuK@X!P)y0v!^]YY[YYY[YYYYYYYYYYYYYYYYYY///////\"\n\t\t  \"{}{{{{{{{{{{{{{oiiii})]8{-2[53}w{82,}]{,245}]{-134}]\"\n\t\t
        \ \"fffffffffffffffffff]\\\"I>DW>9tN%{113}{unE\",\n\t\t  0, 0 },\n\t\t{ \"[:(\\?(alpha:]`))Y2sCqWQ104\",
        0, 0 },\n\t\t{ \"(([^()Wcccccccc(\\?{cccccccccccccccccc(\\?<!c(ccccc[:space:]$)\"\n\t\t
        \ \"(\\?>)FZ{}{}`|||||||||||||*````````````````````````````'=\"\n\t\t  \"dLQmx/\"\n\t\t
        \ \"Y.A7j'o}jn{}:})][:punct:]$|,-)!&Y:Ys#\"\n\t\t  \"ykL7JJJJJJJJJJJJJJJJJJJJJJJJJ8yex>#mv[:punct:](x@)$[:uppe(\"\n\t\t
        \ \"\\?<!rword:])_)\",\n\t\t  3, 0 },\n\t\t{ \"[[(^HHHHHHHHHHHH(\\?imsximx:HH(HHHHHH(\\?{HH[HH])qjR>9))i})]a!\"\n\t\t
        \ \"lBW3p{A=or)ShE%[:punct:]{}]5r\",\n\t\t  0, 0 },\n\t\t{ \"[:pu[nc[^t:]]]}}}}}}}[}}}}}}}(\\?#}])@@@@@@@@@@@@@@@@@@\"\n\t\t
        \ \"DDDDDDDDDDDDDDDDDDD\\?]xA2\\?\",\n\t\t  0, 0 },\n\t\t{ \"(.[:alpha:]xB7[:alnu(\\?{m:]})RRRRRRRRRRRRRRRRRRRRRRRRRRRL)[:\"\n\t\t
        \ \"space:]G\\?\",\n\t\t  1, 0 },\n\t\t{ \"[:blan(\\?<!(\\?=kcntrl:]){71,})!ooooooooooooN\",
        0, 0 },\n\t\t{ \"()e$$$$$$$$$$$$$$$$$$$$iiiiiiii\", 1, 0 },\n\t\t{ \"(b[:ascii:]67777777777777777777777777)({-106}kkk^F----------\"\n\t\t
        \ \"---------------------{13}A)f00000000sBAddddd{-66}kd!D'\",\n\t\t  2, 0
        },\n\t\t{ \"(Q                        ^])[^lf][:space:][:lowerprint:]\\?\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[[^]\\\\S{152}W![:digit:][[^:space:(\\?(]=pEhwY][:alnum:][:\"\n\t\t
        \ \"digit):][:graph:]])QQIC9h-oowf[:xdigit:]{-52}{,190}\"\n\t\t  \"1111111111111111111fX{-189,226}W\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^(\\?!(\\?<=)]).h[:as(\\?>cii:])[:alnum:]$$$$$[:space:]3$$$$$$\"\n\t\t
        \ \"$$$$$$$$$$$$$$$$$$$$$$$$$1\",\n\t\t  0, 0 },\n\t\t{ \"[[$zQ================(\\?<!=(\\?>=========(\\?====D[^))|i{}\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?)][:s(pace:]])\"\n\t\t
        \ \")]\",\n\t\t  0, 0 },\n\t\t{ \"[^{,-[15(\\?#6}]Vwjjjjjjjj[jjjjjjjjjjjjjjjjjjS9999)]q]\"\n\t\t
        \ \"rWWWWWWWWWWWWWWWW[:punct:]@@@@@@@@@@@@@@@@@@@@@@@@gO[:\"\n\t\t  \"blankcntrl:]>L[:ascii:]:::::::::::::::::::\"\n\t\t
        \ \"x11uuuuuuuuuuuuuuuuuuuuuuuuuuuuu{-124,114}[:graph:]C#{tcg[:\"\n\t\t  \"xdigit:]gZZZZ[:lowerprint:]nA(_{{{{{{{{{{{{{{{{{{{{SS)\\\\D[:\"\n\t\t
        \ \"alpha:]\",\n\t\t  1, 0 },\n\t\t{ \"[^(\\?())]!T\\?[:asc[^ii:]E:4},,]I[^b(\\?:n4(njj~+{\\?'k{7}{189,\"\n\t\t
        \ \"-194}{ig.[[[[[[(\\?#[[[_bs6,JD`1(\\?<!WBo]F+{d*VO22z2K1][:\"\n\t\t  \"xdigit:]))Suuuuuuuuuuu[^u{,117}\\?YYYYYYYYYYYYYYYYYYYYYYYYB^]\"\n\t\t
        \ \"|q]:eY1GGGGGGGGGGGGGGGGGGGGGGGGGGGGe\\?)bU[:punct:]\",\n\t\t  0, 0 },\n\t\t{
        \"[\\?UA(\\?:]\\?)[:xdigit:]A^mmmmmmmmmmmmmm>>>>>>>>>>>>>>>>>>>>>\"\n\t\t
        \ \">>>>>>>[^>>>(\\?(>)){,-165}]\",\n\t\t  0, 0 },\n\t\t{ \"([^[][^n(\\?{[[p]#})|][^]L|66666666666[:graph:]][:graph:]2[:\"\n\t\t
        \ \"xdigit:][:space:]9b})[:digit(\\?imsximsx::]+PZ):{}|E)[:\"\n\t\t  \"xdigit[^:]|>]^[:alpha:]::::::::[:ascii:]````[:ascii:]:\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[:lowerprint(\\?<!:])\", 0, 0 },\n\t\t{ \"[[^[]{-47}[:lowerprint:][:punct:]L[(\\?::g(raph:]lY[:alnum:])\"\n\t\t
        \ \"qWYU)}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}[c%$dp5[:alnum:]DDDDDDDD^\"\n\t\t  \"^%&{,-94}E]{-8,175}[:alpha:]-.^[:digi(t:]CCCC(CCCCCCCCC]).\"\n\t\t
        \ \"ax72)\",\n\t\t  1, 0 },\n\t\t{ \"[[^($$$$$$$$$$$$$$$$$$[^$I((\\?{\\?(u)\\\"YuK
        \"\n\t\t  \"ZpOHq[!(\\?>t|LQT(|)L[(:ascii:])\",\n\t\t  0, 0 },\n\t\t{ \"[^[^([:graph:](QpPdyDQ`[:alpha:](.X[:digit:]wwwwwwwwwwwwww(\"\n\t\t
        \ \"\\?imxims:wwwwwwwe(\\?<!z)ONNN(\\?#)[^])[:space:](KKKKKKKKK{\"\n\t\t  \"113,}327[:xdigit:]k)]CeeeeeeeeeeeeeeeeeMMMMMMMMMMMMMMMMM)[:\"\n\t\t
        \ \"lowerprint:]]HHHHHHHHHHHHHHHHHHH]]]]]]]]]]]]]\",\n\t\t  1, 0 },\n\t\t{
        \"[Q(r(\\?=)v]dm[:alnum:][:b(\\?{lankcntrl:][:xdigit(\\?=:])})P[:\"\n\t\t
        \ \"graph:]bd/Rx){50}{-150,-172}\",\n\t\t  0, 0 },\n\t\t{ \"[(\\?(im(\\?:sxims:))9]))L\",
        0, 0 },\n\t\t{ \"[[^[(\\?{^Z][^0[:alpha:]]\\\\XB*{-151}t})][:alnum:]]\", 0,
        0 },\n\t\t{ \"[([(D\\?/////////////////////.'yvYysU&5AU-]kV)*){,123}z]\",
        0,\n\t\t  0 },\n\t\t{ \"[:alnu(\\?{m:][:a(\\?=lpha:][:alpha:])n}))7[:ascii:][:xdigit:]\"\n\t\t
        \ \"[:punct:]-\",\n\t\t  0, 0 },\n\t\t{ \"[^[:graph:]IIIIIIIIIIIIIIIIIIIIIII][:sp(\\?<!ace:])\",
        0, 0 },\n\t\t{ \"[[[(\\?=[[[cDD(\\?<!D(\\?:DDDDDDDDDDDD(\\?<=DDD(DDDDDD(\\?:\"\n\t\t
        \ \"DDDDDDD(\\?<=D(\\?()])rvp{243,}D$<[:space:]([:lowerpr)int:])])\"\n\t\t
        \ \"Ea{}U[:upperword:][:xdigit(\\?#:]or}Z+34gD{/P NJ\",\n\t\t  1, 0 },\n\t\t{
        \"[^(,H>)*d2K0DNX5)T(].)[:digit:].\", 0, 0 },\n\t\t{ \"([:punct:(\\?#])})JJJJJJJJ[:xdigit:]\"\n\t\t
        \ \"PPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU.......................0hSk{\"\n\t\t  \",89}[:xdigit:].[:xdigit:]Z\",\n\t\t
        \ 1, 0 },\n\t\t{ \"(LGTTTTTTTTTTTTTTTTTTTTTTTTTT[:alpha:]){-106,113}[:punct:]d|\"\n\t\t
        \ \"[:digit:]kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk\\?wP\",\n\t\t  1, 0 },\n\t\t{
        \"([^[^<N_-k\\?{(\\?#18}]i]::::::::::::::::::::::::::)1+LLLLn{}/\"\n\t\t  \"){-198}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([[^(AAAAAAAAAA(\\?(AAAAA)AAAAf).LzHHHHHHHHHHHHHHHHHHHHH(\\?#\"\n\t\t
        \ \"HHHHH|)[ZEEEEE(\\?#EEEEEEEEE(\\?<!EEEEEEEEsG)q[:punct:]{}][:\"\n\t\t  \"upperword:]D)[:space:][:digit:]+e[:ascii:]].i|JJJJJJJJ+n][:\"\n\t\t
        \ \"xdigit:]Se)P[:lowerprint:]_______________________________.[:\"\n\t\t  \"punct:]pP{-172,86}iiiiiiiiiiiiiiiiiiiiiiiii){,-178}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([\\?=[[^,BDRRPZ{129}*D-[:punct:]]])([:upperword:]ud)\\?][:\"\n\t\t
        \ \"punct:]A\",\n\t\t  -1, 0 },\n\t\t{ \"(([(\\?#((\\?{\\?=^])c-)C[:lowerprint:]xvkR}k\\\")\"\n\t\t
        \ \"ccccccccccccccccccccNNNNNNN[:alp[ha:]{,93}vhlX:|A]2})nSw)]\"\n\t\t  \"N.\",\n\t\t
        \ 2, 0 },\n\t\t{ \"()g/qzyiV(x3d|A0wllllll){162}[:space:]\", 2, 0 },\n\t\t{
        \"qqqqqqqqqqqqqqqqqqqqvvvvvvvvvvvv8[:x(\\?imsxmsx:digit:][:\"\n\t\t  \"alpha:]''''''''''''''''''''''''''')\",\n\t\t
        \ 0, 0 },\n\t\t{ \"({,226}nf^W=vs$xK^=A=M#b,)V\", 1, 0 },\n\t\t{ \"(_T 2BC9N'cccccccccc-87EF#&^eQfDDDn._,m&c`tjAwR
        \"\n\t\t  \"#~A)[:(\\?imsimx:alpha:])/yHYL6|{-40,47}\",\n\t\t  1, 0 },\n\t\t{
        \"[[^]{-8(4,138})z[:xdigit:]{180,}]\", 1, 0 },\n\t\t{ \"[([^T____________________(\\?:__C(\\?<=]-)])+[:ascii:])r[:\"\n\t\t
        \ \"graph:].----------\",\n\t\t  0, 0 },\n\t\t{ \"[f{}LLLL(LLp((((\\?<!((((((((((((((({,56}]BR`{,52}){-22,}\\?[:\"\n\t\t
        \ \"space:]h>Sow\",\n\t\t  0, 0 },\n\t\t{ \"{-179}^[:alpha:(\\?!].a'5wacA3\\\\\\\\\\\\\\\\AAAAAAAA)~^]wC\",
        0, 0 },\n\t\t{ \">[:digit:]{,-212}+(`)LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL[:ascii:\"\n\t\t
        \ \"][:digit:][:space:]\",\n\t\t  1, 0 },\n\t\t{ \"[[^[[^RBW{,255(}(\\?(\\?>=(W)_]uu][:blankcntrl:])O)]]\",
        0, 0 },\n\t\t{ \"(C_______________________________)2\", 1, 0 },\n\t\t{ \"([/ntf_a3].)\",
        1, 0 },\n\t\t{ \"[:space:]+[(:upperword:],c7[:asci(\\?<=i:]ggggggggggg)[:\"\n\t\t
        \ \"ascii:]/1$$$$$$$$$$$$$$$$$$$$$$$$$$)\",\n\t\t  0, 0 },\n\t\t{ \"Xq{109}~EEEEEEEE[:upper[^word:]lgB:X(h[:alpha:]B[:space:]].)\"\n\t\t
        \ \"IkaH@3}}H'yK~\\?[:upperw(\\?#ord:(\\?:]){=================[:\"\n\t\t  \"blankcntrl:])\",\n\t\t
        \ 1, 0 },\n\t\t{ \"(([[^]]$3Xr^$%%%%%%%%%%%%%%%%%%%%%================U[:ascii:]\"\n\t\t
        \ \")X).FFFFFFFFFFgO[:punct:]oooooooooooooooooooBC[:blankcntrl:]\"\n\t\t  \"mmmmmmmmmmmmmmmmmmmm[:lowerprint:]rBM~<HAc#Sb&&&&&&&&&&&&&&&\"\n\t\t
        \ \"&&&&&&&&&&&&&&Cy\",\n\t\t  2, 0 },\n\t\t{ \"([([([^(\\?:)D]-{M#H \"\n\t\t
        \ \">rERRRRRRR[^RRRRR(\\?>RRRRR])[(\\?=^)X]{207,}U])))Z[:\"\n\t\t  \"blankcntrl:]]yyyyyyyyyyyyyyyy\\?\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[Q(\\?{*[^(\\?(\\?!!])[:graph:]]})[:alnum:]iE)dGGGGGGG[^\"\n\t\t
        \ \"GGGGGGGGGG[:xdigit:]w]\",\n\t\t  0, 0 },\n\t\t{ \"[^Z(\\?!6(\\?(\\?><=)[:graph:])]BBBBBBBBBBBBBBBB^)\",
        0, 0 },\n\t\t{ \"[[^([^[^][[[[[[[(\\?({[[(\\?(\\?imsxmsx(\\?imsi[ms:::[[[[[[[[[})\"\n\t\t
        \ \")]$)){12,})|:::::::::::::::::::[:lowerprint:]{}{-96,-147}){\"\n\t\t  \"13,}`[:digit:]]\\\"^Ca%%%%%%%%%%%%%%%%%%%%%%%%%%\"\n\t\t
        \ \"UUUUUUUUUUUUUUUUUU]]9\",\n\t\t  0, 0 },\n\t\t{ \"[^(\\?(\\?(\\?#!<=))JLBS\\\"zi)'''''''''''['''''''''''''\"\n\t\t
        \ \"piiiiiiiiiiiii(\\?<=iiii]])ZZZZZZZZZZZZZZZZZZ[:space:]\",\n\t\t  0, 0
        },\n\t\t{ \"({})[:punct:]\", 1, 0 },\n\t\t{ \"E9[:blankc(\\?{ntrl:]})N\",
        0, 0 },\n\t\t{ \"[:alph(\\?#a:]){198,}sq\\?X0B7\", 0, 0 },\n\t\t{ \"[^\\\\\\\\\\\\\\\\(\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\[(\\?<(\\?isximsx:={11(\\?(9,}\"\n\t\t
        \ \"\\?0])]]))\\?FN3M\\?{-128,}Z444444)444fbLiVN8)\",\n\t\t  0, 0 },\n\t\t{
        \"[[^[^([[[[[[[[[(\\?>[[[[[[[[[[[[[[[[[[[[[{53(\\?<=,-175(\\?>}\"\n\t\t  \"ggggggggggggggggg%))[:alnum:])[:punct:]\"\n\t\t
        \ \"kkkkkkkkkkkkkkkkkkkkkkkkk)+\"\n\t\t  \"Soooooooooooooooooooooooooooooooo](WR+--)x36+llllllllllll{,\"\n\t\t
        \ \"35}]Fqb^=F]KKKKKKaaaaa{,131}\",\n\t\t  1, 0 },\n\t\t{ \"(g\\\"Ssqw<&{Cl{82,}Mdf|9cIlmCW{}[:digit:]4C{}[:alnum:]PP)\",
        1,\n\t\t  0 },\n\t\t{ \"OOOOOOOU[*evVIIIIIIIIIIIIIIIII(\\?#(\\?#IIII)]PP[:xdigit:]\"\n\t\t
        \ \"2222222222222222[:xdigit:]Kx)p[:digit:]\",\n\t\t  0, 0 },\n\t\t{ \"([[{248,16(\\?=5(\\?#}][:alpha:])|[:p(\\?!unct:(\\?(]\",
        1, 0 },\n\t\t{ \"[pP((\\?=S)(\\?#)]$[:aln(\\?(um:)]2\\?)$GGGGGGGGGGGGGGGGG({-U:c)\"\n\t\t
        \ \"{-61,}[:ascii:]{-202}G\",\n\t\t  1, 0 },\n\t\t{ \"()$D[:alnum:]\", 1,
        0 },\n\t\t{ \"[(\\?#^]){}[:ascii:]\", 0, 0 },\n\t\t{ \"[uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu]FFFFFFFFFFFFFFFFFFFFFF&2e\\?)\"\n\t\t
        \ \"%oP'mc@z2b}n{<b4_Laz^0LLLLLLLLLLLLLLLLLLLLLLL,,,d\",\n\t\t  0, 0 },\n\t\t{
        \"{}(^________________''|$)RRRRRRRRRRRRRRRRRRR\", 1, 0 },\n\t\t{ \"(H)####################bbbbbbbbbbbbbbbbVSSSSSSSSSSS|\"\n\t\t
        \ \"tdU\\\"goeAbPP{-248,81}\",\n\t\t  1, 0 },\n\t\t{ \"[^[(\\?ims(\\?>xisx:)UHpP*n{}]{}fx14<7OEpE>n2150)\"\n\t\t
        \ \"8888888888888888]^GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGS\",\n\t\t  0, 0 },\n\t\t{
        \"(d)+\", 1, 0 },\n\t\t{ \"[^.(\\?(>)(\\?=e)])al[:space:]x\", 0, 0 },\n\t\t{
        \"[^256c(\\?!]){-19,}\", 0, 0 },\n\t\t{ \"Q)\", 0, 0 },\n\t\t{ \"[^s\\?\\?(\\?{\\?\\?\\?(\\?#\\?(\\?<!\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?(\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?{}]F\\?j(jjjjjjjjjjjjjjjjjjn)\"\n\t\t
        \ \"kTI1f[{1|(\\?<=^[^+[:digit:]{}^s^))})))T]{-17}{CCCCCCCCCCa{-\"\n\t\t  \"21,}{,-146}^uZQB]YuLu-|tUGRMz^^\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([^.{}.EE[EEEEEEEE(\\?<=EEEEEEEEEEEEEEEU]]-@s))$\", 1,
        0 },\n\t\t{ \"[^([((\\?#[#])|a)])[cccccccccccccccc][:digit:]LLLLLLL[:alnum:\"\n\t\t
        \ \"]}[P%vzl{}^]&\",\n\t\t  0, 0 },\n\t\t{ \"({}[:space:]E)101+A{-35,11}\",
        1, 0 },\n\t\t{ \"(va:7)u[:alpha:]\", 1, 0 },\n\t\t{ \"([^[[rrrrrrrrrr(\\?:rrrrrrrrrr(\\?<!rrrrrrrrry|D'*AH@a{}\\?[:\"\n\t\t
        \ \"space:][:alpha:]^]$ \"\n\t\t  \"{-225}[(\\?(:as)(\\?(>cii:])){-107,-139}6/\"\n\t\t
        \ \"{^[:upperw(\\?imsxmsx:ord:]{,-47} \"\n\t\t  \"]wuH#nAn)GGGGGGGGGGGGGGGGGr[)]T{91}lJ))[:lowerprint:][:\"\n\t\t
        \ \"xdigit:][:lowerprint:])]*\",\n\t\t  1, 0 },\n\t\t{ \"()[:space:]~!$[:alnum:]JJJJ[:ascii:]\",
        1, 0 },\n\t\t{ \"[^(\\?<=)-]()k\", 1, 0 },\n\t\t{ \"(()W){,8}ea\", 2, 0 },\n\t\t{
        \"({,-56}5G&&&&rrrrrrrrrrrrrrrrrrrrrrrrrrk.8) hWJ,TM)0Yd-\", 1,\n\t\t  0 },\n\t\t{
        \"(Z-fddddddddddddddddddddddd)-{9}\", 1, 0 },\n\t\t{ \"[^<[(\\?!:asc(\\?:i(\\?<!i:])F])[:alp(ha:]b))-}Wwx8B\",
        0, 0 },\n\t\t{ \"[^[^[^([(\\?{}(\\?=)(\\?())-CCCCCCCCCCC(\\?=CCCCCCCC(CCCCC(\\?:\"\n\t\t
        \ \"CCCCCCCC(\\?{l[(\\?!:space:]})[:upperwor(\\?:d:]{-27}[:al[^pha:\"\n\t\t
        \ \"][:xdigit:]^f\",\n\t\t  0, 0 },\n\t\t{ \"[[^]G@>2!+[:punct:(\\?<!]{,189}6ZF[:blankcntrl:][:digit:]{,\"\n\t\t
        \ \"214}){-115,-14}l[:upperword:]{101,}Z[:ascii:]Ld&02|c]<0~<bc\",\n\t\t  0,
        0 },\n\t\t{ \"(Q)[:digit:]x\", 1, 0 },\n\t\t{ \"hT[[:alnum:]\\?]O[OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOxFF%^(\\?(_\"\n\t\t
        \ \"LN \"\n\t\t  \"8uXQT\\\"*/\"\n\t\t  \"L)+l)>qQ[^]e[:ascii:]PP()[:digit:]NQ8%6d=&2I{-62,-142}w]].e{\"\n\t\t
        \ \"}*\",\n\t\t  1, 0 },\n\t\t{ \"{,-219}xxxtEEEEEEEEEEEEEEEE[:pun(\\?(ct:])qqq)\"\n\t\t
        \ \"nnnnnnnnnnnnnnnnnnnnnnnnnnn\",\n\t\t  0, 0 },\n\t\t{ \"[:di(\\?>git:])W4\",
        0, 0 },\n\t\t{ \"([^y])Fkvto$\", 1, 0 },\n\t\t{ \"[^($$$$$$(\\?!$$$$$(\\?{$$$$$$(\\?<=$$$$$$$$$$$+===)[:alnum:]\"\n\t\t
        \ \"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM)Z]{}^[:blankcntrl:]--\"\n\t\t  \"xxxxxxxxxxxxxxx[^xxxxxxx)\\?tVG\\?{232,81}{121,}xn{,-226}})\"\n\t\t
        \ \"tttttttttttttttttttttttmu(\\?<!&&&&&&&&&&&&&&&&&&&&&&0b]z)$\"\n\t\t  \"87{,-192}{}{-242,}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"l[:dig(\\?(it:]|s*)aA[:digit(\\?<=:].^.))x[:digit:]\",
        0, 0 },\n\t\t{ \"[:grap[^(\\?#h:]').]Z\", 0, 0 },\n\t\t{ \"[:gra[^ph:]t[:digit:]222222222222(22222222222222222H
        \"\n\t\t  \"qM]pWZr[:ascii:]-hRb_.)Q{-228,-204}{}\",\n\t\t  1, 0 },\n\t\t{
        \"AAAAAAAAAAAAAAA(AA)YeX\", 1, 0 },\n\t\t{ \"(!dqqqF*^){(,-79}s!!!!!!!!!!!!)\",
        2, 0 },\n\t\t{ \"[^(\\?msxm(\\?#sx:]|)ZHYup)j{95}0L:vXB#')d'DX\\?m.\"\n\t\t
        \ \"T034\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\y5rV{}S\",\n\t\t  0, 0
        },\n\t\t{ \"(W*O+yl([\\?!P(\\?:)I]${}{-195,-14}[:upperword:]{}[:xdi[^git:]\"\n\t\t
        \ \"[:space:]X[:grap[^h:]~]zzzzzzzzzzzzzzzzzzzzzzzL)+)Y \"\n\t\t  \"b.-=jf{-216,}${/!}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|]\",\n\t\t
        \ 2, 0 },\n\t\t{ \"[^\\\\\\\\\\\\\\\\\\\\(\\?<=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\m]{-48,234}[:alpha:]s)\",
        0,\n\t\t  0 },\n\t\t{ \"[(\\?{U}(\\?<!)])LLLLLLLLLLLLLLsssssssssssssssssssssssssss[:\"\n\t\t
        \ \"ascii:][:blankcntrl:]---------b\",\n\t\t  0, 0 },\n\t\t{ \"[^[^[(\\?#)(\\?imsxims[x:)<<<<[<<<<<<<<<<(\\?<!<<<<<<<([^\\?(<<<\"\n\t\t
        \ \"<<<<<<<z(\\?(zu(\\?<=~83}aZpIE)[:alnum:](\\?imsximsx:(\\?!jrE6(\"\n\t\t
        \ \"\\?<!\\?V(SzDU)000[000000000((\\?=\\?)=0])L|lOYuWXk\",\n\t\t  0, 0 },\n\t\t{
        \"$o[:dig(it:]nnnnnnnnnnnnnnn{-94}|G)[:alpha(\\?!:] \"\n\t\t  \"{,-108}D=\\?>[:digit:]S[:space:]t\",\n\t\t
        \ 0, 0 },\n\t\t{ \"()n\", 1, 0 },\n\t\t{ \"[:upp(erword:]$)<}.vZM<lEY5Y*\",
        0, 0 },\n\t\t{ \"[^([^\\?>)rCD&{5(\\?msxisx:7,}qqqqqqqqqqqqqqqqqq{31,}@w#W:(@(\"\n\t\t
        \ \"\\?:zp$YYYYA[:alpha:]{1}A)*dZJ\\\"5OG|\\?(\\?#a])]|){-150}[:\"\n\t\t  \"xdigit:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[($)gwo{`\\\"]{-160,}\"\n\t\t  \"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\66666666666666888888888888\",\n\t\t
        \ -1, 1 },\n\t\t{ \"((}DA+Rc000000000000000000)%vvvvvvvvvvvvvvvvvvvvv%C&emZ*[:\"\n\t\t
        \ \"alnum:]#m/\"\n\t\t  \"D[:graph:][:blank[^cntrl:]E{,168})\"\n\t\t  \"kkkkkkkkkk000000000000000]\",\n\t\t
        \ 2, 0 },\n\t\t{ \"[^[u*(\\?#x01234)oxGGGGG(\\?([GGGG)GGGGGGGGG]^U)!!CCCCBM`4QB^\"\n\t\t
        \ \"XEN]{,-60}[:upperword:]G]\",\n\t\t  0, 0 },\n\t\t{ \"(%)~t{S,K^MI3PMo)=b\",
        1, 0 },\n\t\t{ \"[[[^]{}eU([:xdigit:]&&&&&&&&&&&&&&&&&)\\\"W|43[:alpha:][:\"\n\t\t
        \ \"graph:]J8b[:blankcntrl:]gggggQ{,183}{,-254}\\?[:ascii(:]{,\"\n\t\t  \"134}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[[([^[^([^(\\?=)1RRRRRRRRRRRRRRRRRRRRRR(\\?:(\\?(\\?(\\?!=#RRRRR(\"\n\t\t
        \ \"\\?=RRRR(\\?<[^!Ru)])]o[:[graph:[^]{,7})[:digit(\\?::]{-215,}e[\"\n\t\t
        \ \":space:]]\",\n\t\t  0, 0 },\n\t\t{ \"({{{{{{{{{{{{{{{{{{KKKKKKKKKKKKKKKKKKKKKKKKKKKKBBBBBBBBBBBB)\"\n\t\t
        \ \"[:space:]0[:alnum:]HcctQA\",\n\t\t  1, 0 },\n\t\t{ \"[^(pP7(HsN[^g{186,-87}\\?\\?]EQ%u:-Y)+>>>>>>>>>>>>>>>>>>>>>pP]\"\n\t\t
        \ \"[:alpha:]\",\n\t\t  0, 0 },\n\t\t{ \"[(.{141}h|)((\\?:\\?=@Q} \"\n\t\t
        \ \"ghcC{+*(R)D+][:lo(\\?#werprint:]\"\n\t\t  \"zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz))\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^({}S)PPFl(])-216\", 0, 0 },\n\t\t{ \"[([[^(((([(\\?#^[^[^\\?4[(:[dig[^it(\\?(:]{122,})y\\?\",
        0, 0 },\n\t\t{ \"[[2${188}u{1(4(\\?(1,1(\\?{98}e{&tbaoI]q)[:punct:])d}))\"\n\t\t
        \ \"Nqffffffffffffffffffffffffffff[:ascii:]+]\",\n\t\t  0, 0 },\n\t\t{ \"()K-\",
        1, 0 },\n\t\t{ \"[[{2(2((\\?(\\?!()2})])[:alpha:]fVVVVVVVVV{-47}):::::::::::)\"\n\t\t
        \ \"\\?vwyyyyyyyyyyyyyyyyyyyyyyyyy-]{}\",\n\t\t  0, 0 },\n\t\t{ \"ivcs)g\",
        0, 0 },\n\t\t{ \"(hhhh[^hhhh(\\?{h\\?]})%%%%%%%%%%%%%%%)\\\"+38mbY:s9{/d#
        \"\n\t\t  \"zaNnbQb)b:*zpKI{-26,-189}\",\n\t\t  1, 0 },\n\t\t{ \"S*(#)[:graph:]lllllllll&G)t\",
        1, 0 },\n\t\t{ \"([^[(([\\?=\\?<!)]]___{-63,})]nt\", 1, 0 },\n\t\t{ \"[:b(lankcntrl:][:alpha:]*[:pu[^[nct:][:alpha:]A]$\"\n\t\t
        \ \"aaaaaaaaaaaa*)A[:digit:]U][:alnum:]\",\n\t\t  0, 0 },\n\t\t{ \"[^f[^p000{68(\\?isxmx:,}(\\?!vvvvvv)$)]PP#*{(})[:punct:]&&&&&&\"\n\t\t
        \ \"&&&&&&&[:punct:]\\?][:blankcntrl:]\",\n\t\t  1, 0 },\n\t\t{ \"[^(((\\?(\\?(()))GGGGGGGGG{(\\?!($)))((\\?!)V^{228,145}))]{-229}\"\n\t\t
        \ \"Qjjjjj[:punct:]R)\",\n\t\t  0, 0 },\n\t\t{ \"[(Q[^((\\?{(\\?:]~z)})gE(.<){}|)Kuuuuu$*\"\n\t\t
        \ \"222222222222222222222D]\",\n\t\t  -1, 0 },\n\t\t{ \"([^`(\\?<=`````[^`````````M]\\?)=L74A[:upperword:]]P\",
        1, 0 },\n\t\t{ \"(({}[:space:]qv-T){,-192}{-45}{65}9\\?X).d\", 2, 0 },\n\t\t{
        \"_[(:upperword:]mU(P}qX>\\?%)$Lwq[:alpha:]{-115,}=============\"\n\t\t  \"==================={127,}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"e)\", 0, 0 },\n\t\t{ \"[{,2[5}Klen+D0'YX(\\?<=|_H]I,Y\\\"*/<3sM[:digit:]])#.\",
        0, 0 },\n\t\t{ \"[:(xdigit:]){[:digit(\\?mxmsx::][:as(\\?<=cii:]d!{135})#)pP[:\"\n\t\t
        \ \"space:]Syyyyyyyyyyyyyyyyyyyy\\\"Gg8\",\n\t\t  0, 0 },\n\t\t{ \"[(\\?()])\",
        0, 0 },\n\t\t{ \"[^([^[^[[^[:alpha:]SIus[^f<f]}}}}}}}}}}][:xdigit(\\?=:]Z{-13}\"\n\t\t
        \ \"*]_[]LLLL)]E[:alnum:]b$)]]]]]]]]]]]]]]]]]]]]]]]]][:\"\n\t\t  \"lowerprint:][:ascii:]{,40}{86,}\"\n\t\t
        \ \"333333333999999999999999999999999999*\"\n\t\t  \"fffffffffffffffffffffffff99999999U9|[:digit:][:upperword:]\"\n\t\t
        \ \"oowwwwwwww[wwwwwwwwww{195}[:xdigit:]]H{-73,153}R+zAz{}r/////\"\n\t\t  \"////////\"\n\t\t
        \ \"{232,}kAoffffffffff[:blankcntrl:]xxxxxxxxxxxxxxx]KKKKKl0,[:\"\n\t\t  \"alpha:]|{,-165}Qc{96}CCCCCCCCCCCCCCCCCCCC/\",\n\t\t
        \ 0, 0 },\n\t\t{ \"{}:V(7O-)[:ascii:][:graph:]PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP#\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[^(\\?<[^=CC(CC$)]*        c)BBBBBBBBBBBBBBBBBBBBBBB]z{-18,}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[[qqqqqqqqqqq(\\?(qq235|ttttttttttttttttttttttttttttt[[ttt<<<\"\n\t\t
        \ \"<(\\?{<<<<<<<<<<<<)<<<<<<<<p)/\"\n\t\t  \"S9(\\?{OOOOOOO(\\?<!OOOk)})]nIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIb]\"\n\t\t
        \ \"Z})\",\n\t\t  0, 0 },\n\t\t{ \"[^[^(\\?>][^((\\?<!C(\\?!+(\\?=)]^8)6nx).)){,-13}[:blankcntrl:]\"\n\t\t
        \ \"\\\"(L{}){,29}nnnnn{-83}]l[:upperword:])\",\n\t\t  1, 0 },\n\t\t{ \"[(ZZ\\\"#(\\?#Nb(\\?<!:U)oRRRR])Zei${Ec/)s\",
        0, 0 },\n\t\t{ \"[^[^[(\\?(t(\\?:3```````)`````)|#CB)//////////////////////////\"\n\t\t
        \ \"///\"\n\t\t  \"*!liB#|CCCCCCCCCCCCCC(\\?=CCCCCCa7N]weTTTTTTTTTTTTTTTT1{}o\\?{\"\n\t\t
        \ \"}BBBBBBBBBBBBBBBBBBBBBBBB.])u{-218,126}.,[:space:]]\",\n\t\t  0, 0 },\n\t\t{
        \"[[([:alnum:])yyy(\\?!yyyyyyyyyy(\\?!yyyyyyyyyyyyyyyyyyy[:\"\n\t\t  \"graph:]I])Uw*X.^[:ascii:]{,-63}[:digit:]{-88})&&&&&&&&&&&&&&\"\n\t\t
        \ \"]*\",\n\t\t  0, 0 },\n\t\t{ \"[[[^K(\\?=KKKKKKKKKKKK(\\?:KKKKKKKKK[KKKKKK]]U[:digit:])]dd)({\"\n\t\t
        \ \",16})xy+Pu)JJJJJJJJJJJJJJJ[:space:][:ascii:][:upperword:]ql_\"\n\t\t  \"jywmt4B+]{-30,}^555555555Xza[:punct:]\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[[^^XXX(\\?:XXX((XXXXXXXXXXXXXXXXXXXX)v)$N9$\"\n\t\t  \"r\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"].{,239}$[:punct:]\\\"9999][:alpha:\"\n\t\t
        \ \"]{}c){,55}s[:upperword:][:xdigit:]310\",\n\t\t  0, 0 },\n\t\t{ \"[@([^I8oNl)]-{-203,-224}{-78,}KKKKKKKKc{-66}[:xdi(\\?=git:]==\"\n\t\t
        \ \"========){}f{-124,}[:upperword:][:lowerprint:]]{}--------l+\",\n\t\t  0,
        0 },\n\t\t{ \"[^]ozp+0(\\?#\\\"[(\\?()X]))[:blankcntrl:][^e{99,222}\"\n\t\t
        \ \"JJJJJJJJJJJJJJJ3F]\\?[:blankcntrl:]l$ot\",\n\t\t  0, 0 },\n\t\t{ \"[[^[[((\\?isximx:)2222222222(\\?=22222[:graph:])+U)((\\?{\\?<=(\"\n\t\t
        \ \"\\?()iYv8qc@#y)G])+}))FvnP\\\"7OZ-b273[:ascii:]Ak6*`S[:digit:][\"\n\t\t
        \ \":graph:]]{2}^G{79,}DDDDDbbbbbbbbbbbbbbbbbbbbbbbb(bbbbbbb)|\"\n\t\t  \"tP48y{wNJ_S
        hJbY]]dc\",\n\t\t  1, 0 },\n\t\t{ \"[:alph(\\?{a:]p1[:lowerprint:]}){163,}\",
        0, 0 },\n\t\t{ \"W()\", 1, 0 },\n\t\t{ \"()``````````````````````````[:ascii:][:alnum:]{,26}[:graph:\"\n\t\t
        \ \"]\",\n\t\t  1, 0 },\n\t\t{ \"[:al(\\?<!num:]|byyy,*)U5%u${190}-{-221,-33}\"\n\t\t
        \ \"k7777777777777777777777777777777+eXXXXXXXXXXXXXXXXX[X(\\?(XX)\"\n\t\t
        \ \"XX)S'vEAa]*e\",\n\t\t  -1, 0 },\n\t\t{ \"[^(([R_AC[lE'{2(\\?{28(]8LTt[]b[:punct:]]O)|2[:graph:][:\"\n\t\t
        \ \"space:]})                               \"\n\t\t  \"x3C[:alpha:])uI+dddddddddddddddddddddddd{-165,}\"\n\t\t
        \ \"FFFFFFFFFFFFFFFFFFFFFFF)cccc*[:upperword:]]G{,-38}{24,}\"\n\t\t  \"555555555555555555555555555VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVZ[\"\n\t\t
        \ \":blankcntrl:][:ascii:]\",\n\t\t  0, 0 },\n\t\t{ \"[^QQQQQQQ(\\?#QQ(QQQQQQ[:punct:][:space:]){(\\?(\\?:!}[:graph:]\"\n\t\t
        \ \"t}}[^}}(}}}}}444444[^444444444444444444444]\\?]G)E)L{,-103}{\"\n\t\t  \"84,}r$ii]-[:alp(\\?<=ha:]S5G~9>n*)P<\"\n\t\t
        \ \"3tttttttttttttttttttttttttt)n{}[:graph:]\"\n\t\t  \"eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee{,83}[:digit:])\"\n\t\t
        \ \"0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB[:alpha:]{-155,}{151,}\",\n\t\t  0, 0 },\n\t\t{
        \"Ue{,254}+f[:lowerp(\\?<=rint:]U.fff)\", 0, 0 },\n\t\t{ \"QQQQQQQQQQQQQQQQQQQQQQQQAY<J)'MPi_u%#2doopqU7/\"\n\t\t
        \ \"{103}[:graph:]e!7{GOr\",\n\t\t  0, 0 },\n\t\t{ \"[^({,[^233}[^d)BBBBBBBBBBBBBBB=======(\\?>===========[^=S|[^[\"\n\t\t
        \ \":alpha:]G/]qqqqqqqqq{}[:xdigit:])..k\",\n\t\t  0, 0 },\n\t\t{ \"[([^[[:space:]ffffff(\\?=ff]M]))[:xdigit:]UbCI,CzalLU*y5I[:\"\n\t\t
        \ \"digit:]r{-30,180}{-209,-45}Paf]\",\n\t\t  0, 0 },\n\t\t{ \"[^[h(\\?{hhhhhhhhhhhhhhhhhhhhh})]{,143}[:lowerprint:][:ascii:\"\n\t\t
        \ \"((\\?(\\?=])[:asc)ii:])zp]\",\n\t\t  0, 0 },\n\t\t{ \"[[(\\?{]})]\", 0,
        0 },\n\t\t{ \"[[1\\\"3m^,(\\?<!2((\\?!\\?#t```````````````````````````)\\?)|c^)\"\n\t\t
        \ \"A^~]{61}W\\\\\\\\\\\\vvvvrrrrrrrrrrr[:digit(\\?#:])]F[:upperword:]\"\n\t\t
        \ \"dX\\\\\\\\\",\n\t\t  0, 0 },\n\t\t{ \"([${144,}(\\?<!)-RAk_F(\\?imsxisx:=9]z/))\",
        1, 0 },\n\t\t{ \"[[^[[[^([[^[^[^([[^([[Uiiiii#####(\\?(\\?{(\\?<!#########(\\?=##\"\n\t\t
        \ \"###).^)(.|>2m[M/\"\n\t\t  \"2222222222222222222222222222(\\?:22222222222(\\?#22(\\?:(\\?=\"\n\t\t
        \ \"22222{,243}]x68+I/\"\n\t\t  \"K)11111111111]\\\\pP[:graph:]$[:space:]^{}A)[:xdigit:]-={>\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[(\\?>[(^()Vty2vvvvvvvvvvvvvvvvz^])ZZZZZZZZZZZZZZZZZZZ-------\"\n\t\t
        \ \"---------5\\\\dVLSp8UE2m+z3X/Sd\",\n\t\t  0, 0 },\n\t\t{ \"[}}}}}}}}}}}}}}}}}}}(\\?#}}(\\?<=)|*C
        \"\n\t\t  \"]*29JW7O9mEB]pE_OoxN)[:alpha:]\",\n\t\t  0, 0 },\n\t\t{ \"([^((\\?<=\\?)D{,200}.[(\\?#:ascii:])[:space:].)[:alpha:]D|[:\"\n\t\t
        \ \"graph:]{,-41}*LLUUUUUUUUUUUUU{-189,-131}]qHR<k2@P{27}<^e,ub%\"\n\t\t  \"\\?/4){-243}+[:digit:]%*x9lA^\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([:alpha:]bT&+_)$Z{,212}x26`\", 1, 0 },\n\t\t{ \"[^([^(A{[^}g(\\?()A9p#54b]-------------------------------).\"\n\t\t
        \ \"wzD#=f\\\\)A)8a]]DNNNNNNNNNNNNNNNNNNNNNNNNNN\",\n\t\t  0, 0 },\n\t\t{
        \"(W000000000000000000000000000000)\", 1, 0 },\n\t\t{ \"www(wwwwwwwwwwwww)\",
        1, 0 },\n\t\t{ \"()555555555555{18}i+[:alnum:]E  {}U\", 1, 0 },\n\t\t{ \"SqbHoooooooooooo[^oooooo([^ooooooo])\\\\N[:xdigit:]]oooo`\",
        0,\n\t\t  0 },\n\t\t{ \"[999999999999999999uE{193,0}lx{7917}[:punct:]4&d]{221,}[:\"\n\t\t
        \ \"digit:]{49,156}[:lowe(\\?<=rprint:])[:space:]{-33}w+\",\n\t\t  0, 0 },\n\t\t{
        \"[^(\\?{})<{220,-193}[(\\?=:xdigit:]UUUUUUUUUUUUUUUUUUU'{-18}]\"\n\t\t  \")\",\n\t\t
        \ 0, 0 },\n\t\t{ \"b[(\\?<=:upperw(\\?{ord:][:digit:]})EEEEEEEEEEEEEEEEEEEEE/////\"\n\t\t
        \ \"/////////////){177}C\",\n\t\t  0, 0 },\n\t\t{ \"(^).[:alnum:][^[(\\?=[(\\?{[})DA5{)[[I~y&O\\?9>])]][:\"\n\t\t
        \ \"blankcntrl:]M[:alpha:]x9[:upperword:]|[:xdigit:]b\",\n\t\t  1, 0 },\n\t\t{
        \"()[:digit:][^[U}-]]{,206}V*WJ@R]\\?\", 1, 0 },\n\t\t{ \"[^](\\?#{}(\\?[<=)yv)]r\",
        0, 0 },\n\t\t{ \"({,-192}//////////////////////7!eW_0eoL){}\", 1, 0 },\n\t\t{
        \"^[:punct:(]+)IIIIIIIII[:punct:]P$pP\", 0, 0 },\n\t\t{ \"[(\\?=|U)^-]{-52,-72}[:digit:]*6666666666\\?{{{\",
        0, 0 },\n\t\t{ \"([^f(\\?:+{1((\\?=34,}]))^)s0bux7\\?5`Bwr[:upperword:])Dy+\",
        1,\n\t\t  0 },\n\t\t{ \"AL{}:::::::::::::::::::::::::::::::{,(104}~@,Ysey@h).\",
        1,\n\t\t  0 },\n\t\t{ \"[^((.)))(\\?()))))))))))))))))))))(\\?msxims:))))))))))[)][:\"\n\t\t
        \ \"upperword:][:alpha:])\",\n\t\t  0, 0 },\n\t\t{ \"[^(()f])G^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^T{}N*nK[G]{,61}^^^^^\"\n\t\t
        \ \"^^^]\",\n\t\t  0, 0 },\n\t\t{ \"[(N::(\\?<=[:digit:][:graph:][:space:]xB5[(:xdigit:]|Yv{}\"\n\t\t
        \ \"HHHHHHHHHHHHHHHHHHHHHHHHd).[:g(\\?<=raph:])[:digit:]<<)[:\"\n\t\t  \"digit:])[:space:]Q[:punct:]x7C]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^((\\?(\\?(())a)(\\?!){})W)pP3333333333(\"\n\t\t  \"33333333333333333333hhh]{})\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^                [               \"\n\t\t  \"a*FFFFF[^FFFFFFFFFFF(\\?<[^!FFFF(\\?=FF])])L1]{,-52}{B-bxsPKg{\"\n\t\t
        \ \",8}[:digit:][:punct:][:upperword:]DD${,-131}\",\n\t\t  0, 0 },\n\t\t{
        \"($$$$$$$$$$$$$$$$$$$$$$$$$$$$$^pP),,,,,,,,,,,,,(,,,,,,,,,,,,\"\n\t\t  \")QQQQQQQQQQQQQQQQQQQQQQQQ\",\n\t\t
        \ 2, 0 },\n\t\t{ \"[:lowerprint:]|l{(,-54}C{}*-)IIIIIIIIIIIIIIIII\", 1, 0
        },\n\t\t{ \"()+\", 1, 0 },\n\t\t{ \"[(([(\\?{[:punct:]]|))[[[[[[[[[[})]WWWWWWWW&$$$$$$$[:graph:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^(\\?{}){(107[(^,}][:space:[]))^w,&aPPPPPP[^PPPPP{117,-213}\"\n\t\t
        \ \"s\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?]]]222222[:d(\\?(\"\n\t\t
        \ \"igit:]NNNNNN)NNNNNNNNNNNNN8)I\",\n\t\t  0, 0 },\n\t\t{ \"[^(\\?<!$)|TTTTTTTTTTTTTTTTTTTTTT(TTTT]a8)2<\",
        0, 0 },\n\t\t{ \"([^[]%[^[^]-][:alpha:]37*:[:space:]]lQvu)[:xdigit:][:\"\n\t\t
        \ \"blankcntrl:]\",\n\t\t  1, 0 },\n\t\t{ \"[[Bl_>9C^:\\?X_KK]2sw@hHZT!],uuuuuuut|lFW()''''''''''''''''''\"\n\t\t
        \ \"'''[:graph:]<~v{-251}0[:digit:]C[{222,}]{,41}{}*g^UuS/\"\n\t\t  \"{-114}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"(D{,-79}[:gra(ph:(\\?(]C[:ascii:]))I[tC.%tkllll[^\"\n\t\t
        \ \"llllllllllllllll]&&&&&&)&&&&&&&&&&&&&&&&&&&&&&)]10435\",\n\t\t  1, 0 },\n\t\t{
        \"[:al(\\?{[^num:]]})}x'[:(\\?#xdigit:])\"\n\t\t  \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxKKKKKKKKKKKKKKKKKKKKKKKKKKKKTT\"\n\t\t
        \ \"Tr*%{~f\",\n\t\t  0, 0 },\n\t\t{ \"[ZQKEEEEEEEEEEEEEEEEE(\\?<!]3|.~~~~~~~~~~~~~~303)\"\n\t\t
        \ \"33333333333333333\",\n\t\t  0, 0 },\n\t\t{ \"(-62([:ascii:]5555){-230,}<<<<<<SM[:punct:]{72}|E{160,})\"\n\t\t
        \ \"Pfqba!{,-188}DS{ +2tRu\\\"0JG$\",\n\t\t  2, 0 },\n\t\t{ \"([^(\\?:(Ea00000000000000[:punct:][:graph:]{}]))[:xdigit:]{-\"\n\t\t
        \ \"65}t){164,}\",\n\t\t  1, 0 },\n\t\t{ \"[\\?$$$$$$$$$$$$$$$$$$$$$$$$$F......(\\?(.).q#R:j6%TTLCdtuM|8*\"\n\t\t
        \ \"54<GHoqEh9FBW0:W]L0)o][:upperword:]\",\n\t\t  0, 0 },\n\t\t{ \"[(\\?>[:alnum:]W[:space:]]D)|L\",
        0, 0 },\n\t\t{ \"(M(MM)[:alnum:]|[:lowerprint:]4)\", 2, 0 },\n\t\t{ \"[[^(\\?:{}{2[2(\\?>0,})]]]Etu)-)\",
        0, 0 },\n\t\t{ \"([^[^^z[:graph:]]#{-144,96}[:punct:]!4LY//////////////////\"\n\t\t
        \ \"SSSSSSSSSSSSSSSSSSSSSSSSS[[^:xdigit:]\\?`-!L#p0{52}]%{-121,}[\"\n\t\t
        \ \":graph:]]WqJ>$6UBg{,7}[:blankcntrl:])[:upperword:]y2wW!A[:\"\n\t\t  \"blankcntrl:]0CN\\?\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[[^(\\?:|+bII(IIIIIII(\\?(\\?>!)275SIIIIIIIIII(IIIIIII(\\?=\"\n\t\t
        \ \"IIIIII[:graph:]|)`]S\\?.}A)[:alnum:]Jgggggggggg{-150,}{-89,})\"\n\t\t
        \ \"[:alpha:]Q)|07be5:j)]\",\n\t\t  0, 0 },\n\t\t{ \"([(\\?i(ms(\\?=x-x(\\?>:))C)]){})>eIqm~lFb[:upperword:][:\"\n\t\t
        \ \"blankcntrl:]w=[:digit:][:graph:]\",\n\t\t  1, 0 },\n\t\t{ \"([HHHHHHHHHHHHHHHHHHHHHHHHHH[^HHH(\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?!!!!!!!!!!!!!!!!!!\"\n\t\t
        \ \"!!{23}]~J=[:ascii:]tttttttttttttttt])-216\",\n\t\t  1, 0 },\n\t\t{ \"B{[^-32,246}{13(\\?!0}q>GVQw*[:digit:][:punct:].\"\n\t\t
        \ \"77777777777777777777`T(-t01odD]\\?${}{-247}+gV{131})+[:\"\n\t\t  \"lowerprint:]m/z~d\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[t[$FV+(\\?=E=[^])]-$U{-22[5,}{253,}08g]$[{}][:xdigit:][:\"\n\t\t
        \ \"punct:]{-18}{-173,}]{,-191}V_|90\",\n\t\t  0, 0 },\n\t\t{ \"()$\", 1,
        0 },\n\t\t{ \"[^[^((((((((((((((W[(\\?::blankcntrl:]&-JH]J){93}LLLLLLL|r{,\"\n\t\t
        \ \"221}tY/172]-AS\",\n\t\t  0, 0 },\n\t\t{ \"[^()(\\?{qqqq(\\?msimsx:qqqqqqqqqq3999999999999GGGGG|S*W%{,\"\n\t\t
        \ \"128}][:xdigit:]AJt]}\\\"Zf!lRpr{>){,36}})\",\n\t\t  0, 0 },\n\t\t{ \"[([]^]^)\",
        0, 0 },\n\t\t{ \"([.(\\?#){}[:alpha:]\\?S{2}P%Gw]\"\n\t\t  \"nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnYiq5)>i*r<\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[ggggggggggg$PPP:S \"\n\t\t  \"(:]N{239,}|A[:lowerprint:]vvvvvvvvvv[:lower(print:]{-184}({-\"\n\t\t
        \ \"133,}+)[:punct:]P/Q.OOOOOOOOOOOOOOOOOOOOOOOOOOOOOO\",\n\t\t  1, 0 },\n\t\t{
        \"(RRRRRRR[^RRRRR[RRRRRRRRR])]\", 1, 0 },\n\t\t{ \"[(\\?:^])D%\", 0, 0 },\n\t\t{
        \"()[]#C[+[j]{,29}-]\", 1, 0 },\n\t\t{ \"(([(\\?(((\\?{\\?!(\\?=\\?=#[Es*){02$r'}(\\?:3pz)\"\n\t\t
        \ \"uPPPPPPPPPPPPPPPP(\\?(\\?>:PPPP][:graph:][:ascii:]`.)[:punct:]\"\n\t\t
        \ \"[:a(\\?mxi:lnum:])r)$)[:xdigit:]$[:(\\?=digit:])aa[^]a)\\?])\"\n\t\t  \"sQQQQQQQQQQQQQQQQQQQQQQQQQQ^|$)-}))\",\n\t\t
        \ 2, 0 },\n\t\t{ \"z@@@@@@@y${}[:(\\?:upperword:]l\\?{,144}-)\", 0, 0 },\n\t\t{
        \"[:aln(\\?:(\\?>um:(\\?imximsx:]){})FGGGGGGGGGG|-p){,105}\", 0,\n\t\t  0
        },\n\t\t{ \"[[{17}llllllllllllllll(\\?:lllllllll{,(\\?#-94}OUUUUUUU(\\?#\"\n\t\t
        \ \"UUUUUUUUUUUUUAA]p[:digit:]{-1(57,}5yyyyyyyyyyyyyyyyyyyyy[:\"\n\t\t  \"alnum:]v{-185}^^^^^^^^^^^^^)d[[[p)]))\",\n\t\t
        \ 1, 0 },\n\t\t{ \"()|[:digit:].E2o\", 1, 0 },\n\t\t{ \"()3[:lowerprint:]\",
        1, 0 },\n\t\t{ \"[(\\?{(\\?#(\\?>SN}[^)z+r^t[:digit:]seP[:alnum:]$b1ZY[U(\\?<!\"\n\t\t
        \ \"U4IIIIIIIIIIIII(\\?<=IIIIIIIIII]m)]))]4)\",\n\t\t  0, 0 },\n\t\t{ \"{,74}
        \     qkk[^p]kbi6>{}000000000000000000000000000000$|)\",\n\t\t  0, 0 },\n\t\t{
        \"[:(\\?=digit:])v{164}\", 0, 0 },\n\t\t{ \"[:graph:]h[:upper(\\?(wo(\\?{rd:)])00000[^000000000000}).\"\n\t\t
        \ \"4OEVf{,-46}]A\",\n\t\t  0, 0 },\n\t\t{ \"[](((((((((((((((N{{{{{{{{{{{{{{{{,-1}e]a{-166,-44}\",
        0, 0 },\n\t\t{ \"([[^[^[(^[]]YYYYYYYYYYY]D.cQ{}[:alpha:]ttttttt000000[^0000(\"\n\t\t
        \ \"\\?<!0000000000000000N::::::::].][:alpha:]#5\\?{}{-253,-193}]\"\n\t\t
        \ \"\\\\[:ascii:]tS{,35}B)ffffffffffffffffffffffff))/\",\n\t\t  1, 0 },\n\t\t{
        \"(G)[:alpha:(\\?#])W{-197,-220}w8\", 1, 0 },\n\t\t{ \"{-2[^00,(\\?#-([84}ig+)]]l[:graph:][:graph:][:space:])\"\n\t\t
        \ \"aaaaaaaaaaaaaaaaaaa{-208,}ea{,224}\",\n\t\t  0, 0 },\n\t\t{ \"[^[W(\\?<=[B[:xdigit:]{255,}FAAAAAAAAAAAAAAAAAAAPP])[:xdigit:\"\n\t\t
        \ \"]+][:lowerprint:]${-195}\",\n\t\t  0, 0 },\n\t\t{ \"[v{104,}BB].HHHHHHHHHHHH[:ascii:]\"\n\t\t
        \ \"bbbbbbbbbbbbbbbbbbbbbbbbbbbb(btttttttttttttttttttttttttt){\"\n\t\t  \"180}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[^(i[^iiiiiiiiiiiiiiiiii(ii)n])#######################]\",
        0,\n\t\t  0 },\n\t\t{ \"(([:space:])[:g(\\?>raph:])[:punct:][:upperword:]LV\\\"t+t!)[:\"\n\t\t
        \ \"ascii:][:lowerprint:]q\",\n\t\t  2, 0 },\n\t\t{ \"[[[^([7(\\?[<!)\\\\PP~D7L
        \       (\\?imsimsx:(\\?=  \"\n\t\t  \"$GS26L3-J(\\?()!)]]{-178}%$[:p(\\?!unct:]))yyyyyyyyyyyyyy@w,[\"\n\t\t
        \ \"11!R86:)G*[(\\?(:blankcntrl:]267$~L\\?{-108}k[:alnum:]So\\?Y/\"\n\t\t
        \ \"eq]-|[:xdigit:]555555555555555555555555555)55555........W*O)\"\n\t\t  \")][:alnum:]]I{,-126}[:lowerprint:]8\\?[:xdigit:]u%wHc6\\?:Pc..\"\n\t\t
        \ \".........................,,,,,,,,,,,,,,,,,,,,,,,,,,,]\",\n\t\t  0, 0 },\n\t\t{
        \"((3pPp))QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ\", 2, 0 },\n\t\t{ \"[[^]{-244[}(\\?([^|W0E4]UUUUUUUUUUUUUU[:upper)word:][:space:]\"\n\t\t
        \ \"{-57,})+L>R]]$PeFuufcBA`qr!!!!!!!!!!!!!!!!!!!!!!!!!\",\n\t\t  0, 0 },\n\t\t{
        \"[[(\\?#F^(\\?<!)|)fff(\\?!fffffffffffffffff(\\?{ffffff(\\?:\"\n\t\t  \"ffffff[:alnum:])]]c.\\?-}))\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^[^((\\?:)ww[wwww(\\?>wwwww)3z/57z){34}]/(/////////////[^////\"\n\t\t
        \ \"//////////////)]E%)L{-133}]*$]\",\n\t\t  1, 0 },\n\t\t{ \"(!)GS[:ascii:][:punct:]{235}T'&-_h\\\"\",
        1, 0 },\n\t\t{ \"(){}\", 1, 0 },\n\t\t{ \"[[^((\\?!(\\?<=)*QF[:alpha:])([^[^\\?<!x60t(\\?<!\"\n\t\t
        \ \"UUUUUUUUUUUUUUUUUUUU)K&d{118}z7nM.G)````````````````````````\"\n\t\t  \"```E:(\\?(){31,}){}]k]){,109}[:space:]]ZZ[:xdigit:]]{-68,}`{}\"\n\t\t
        \ \"{}e\\?[:alnum:]\",\n\t\t  0, 0 },\n\t\t{ \"[^{223}.^,-qqqqqqqqq((\\?!\\?>qqqqqqqqqqqqqqqqqqqqqqqP6W0_'O)\"\n\t\t
        \ \"Bur*'6&*t)]{65})+\",\n\t\t  0, 0 },\n\t\t{ \"([(\\?=)]wr$7f5ru){100,}[:xdigit:]y{}[:digit:]{}2n@P|9#mru~\"\n\t\t
        \ \"97{-189,73}$a\",\n\t\t  1, 0 },\n\t\t{ \"({-113,213}){-172,221}B[:ascii:]{,-48}\",
        1, 0 },\n\t\t{ \"[^[[Xf`````((\\?{(\\?<=\\?imsmsx:`````````(\\?!`````````[```(\"\n\t\t
        \ \"\\?mximsx:``(\\?(&|o{xIaO][:)space:]3))\\?])+)*<|@@@@@@@@@@@@@@\"\n\t\t
        \ \"@@@@@@@@){-251,}{}]*[:graph:]1!azE\\?|-120u*][:lowerprint:]}\"\n\t\t  \")\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[[[^##(\\?################(\\?>(\\?(##t)][:punct:])b))<<<<<<<<<\"\n\t\t
        \ \"<<<<<<<<<<<<<<<<<[:alnum:]y \"\n\t\t  \">u=l:rp8i3Ci#]46%NIO-W[:space:]IIIIIIIIIIIIIIIIII]W[:space:]\"\n\t\t
        \ \"f]l{-253}\",\n\t\t  0, 0 },\n\t\t{ \"[:graph:]L{-136,175}{[^}h(\\?=t)Q]ooooooooo(\"\n\t\t
        \ \"ooooooooooooooooo_)[:space:]q\\?\",\n\t\t  1, 0 },\n\t\t{ \"()$.\", 1,
        0 },\n\t\t{ \"[(\\?<!^$.\\?{197}B]$)\", 0, 0 },\n\t\t{ \"[:di(git:])[:low(erprint:])qqqqqqqqqqqqqqqq[:digit:]\",
        0,\n\t\t  0 },\n\t\t{ \"((zzzzzzzzzzzzAUUUU)l$]VD                 z~)n\",
        2, 0 },\n\t\t{ \"([^[(\\?<=^[]{}][.WWWW)044444444444(\\?=44(\\?{444(\\?{(\"\n\t\t
        \ \"444444444444e{(\\?=}}))..t]+[:(\\?<!xdigit:]P]-N}))))|)\",\n\t\t  1, 0
        },\n\t\t{ \"\\\\ce[:(\\?#asc(\\?{ii:])})[:upperword:]`^\", 0, 0 },\n\t\t{
        \"[:graph:(\\?<=])[:alpha:]\", 0, 0 },\n\t\t{ \"([:upp(\\?=erword:])pC)lp\\?\",
        1, 0 },\n\t\t{ \"(oooooooooooooo\\?fN)-[:alpha:]{-213}[:alnum:]qHEu\", 1,
        0 },\n\t\t{ \"[:punct:]TTTTTTTTTTTTTTTTTTT[:d(\\?#igit:])[:alpha:]\", 0, 0
        },\n\t\t{ \"([^[^[^J4(+++++++++++++++++++++SgDE(\\?>\\\"y8].]::::::::::::::\"\n\t\t
        \ \":)pP5-]p)O{,199}xxxxxxxxxxxxxxxxxxxxxx[:ascii:]%\",\n\t\t  1, 0 },\n\t\t{
        \"([:alpha:]Fs)Z\", 1, 0 },\n\t\t{ \"[()]{209}[:alpha:]hhhhhhhhh(hhhhhhhhhhhhhhhhhhhhh)pP<<<<<<<<\"\n\t\t
        \ \"<<<<<<<<<<<<<<<<<<<<<\",\n\t\t  1, 0 },\n\t\t{ \"-{-8,}.[:(\\?imsxx:ascii(\\?<!:]{-231}aa*{}K^UQL\\?)d\\?[:\"\n\t\t
        \ \"lowerprint:]W)q>D9'\",\n\t\t  0, 0 },\n\t\t{ \"[#(\\?msximsx:#########################-IIIIIIIIIIIIII(IIII(\"\n\t\t
        \ \"\\?#IIIII((\\?#[^III{})N.[(\\?=:lowerprint:]))CwT,,,,,,,,,,,,,,\"\n\t\t
        \ \",,,,,,Sq]$CCCCCCCCCCCCCCCCCCCCCCCuuuuuuuu])))\",\n\t\t  0, 0 },\n\t\t{
        \"[:xdigit:][(\\?#]){13}{,75}lllllllll\", 0, 0 },\n\t\t{ \"[c]QQQQQQQQ1+{-252[(\\?#}33333])[:upperword:]\",
        0, 0 },\n\t\t{ \"P@i #>>PF!@8G<[(\\?:^P]-)D\", 0, 0 },\n\t\t{ \"uZZZZZZZZZZZZZZ[^ZZZZZl*-211{199}(\\?!p])\"\n\t\t
        \ \"EEEEEEEEEEEEEEEEEEEEEEEEEEED[:lowerp(\\?msximsx:rint:])\",\n\t\t  0, 0
        },\n\t\t{ \"[(\\?!^])021[:graph:]'\", 0, 0 },\n\t\t{ \"\\\\(\\?>[(\\?<=:ascii:]{}[:alpha:]d8}G))\",
        0, 0 },\n\t\t{ \"[^[((\\?!1)[^,a|]\\?{,242}[:alnum:])X\\\"a\", 0, 0 },\n\t\t{
        \"pP[((\\?simx::a(\\?!lnum:]vvvvvvvvvvvvvvvvvvvvvvvvv)|O0)[:\"\n\t\t  \"digit:]ooooooooooooooooooooo)\"\n\t\t
        \ \"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\",\n\t\t
        \ 0, 0 },\n\t\t{ \"_ L:8J-~ Y$[:uppe(rword:]{,-184}]{}6.A)\", 0, 0 },\n\t\t{
        \"{,105}.(9]]{-12})N@0nOOE\", 1, 0 },\n\t\t{ \"HHHHHHHHHH[:xdigit:]uuuuuuuuuuuu{}E^X\\\\\\\\\\\\12601\",
        -1, 1 },\n\t\t{ \"( o)=\\\"OU7h{V>\", 1, 0 },\n\t\t{ \"[[:xdigit:])))))$[:xdigit:]+{152}{,-50}(c),,,,,,!!!!!!!!!!!!\"\n\t\t
        \ \"!!(\\?>!!!!!!!!!!!!!.[:digit:]i>\\\"O'i9])-175d_\",\n\t\t  0, 0 },\n\t\t{
        \"[([^[^[^([[Eeee[^eeeeeee(\\?(\\?<!(eeeeeeeeeeeeeeeeeef|]][:\"\n\t\t  \"alph()\\?>(\\?!(\\?>a:]a{,166})/////////////////////\"\n\t\t
        \ \"[:gr[^aph:])Gpu\",\n\t\t  0, 0 },\n\t\t{ \"(7)NNNNNNNNNNN132\", 1, 0 },\n\t\t{
        \"[([\\?#^[]{QKm$v])][:alp[^ha:]]\", 0, 0 },\n\t\t{ \"(:{86})7{K|[:alpha:]{O\",
        1, 0 },\n\t\t{ \"([Y(\\?{[[^:alnum:][:alnum:][:digit:][:a(\\?(lpha(\\?(:].})\",
        1,\n\t\t  0 },\n\t\t{ \"[[({29,-30}([[^:digit:])Y]]J=~{,220}[:blankcntrl:])\"\n\t\t
        \ \"0ooooooooooooooooooooooooooooooo[:punct:]&]\",\n\t\t  0, 0 },\n\t\t{ \"[^1Dx32[:alnum:]]{[(\\?::punct:]MMMMMMMMMM)12759\",
        0, 0 },\n\t\t{ \"([[[]]*|(_])[:u(\\?{pperword:]})\", 2, 0 },\n\t\t{ \"[:upper(\\?(wo)rd:]){-16,250}\",
        0, 0 },\n\t\t{ \"([^{194}i(\\?({161)}PP\\\\S{}{,-14}]))z{208,225}BpPEt\",
        1, 0 },\n\t\t{ \"[(\\?m-ms:)}&!@29k0sUqzt9}<-x|A$!+G>>>>>>>>>>>>>>>>>>>>>>>>>>\"\n\t\t
        \ \">>>>>>CCCCCCCCCC-][[:space:]][:space:]El\",\n\t\t  0, 0 },\n\t\t{ \"()[:digit:(\\?isx(\\?>ix:]K^WQQQQQQQQQQQQQQs)[:lowerprint:])\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[a|(\\?imix:S(\\?(SSSS)SS(\\?>S)]W)8t[:ascii:]f$)[:alnum:]\"\n\t\t
        \ \"111111111111111111111[^[:space:]x{12729}+'''''''''''''''']\",\n\t\t  0,
        0 },\n\t\t{ \"[^(\\?!(\\?(\\?#=)a)[:punct:]=2)(){}$$$$$$$$$(\\?ims(\\?#-isx:$$$\"\n\t\t
        \ \"$$$$$$$$$$$$$(\\?#$$s)x{294b}##############################\"\n\t\t  \"slllll)]){,209}333333333333333333G:v2/K\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^]ub(\\?<=)vQ6(\\?#Z\\\"3.)[:space:]u[[:digit:]]\"\n\t\t
        \ \"7777777777777777U'{}sssssssssss\",\n\t\t  0, 0 },\n\t\t{ \"(([(])`[:ascii:]b)\",
        2, 0 },\n\t\t{ \"[[[^[^([^[^(\\?=(\\?imxisx:[[^w])\", 0, 0 },\n\t\t{ \"pppp(pppppppppp-{-175}Nb>k&)sssss{-190,-54}\",
        1, 0 },\n\t\t{ \"()OJ@`'%[:(as(\\?!cii(\\?#:]))+pffffffffffffffffffffffffffff{,\"\n\t\t
        \ \"162}[:ascii:]5)s-[:graph:]\",\n\t\t  1, 0 },\n\t\t{ \"[(M{}Ux5{jaW/\"\n\t\t
        \ \"{}[^u[:alpha:]s^{84,}PPb@Wt$(\\?>nha<Yf41a)]{}[:lowerprint:])\"\n\t\t
        \ \"*[:lowerprint:]][:upperword:]^1gS.^=pp{}\"\n\t\t  \"FFFFFFFFFFFFFFFFFFFFFFFFFFF33333333333{}\",\n\t\t
        \ 0, 0 },\n\t\t{ \")\\?L9~h4BQnNp F\\\\Q{}\", 0, 0 },\n\t\t{ \"($)[:upperwor(\\?:d:])N[:alnum:]\"\n\t\t
        \ \"bcccccccc5555555555555555555555555.N[:blankcntrl:]\",\n\t\t  1, 0 },\n\t\t{
        \"2222222222222222222ppppppppppppppppp[:lowerprint:]))[^B\\\\e{{\"\n\t\t  \"{{{f]6#+{,-104}{{{{{{{{{{{{{\",\n\t\t
        \ 0, 0 },\n\t\t{ \"<[(\\?>:al[^pha:]])\\\"O\\\"vN\", 0, 0 },\n\t\t{ \"[(\\?>d8E@b.{(\\?<=,-250}(\\?=mx48[:punct:]^&)]nAeYY)W)-13272\",\n\t\t
        \ 0, 0 },\n\t\t{ \"22222222222222222222222222///////////////////\"\n\t\t  \"[:digi(\\?#t:]eM)[:lowerprint:][:alpha:][:alpha:]EEEEEEEEEEE\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[(\\?={38,223})^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\L(\\?:{,-50}3|)}r]aW\\\\x70U{-\"\n\t\t
        \ \"110,}8LUf)w]4+oav\",\n\t\t  0, 0 },\n\t\t{ \"G[:upperword:]v[:lowerprint:]-tu)j8CK\",
        0, 0 },\n\t\t{ \"[([([^().(\\?(\\?><=c)'(\\?<(='(\\?<!''''''''(\\?(\\?<!!''''''''''\"\n\t\t
        \ \"'(\\?=''''''/\"\n\t\t  \"(|dHj(P>L\\?q!G))|)(\\?=n(\\?(^tk)T-z$q!D|2<rc[^{,53})]jZy))))\"\n\t\t
        \ \"6)[:bla)nkcntrl:])010])7pE`l[:space:]([:lowerprint:]\"\n\t\t  \"eXXXXXXXXXXXXXXXXXXXTTTrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr]+[:\"\n\t\t
        \ \"alph(\\?!a:]7)444444444444444444444444l{34,}]J{}\"\n\t\t  \"yyyyyyyyyyyyyyyyyyyyyyyyyyy)\\?'z9~9s.mA\",\n\t\t
        \ 1, 0 },\n\t\t{ \"().\", 1, 0 },\n\t\t{ \"{-205(,}[:al(ph(\\?>[^a:]W,[4DLR[^^8THMtVv~KKw(\\?>)pPF)].{-\"\n\t\t
        \ \"245,}]))fffffffffd[:alpha:]zzzzzzzzzzzzzzzzzzzzzzzzzzzzz\",\n\t\t  1,
        0 },\n\t\t{ \"[^[[^]{-[1(\\?imximx:83,}{,182}][:graph:]]^])-bTO X0P\", 0,\n\t\t
        \ 0 },\n\t\t{ \"[11111111111(\\?#11111111]U[:asc([\\?!ii:]{,37}+{-89}){-170,\"\n\t\t
        \ \"218}{-21,})f[:xdigit:]]P.[:xdig(\\?:it:]145)YYYYYY$S@:@@@@@@@\"\n\t\t
        \ \"@@{-150,-109}\",\n\t\t  0, 0 },\n\t\t{ \"{-40}<o][^D[(:graph:]]d).Q\",
        0, 0 },\n\t\t{ \"()APPLn[:xdigit:]\", 1, 0 },\n\t\t{ \"[([^\\?+++++++++++
        \     [       (\\?>  (\\?(     (\\?{  \"\n\t\t  \"(\\?!]E{-29})pP)})ZpP\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(t|{}c[^z^\\?(@YLD]bSSSSSSSSSSSSSSS)+{{{{{{{{{{{{{{{[:xdigit:\"\n\t\t
        \ \"]n>1)WkF}7\",\n\t\t  1, 0 },\n\t\t{ \"W22[0Q[^d-d{}PPPPPPPPPPPPPPP<^FZ(\\?<=\\\"[U]Yo}9H'cYy]S[:\"\n\t\t
        \ \"alnum:]^8wTDH)^u\",\n\t\t  0, 0 },\n\t\t{ \"([^[(\\?:(\\?>((\\?#$)(\\?{^(\\?>))///////////(\\?>/\"\n\t\t
        \ \"ggggggggggggggggg{1(\\?!90,-13}\\\\D)Dyyyyyyyyyyyy(\\?!y(\\?<!\"\n\t\t
        \ \"yyyyyyy)})]]$)[:xdigit:]|{}-)#a))nPpP[:lowerprint:]AA)V+q^[:\"\n\t\t  \"blankcntrl:]\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([^(\\?!]))D{,97}\", 1, 0 },\n\t\t{ \"(c){,141}\", 1, 0
        },\n\t\t{ \"nn[:s(\\?<=pace:])[:upperword:]ooooooooooooooooooo*^[:space:]\"\n\t\t
        \ \"`{-188,129}mmmmmmmmmmmmm^.\",\n\t\t  0, 0 },\n\t\t{ \"[[G{(\\?imsximsx:2(49}{,-46}r(\\?(\\?=#Gw]u))[:bl(\\?>ankcntrl:]\"\n\t\t
        \ \"))(^m+)zSiZ \"\n\t\t  \"F4[!]VV$E{-9,-100}''''('''''''''\\?DEOOOOOOOOOOOO############\"\n\t\t
        \ \"###[:space:])HHHH)[:digit:]'////////////\",\n\t\t  2, 0 },\n\t\t{ \"[^*}(\\?>)(\\?:7Q=#+]KKKKKKKKKKKKKKKKKKKKKKKKKKKG)]]]]]]]]]]]]\"\n\t\t
        \ \"]]]]]]]]]]]]]][:alpha:]-{}\",\n\t\t  0, 0 },\n\t\t{ \"[n(\\?<(\\?#!nnnnnn55555{205,}!)[:alnum:]^]!!!!!!!!!!!!!!!!!!!\"\n\t\t
        \ \"!!!![:punct:])[:x(\\?(digit:]vr)|'n6W5 D&jk[:punct:]5)\",\n\t\t  0, 0
        },\n\t\t{ \"[^P(P{(\\?i(msxisx:235,}))***])[:alpha:]^\", 0, 0 },\n\t\t{ \"[([t(\\?<!(\\?<!4])[:u(\\?=pperword:]))-])}}}}}}}}}}}}}}}}}c{-\"\n\t\t
        \ \"39,}[:digit:]$-\",\n\t\t  0, 0 },\n\t\t{ \"([^)]{241}[:xdigit:][:upp(\\?=erwo(\\?(rd:]-xF5b{})q[:ascii:])\"\n\t\t
        \ \"T4U{185}9999999999)()X&Ny[:alpha:]@@@@@@@@@@@@@@@@@@@@@@@@@@\"\n\t\t  \"@@@@@@{69,}[:alnum:]x{d7f8}p-[:digit:]\",\n\t\t
        \ 2, 0 },\n\t\t{ \"(f)(${,111}{25,}!\\\\d{,94}[:blankcntrl:]@[:space:][:ascii:])-\"\n\t\t
        \ \"237{,232}DQVVVVVVVVVVVVVV)-\",\n\t\t  2, 0 },\n\t\t{ \"PP[:g(\\?!raph:]){}\",
        0, 0 },\n\t\t{ \"([[^-][^4[:digit:]NNNNNNNNNNN]TVU:])[:ascii:]\", 1, 0 },\n\t\t{
        \"(([^(\\?[[^<=)][:graph:]+iiiiiiiiiiiiiiiiiiiiiiiiii0INFX[:\"\n\t\t  \"xdigi(\\?(t:][:blankcntrl:]][:graph:]qM6A[:alpha:][:graph:])\"\n\t\t
        \ \"1*]eFvvvvvvvvvv)v-)U))t{89}\",\n\t\t  2, 0 },\n\t\t{ \"[^ZZZZZZZZZZZZZZZiiiiiiiiiiiii(iiiiiiiiiiiiiii{}))))))))))))\"\n\t\t
        \ \"))))))]))))))))))))))))))))))))[:digit:]-\",\n\t\t  0, 0 },\n\t\t{ \"ddddddddd+zzzzzzzzzzzz[:graph(:])ssssssM{-223}[:graph:]\",
        0,\n\t\t  0 },\n\t\t{ \"[:alph(\\?>a:])x11{-144,45}.\", 0, 0 },\n\t\t{ \"[]{#y.^(\\?{{}&&&&(\\?:[^&&&&&&&&)[:punct:]n{190}OylBQ{(\\?!-\"\n\t\t
        \ \"73})2u',x(\\?#Ds(\\?#{})j(\\?{-})})u0(((((((\\?{(((([:alnum:])\"\n\t\t
        \ \"MC})b=71TncyE>[:xdigit:]*\\\\f]{}]\\\"p#!8twZT\\\")[:punct:][:\"\n\t\t
        \ \"space:]\",\n\t\t  0, 0 },\n\t\t{ \"[^(Z6]8)|'@p8{}[:upperword:]MMMMMMMMMMMMMMMMMMMMMMMMMMMM{}\"\n\t\t
        \ \"7c\",\n\t\t  0, 0 },\n\t\t{ \"$0)@#vp,VcJ.Bdh\", 0, 0 },\n\t\t{ \"[[^(-])nnnn+s`[:alpha:][:blankcnt[^rl:][:upperword:]{-15,}][\"\n\t\t
        \ \":g(raph:]c]){,-177}6[:upperword:]##################{,-14}\",\n\t\t  0,
        0 },\n\t\t{ \"[[(5C{86(,}PPrrrrrrrrrrrrrrrrrrrrr{150,182})N{}LSC|)-[:\"\n\t\t
        \ \"alnum:]{}KKKKKKKKKKKKKKKK<4=~7K3PPPPPPPPPPPPPPPPPPPPPPP[:\"\n\t\t  \"lowerprint:]]]\",\n\t\t
        \ -1, 0 },\n\t\t{ \"([^(x{145b[5}^hfc.0)+]z@_&lA{-34,}])X\\?\", 1, 0 },\n\t\t{
        \"([(\\?<=)(\\?!])l)L\", 1, 0 },\n\t\t{ \"({-104,}DrPPDF4444444444444[:space:])[:space:]\",
        1, 0 },\n\t\t{ \"())))\", 1, 0 },\n\t\t{ \"[[^((\\?>\\?(\\?[{})q5v}r7t(P)xtffffffffffff))]{,-66}kdExX&-\"\n\t\t
        \ \"SCeCzzzzzzzzzEc)E,\\\"^I]x{e629}|{}]\",\n\t\t  0, 0 },\n\t\t{ \"[h[:punct:]p\\\\[\\\\\\\\(\\?:\\\\\\\\[^\\\\\\\\)Eo#:C$u[^T/\"\n\t\t
        \ \"ysA[*%nM:f]{,221}[:lowerprin[^t:]{]bx{f285}E]E[:alnum:]+]\"\n\t\t  \"1oe3B][:alp(ha:]]fh7}M$l)D{17}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"IIIIIIII[^IIIIIIX]-_S[:digit(\\?#:])\"\n\t\t  \"33333333333333333333333333[:punct:]iiiiiiiiiiiiiiiiii\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^[[:punct:](\\?((\\?:^ \"\n\t\t  \"#Q_po(\\?=[:alpha:]{}z()(\\?!======'wq$Q2)LLLLLLLLLLLLLLLe(\"\n\t\t
        \ \"C9gggggggggggggggggg[(\\?<=:alnum:]()\\?<!{-85,}W[[[[[[[[[[[[[\"\n\t\t
        \ \"[[[(\\?{[[[[[[^)(]\\?])|uuu[uuuuuuuuuuuuuuuuuu{,-20}p${}]MHI&\"\n\t\t
        \ \"7s:\\?$[:digit:]-:)_V`*{-52,}{250}$:ME9izF/\"\n\t\t  \"uP[:blankcntrl:]})''''''''''''''''''''''''''''')\"\n\t\t
        \ \"CCCCCCCCCCCCCCCCCCCCCCCCdd[:ascii:][:lowerprint:].\"\n\t\t  \"Mcccccccccc2B{-230,}$[:digit:]\",\n\t\t
        \ 1, 0 },\n\t\t{ \"()|mOAuK~P144[:space:]^9dddddddddddddddddddddddddddddd[:\"\n\t\t
        \ \"blankcntrl:]\",\n\t\t  1, 0 },\n\t\t{ \"[^[^[^.L[^-vEUl(\\?>(\\?=a!Ib1P]])])~~~~~~~]xE9\",
        0, 0 },\n\t\t{ \"X()\", 1, 0 },\n\t\t{ \"[^()(\\?#G(\\?<!)(\\?=^r])*,XXXXXXXXXXXXXXXXX@)444444444\",
        0,\n\t\t  0 },\n\t\t{ \"([[((\\?<=({,-70})-[:xd(\\?=igit:]{,138})\", -1, 0
        },\n\t\t{ \"[(^]{62,67})\", 0, 0 },\n\t\t{ \"([((])[:space:]))\", 1, 0 },\n\t\t{
        \"(a{(109,})[:alpha:]{,-121}{})]RRRRRRRRRRRRRRRRRRRRRRRR{}{\"\n\t\t  \"125,}ttttttttt{46,}`[:space:]\",\n\t\t
        \ 2, 0 },\n\t\t{ \"[^[^([q[8]~.IPmiBSspP)]QpX[pT==8@lulANS]]{,-98}]\", 0,
        0 },\n\t\t{ \"[^77777777777777777777777(\\?>777777])\", 0, 0 },\n\t\t{ \"(),e<^X~{[:alpha:]{}G{70}\",
        1, 0 },\n\t\t{ \"({-211,}'){}\", 1, 0 },\n\t\t{ \"[^(\\?imsxsx:{}[*])cccccccccccccccccccccccccccccccc<z0W8]$\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(){2,89}$z\", 1, 0 },\n\t\t{ \"((050[^\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"z]8|j{}{,-112}$).pP)qq1~hW}L\",
        2, 0 },\n\t\t{ \"[[^[(+xx(\\?<!xxxxxxxx(\\?!xxxxxxxxxx(\\?#(\\?>[x))(\\?:]r.]]]))[\"\n\t\t
        \ \":graph(\\?<=:])))\",\n\t\t  0, 0 },\n\t\t{ \"[^([(\\?#)(\\?(\\?(<=)l|\\?(\\?!])kkkkkkkkkkkkkkkkkkkkkkkkkk\",
        0,\n\t\t  0 },\n\t\t{ \"[:xdigit:]K(KKKKKKK)^3c.OOO{-240,-10}2{-97,-139}*{-34,}[:\"\n\t\t
        \ \"xdigit:]\",\n\t\t  1, 0 },\n\t\t{ \"[([^66666666F(\\?>FFFFFFFFFFwpP)LLLLLDeDA&Am$l[:xdigit:]!T5#]\"\n\t\t
        \ \"n[:alpha:]U*)))))))))))))PP]\",\n\t\t  0, 0 },\n\t\t{ \"[[[:punct:]u^[:xdigit:]L(\\?:[:xdigit:][[:graph:]PP{21}A[:\"\n\t\t
        \ \"alpha:]8%I(M%b<eE~#C@r=uG~~~~~~~~~~~~~~~~~~~~~~~~~~~~+w]pP)\"\n\t\t  \"T]]$$$$$$$$$$$$$$${-121,}|l\",\n\t\t
        \ 0, 0 },\n\t\t{ \"([(107{,-4(\\?=}~[^D)])f]{,46}+ri<)\", 1, 0 },\n\t\t{ \"[(\\?<=]{,208}+~)\",
        0, 0 },\n\t\t{ \"[^444(\\?<=4444444[:alnum:]&[,i]0)[:alpha:][:upperword:]\",
        0,\n\t\t  0 },\n\t\t{ \"[^([^(\\?()*+)SS(\\?>SSSSSSSSSSSSSSSSSSSSSS]]]]]]]]]]]]]]]]]]]\"\n\t\t
        \ \"]]]]]]]]]]]{,-1}])[:blankcntrl:]============================\"\n\t\t  \"===[:punct:][:blankcntrl:]Z[:space:][:ascii:]$|$[:\"\n\t\t
        \ \"blankcntrl:] JR.{,133}[:alpha:]$\\?)<]\",\n\t\t  -1, 0 },\n\t\t{ \"(OL[:u[pperword(:][:s[^pace:].[:spac(e:],,,,]*])$)\\?)\",
        1,\n\t\t  0 },\n\t\t{ \"(VI[:digit:][:alpha:]6)EG\", 1, 0 },\n\t\t{ \"({}){-2,-40}rrrrrrrrrrrrrrrrrrrrrrr[:punct:]\",
        1, 0 },\n\t\t{ \"()q\", 1, 0 },\n\t\t{ \"[^([^[([^C|])]{,-56}[:xdigit:]{-144,}V])fYv{-[40,-58}$@@@@@@\"\n\t\t
        \ \"@@@@@@@]|Y(-]-.]h-[:dig(it:])>>>dddddddddddddddddddddddddd{\"\n\t\t  \"101,}\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([P,{1(\\?(\\?(<=28,-218[^)}LoZX)])!!!!!!!!!!!!!!*[:blank(\\?!\"\n\t\t
        \ \"cntrl:]ed)\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\L\\?][:graph:]:*Y{-108,120}\"\n\t\t
        \ \"xCC)]\",\n\t\t  1, 0 },\n\t\t{ \"(A[:space:]PP{185}a^!!!!!!lllllll)*db\\?$Pfr\",
        1, 0 },\n\t\t{ \"{-21,-118}kG[(\\?{:xdigit:]})[:punct:]{69}\"\n\t\t  \"Qyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy5{}TTTTTTTTTTTTTTTTTTTTT\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[[^[P(\\?<=P$X>0^d.[:punct:](\\?#ccccccccccccccccccccccccc{}\"\n\t\t
        \ \"3N000(\\?>00000000000000000000000000000]f[:punct:]5)).R======\"\n\t\t
        \ \"=========={,222}^wwwwwwww$)]-{}              \"\n\t\t  \"]{,-22}CjP{242,}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[(\\?#^]{})\", 0, 0 },\n\t\t{ \"[^([[([([[([^[^(\\?:(\\?(\\?(!)]\\\"))h>\\\"RRRRRRRRRRRRRRRR[^\"\n\t\t
        \ \"RRRRR{68,-65}7Q(\\?{]\",\n\t\t  0, 0 },\n\t\t{ \"(P{}){175,}PP{}rttttttttttt\",
        1, 0 },\n\t\t{ \"[:bla(\\?{nkcntrl(\\?#:]})))))))))))))))))))))))!!!!sR{})\",
        0,\n\t\t  0 },\n\t\t{ \" [:digit:]dAAAAAAAAAAAAA^[:ascii(:]55)^\", 0, 0 },\n\t\t{
        \"($*)dZY\", -1, 0 },\n\t\t{ \"[:graph:][:lowerprint:]S[:gr(\\?=aph:]{-128,}\"\n\t\t
        \ \"666666666666666666666{}[:upperword:]|\"\n\t\t  \"nnnnnnnnnnnnnnnnnnnnnnnnnnB)c[:xdigit:]{-225,}{-4,}{-192,}\"\n\t\t
        \ \"QQQQQQQQQQQQQQQ@@@@@@@@@@@@@@@@@@@@@@.\",\n\t\t  0, 0 },\n\t\t{ \"([:digit:]s{44,}{}{-31,}c{,-130}pP){-241,}UeN\",
        1, 0 },\n\t\t{ \"([^)((\\?>\\?#{}hK\\\"V2\\?d][KKK(\\?imsxim:KKKKKKKKKKKKKKKKKKKK[^\"\n\t\t
        \ \"KKKKKKKKKWWWW[WWWWWWWWWWWWWWWWW)B])_l_3\",\n\t\t  1, 0 },\n\t\t{ \"[(^[(\\?!*){[^,91}].j]*]L)*c|[:alpha:]&\",
        0, 0 },\n\t\t{ \"[^[[[^[777GGG(\\?:W_U(\\?imsxms:[:punct:]A]-)[:digit:][:\"\n\t\t
        \ \"blankcntrl(\\?(:]][:alnum:)])]WRRRRRRRRRRRRRRRRRRRRRRRRRRR]{\"\n\t\t  \"31,}[:xdigit:]][:xdigit:]))))))))))))))))))))))$[:xdigit:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[:ascii:]m*[:punct:]#[(\\?<!:punct:][:alpha:]-,\"\n\t\t
        \ \"7vyXeeeeeeeeeeeeeeeeeeeeeeeee^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\"\n\t\t  \"^%%%%%%%%%%%%%%%%%%%%%%%%%%%%[:digit:]''''''''''''''''')\",\n\t\t
        \ 0, 0 },\n\t\t{ \"([^*[(:punct:]9999999999999999999{147,}]j{,193}{171}Z-)){\"\n\t\t
        \ \"208}0[:graph:]yDt\",\n\t\t  1, 0 },\n\t\t{ \"(dw[[:alpha:]U]ttt[tttttttttttttttttttt]Q^171e)[:xdigit:]/\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[[^((\\?#)Tqqqqqqqqqqqqqqqqqqqqqqqqq105++++++++++++++++++++++\"\n\t\t
        \ \"++++b7V+7dit]])|D\",\n\t\t  0, 0 },\n\t\t{ \"{}P7.Ajh[:xdigit:]^[:blankc((\\?(\\?<=nt[rl:]FFF)-]){}o|a[:\"\n\t\t
        \ \"grap(\\?!h:]))PsssssssssssssssssssssssssssssssN^{-60,}Kb\",\n\t\t  0,
        0 },\n\t\t{ \"[:alpha(\\?(:]$!_+777777777777777777777777O)666)lll[^llllll[^\"\n\t\t
        \ \"l{{{{{{{{{{{{{{{{{{{{{{|]{-217,}MoEl`7)^)LlU[:alph[a:]({-\"\n\t\t  \"241,27})]]{-212}{,249}n)X\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[U|ajP[:alnum:]n[(:digit:]]W)[:graph:]b[:xdigit:].P\",
        0, 0 },\n\t\t{ \"(([:low(\\?-imsx:erprint:]|{}[:ascii:][:gr(\\?:aph:])>>>>>>>>>\"\n\t\t
        \ \">>>>{,-129}))\\?{-226,}^P)R\",\n\t\t  2, 0 },\n\t\t{ \"[^[[nnnnnnnnnn(\\?=nnnn(\\?!nnnnnnnnnnnn(\\?#nnnnnn{,-38}N){\"\n\t\t
        \ \"202,}]$[:alnum:])]t][:alnum:[]^=w){237}][:alpha:]-[:alpha:]+\"\n\t\t  \"e\",\n\t\t
        \ 0, 0 },\n\t\t{ \"()[(\\?(:digit):]+qc)O88888888{,151}aJ\", 1, 0 },\n\t\t{
        \"([^([(\\?!sv(\\?=)d]{-200,})N))]Z{-73,15}\", 1, 0 },\n\t\t{ \"([\\?\\?\\?\\?|||||||||||(\\?{||(\\?=||||||||-}[))Ehhhhhhhhhhhhh{,\"\n\t\t
        \ \"202}&TcfL((\\?:>)((\\?!\\?>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$8[:\"\n\t\t
        \ \"alpha:]\\\\d])]C[:graph:]h*,\\\"\\?u{|mU,a)[:blankcntrl:][:\"\n\t\t  \"lowerp(\\?>rint:])PPnP+9.[:xdigit:]*PPjjjjjjjjjj~y<#*scf_\\\"^\"\n\t\t
        \ \"e[:xdig(\\?(i)t(:])~$y)^){-131,77}^L%\",\n\t\t  1, 0 },\n\t\t{ \"[^[(((\\?>)$}h9$B5+yhU/\"\n\t\t
        \ \"Nqh$YYYYYYYYYYYYYYYYYYYYYShK)3WHw1vMMMMMMMMMMMMM(\\?=\"\n\t\t  \"MMMMMMMMMMMM[:alnum:]/\"\n\t\t
        \ \")dddddddddddd(dddddd\\\"e5zLW)+![:space:]+BHGHfAS]\"\n\t\t  \"\\?IIIIIIIIIIIIIIII*&&&&&&&&&&&&&&&&&&)NNvwDteepjdm<<<<<<<<<<\"\n\t\t
        \ \"<<<<<<<<<<<<<<<<<<<<${61,219}D][:digit:]0\",\n\t\t  -1, 0 },\n\t\t{ \"[:punct:][{177,(\\?=234}]ix9*)\",
        0, 0 },\n\t\t{ \"([^K{,3(\\?<=4}]I)\\?U)\", 1, 0 },\n\t\t{ \"[([^[[[^([([^[^(\\?=])X\",
        0, 0 },\n\t\t{ \"[:blankcntrl:(])qd_R\\?{\\?r[=\\\"[^[^6]vX8)a+{C%H84CK6Uy#E]sE{\"\n\t\t
        \ \"208}\",\n\t\t  0, 0 },\n\t\t{ \"PPPPPPPPPPPPPPPPPPPPPPPPPPnnnnnnnnnn()[:upperword:]us\",
        1,\n\t\t  0 },\n\t\t{ \"x{,46}[:graph:]LU{}CU)\", 0, 0 },\n\t\t{ \"()-t|[^W{}][:lo[^werprint:]{}]\\?b5\",
        1, 0 },\n\t\t{ \"()x5A\", 1, 0 },\n\t\t{ \"[([^]-217)]s{-47,135}0000000000000000000000000000000{,-108}\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^((\\?{[^L\\?u]})f\", 0, 0 },\n\t\t{ \"()[[^^(\\?{y(\\?=VF_(\\?<=]D}))]-=
        {46,})^5bIEQ{,-96}Z\", 1, 0 },\n\t\t{ \"([^{}f[:punct:]\\\"X%%%%%%%%%%%%%%%%%%%%]5{-194}A[:punct:]\"\n\t\t
        \ \"mnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn+AAAAAAAAAA-)\",\n\t\t  1, 0 },\n\t\t{
        \"(CCCCCCCCCCCCCCCCCCCC{-230}352{-182,-68}O4{})\", 1, 0 },\n\t\t{ \"([^[^\\?[:space:]$TTTTTTTTTTTTLLLLL[^LLLLLLLLLL[^({}{4,-179}]\"\n\t\t
        \ \"]J] C]){}C{}{-224,})QQQQQQQQQQQQQQQQQ^\",\n\t\t  1, 0 },\n\t\t{ \"([[:alnum:]].){-155,-82}dzI{55,}^\",
        1, 0 },\n\t\t{ \"([[:alnum:](\\?#{88,-178})[:graph:]NC\\\"pI[:punct:]rmWd5y^p+\"\n\t\t
        \ \"gUP]YYYYYYYYYYYYYYYYYYYY~{,-62}{,200}{-109}{}+\"\n\t\t  \"333333333333333333333333333333{}p)^.hhhhhhhhhhhhhhh\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[000000(\\?mmsx:00000000000000000000000)M]]]]2*`[^]QQQQQQQQ(\"\n\t\t
        \ \"\\?<=QQQQQQQQQQQQQQQQQQQQQQQ])\\\"<h\\?\",\n\t\t  0, 0 },\n\t\t{ \"[^((<g(\\?>5j[bbbbbbb(\\?{bb)o{}3(\\?imxisx:E]g})YYYYY[:\"\n\t\t
        \ \"blankcntr(\\?#l:].(()w264[:ascii:]^)[:ascii:]G)&(n \"\n\t\t  \"{^PGn[:xdigit:])nv_e|]{-103,30}\",\n\t\t
        \ 3, 0 },\n\t\t{ \"[^(([(\\?!{}@[^HCO[[^^D[|]{,-49}][:xdigit:]]c`4[:ascii(\\?<!:]\"\n\t\t
        \ \")$66666666666)*)]PP$Z[:alpha:]{,-235}UK],(aT/\"\n\t\t  \"+6rbMqs60EloA)[:g(\\?isx:raph:]!)]z$o{-24,}x1E[:blankcntrl:]\"\n\t\t
        \ \"ZDFvk\",\n\t\t  1, 0 },\n\t\t{ \"[:blank(\\?=cntrl:]US@.!\\\"[:digit:]*E)$16182\",
        0, 0 },\n\t\t{ \"[-{}x{3772[}][:(\\?<=xdigit:][:u(\\?#pperword:].W)aD)<pfN<b=C|\"\n\t\t
        \ \"-{-38}EZdOP|!>ggggggggggggggg\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\Ef[:\"\n\t\t
        \ \"space:]\\?][:ascii:]{21,}\",\n\t\t  0, 0 },\n\t\t{ \"([:xdigit:]W[:u(pperword(\\?::]jS
        \"\n\t\t  \"[:upperword:]*)[:alpha:]nnnnnnnnnnn))-148}SSu\",\n\t\t  1, 0 },\n\t\t{
        \"([^(\\?!\\?)[(:upperword:])Bx^x$~lCr6*)6\", 1, 0 },\n\t\t{ \"[{,-78}Y[:xdigit:][^s(\\?>]P[:space:])]YYYYYYYYY[:punct:][:\"\n\t\t
        \ \"alnum:][:blankcntrl:]\",\n\t\t  0, 0 },\n\t\t{ \"([MMMMMM(\\?(MMM)M(\\?<=MMMMMMMMMMMMMMM[^M)]en][:punct:]-[:\"\n\t\t
        \ \"alpha:]))Nr[:space:]\",\n\t\t  1, 0 },\n\t\t{ \"~=1([^(\\?=(\\?:l){}])j{-44}{-18}[^u[:graph:]]{-187,}[:xdigit:\"\n\t\t
        \ \"]w[:alpha:])\",\n\t\t  1, 0 },\n\t\t{ \"[ccccc(\\?>c(\\?{cccc[ccccwetoCei+)w&-+{,-142}[:alpha:]\"\n\t\t
        \ \"PP66io4(|zkA=],,,,,,,,,,,,,,,,,,,,,Lx5Cx{d2bb}]{188}U~~~~~~~\"\n\t\t  \"~~~~~~~~~~~~~~~~})\",\n\t\t
        \ 0, 0 },\n\t\t{ \"Q|0\\\"[:d(\\?:igit:]^{,-174})\", 0, 0 },\n\t\t{ \"[^[(\\?>rh])]\",
        0, 0 },\n\t\t{ \"[ees{{{{{{{{{{{{{{{{{bbbbbbb4`ml******(\\?=****+])\", 0,
        0 },\n\t\t{ \"((hdG[((\\?<=:dig(it:])[^[:alpha:]$(\\?sxi:)x{11390}[(\\?{:\"\n\t\t
        \ \"upperword:]~)i 8[:blankcn[trl:(])]+{,-183}Zqp\",\n\t\t  2, 0 },\n\t\t{
        \"Dd{D8`+DW={-[53,1(\\?<=71}])\", 0, 0 },\n\t\t{ \"[:(\\?(alpha:][:punct:])\",
        0, 0 },\n\t\t{ \".LLLLLLLLLLLLLLLLLLLLLLLLLLLL{}pP[:punct:]x0CZ{30,}!!!(!!!!!\"\n\t\t
        \ \"!!!!!!!!!!!!!!!!!!!!==@77.%[:graph:]D)\",\n\t\t  1, 0 },\n\t\t{ \"[^[^[[r(\\?#]){-237,}RRRRRRRRRRRRRRRRRRRRRRRR[^Rll(\\?!(\\?{\"\n\t\t
        \ \"lllll]\",\n\t\t  0, 0 },\n\t\t{ \"()*ooooooooooooooooooooyyyyyyyyyyyyyyy\",
        1, 0 },\n\t\t{ \"{,4(}D)JJJJJJJJJJJJJJJJJJJJJJJJJ\", 1, 0 },\n\t\t{ \"((b.D{}[:al[pha:]{64}]{})==========================[:alnum:]\"\n\t\t
        \ \"h>77b)!Ab\",\n\t\t  2, 0 },\n\t\t{ \"([^[^[^oooooooooooooooooooooo][:space:][:punct:]PeniKe*~$\"\n\t\t
        \ \"g\\?${>[:lowerprint:]w))))))))))))))){}yyyyyyyyyyyyyyyyyy]pP.\"\n\t\t
        \ \"|QhZ]{,190})sssssssssssssr+=[:blankcntrl:]\"\n\t\t  \"WWWWWWWWWWWWWWWWWWWWW\",\n\t\t
        \ 1, 0 },\n\t\t{ \"([*(\\?{})hhhhhhhhhhhhhhhh]G{,-170}QdErrrrrrrc-\"\n\t\t
        \ \"jjjjjjjjjjjjjjjjjjjjn+{-130,-10})PpDS@Bee\",\n\t\t  1, 0 },\n\t\t{ \"([:b(\\?=lankcntrl:]))T[:alnum:]{-224}ywt\",
        1, 0 },\n\t\t{ \"([633(\\?<=333(\\?<=3333333333(333333)^\\?]aGA)[:digi(\\?>(\\?{t:\"\n\t\t
        \ \"])$[[:space:][:xdigit:])|8T\\?',_{171}{}{113}b\\?5kAv0/\"\n\t\t  \"7{})`huh>xM]C8pYRz]s$Eu08)\",\n\t\t
        \ 1, 0 },\n\t\t{ \"-(pP)[:alnum:]$^\", 1, 0 },\n\t\t{ \"[^x(\\?{{17681}]P*)U(_t/8E_\\\"iN})3333333\",
        1, 0 },\n\t\t{ \"(([^([[r(\\?=[[^^*kx$][:alpha:]:::[:::::[^[^::::::::((\\?{\\?{:\"\n\t\t
        \ \":]).^p[:space:]}){52}{}]W{}fn\",\n\t\t  2, 0 },\n\t\t{ \"[:(\\?>punct:]Ef[:xdigit:]x{c07b}{-50}Z{129,}YL1T`\\\\A)x[:\"\n\t\t
        \ \"punc(\\?=t:]e[:xdigit:]2c6E46Y)+n               \",\n\t\t  0, 0 },\n\t\t{
        \"[^(\\?!{,-79}[:punct:]'|}>,)][:blankcntrl:]{-118,-231}{-119,-\"\n\t\t  \"50}:XXXXXXXXXXXXXXXXX-~{}$txlB)3KFL\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^(([^fccccccccccccccccccc(\\?<!ccccgQeKMfKzz]X$$$$$$$$$$$$$$\"\n\t\t
        \ \"$$$$$$$$$$$$$$$$$[:l(\\?<=(\\?<=owerprint:]))s{-97}{}))EUi${,-\"\n\t\t
        \ \"132}'{79}---------{,-93}77777777777777777[:lowerprint:].:H)[\"\n\t\t  \":punct:]nnnnnncP\\?s1:dGed{186}N@pppppppppppppppppppppP{-212,\"\n\t\t
        \ \"-110}[:space:][:lowerprint:]$S}7{-112,164}-*.{-184,}\"\n\t\t  \"OOOOOOOOOO]f\\?\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(([\\?#(\\?>)])qcU$Q7|82\\?{})\", 2, 0 },\n\t\t{ \"[^yyyyyyyyyyyyyyyyyyyy(\\?#yyyyyyyyyyya][:ascii:]\\?)\",
        0, 0 },\n\t\t{ \"(([((\\?{)EEEE(\\?<!EEEEE(\\?:EEEEEE~)}){244,}\"\n\t\t  \"QQQQQQQQQQQQQQQQQQQ(\\?>QQQQQQ(\\?!QQQQQ][:digit:]\\?))\"\n\t\t
        \ \"99999999999999)[:digit:][:upperword:]b))PP{}{}\",\n\t\t  2, 0 },\n\t\t{
        \"(K(c=B))\", 2, 0 },\n\t\t{ \"(G`*s\\?b[:g(raph:]))\", 1, 0 },\n\t\t{ \"[^[([[[*QQQQQQQQQQQQQQQQ(\\?=(\\?=QQQQQQ(\\?<!\"\n\t\t
        \ \"QQQQQQQQZddddddddd((\\?{\\?>ddddddddddc{22,}iiiiiiiii(\"\n\t\t  \"iiiiiiiiiiiiiii(\\?#iiiiiii[^i))\\?\\?\\?\\?\\?\\?]WWW)[:\"\n\t\t
        \ \"lowerprint:])]{-60,202}+[:upperword:]f[:xdigit:][:alnum:]{,-\"\n\t\t  \"214})1~~~~~~~MMMMMMMMMMMMMMMMMM.\",\n\t\t
        \ 0, 0 },\n\t\t{ \"({-102,})A.\", 1, 0 },\n\t\t{ \"[((((\\?<!(\\?[^>(\\?#\\?()))p\\\"JD.{}(\\?>)))((\\?{l(\\?<=).'053][:\"\n\t\t
        \ \"xdigit:]N+)})]WWWW%[:asc(\\?{ii:]}))B[:alnum:]X){}s[:digit:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"x7&{139}WWWWWWWWWWWWWW[:blankcntr[^(\\?<!l:]-71]\\\"{-167}cqkI)\"\n\t\t
        \ \"[:dig[^it:]{}{}[:digit:]*[:punct:]-[l11111111111111111(\\?(\"\n\t\t  \"111111111{175,-216}~[:alnum:]`+X1F)vCpWSp(\\?>~[^n@f`````````\"\n\t\t
        \ \"````)````````P])Y,N{}{}]{}pXF@)\",\n\t\t  0, 0 },\n\t\t{ \"G[([(\\?(^)$])P]^[:alnum:]){,-48}[:blankcntrl:]{}\",
        0, 0 },\n\t\t{ \"[[^[^f(\\?=f(\\?<=fffffff[^fffffffff[^fffffffff(\\?<=fff]){-\"\n\t\t
        \ \"194,150}fx{e5a4}V\",\n\t\t  0, 0 },\n\t\t{ \"9[:xdigit(\\?{:]})\", 0,
        0 },\n\t\t{ \"[^([[(\\?>()$xxxxxxxxxxxxxx[xxxxxxxxxxxxxxxx((\\?=aA)s13]])pp[\"\n\t\t
        \ \"(\\?>pppppppppppppppp|{}){20,}]b)]{-179,183}{-204,}[:ascii:])\"\n\t\t
        \ \"]-11111111{}{,132}qooooooooooooooooooo{}${}|9t\",\n\t\t  0, 0 },\n\t\t{
        \"([^[{}]\\\"[^6]*-{,-106}{}u]BR~8WG,U-)[:blankcntrl:]\", 1, 0 },\n\t\t{ \"[''''''''(''''''''''z])c\",
        0, 0 },\n\t\t{ \"[^[(\\?>])[:alnum:]r[:alnum:]+{,215}D]\", 0, 0 },\n\t\t{
        \"([({,127}7Qr(\\?:z)pPNev%}(\\?msximsx:4(\\?<!){}&.D5555(\\?<=\"\n\t\t  \"55555555555555555555i$[:xdigit:]){,-157}[:graph:]U[:punct:]\"\n\t\t
        \ \"nn(\\?=nnnnnnnnnnnn(\\?>nn(\\?:nnnnnnnn_U{}]E)):^\"\n\t\t  \"oooooooooooooooooooooooooooo)\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[^(\\?#)(\\?<!k2z]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]BW[:alnum:][:\"\n\t\t
        \ \"graph:]{157}Y]s$C)[:graph:]{,-189}\",\n\t\t  0, 0 },\n\t\t{ \"$+CCCCCCCCC[^CCCCCC(\\?<=Ca=]r{-81}[:alpha:][:alpha:])E=\",
        -1,\n\t\t  0 },\n\t\t{ \"[(((\\?=\\?{([^(\\?<=)])>!(([:alnum:]{252}{}})ffffffffffffl){}\"\n\t\t
        \ \"A2r\\?~ImE\\\"[:punct:]){}[:digit:]\",\n\t\t  2, 0 },\n\t\t{ \"([:blank[cntrl:]].t^P)\",
        1, 0 },\n\t\t{ \"[^[(\\?:X])|rrrrrrrrrrrrrrrrrrrrrrrrrr*P]Q\", 0, 0 },\n\t\t{
        \"[[[^(\\?{((\\?<!))s})(\\?<!A){14}(\\?:L*+TTTTTTT]U{[^-12([\\?!,}\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?)Y`Y)L]|]]|\"\n\t\t
        \ \"]\",\n\t\t  0, 0 },\n\t\t{ \"hkXzf',]yP$+[:u(pperword:])\", -1, 0 },\n\t\t{
        \"(#[:blankcnt(\\?iximsx:rl:])$QQQQQQ{}[:digit:])\\?A\", 1, 0 },\n\t\t{ \"(B{-34,})*{,106}\",
        1, 0 },\n\t\t{ \"[(\\?{:graph:]})\", 0, 0 },\n\t\t{ \"((){}{,63}[:punct:]^t[:space:])^17737\",
        2, 0 },\n\t\t{ \"([^[SSSSSSSSS[SSSSSSSSSSSSSSS[([[[{38,}]Jn][:alpha:]])])$'\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[^({}{95})B{1(\\?>15}]x{f779}ZZ,Wo)O[:alpha:][:lowerprint:]{\"\n\t\t
        \ \"81,228}Q[:upperword:]\",\n\t\t  0, 0 },\n\t\t{ \"[[^[^()n[[[[[[[[[[[[^[[[[[[[[[[(\\?:
        G)(\\?{K![^m) \"\n\t\t  \"j(\\?:C|((\\?:n*Xlaa908:n$m,))[:xdigit:]x(\\?{{1a5cd}\"\n\t\t
        \ \"pppppppppppppp(\\?(pppp)p(pQ)))\"\n\t\t  \"ddddddddddddddddddddddddddddddd]q[:alnum:(\\?{]Ga})\\?})@[:\"\n\t\t
        \ \"lowerprint:]{,169}[:blankcntrl:][:graph:]]n{-76,}|U\\\"{,-54}\"\n\t\t
        \ \"t]I{}{-64,-232}]\\?].\\?{-111,227}) \"\n\t\t  \"@hFp\\?j=H$Wbu<{,209}De{,145}{206}-})[:blankcntrl:]\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^[^(LLLLLLLLLLLLLL[^L[L[:alpha:]3{,189}(\\?#(\\?>n){}^\"\n\t\t
        \ \"EXXXXXXXXXXXXXXXXXXXXXXXXX]c*)^r=$WWWWWWWWWWWWW\",\n\t\t  0, 0 },\n\t\t{
        \")w###################\", 0, 0 },\n\t\t{ \"{,121}[:d(\\?(i)git:])E\\?[:punct:]LLLLLLLLL[:ascii:]+\",
        0,\n\t\t  0 },\n\t\t{ \"([]]]]]]]]]]]]][:space:]Jrt3o.]b)pwwwwwwwwwwwQfm~\",
        1, 0 },\n\t\t{ \"[+-{,-120}*(\\?!()t*(\\?(\\?{>G)F)yd]V{}f<\\?}){245}\"\n\t\t
        \ \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx[:upperword:]\",\n\t\t  0, 0 },\n\t\t{
        \"(DDDDDDDDDDDDDDDDDDDDDDDDDDDDDc[:space:][:pu[^nct:]{-11,12}[\"\n\t\t  \":ascii:][:alpha:]{,155}P])\",\n\t\t
        \ 1, 0 },\n\t\t{ \"()ggggggg{-136,-21}\", 1, 0 },\n\t\t{ \"([^((\\?<=U\\?)(\\?=^^^^^^^^^^^[^^^^^^^^^^^^^///(\\?#//[////////\"\n\t\t
        \ \"////////////\"\n\t\t  \"(\\?()#######b+]$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$^[:digit:])\"\n\t\t
        \ \"\\\\U]Q8@}4d)\\\\U\",\n\t\t  1, 0 },\n\t\t{ \"A[:graph(\\?::])-mo=U[:upperword:]\"\n\t\t
        \ \"ttttttttttttttttttttttttttt\",\n\t\t  0, 0 },\n\t\t{ \"[^(((\\?=\\?im-m(sx:)c~~[^~~~~~~~~~~~~~(\\?>~~~~~~~~~~~~~\"\n\t\t
        \ \"SSSSSSSSSSSSSSSSSSSS]{51,}[:digit:]{,-179}N))kk[\"\n\t\t  \"kkkkkkkkkkkkkkg$)[(\\?::punct:]zWl)]|)*\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[((\\?=()+A)][:graph:]x0B)[:graph:]\", 0, 0 },\n\t\t{ \"(nR%B[:blankcntrl:]C=|en-[:digit:]n[:graph:]HHHH[HH]D\\?%[:\"\n\t\t
        \ \"digit:]MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM.z(oF9zW8A7cfff(f))-[\"\n\t\t  \":blankcntrl:][:blankcntrl:]A[:digit:])D{,-243}\",\n\t\t
        \ 3, 0 },\n\t\t{ \"([[()]]{,-251(})\\?L)uw@\", 2, 0 },\n\t\t{ \"\\\"|{(,-144})A.ooooooooo(ooooooFFFFFFFFFFFFF\\?)n{,-18}\",
        2,\n\t\t  0 },\n\t\t{ \"([^([(([[^([000000[0(0(\\?!0(\\?=0000000])45|E]\",
        1, 0 },\n\t\t{ \"[B[[[[[[[[[[[|{}*oKqv%(\\?<=wsQ{1pMeK1^6%nLNqi<@ge][:punct:]=\"\n\t\t
        \ \" M@* \"\n\t\t  \"D|NwL\\\\-\"\n\t\t  \"117\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"~\"\n\t\t
        \ \"Qnd]h.O\\\"01x:[:alpha:]^){}D}\\\"\",\n\t\t  0, 0 },\n\t\t{ \"([[RRRRRRRRRRRRRRRRRRRRRRRRRRRRxpSrx{7d79}*oJ2`Ft{n1,3g:1H@\"\n\t\t
        \ \"bT$D \"\n\t\t  \"&[n/\"\n\t\t  \"Cg)=ld@Ir{Fk>*4*`(\\?>````````````````````(\\?:`````..........\"\n\t\t
        \ \"...........]]{,246})7 \\\"F4[^F|/g)]+e`rw@{,-69}H)\",\n\t\t  1, 0 },\n\t\t{
        \"([(\\?<=)X[:digit:]PP.[(\\?#:((\\?#\\?#graph:])[:digit:][Q+)(N][\"\n\t\t
        \ \":alpha:]]f)[:graph:])+Elllllllllllllllll[:digit:]=)pP{uU-\"\n\t\t  \"20bzY|ZKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKt<c\",\n\t\t
        \ 1, 0 },\n\t\t{ \"[^(([^$(\\?:(\\?#w)[(\\?::punct:]]d{-149,}[:ascii:])[:\"\n\t\t
        \ \"blankcntrl:]@@@@@[@@@@@@@@@@@@@@[:graph:][:xdigit:]O[:alpha:\"\n\t\t  \"]2$-[:graph:])[:lowerprint:]-\\?#S[:blankcntrl:][:alnum:]){-\"\n\t\t
        \ \"77,}]d[:digit:]N5v+Sqqqqqqq^% \"\n\t\t  \"-I4]*.)^[:alnum:]\"\n\t\t  \"JDfjMRU7ttttttttttttjjjjjjjjjjjjjjjjjjjjjjCCCCCCCCCCCCCCCCCC\"\n\t\t
        \ \"CD{,21}{0,67}[:graph:]{,208}B\",\n\t\t  -1, 0 },\n\t\t{ \"(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[:ascii:])i{}[:lowerprint:]\"\n\t\t
        \ \"epxxxxxxxxxxxxxx[:lowerprint:]r-\",\n\t\t  1, 0 },\n\t\t{ \"([(^w(\\?!)()])-s\",
        1, 0 },\n\t\t{ \"[aIIIIIIIIIIIII(\\?imsxims(\\?=x:IIIIIIIm^NXXXXX(\\?!(\"\n\t\t
        \ \"\\?isximsx:XXXXXXXXXXXXXS0]F)z))+\"\n\t\t  \"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr{,-237})\"\n\t\t
        \ \"ZZZZZZZZZZZZZZZZZZZZZZ\",\n\t\t  0, 0 },\n\t\t{ \"(Z)[:alpha:]\", 1, 0
        },\n\t\t{ \"U#Z(=)\", 1, 0 },\n\t\t{ \"([:lowerprint:][:punct:])1cVb*[:xdigit:]&&&&&&&&&&&&&&&&&&&&\"\n\t\t
        \ \"&&&&O\",\n\t\t  1, 0 },\n\t\t{ \"()~K`3/[^*h[]G6[:upperw(\\?()ord:]w)[:punct:]]{}\",
        1, 0 },\n\t\t{ \"[[[]V[:digit(\\?>:])|l*KKKKKKKKKKKKKKKKK,,,,,,,[,,,s.{148,}\"\n\t\t
        \ \"P33333][:lo(\\?<!werprin(\\?!t:]ZZZZZZZZZZZZZZZZZZZZZZZ]{,-\"\n\t\t  \"229}{-160,}){,-211}XPPP].{}z[:alnum:][:alpha:(\\?=]t{166,}\"\n\t\t
        \ \"uuuuu6]i*p(m))[:space:]E|S\",\n\t\t  1, 0 },\n\t\t{ \"[^(h(\\?(\\?({#2})(\\?(\\?#>Q){,57}%[:digit:]\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?.[)]]d{)-49,}f)^O{,68})\\?C\",\n\t\t  0,
        0 },\n\t\t{ \"(}u])18621\", 1, 0 },\n\t\t{ \"[:as(\\?=cii:][^(\\?=)(S-{.F-[:punct:]3-105^[:lowerprint:]\"\n\t\t
        \ \"111111111111111111111111---)][:alnum:][:ascii:]JJJJJwHSk\",\n\t\t  -1,
        0 },\n\t\t{ \"[^3>>>>>>-sZ^^^^(\\?>]Y[:di(\\?(\\?imxim:#git:]{-158,-102}[:\"\n\t\t
        \ \"punct:]{}{87,})))[:upperword:]\",\n\t\t  0, 0 },\n\t\t{ \"[(\\?<!^r]$W){}*[:alpha:].[:digit:]\",
        0, 0 },\n\t\t{ \"[:ascii(\\?::[^])X]-\", 0, 0 },\n\t\t{ \"[([^]Z)[:upperword:]N{}*[:graph:]*^\",
        0, 0 },\n\t\t{ \"([[(\\?#^[(:graph:]]){205,}[:gr(aph:]T%]^\"\n\t\t  \"MMMMMMMMMMMMMMMMMMMM){)
        <v\\\\[:digit:])\",\n\t\t  1, 0 },\n\t\t{ \"[^Y.h~b(\\?<=~P{(\\?=169,65}\\?[^\\?\\?\\?\\?\\?\\?\\?\\?\\?[\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?K\\\"s`[yT7oP[:alpha:]{})]zrrrrrrrrrrrrrr)]\"\n\t\t
        \ \"KKKKKKKKKKKKKKK[:digit:]S][:lowerprint:][:digit:]\",\n\t\t  0, 0 },\n\t\t{
        \"(s)\", 1, 0 },\n\t\t{ \"[u(\\?!uuuuuuuuuuuuuuuuuuuu[:digit:]{,48}[:graph:]WL[:alnum:]\"\n\t\t
        \ \"]v=_)VN>{AjBBBBBBBBBBBBBBBBBBBBBBB[:upperword:]`'W)\",\n\t\t  0, 0 },\n\t\t{
        \"[^([[()DN1[^][|]\\?]{-104,}])[:space:]][:lowerprint:]r[:\"\n\t\t  \"alpha:].DU\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^((33333333333333333333333(\\?<=3333333D))\"\n\t\t  \"kkkkkkkkkkkkkkkkkkkkkkk[k[:alpha:]])]X+\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[({,-17})[@e{220,(\\?#41}])]]{-213,-225}\", 0, 0 },\n\t\t{
        \"[[^(\\?#[(\\?:^[[(\\?(^]))]])]vvvvvvvvvvvvvvvvvvvvv{,96}|m]{-\"\n\t\t  \"79,248}[:alpha:])\",\n\t\t
        \ 0, 0 },\n\t\t{ \"([[(\\?imsisx:^}$,-[:al(\\?>num:]Xqqqqqqqqqqqq{-185,154}]b#+T)\"\n\t\t
        \ \"{-241,})A{-27}[(\\?<!:lowerprint:]X)[:punct:]ME-]+\"\n\t\t  \"BBBBBBBBBBBBBBBBa|{-40}M8mhgD
        0HU]{16})\",\n\t\t  -1, 0 },\n\t\t{ \"[^(\\?>([\\?()(\\?#))]--R1rk^UnP.[(\\?!:digit:]])^)[:upperword:]\"\n\t\t
        \ \"{}0000000000000000000000000000000~U{-139,-19}z<L-228\",\n\t\t  0, 0 },\n\t\t{
        \"()-:=3uE$[:alnum:]bP%{-210,}\", 1, 0 },\n\t\t{ \"(U)7777]]]]]]]]]]]]]]]]]]]]]]]]]]]]]c::AA[:alpha:]{,3}f1{\"\n\t\t
        \ \"NzH@3lTf{}{\",\n\t\t  1, 0 },\n\t\t{ \"[C{(\\?>})RR(\\?=R<]p'N~&.-})6]\",
        0, 0 },\n\t\t{ \"[^\\?[^(\\?(lFt]).[^7Q-])kkkkkkkkkkkk]XTFy\\\"1Deiv!,'xVK\",
        0,\n\t\t  0 },\n\t\t{ \"[^$[^[:xdigit:](\\?{*{245,99}h8v(\\?!)]]u)Z[:punct:]})[:alnum:\"\n\t\t
        \ \"]+|[:blankcntrl:]u{}[:lowerprint:]+bBJ4+k-v{-116}\",\n\t\t  0, 0 },\n\t\t{
        \"S)f{,180}[:graph:]&{12,244}\", 0, 0 },\n\t\t{ \"(([[(.()[^^{80(\\?>(\\?<=,235})ddddddddd[^ddddddddd(\\?<=d.__B{\"\n\t\t
        \ \"36}````````````````(\\?:```(\\?>```````,,,,,,,(\\?:,,)P$U,[:\"\n\t\t  \"xdigit:])zzzzzzzzzzzzz]UUUU[uB]n<&[(:ascii:].][:alnum:])\\?S]\"\n\t\t
        \ \"{})d{138,}s9========[:lowerprint:]]OOOOOOOOOOOOOOO|\"\n\t\t  \"yyyyyyyyyyyyyyy$LZ[:lowerprint:]EEEEEEE[:ascii:][:punct:]\"\n\t\t
        \ \"VpP^{-48}D){,46}x))2P))a[:lowerprint:]r\",\n\t\t  2, 0 },\n\t\t{ \"[^(((\\?<!):())PPPPPPPPPPPPPPP(\\?=[PPPPPPP(\\?{PPPPPPPP$)})\"\n\t\t
        \ \"77777777777777777]{,-57}::::::::::::(::::::::::::::::)]g{89}\"\n\t\t  \"__________________[:xdigit:]l[:punct:])N\",\n\t\t
        \ 1, 0 },\n\t\t{ \":02-k\\?p3I7aEhJ\\\\265-[:space:]pP[:space:]x0F[:alnum:]aM4[:\"\n\t\t
        \ \"lowerprint:]sA@@@@@@@@@@@@@@@@@@@@@@@@@@@@\",\n\t\t  -1, 1 },\n\t\t{ \"a[:upper(\\?{word:]})X{-173,}-2F[:lowerprint:]\",
        0, 0 },\n\t\t{ \"u,w<g*Q002S{,130}{239}[:lower(print:]cr{-165,}#$k<L/\"\n\t\t
        \ \"&)[:blankcntrl:]aaaaaaaaaaaaaaaaaaaaaa[:ascii:]\",\n\t\t  0, 0 },\n\t\t{
        \"(xFA^{-161,93})U[:xdigit:]\", 1, 0 },\n\t\t{ \"[^(\\?=]{})mE`\", 0, 0 },\n\t\t{
        \"[[((\\?(\\?#:alnum:]])x6CS[:digit:]{-197,}.)N\", 0, 0 },\n\t\t{ \"[^(\\?![])C*[:upp(erword:])-176]\",
        0, 0 },\n\t\t{ \"[[^[[^[55555555555555555555555555(\\?>555(\\?<!555)S][]]A[:l(\"\n\t\t
        \ \"\\?>owerp(rint:]])]*\",\n\t\t  0, 0 },\n\t\t{ \"Au)khgzAfXIZoZ=g[:digit:]){,186}Upvf=x<]Tbd5Rq\\?.\",
        0, 0 },\n\t\t{ \"b{-176,}B^[:bla(\\?(<!nkcntrl:]{-6,133}#B \"\n\t\t  \":)<<<<<<<<<<<<<<<<<<<)[:alnum:]$}}}}}}}}}}}}}}}}}}}}}}}[:\"\n\t\t
        \ \"xdigit:]tw\",\n\t\t  0, 0 },\n\t\t{ \"(4IIIII(IIIIIIIIIIIIIIIII{})W{-152,-238}){,-56}^{-142,}\",
        2,\n\t\t  0 },\n\t\t{ \"[^([[(\\?(\\?(!)>>>>>>>>>>>>>(>>>>>>>>D)Ix{(1(\\?imxmsx:762)c})\"\n\t\t
        \ \")A)[[[[[[[[[[[[[[5Rp]DDDDDDDDDDDDDDDDDDDD]Us+\\\\w[:digit:]{-\"\n\t\t
        \ \"47}[:xdigit:][:blankcntrl:])ddddddddddddddd[^ddddddddddddd[:\"\n\t\t  \"digit:]|]]*{-165,-230}{-212}{53,}]\\?\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[^[^]]|[:(\\?:alnum:])}}}}}}}}}}}}}}}}}}}}\", 0, 0 },\n\t\t{
        \"VVVVVVVVVVVVVVVVVVVVVVVVVVVV[:d(i(\\?#git:])){{{{{{[:digit:]\"\n\t\t  \"ZfQ55555555{}Z\",\n\t\t
        \ 0, 0 },\n\t\t{ \"[L][:blankcnt(\\?((\\?=rl:(\\?=]){-35,[^}){)eJb>>>>>>>>>>>>>>>>\"\n\t\t
        \ \">>>>>>$ [:xdigit:]l0Tv2Tw2@C[:space:]Zc/{*)>]N3j~.dMBBBB\",\n\t\t  0,
        0 },\n\t\t{ \"[[^(\\?>(([]))])[:graph:]]{65,}as#Q:lQ\", 0, 0 },\n\t\t{ \"[^[fPPUUUUUUUUUUU(\\?#UUU[^UUUUUU(\\?<=\"\n\t\t
        \ \"UUUUUUUUUGGGGGGGGGGGGGGGGGGG((\\?{\\?=GGGGGG.MK))+]+)&UxFW)\"\n\t\t  \"rwv\\?@D.\",\n\t\t
        \ 0, 0 },\n\t\t{ \"{-(60,})m\", 1, 0 },\n\t\t{ \"b[(])^w\", 0, 0 },\n\t\t{
        \"[][^qVs(\\?:(p])X)\\?'\", 0, 0 },\n\t\t{ \"()8\", 1, 0 },\n\t\t{ \"(t[:punc[^t:(\\?{][:blankcntrl:])})[^8\\?]z*]\",
        1, 0 },\n\t\t{ \"[:lowerprint:])[:graph:]lppppppppppppppppppppppppppppf\",
        0,\n\t\t  0 },\n\t\t{ \"[:alph(a:])[:ascii:]g +z-Bc-U{,%Gk\", 0, 0 },\n\t\t{
        \"u[:graph:(\\?=]*)W:::\", 0, 0 },\n\t\t{ \"([:alnum(:])l)\", 1, 0 },\n\t\t{
        \"[[[}}}}}}}}(\\?<!}}}}}}}+(\\?{),,,,,,,,,,,,,,(\\?!,,,,,,,,]\"\n\t\t  \"99999999999&R[:ascii:]ZZZZ-{-10,}{96}Ed*][:graph:])]}){}{}G{\"\n\t\t
        \ \"-9,}\",\n\t\t  0, 0 },\n\t\t{ \"([^[{}]]Z[[^:graph:]{-47}55555555555555555555555555555[:\"\n\t\t
        \ \"ascii:]s]6,$:3qAew1Y)+)[:punct:]\",\n\t\t  1, 0 },\n\t\t{ \"[[[[[([[[[[[[[[[[[[[[[[[[[[[[[8!1i]')\",
        0, 0 },\n\t\t{ \"([((\\?(\\?#>)(\\?{,)At]%M9FSq5)EB\", 1, 0 },\n\t\t{ \"(}````````````````(``{210,})[:(\\?#space:]P[:digit:])PP.{-\"\n\t\t
        \ \"227,}$pK~mm ImR|{,51}[:alnum:]<)[:alpha:]\",\n\t\t  2, 0 },\n\t\t{ \"[^(\\?<=])[:digit:]\",
        0, 0 },\n\t\t{ \"[^'''''''{(\\?:178,}e{,16}$QQQQQQQQQQQQQQQQQQQQQQQ$])\",
        0,\n\t\t  0 },\n\t\t{ \"[^(\\?>@K*)(\\?#d18]{78,}B)[:digit:]{-193,}=wg{,59}\",
        0, 0 },\n\t\t{ \"[^.{156,}!(\\?<=!!!!!!!!!!!!!!(\\?{!(\\?(!!!!!!!!!!!!!)})\"\n\t\t
        \ \"TTTTTTTTTTTTTTTTTTTTTTTTTTTTT[^}}}}}}}}}}}})}}}}}}}}}}}}}]])\"\n\t\t  \"{}^L#%-{}FC\",\n\t\t
        \ 0, 0 },\n\t\t{ \"(eeeee{-169,-100}-fa[:upperword:]N)$Nellllllllllllll\",
        1,\n\t\t  0 },\n\t\t{ \"[[(\\?!())\\?[(\\?!:alnum:]e{,28}M])[:punct:]\"\n\t\t
        \ \"CCCCCCCCCCCCCCCCCCCC]{-150,}{-167}\",\n\t\t  0, 0 },\n\t\t{ \"[[@[@(\\?#@[@]P]Z{')]{-186,117}]+)7f-\",
        0, 0 },\n\t\t{ \"\\\\Q+kD}]AEM)u \", 0, 0 },\n\t\t{ \"([(\\?{(\\?=:::::::::::::&){,210}]^})P{-31,}8[:space:]C[:\"\n\t\t
        \ \"alnum:][:a(scii:]z|[:upperword:])[:alnum:][:graph:])zr~Zk\",\n\t\t  1,
        0 },\n\t\t{ \".[:space:]e[:g(\\?{(\\?{raph:]})})@@@@@@@@@@@@@wb|~k\", 0, 0
        },\n\t\t{ \"()ooooooooo\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"\\\"[:graph:]\",
        1,\n\t\t  0 },\n\t\t{ \"[^64h(\\?(@Eyw][:xdi[git:]pP%%%%%u(uuu[:up[perword:]`8Utdh{)}\"\n\t\t
        \ \"]]))lW[:punct:]W.hhhhhhhhhhhhhhhhhhhhhhhh'm<<}O8`ZXtG.$\",\n\t\t  1, 0
        },\n\t\t{ \"BPP[:digit:]bbbbbbbbbbb(bb)S+[:alnum:]\", 1, 0 },\n\t\t{ \"um.[:ascii((\\?#\\?!:])*)+KKKKKKKKKKKKKKKKKKKKKKKKKS.=<Bf\",
        0,\n\t\t  0 },\n\t\t{ \"\", -1, 0 },\n\t\t{ \"(()$[:lowerprint:][:s[pace:]2]bbbbbbbbbyoooooooooooooooooo*{\"\n\t\t
        \ \"39,}$')qV`AcH>,eDl\",\n\t\t  -1, 0 },\n\t\t{ \"(()[^])e{-241,}\", -1,
        0 },\n\t\t{ \"()[:alpha:]rliiiiiiii[:alnum:]Mb*QW9N.>\\?{115,}&u*j\", -1,\n\t\t
        \ 0 },\n\t\t{ \"()[]p\", -1, 0 },\n\t\t{ \"(I[^]pfL)$[:punct:]\", -1, 0 },\n\t\t{
        \"([])>>>>>>>>>>[:alnum:]\", -1, 0 },\n\t\t{ \"([])O\\\\\\\\\\\\\\\\\\\\\\\\\\\\fffffffffffffffffffffff=s6jCZy/\"\n\t\t
        \ \"b+ir2'*{151,}\",\n\t\t  -1, 0 },\n\t\t{ \"([])nnnnnnnnnnnnnnnnnnnnnnnnnn[:xdigit:]^N$f\",
        -1, 0 },\n\t\t{ \"([]M)[:lowerprint:]a(pg$Z[:punct:])77777777777.\", -1, 0
        },\n\t\t{ \"([]XXXXXXXXXXXXXXXXXXXXXX-===========)\", -1, 0 },\n\t\t{ \"([]lkX{-224}[:blankcntrl:]$gPKIZlSC#F@XX
        \"\n\t\t  \"I'^}{234}yZm)uuuuuuuuuuuuuuuuuuuuuurS\",\n\t\t  -1, 0 },\n\t\t{
        \"([^0kYkg9])IIIIIIIIIIIIIIIIIIIIII/\"\n\t\t  \"{(192,-118}l+FoSD6\\?A)c[:xdigit:]`````````````````e-{-4,-\"\n\t\t
        \ \"170}x{4620}Z[:upperword:]\",\n\t\t  -1, 0 },\n\t\t{ \"([^[^[^()(\\?>){}B]XYF+#[:alpha:]{-85((,-55[^}t]n).{,-33}]](\"\n\t\t
        \ \"bQJ!|O+{175,})RFh)Z+^.{137,}:VpP[:alpha:]-MceqVVkkkk(\"\n\t\t  \"kkkkkkkkkkkkkkkkkk)\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?{-\"\n\t\t
        \ \"115,-67})``````````````````````````````\",\n\t\t  -1, 0 },\n\t\t{ \"([^]EzU[:alnum:]+^^^^^^^^^^^^^^^^^^^)[:xdigit:]HHHHHHHH$\"\n\t\t
        \ \"66666666666666666666666666666666UUUUUUUUUUUUUUUUUUUUL{}iiii{\"\n\t\t  \"-76}X\",\n\t\t
        \ -1, 0 },\n\t\t{ \"([^]~~~~~~~~~~{240,})]NOp\", -1, 0 },\n\t\t{ \"(sb)[:digit:]VVVVVVVVx{9569}52,|]\",
        -1, 0 },\n\t\t{ \"(x{19762}){}\", -1, 0 },\n\t\t{ \"-[:xdigit:][]\", -1, 0
        },\n\t\t{ \"121|\", -1, 0 },\n\t\t{ \"141[:xdigit:][:lowerprint:]{24}{59,191}[:digit:]/\",
        -1, 0 },\n\t\t{ \"G[^],,,,,,,,,,,,,+\\\"DiX\", -1, 0 },\n\t\t{ \"Gm(ho9:\\\"8{-188,-200}Z[:blankcntrl:]{,171}\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?[:blankcntrl:]LLLLLLLLLLLLLLLLLLLLLLL{\"\n\t\t
        \ \"}^[:graph:][:blankc(\\?#ntrl:])w\",\n\t\t  -1, 0 },\n\t\t{ \"N\\\"\\\"\\\"\\\"\\\"\\\"\\\"-------------------------|[:alnum:]\"\n\t\t
        \ \"AAAAAAAAAAAAAAAAAAAAf\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\",\n\t\t
        \ -1, 0 },\n\t\t{ \"U{-30,}^\\?\\?\\?\", -1, 0 },\n\t\t{ \"W^*04rAY(Ee*>[^o3[]]_)\",
        -1, 0 },\n\t\t{ \"X[^]}*C[:alnum:]\", -1, 0 },\n\t\t{ \"[${,-3}]+^\\?[|x8A|][:space:]'''''['''''\"\n\t\t
        \ \"JJJJJJJJJJJJJJJJJJJJJJJJJJJJJyl}.Y7G]\",\n\t\t  -1, 0 },\n\t\t{ \"[()&[&&&]\\?\\?[\"\n\t\t
        \ \"\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\"\n\t\t
        \ \"pg%k8ug`Wqk4|NR{h[CK5Ez=]jHpQw&`{:]{,91}D\",\n\t\t  -1, 0 },\n\t\t{ \"[(\\?#(\\?:)[)([\\?>)(\\?>(\\?:[:alnum:])]G]{85}[^)w]N]gYrUs|\",\n\t\t
        \ -1, 0 },\n\t\t{ \"[(\\?<=)[:digit:]\\?]{152,}VR|\", -1, 0 },\n\t\t{ \"[****(\\?>**********(\\?<!*******Q)Vr){[^25,}*:\"\n\t\t
        \ \"FFFFFFFFFFFFFFFFFFFFFFFF(\\?{FFFF(({}D]|\",\n\t\t  -1, 0 },\n\t\t{ \"[:ascii:]+{124,}:*]\\?$-{92}D[:lowerprint:]``````````````````\"\n\t\t
        \ \"```\",\n\t\t  -1, 0 },\n\t\t{ \"[:ascii:]\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?A<\",
        -1, 0 },\n\t\t{ \"[:blankcntrl:]p\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?$\"\n\t\t
        \ \"\\?TTTTTTTTTTTTTTTTT[:ascii:][:upperword:]\",\n\t\t  -1, 0 },\n\t\t{ \"[:punct:]{254}DDDDDDDDDDDDDDD@[:alpha:]Z\\?\\?-----R\",
        -1, 0 },\n\t\t{ \"[:upperword:]J\\?\\?nqCAdfyW5\", -1, 0 },\n\t\t{ \"[:upperword:]{-39}|\",
        -1, 0 },\n\t\t{ \"[:xdigit:]^\\?\", -1, 0 },\n\t\t{ \"[Z*e ]NdmP\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\",
        -1, 0 },\n\t\t{ \"[[:punct:]q]ex{15625}-\", -1, 0 },\n\t\t{ \"[[[^([^L((\\?{b(\\?=C\\?]-134{,-207}[:ascii:]Hz}XIz}|\",
        -1, 0 },\n\t\t{ \"[[^V(\\?:(\\?<!(\\?>))TTTTTTTTTTTTTTTTTTTTTTT)[:punct:][:digit:\"\n\t\t
        \ \"]]GGGGGGGGGGGGGGGGGGGGG,]|.{-224}{96}{239,}1\",\n\t\t  -1, 0 },\n\t\t{
        \"[[^^PP]{,-222}{182}{141}]zFD}-.\", -1, 0 },\n\t\t{ \"[] Hn&[:xdigit:][:upperword:]f\",
        -1, 0 },\n\t\t{ \"[]$.B\", -1, 0 },\n\t\t{ \"[]&&&&&&&&&&&&&&&&&&&&&&&\",
        -1, 0 },\n\t\t{ \"[]()[:xdigit:]er063{132,140}$\", -1, 0 },\n\t\t{ \"[]+1434\",
        -1, 0 },\n\t\t{ \"[]-\", -1, 0 },\n\t\t{ \"[]-#yyK\", -1, 0 },\n\t\t{ \"[]-(S$5)AxbdTKO[:alnum:]\",
        -1, 0 },\n\t\t{ \"[]2883\", -1, 0 },\n\t\t{ \"[]2dhd-[:alpha:]\"\n\t\t  \"sssssssssssssssss55555555555555555555555555555555Z[:punct:]\",\n\t\t
        \ -1, 0 },\n\t\t{ \"[]4\", -1, 0 },\n\t\t{ \"[]44444444444444444G\", -1, 0
        },\n\t\t{ \"[]\\?\", -1, 0 },\n\t\t{ \"[]A\", -1, 0 },\n\t\t{ \"[]Gap8bc\",
        -1, 0 },\n\t\t{ \"[]OOOO\", -1, 0 },\n\t\t{ \"[]PP\", -1, 0 },\n\t\t{ \"[]QQ\",
        -1, 0 },\n\t\t{ \"[]WaFaGO,o\", -1, 0 },\n\t\t{ \"[]Z\", -1, 0 },\n\t\t{ \"[][:alpha:]|[:digit:]Ls$I-Ff~+xA3e\",
        -1, 0 },\n\t\t{ \"[][:ascii:]-218\", -1, 0 },\n\t\t{ \"[][:ascii:]N}}}}}}}}}}}}}}}-{137,}8682\",
        -1, 0 },\n\t\t{ \"[][:lowerprint:]Ur\", -1, 0 },\n\t\t{ \"[][:space:]15097\",
        -1, 0 },\n\t\t{ \"[][:xdigit:]\", -1, 0 },\n\t\t{ \"[]dpSSSSSSSS\", -1, 0
        },\n\t\t{ \"[]e13768\", -1, 0 },\n\t\t{ \"[]gT\", -1, 0 },\n\t\t{ \"[]h\",
        -1, 0 },\n\t\t{ \"[]n\", -1, 0 },\n\t\t{ \"[]vvvvvvvvvvvvvvvvvvvvvvvvvv*[:xdigit:]\",
        -1, 0 },\n\t\t{ \"[]{,-212}1111111111111111111C3821\", -1, 0 },\n\t\t{ \"[]{-128,}hc\",
        -1, 0 },\n\t\t{ \"[]{-181,}&[:xdigit:].\\?}}}}}}}}}}}}}}}}}}}}}}\", -1, 0
        },\n\t\t{ \"[]{}F&}i`7|ZAH\", -1, 0 },\n\t\t{ \"[^(\\?())u{196,}pP][r^ndddddddddddddddddddddd]{31,246}\\?J\",\n\t\t
        \ -1, 0 },\n\t\t{ \"[^.ii.1-S]lwwwwwwwwwwwwwwwwww[^wwwwwwwwwwwwww[:alnum:]DOpP+<\"\n\t\t
        \ \"N][^]44{179}{-194,56}\",\n\t\t  -1, 0 },\n\t\t{ \"[^2[:alnum:]]\\?t\\?\\?\",
        -1, 0 },\n\t\t{ \"[^[((\\?{[^^<<<<(\\?(\\?<!{)})(\\?<!]{,184}{-213}|\", -1,
        0 },\n\t\t{ \"[^[^[]\\?{89,}PPsvf{[:space:]]]vd{161,}\", -1, 0 },\n\t\t{ \"[^[^].]+{0}s\",
        -1, 0 },\n\t\t{ \"[^]${}\", -1, 0 },\n\t\t{ \"[^]([:punct:]),%[:xdigit:]w^0\\?{-233}\",
        -1, 0 },\n\t\t{ \"[^]-\", -1, 0 },\n\t\t{ \"[^].^\", -1, 0 },\n\t\t{ \"[^]6743\",
        -1, 0 },\n\t\t{ \"[^]JD\", -1, 0 },\n\t\t{ \"[^]N=[:upperword:]zzzzzzzzzzzzzzzzz.\",
        -1, 0 },\n\t\t{ \"[^]OLz_6\", -1, 0 },\n\t\t{ \"[^]PP[:digit:]0eBEx=\", -1,
        0 },\n\t\t{ \"[^]SHzuKp\", -1, 0 },\n\t\t{ \"[^][:upperword:]{111}-TpmXw\",
        -1, 0 },\n\t\t{ \"[^]^''''''''z{-73,}\", -1, 0 },\n\t\t{ \"[^]^{,141}e\",
        -1, 0 },\n\t\t{ \"[^]aaaaaaaaaaaaaaaaaaa{-98,43}\", -1, 0 },\n\t\t{ \"[^]f\",
        -1, 0 },\n\t\t{ \"[^]l\", -1, 0 },\n\t\t{ \"[^]n\\\"Wt\", -1, 0 },\n\t\t{
        \"[^]pPZ\\?q+m0LJ+\", -1, 0 },\n\t\t{ \"[^]p[:upperword:]L:\", -1, 0 },\n\t\t{
        \"[^]q\\?{,-18}-\", -1, 0 },\n\t\t{ \"[^]s[:space:(\\?<=]$\", -1, 0 },\n\t\t{
        \"[^]{,58}t\", -1, 0 },\n\t\t{ \"[^]{255,}JJJJJJJJJJJJJJJJJJJJJJJJJJ\", -1,
        0 },\n\t\t{ \"[^]{45}\", -1, 0 },\n\t\t{ \"[^]{W\", -1, 0 },\n\t\t{ \"[^]{}{-22}\",
        -1, 0 },\n\t\t{ \"[^]{}{}{}[:xdigit:]+\", -1, 0 },\n\t\t{ \"[^]|9{,-108}{}.LVIJJJJJJJJJJJJJJJPP\",
        -1, 0 },\n\t\t{ \"[^{,-254}]|\", -1, 0 },\n\t\t{ \"[o(\\?{(\\?<=}[))f++++++++++++++++\"\n\t\t
        \ \"777777777777777777777777yzPPs]\"\n\t\t  \"\\?\\?dRRRRRRRRRRRRRRRRRRRRRRRRRRRR&]>%fffffffffff\",\n\t\t
        \ -1, 0 },\n\t\t{ \"aW|\", -1, 0 },\n\t\t{ \"cT{}[]C^r2``tm\", -1, 0 },\n\t\t{
        \"kkkkkkkkkkkkkkkkkkkkkkk[:blankcntrl:]|{}3{26,}{151,}[:punct:\"\n\t\t  \"]JJJlH$gP%(2WUE%%%%%%%%%%%%%%%%%%%%a){ibf{}\\?\",\n\t\t
        \ -1, 0 },\n\t\t{ \"lZ\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?\\?-P2eZt[:punct:]\",
        -1, 0 },\n\t\t{ \"vF3qn[^]N.\", -1, 0 },\n\t\t{ \"wwwwwwwwwwwwww{-176,}275[^]>.\"\n\t\t
        \ \"UUUUUUUUUUUUUUUUUUUUeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee2$Yd\",\n\t\t  -1,
        0 },\n\t\t{ \"{-197,223}bf]]]]]]]]]]\\?&}/s\\?\\?~c\", -1, 0 },\n\t\t{ \"{-37,}EpP|\",
        -1, 0 },\n\t\t{ \"{}@]a[][:xdigit:]z{a\", -1, 0 },\n\t\t{ \"}02|\", -1, 0
        },\n\t\t{ \"}}}}}}}}}(}}){}[llll]^N|\", -1, 0 },\n\t}"
      pos:
        line_end: 48
        line_start: 43
        source_file: /src/bind9/tests/isc/regex_test.c
    typedefs: []
    union: []
- function_names:
  - AS_STR
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/lex_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*text'
        type: char
      - name: '*string_value'
        type: char
      - name: string_result
        type: isc_result_t
      - name: string_type
        type: isc_tokentype_t
      - name: '*qstring_value'
        type: char
      - name: qstring_result
        type: isc_result_t
      - name: qstring_type
        type: isc_tokentype_t
      - name: '*qvpair_value'
        type: char
      - name: qvpair_result
        type: isc_result_t
      - name: qvpair_type
        type: isc_tokentype_t
      item_type: struct
      name: "parse_tests[] = {\n\t{ \"\", \"\", ISC_R_SUCCESS, isc_tokentype_eof,
        \"\", ISC_R_SUCCESS,\n\t  isc_tokentype_eof, \"\", ISC_R_SUCCESS, isc_tokentype_eof
        },\n\t{ \"1234\", \"1234\", ISC_R_SUCCESS, isc_tokentype_string, \"1234\",\n\t
        \ ISC_R_SUCCESS, isc_tokentype_string, \"1234\", ISC_R_SUCCESS,\n\t  isc_tokentype_string
        },\n\t{ \"1234=\", \"1234=\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"1234=\",
        ISC_R_SUCCESS, isc_tokentype_string, \"1234=\", ISC_R_SUCCESS,\n\t  isc_tokentype_vpair
        },\n\t{ \"1234=foo\", \"1234=foo\", ISC_R_SUCCESS, isc_tokentype_string,\n\t
        \ \"1234=foo\", ISC_R_SUCCESS, isc_tokentype_string, \"1234=foo\",\n\t  ISC_R_SUCCESS,
        isc_tokentype_vpair },\n\t{ \"1234=\\\"foo\", \"1234=\\\"foo\", ISC_R_SUCCESS,
        isc_tokentype_string,\n\t  \"1234=\\\"foo\", ISC_R_SUCCESS, isc_tokentype_string,
        NULL,\n\t  ISC_R_UNEXPECTEDEND, 0 },\n\t{ \"1234=\\\"foo\\\"\", \"1234=\\\"foo\\\"\",
        ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"1234=\\\"foo\\\"\", ISC_R_SUCCESS,
        isc_tokentype_string, \"1234=foo\",\n\t  ISC_R_SUCCESS, isc_tokentype_qvpair
        },\n\t{ \"key\", \"key\", ISC_R_SUCCESS, isc_tokentype_string, \"key\",\n\t
        \ ISC_R_SUCCESS, isc_tokentype_string, \"key\", ISC_R_SUCCESS,\n\t  isc_tokentype_string
        },\n\t{ \"\\\"key=\", \"\\\"key=\", ISC_R_SUCCESS, isc_tokentype_string, NULL,\n\t
        \ ISC_R_UNEXPECTEDEND, 0, \"\\\"key=\", ISC_R_SUCCESS,\n\t  isc_tokentype_vpair
        },\n\t{ \"\\\"key=\\\"\", \"\\\"key=\\\"\", ISC_R_SUCCESS, isc_tokentype_string,
        \"key=\",\n\t  ISC_R_SUCCESS, isc_tokentype_qstring, NULL, ISC_R_UNEXPECTEDEND,
        0 },\n\t{ \"key=\\\"\\\"\", \"key=\\\"\\\"\", ISC_R_SUCCESS, isc_tokentype_string,\n\t
        \ \"key=\\\"\\\"\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key=\", ISC_R_SUCCESS,
        isc_tokentype_qvpair },\n\t{ \"key=\\\"a b\\\"\", \"key=\\\"a\", ISC_R_SUCCESS,
        isc_tokentype_string,\n\t  \"key=\\\"a\", ISC_R_SUCCESS, isc_tokentype_string,
        \"key=a b\",\n\t  ISC_R_SUCCESS, isc_tokentype_qvpair },\n\t{ \"key=\\\"a\\tb\\\"\",
        \"key=\\\"a\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key=\\\"a\", ISC_R_SUCCESS,
        isc_tokentype_string, \"key=a\\tb\",\n\t  ISC_R_SUCCESS, isc_tokentype_qvpair
        },\n\t/* double quote not immediately after '=' is not special. */\n\t{ \"key=c\\\"a
        b\\\"\", \"key=c\\\"a\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key=c\\\"a\",
        ISC_R_SUCCESS, isc_tokentype_string, \"key=c\\\"a\",\n\t  ISC_R_SUCCESS, isc_tokentype_vpair
        },\n\t/* remove special meaning for '=' by escaping */\n\t{ \"key\\\\=\",
        \"key\\\\=\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key\\\\=\", ISC_R_SUCCESS,
        isc_tokentype_string,\n\t  \"key\\\\=\", ISC_R_SUCCESS, isc_tokentype_string
        },\n\t{ \"key\\\\=\\\"a\\\"\", \"key\\\\=\\\"a\\\"\", ISC_R_SUCCESS, isc_tokentype_string,\n\t
        \ \"key\\\\=\\\"a\\\"\", ISC_R_SUCCESS, isc_tokentype_string, \"key\\\\=\\\"a\\\"\",\n\t
        \ ISC_R_SUCCESS, isc_tokentype_string },\n\t{ \"key\\\\=\\\"a \\\"\", \"key\\\\=\\\"a\",
        ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key\\\\=\\\"a\", ISC_R_SUCCESS,
        isc_tokentype_string, \"key\\\\=\\\"a\",\n\t  ISC_R_SUCCESS, isc_tokentype_string
        },\n\t/* vpair with a key of 'key\\=' (would need to be deescaped) */\n\t{
        \"key\\\\==\", \"key\\\\==\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key\\\\==\",
        ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key\\\\==\", ISC_R_SUCCESS, isc_tokentype_vpair
        },\n\t{ \"key\\\\==\\\"\\\"\", \"key\\\\==\\\"\\\"\", ISC_R_SUCCESS, isc_tokentype_string,\n\t
        \ \"key\\\\==\\\"\\\"\", ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key\\\\==\",
        ISC_R_SUCCESS, isc_tokentype_qvpair },\n\t{ \"key=\\\\\\\\\\\\\\\\\", \"key=\\\\\\\\\\\\\\\\\",
        ISC_R_SUCCESS, isc_tokentype_string,\n\t  \"key=\\\\\\\\\\\\\\\\\", ISC_R_SUCCESS,
        isc_tokentype_string, \"key=\\\\\\\\\\\\\\\\\",\n\t  ISC_R_SUCCESS, isc_tokentype_vpair
        },\n\t{ \"key=\\\\\\\\\\\\\\\"\", \"key=\\\\\\\\\\\\\\\"\", ISC_R_SUCCESS,
        isc_tokentype_string,\n\t  \"key=\\\\\\\\\\\\\\\"\", ISC_R_SUCCESS, isc_tokentype_string,
        \"key=\\\\\\\\\\\\\\\"\",\n\t  ISC_R_SUCCESS, isc_tokentype_vpair },\n\t/*
        incomplete escape sequence */\n\t{ \"key=\\\\\\\"\\\\\", NULL, ISC_R_UNEXPECTEDEND,
        isc_tokentype_string, NULL,\n\t  ISC_R_UNEXPECTEDEND, 0, NULL, ISC_R_UNEXPECTEDEND,
        0 },\n\t/* incomplete escape sequence */\n\t{ \"key=\\\\\", NULL, ISC_R_UNEXPECTEDEND,
        isc_tokentype_string, NULL,\n\t  ISC_R_UNEXPECTEDEND, 0, NULL, ISC_R_UNEXPECTEDEND,
        0 },\n}"
      pos:
        line_end: 111
        line_start: 100
        source_file: /src/bind9/tests/isc/lex_test.c
    typedefs: []
    union: []
- function_names:
  - TEST_INPUT
  - _setup
  - _teardown
  - _reset
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - isc_hmac_test
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/hmac_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/tests/isc/proxyheader_test_data.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/radix_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - mock_recv_cb
  - udp_connect_nomemory_cb
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/isc/udp_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/sockaddr_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: expect
        type: bool
      item_type: struct
      name: "data4[] = {\n\t\t{ \"0.0.0.0\", true },\t      { \"0.0.0.1\", true },\n\t\t{
        \"0.0.1.0\", true },\t      { \"0.1.0.0\", true },\n\t\t{ \"1.0.0.0\", false
        },\t      { \"0.0.0.127\", true },\n\t\t{ \"0.0.0.255\", true },\t      {
        \"127.0.0.1\", false },\n\t\t{ \"255.255.255.255\", false },\n\t}"
      pos:
        line_end: 69
        line_start: 66
        source_file: /src/bind9/tests/isc/sockaddr_test.c
    - fields:
      - name: '*string'
        type: char
      - name: expect
        type: bool
      item_type: struct
      name: "data6[] = {\n\t\t{ \"::ffff:0.0.0.0\", false },\n\t\t{ \"::ffff:0.0.0.1\",
        false },\n\t\t{ \"::ffff:0.0.0.127\", false },\n\t\t{ \"::ffff:0.0.0.255\",
        false },\n\t\t{ \"::ffff:127.0.0.1\", false },\n\t\t{ \"::ffff:255.255.255.255\",
        false },\n\t}"
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/bind9/tests/isc/sockaddr_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - add_quota
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - callback
  - ISC_RUN_TEST_IMPL
  - quota_release
  - quota_callback
  - quota_thread
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/quota_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: direct
        type: atomic_uint_fast32_t
      - name: callback
        type: atomic_uint_fast32_t
      - name: callbacks[100]
        type: isc_job_t
      item_type: struct
      name: qthreadinfo
      pos:
        line_end: 231
        line_start: 227
        source_file: /src/bind9/tests/isc/quota_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/siphash_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_env
  - ISC_RUN_TEST_IMPL
  - pthread_mutex_thread
  - isc_mutex_thread
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/mutex_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ITERS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DC
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '200'
    - item_type: preproc_def
      name: CNT_MIN
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '800'
    - item_type: preproc_def
      name: CNT_MAX
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '1600'
    structs: []
    typedefs: []
    union: []
- function_names:
  - shutdown_cb
  - job_cb
  - job_run_cb
  - ISC_RUN_TEST_IMPL
  - append
  - job_multiple
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/job_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_EXECUTED
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/tests/isc/job_test.c
      type_or_value: '1000000'
    structs:
    - fields:
      - name: job
        type: isc_job_t
      - name: arg
        type: "union {\n\t\tint n;\n\t\tvoid *ptr;\n\t}"
      item_type: struct
      name: test_arg
      pos:
        line_end: 47
        line_start: 41
        source_file: /src/bind9/tests/isc/job_test.c
    typedefs: []
    union: []
- function_names:
  - work_cb
  - after_work_cb
  - work_enqueue_cb
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/work_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_netmgr_test
  - teardown_netmgr_test
  - stop_listening
  - connect_send_cb
  - connect_send
  - connect_read_cb
  - connect_connect_cb
  - listen_send_cb
  - listen_read_cb
  - listen_accept_cb
  - stream_accept_cb
  - stream_recv_send_connect
  - timeout_retry_cb
  - tcp_listener_init_quota
  - tcp_connect
  - tls_connect
  - set_proxyheader_info
  - get_proxyheader_info
  - proxystream_connect
  - get_stream_connect_function
  - stream_listen
  - stream_connect
  - get_proxy_type
  - connect_success_cb
  - stream_noop_setup
  - proxystream_noop_setup
  - proxystreamtls_noop_setup
  - stream_noop
  - stream_noop_teardown
  - proxystream_noop_teardown
  - proxystreamtls_noop_teardown
  - noresponse_readcb
  - noresponse_sendcb
  - noresponse_connectcb
  - stream_noresponse_setup
  - proxystream_noresponse_setup
  - proxystream_noresponse_teardown
  - proxystreamtls_noresponse_setup
  - proxystreamtls_noresponse_teardown
  - stream_noresponse
  - stream_noresponse_teardown
  - stream_timeout_recovery_setup
  - proxy2_handler_save_addrs_cb
  - proxy_verify_endpoints
  - proxystream_timeout_recovery_setup
  - proxystream_timeout_recovery_teardown
  - proxystreamtls_timeout_recovery_setup
  - proxystreamtls_timeout_recovery_teardown
  - stream_timeout_recovery
  - stream_timeout_recovery_teardown
  - stream_recv_one_setup
  - proxystream_recv_one_setup
  - proxystream_recv_one_teardown
  - proxystreamtls_recv_one_setup
  - proxystreamtls_recv_one_teardown
  - stream_recv_one
  - stream_recv_one_teardown
  - stream_recv_two_setup
  - proxystream_recv_two_setup
  - proxystream_recv_two_teardown
  - proxystreamtls_recv_two_setup
  - proxystreamtls_recv_two_teardown
  - stream_recv_two
  - stream_recv_two_teardown
  - stream_recv_send_setup
  - proxystream_recv_send_setup
  - proxystream_recv_send_teardown
  - proxystreamtls_recv_send_setup
  - proxystreamtls_recv_send_teardown
  - stream_recv_send
  - stream_recv_send_teardown
  - setup_udp_test
  - teardown_udp_test
  - udp_connect
  - udp_listen_read_cb
  - udp_start_listening
  - udp__send_cb
  - udp_enqueue_connect
  - udp__connect_read_cb
  - udp__connect_cb
  - udp_noop_setup
  - udp_noop_teardown
  - udp_noop
  - proxyudp_noop_setup
  - proxyudp_noop_teardown
  - udp_noresponse_recv_cb
  - udp_noresponse_read_cb
  - udp_noresponse_send_cb
  - udp_noresponse_connect_cb
  - udp_noresponse_setup
  - udp_noresponse_teardown
  - udp_noresponse
  - proxyudp_noresponse_setup
  - proxyudp_noresponse_teardown
  - udp_timeout_recovery_ssend_cb
  - udp_timeout_recovery_recv_cb
  - udp_timeout_recovery_read_cb
  - udp_timeout_recovery_send_cb
  - udp_timeout_recovery_connect_cb
  - udp_timeout_recovery_setup
  - udp_timeout_recovery_teardown
  - udp_timeout_recovery
  - proxyudp_timeout_recovery_setup
  - proxyudp_timeout_recovery_teardown
  - udp_shutdown_connect_connect_cb
  - udp_shutdown_connect_async_cb
  - udp_shutdown_connect_setup
  - udp_shutdown_connect_teardown
  - udp_shutdown_connect
  - proxyudp_shutdown_connect_setup
  - proxyudp_shutdown_connect_teardown
  - udp_shutdown_read_recv_cb
  - udp_shutdown_read_send_cb
  - udp_shutdown_read_read_cb
  - udp_shutdown_read_connect_cb
  - udp_shutdown_read_setup
  - udp_shutdown_read_teardown
  - udp_shutdown_read
  - proxyudp_shutdown_read_setup
  - proxyudp_shutdown_read_teardown
  - udp_cancel_read_recv_cb
  - udp_cancel_read_send_cb
  - udp_cancel_read_read_cb
  - udp_cancel_read_connect_cb
  - udp_cancel_read_setup
  - udp_cancel_read_teardown
  - udp_cancel_read
  - proxyudp_cancel_read_setup
  - proxyudp_cancel_read_teardown
  - udp_recv_one_setup
  - udp_recv_one_teardown
  - udp_recv_one
  - proxyudp_recv_one_setup
  - proxyudp_recv_one_teardown
  - udp_recv_two_setup
  - udp_recv_two_teardown
  - udp_recv_two
  - proxyudp_recv_two_setup
  - proxyudp_recv_two_teardown
  - udp_recv_send_setup
  - udp_recv_send_teardown
  - udp_recv_send
  - proxyudp_recv_send_setup
  - proxyudp_recv_send_teardown
  - udp_double_read_send_cb
  - udp_double_read_listen_cb
  - udp_double_read_cb
  - udp_double_read_setup
  - udp_double_read_teardown
  - udp_double_read
  - proxyudp_double_read_setup
  - proxyudp_double_read_teardown
  source_file: /src/bind9/tests/isc/netmgr_common.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: src_addr
        type: isc_sockaddr_t
      - name: dst_addr
        type: isc_sockaddr_t
      item_type: struct
      name: proxy_addrs
      pos:
        line_end: 932
        line_start: 929
        source_file: /src/bind9/tests/isc/netmgr_common.c
    typedefs: []
    union: []
- function_names:
  - nodes_match
  - long_nodes_match
  - upper_nodes_match
  - test_hashmap_full
  - test_hashmap_iterator
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - case_match
  - nocase_match
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/hashmap_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: mctx
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/isc/hashmap_test.c
      type_or_value: __mctx
    structs:
    - fields:
      - name: hashval
        type: uint32_t
      - name: key[64]
        type: char
      item_type: struct
      name: test_node
      pos:
        line_end: 43
        line_start: 40
        source_file: /src/bind9/tests/isc/hashmap_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/time_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/tests/isc/time_test.c
      type_or_value: (NS_PER_SEC - 1)
    structs:
    - fields:
      - name: a
        type: isc_time_t
      - name: b
        type: isc_interval_t
      - name: r
        type: isc_time_t
      - name: result
        type: isc_result_t
      item_type: struct
      name: time_vectors
      pos:
        line_end: 41
        line_start: 36
        source_file: /src/bind9/tests/isc/time_test.c
    typedefs: []
    union: []
- function_names:
  - undefine
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - peek
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/symtab_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_NITEMS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/tests/isc/symtab_test.c
      type_or_value: '10000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - have_expected_ssends
  - have_expected_sreads
  - have_expected_csends
  - have_expected_cconnects
  - have_expected_creads
  - have_expected_ctimeouts
  - CHECK_RANGE_FULL
  - CHECK_RANGE_HALF
  - X
  - get_proxy_type
  - proxy_verify_unspec_endpoint
  - connect_send_cb
  - connect_send_request
  - setup_ephemeral_port
  - setsockopt_on
  - noop_read_cb
  - setup_test
  - teardown_test
  - sockaddr_to_url
  - init_listener_quota
  - doh_receive_reply_cb
  - doh_reply_sent_cb
  - doh_receive_request_cb
  - ISC_LOOP_TEST_IMPL
  - listen_sock_close
  - doh_noop
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - doh_noresponse
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - timeout_query_sent_cb
  - timeout_retry_cb
  - timeout_request_cb
  - doh_timeout_recovery
  - doh_timeout_recovery_teardown
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - doh_receive_send_reply_cb
  - doh_connect_thread
  - doh_recv_one
  - doh_recv_one_teardown
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - doh_connect_send_two_requests_cb
  - doh_recv_two
  - doh_recv_two_teardown
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - doh_recv_send
  - doh_recv_send_teardown
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - doh_bad_connect_uri_teardown
  - ISC_LOOP_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/isc/doh_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_NM
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '2'
    - item_type: preproc_def
      name: T_SOFT
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '50'
    - item_type: preproc_def
      name: T_CONNECT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: 30 * 1000
    - item_type: preproc_def
      name: NSENDS
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '100'
    - item_type: preproc_def
      name: NWRITES
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: reply_cb
        type: isc_nm_recv_cb_t
      - name: '*cb_arg'
        type: void
      - name: region
        type: isc_region_t
      item_type: struct
      name: csdata
      pos:
        line_end: 168
        line_start: 163
        source_file: /src/bind9/tests/isc/doh_test.c
    typedefs: []
    union: []
- function_names:
  - compare
  - idx
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/heap_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: value
        type: unsigned int
      - name: index
        type: unsigned int
      item_type: struct
      name: e
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/bind9/tests/isc/heap_test.c
    typedefs: []
    union: []
- function_names:
  - setup_env
  - teardown_env
  - rwlock_setup
  - rwlock_teardown
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - trylock_thread1
  - trylock_thread2
  - ISC_RUN_TEST_IMPL
  - pthread_rwlock_thread
  - isc_rwlock_thread
  - isc__rwlock_benchmark
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/rwlock_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ITERS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '200'
    - item_type: preproc_def
      name: CNT_MIN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '800'
    - item_type: preproc_def
      name: CNT_MAX
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '1600'
    structs: []
    typedefs: []
    union: []
- function_names:
  - async_cb
  - async_setup_cb
  - ISC_RUN_TEST_IMPL
  - append
  - async_multiple
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/async_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_test_dnsbuf
  - teardown_test_dnsbuf
  - dnsasm_dummy
  - setup_test_dnsasm
  - teardown_test_dnsasm
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - verify_dnsmsg
  - verify_dnsmsg_regions
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/dnsstream_utils_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATIC_BUFFER_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/tests/isc/dnsstream_utils_test.c
      type_or_value: (512)
    - item_type: preproc_def
      name: DYNAMIC_BUFFER_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/tests/isc/dnsstream_utils_test.c
      type_or_value: (STATIC_BUFFER_SIZE + ISC_BUFFER_INCR)
    structs:
    - fields:
      - name: '*verify_message'
        type: uint8_t
      - name: cont_on_success
        type: bool
      - name: clear_on_success
        type: bool
      item_type: struct
      name: verify_cbdata
      pos:
        line_end: 264
        line_start: 260
        source_file: /src/bind9/tests/isc/dnsstream_utils_test.c
    - fields:
      - name: '*packets'
        type: isc_region_t
      - name: cont_on_success
        type: bool
      item_type: struct
      name: verify_regions_cbdata
      pos:
        line_end: 304
        line_start: 301
        source_file: /src/bind9/tests/isc/dnsstream_utils_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - tcp_setup
  source_file: /src/bind9/tests/isc/tcp_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dummy_subtlv_iter_cb
  - dummy_tlv_iter_cb
  - proxy2_handler_dummy
  - setup_test_proxy
  - teardown_test_proxy
  - test_header_data
  - verify_proxy_v2_header
  - verify_proxy_v2_header_with_TLS
  - verify_proxy_v2_header_with_TLS_CN
  - verify_proxy_v2_header_with_AF_UNIX
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - rebuild_subtlv_iter_cb
  - rebuild_tlv_iter_cb
  - proxy2_handler_rebuild_cb
  - proxy2_handler_rebuild
  - try_rebuild_header
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - update_header_length
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/proxyheader_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cmd
        type: isc_proxy2_command_t
      - name: socktype
        type: int
      - name: src_addr
        type: isc_sockaddr_t
      - name: dst_addr
        type: isc_sockaddr_t
      - name: no_more_calls
        type: size_t
      - name: tlvs
        type: size_t
      - name: tls_subtlvs
        type: size_t
      - name: tls_client_flags
        type: uint8_t
      - name: client_cert_verified
        type: bool
      - name: tlv_data
        type: isc_region_t
      - name: extra
        type: isc_region_t
      - name: tls_version
        type: isc_region_t
      - name: tls_common_name
        type: isc_region_t
      item_type: struct
      name: dummy_handler_cbarg
      pos:
        line_end: 47
        line_start: 33
        source_file: /src/bind9/tests/isc/proxyheader_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/buffer_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/parse_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - have_expected_ssends
  - have_expected_sreads
  - have_expected_saccepts
  - have_expected_csends
  - have_expected_cconnects
  - have_expected_creads
  - have_expected_ctimeouts
  - do_ssends_shutdown
  - do_sreads_shutdown
  - do_saccepts_shutdown
  - do_csends_shutdown
  - do_cconnects_shutdown
  - do_creads_shutdown
  - do_ctimeouts_shutdown
  - WAIT_FOR
  - WAIT_FOR_EQ
  - WAIT_FOR_NE
  - WAIT_FOR_LE
  - WAIT_FOR_LT
  - WAIT_FOR_GE
  - WAIT_FOR_GT
  - DONE
  - CHECK_RANGE_FULL
  - CHECK_RANGE_HALF
  - X
  - P
  - F
  - isc_loopmgr_shutdown
  - atomic_assert_int_eq
  - atomic_assert_int_ne
  - atomic_assert_int_le
  - atomic_assert_int_lt
  - atomic_assert_int_ge
  - atomic_assert_int_gt
  source_file: /src/bind9/tests/isc/netmgr_common.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UDP_TEST_PORT
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9153'
    - item_type: preproc_def
      name: TCP_TEST_PORT
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9154'
    - item_type: preproc_def
      name: TLS_TEST_PORT
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9155'
    - item_type: preproc_def
      name: TCPDNS_TEST_PORT
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9156'
    - item_type: preproc_def
      name: TLSDNS_TEST_PORT
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9157'
    - item_type: preproc_def
      name: PROXYSTREAM_TEST_PORT
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9158'
    - item_type: preproc_def
      name: PROXYUDP_TEST_PORT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '9159'
    - item_type: preproc_def
      name: NSENDS
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '100'
    - item_type: preproc_def
      name: T_SOFT
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '50'
    - item_type: preproc_def
      name: T_INIT
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_IDLE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_KEEPALIVE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_ADVERTISED
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_PRIMARIES
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_CONNECT
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 30 * 1000
    - item_type: preproc_def
      name: WAIT_REPEATS
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: T_WAIT
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: UDP_T_SOFT
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '50'
    - item_type: preproc_def
      name: UDP_T_CONNECT
      pos:
        line_end: 456
        line_start: 455
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 30 * 1000
    structs: []
    typedefs:
    - item_type: typedef
      name: (*stream_connect_function)(isc_nm_t *nm)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type: void
    - item_type: typedef
      name: (*connect_func)(isc_nm_t *)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type: void
    union: []
- function_names:
  - setup_test_run
  - setup_test
  - set_global_error
  - subthread_assert_true
  - subthread_assert_true
  - subthread_assert_result_equal
  - subthread_assert_result_equal
  - ticktock
  - ISC_RUN_TEST_IMPL
  - test_idle
  - ISC_RUN_TEST_IMPL
  - test_reset
  - ISC_RUN_TEST_IMPL
  - tick_event
  - once_event
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - timer_event
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEST_CUSTOM_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEST_CUSTOM_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEST_CUSTOM_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEST_CUSTOM_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEST_CUSTOM_IMPL
  source_file: /src/bind9/tests/isc/timer_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FUDGE_SECONDS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/tests/isc/timer_test.c
      type_or_value: "0\t    "
    - item_type: preproc_def
      name: FUDGE_NANOSECONDS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/tests/isc/timer_test.c
      type_or_value: '500000000 '
    structs:
    - fields:
      - name: timertype
        type: isc_timertype_t
      - name: '*interval'
        type: isc_interval_t
      - name: action
        type: isc_job_cb
      item_type: struct
      name: setup_test_arg
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/bind9/tests/isc/timer_test.c
    typedefs: []
    union: []
- function_names:
  - check_response
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/ns/notify_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_nmhandle_attach
  - isc_nmhandle_detach
  - isc_nm_socket_type
  source_file: /src/bind9/tests/ns/netmgr_wrap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLARG
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/bind9/tests/ns/netmgr_wrap.c
      type_or_value: ", const char *func ISC_ATTR_UNUSED, const char *file ISC_ATTR_UNUSED,
        \\\n\t\tunsigned int line ISC_ATTR_UNUSED"
    structs: []
    typedefs: []
    union: []
- function_names:
  - run_full_path_test
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/ns/plugin_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: ns_test_id_t
      - name: '*input'
        type: char
      - name: output_size
        type: size_t
      - name: result
        type: isc_result_t
      - name: '*output'
        type: char
      item_type: struct
      name: ns_plugin_expandpath_test_params_t
      pos:
        line_end: 51
        line_start: 43
        source_file: /src/bind9/tests/ns/plugin_test.c
    typedefs: []
    union: []
- function_names:
  - send_noop
  - run_sfcache_test
  - ISC_LOOP_TEST_IMPL
  - run_start_test
  - ISC_LOOP_TEST_IMPL
  - destroy_hookactx
  - cancel_hookactx
  - test_hookasync
  - hook_async_common
  - hook_async_query_setup
  - hook_async_query_start_begin
  - hook_async_query_lookup_begin
  - hook_async_query_resume_begin
  - hook_async_query_got_answer_begin
  - hook_async_query_respond_any_begin
  - hook_async_query_addanswer_begin
  - hook_async_query_notfound_begin
  - hook_async_query_prep_delegation_begin
  - hook_async_query_zone_delegation_begin
  - hook_async_query_delegation_begin
  - hook_async_query_delegation_recurse_begin
  - hook_async_query_nodata_begin
  - hook_async_query_nxdomain_begin
  - hook_async_query_ncache_begin
  - hook_async_query_cname_begin
  - hook_async_query_dname_begin
  - hook_async_query_respond_begin
  - hook_async_query_response_begin
  - hook_async_query_done_begin
  - ns_test_qctx_destroy_hook
  - run_hookasync_test
  - ISC_LOOP_TEST_IMPL
  - cancel_e2ehookactx
  - test_hookasync_e2e
  - hook_async_e2e
  - hook_donesend
  - run_hookasync_e2e_test
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/ns/query_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: ns_test_id_t
      - name: qflags
        type: unsigned int
      - name: cache_entry_present
        type: bool
      - name: cache_entry_flags
        type: uint32_t
      - name: servfail_expected
        type: bool
      item_type: struct
      name: ns__query_sfcache_test_params_t
      pos:
        line_end: 71
        line_start: 55
        source_file: /src/bind9/tests/ns/query_test.c
    - fields:
      - name: id
        type: ns_test_id_t
      - name: '*qname'
        type: char
      - name: qtype
        type: dns_rdatatype_t
      - name: qflags
        type: unsigned int
      - name: disable_name_checks
        type: bool
      - name: recursive_service
        type: bool
      - name: '*auth_zone_origin'
        type: char
      - name: '*auth_zone_path'
        type: char
      - name: expected_result
        type: "enum {\t\t\t      /* expected result: */\n\t       NS__QUERY_START_R_INVALID,\n\t
          \      NS__QUERY_START_R_REFUSE, /* query should be REFUSED */\n\t       NS__QUERY_START_R_CACHE,\t
          /* query should be answered from\n\t\t\t\t\t  * cache */\n\t       NS__QUERY_START_R_AUTH,\t
          /* query should be answered using\n\t\t\t\t\t  * authoritative data */\n\t}"
      item_type: struct
      name: ns__query_start_test_params_t
      pos:
        line_end: 272
        line_start: 245
        source_file: /src/bind9/tests/ns/query_test.c
    - fields:
      - name: id
        type: ns_test_id_t
      - name: hookpoint
        type: ns_hookpoint_t
      - name: hookpoint2
        type: ns_hookpoint_t
      - name: action
        type: ns_hook_action_t
      - name: start_result
        type: isc_result_t
      - name: quota_ok
        type: bool
      - name: do_cancel
        type: bool
      item_type: struct
      name: ns__query_hookasync_test_params_t
      pos:
        line_end: 603
        line_start: 594
        source_file: /src/bind9/tests/ns/query_test.c
    - fields:
      - name: async
        type: bool
      - name: canceled
        type: bool
      - name: start_result
        type: isc_result_t
      - name: '*rev'
        type: ns_hook_resume_t
      - name: qctx
        type: query_ctx_t
      - name: hookpoint
        type: ns_hookpoint_t
      - name: lasthookpoint
        type: ns_hookpoint_t
      item_type: struct
      name: hookasync_data
      pos:
        line_end: 615
        line_start: 606
        source_file: /src/bind9/tests/ns/query_test.c
    - fields:
      - name: id
        type: ns_test_id_t
      - name: '*qname'
        type: char
      - name: hookpoint
        type: ns_hookpoint_t
      - name: start_result
        type: isc_result_t
      - name: do_cancel
        type: bool
      - name: expected_rcode
        type: dns_rcode_t
      item_type: struct
      name: ns__query_hookasync_e2e_test_params_t
      pos:
        line_end: 1259
        line_start: 1251
        source_file: /src/bind9/tests/ns/query_test.c
    - fields:
      - name: async
        type: bool
      - name: '*rev'
        type: ns_hook_resume_t
      - name: hookpoint
        type: ns_hookpoint_t
      - name: start_result
        type: isc_result_t
      - name: expected_rcode
        type: dns_rcode_t
      - name: done
        type: bool
      item_type: struct
      name: hookasync_e2e_data
      pos:
        line_end: 1270
        line_start: 1262
        source_file: /src/bind9/tests/ns/query_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_SETUP_TEST_IMPL
  - append
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isccfg/parser_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_SETUP_TEST_IMPL
  - write_to_buffer
  - assert_text
  - find_clause
  - test__querysource
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - test__query_source_print
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isccfg/grammar_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_SETUP_TEST_IMPL
  - output
  - ISC_RUN_TEST_IMPL
  - CFG_LIST_FOREACH
  source_file: /src/bind9/tests/isccfg/duration_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: time
        type: uint32_t
      - name: '*out'
        type: char
      item_type: struct
      name: duration_conf
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/bind9/tests/isccfg/duration_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/badcache_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BADCACHE_TEST_FLAG
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/tests/dns/badcache_test.c
      type_or_value: 1 << 3
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_test
  - teardown_test
  - str2name
  - create_keystruct
  - create_dsstruct
  - create_tables
  - destroy_tables
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/keytable_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - check_leaf
  - qpiter_makekey
  - getname
  - ISC_RUN_TEST_IMPL
  - no_op
  - qpkey_fromstring
  - check_partialmatch
  - insert_name
  - delete_rootkey
  - ISC_RUN_TEST_IMPL
  - check_qpchainiter
  - check_qpchain
  - ISC_RUN_TEST_IMPL
  - check_predecessors_withchain
  - check_predecessors
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - check_delete
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/qp_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ITER_ITEMS
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/bind9/tests/dns/qp_test.c
      type_or_value: '100'
    structs:
    - fields:
      - name: '*namestr'
        type: char
      - name: space
        type: dns_namespace_t
      - name: key[512]
        type: uint8_t
      - name: len
        type: size_t
      item_type: struct
      name: "testcases[] = {\n\t\t{\n\t\t\t.namestr = \"\",\n\t\t\t.space = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key
        = { 0x07, 0x02 },\n\t\t\t.len = 1,\n\t\t},\n\t\t{\n\t\t\t.namestr = \".\",\n\t\t\t.space
        = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key = { 0x07, 0x02, 0x02 },\n\t\t\t.len
        = 2,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"\\\\000\",\n\t\t\t.space = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key
        = { 0x07, 0x03, 0x03, 0x02 },\n\t\t\t.len = 4,\n\t\t},\n\t\t{\n\t\t\t.namestr
        = \"\\\\000\\\\009\",\n\t\t\t.space = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key
        = { 0x07, 0x03, 0x03, 0x03, 0x0c, 0x02 },\n\t\t\t.len = 6,\n\t\t},\n\t\t{\n\t\t\t.namestr
        = \"com\",\n\t\t\t.space = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key = { 0x07, 0x16,
        0x22, 0x20, 0x02 },\n\t\t\t.len = 5,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"com.\",\n\t\t\t.space
        = DNS_DBNAMESPACE_NSEC,\n\t\t\t.key = { 0x08, 0x02, 0x16, 0x22, 0x20, 0x02
        },\n\t\t\t.len = 6,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"com.\",\n\t\t\t.space
        = DNS_DBNAMESPACE_NSEC3,\n\t\t\t.key = { 0x09, 0x02, 0x16, 0x22, 0x20, 0x02
        },\n\t\t\t.len = 6,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"com.\",\n\t\t\t.space
        = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key = { 0x07, 0x02, 0x16, 0x22, 0x20, 0x02
        },\n\t\t\t.len = 6,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"example.com.\",\n\t\t\t.space
        = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key = { 0x07, 0x02, 0x16, 0x22, 0x20, 0x02,
        0x18, 0x2b,\n\t\t\t\t 0x14, 0x20, 0x23, 0x1f, 0x18, 0x02 },\n\t\t\t.len =
        14,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"example.com\",\n\t\t\t.space = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key
        = { 0x07, 0x16, 0x22, 0x20, 0x02, 0x18, 0x2b, 0x14,\n\t\t\t\t 0x20, 0x23,
        0x1f, 0x18, 0x02 },\n\t\t\t.len = 13,\n\t\t},\n\t\t{\n\t\t\t.namestr = \"EXAMPLE.COM\",\n\t\t\t.space
        = DNS_DBNAMESPACE_NORMAL,\n\t\t\t.key = { 0x07, 0x16, 0x22, 0x20, 0x02, 0x18,
        0x2b, 0x14,\n\t\t\t\t 0x20, 0x23, 0x1f, 0x18, 0x02 },\n\t\t\t.len = 13,\n\t\t},\n\t}"
      pos:
        line_end: 50
        line_start: 45
        source_file: /src/bind9/tests/dns/qp_test.c
    - fields:
      - name: '*namestr'
        type: char
      - name: '*name'
        type: dns_name_t
      - name: fixed
        type: dns_fixedname_t
      - name: space
        type: dns_namespace_t
      - name: len
        type: size_t
      - name: key
        type: dns_qpkey_t
      item_type: struct
      name: "testcases[] = {\n\t\t{ .namestr = \".\", .space = DNS_DBNAMESPACE_NORMAL
        },\n\t\t{ .namestr = \"\\\\000.\", .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{
        .namestr = \"\\\\000.\\\\000.\", .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{
        .namestr = \"\\\\000\\\\009.\", .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{
        .namestr = \"\\\\007.\", .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{ .namestr
        = \"example.com.\", .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{ .namestr = \"EXAMPLE.COM.\",
        .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{ .namestr = \"www.example.com.\",\n\t\t
        \ .space = DNS_DBNAMESPACE_NORMAL },\n\t\t{ .namestr = \"exam.com.\", .space
        = DNS_DBNAMESPACE_NORMAL },\n\t\t{ .namestr = \"exams.com.\", .space = DNS_DBNAMESPACE_NORMAL
        },\n\t\t{ .namestr = \"exam\\\\000.com.\",\n\t\t  .space = DNS_DBNAMESPACE_NORMAL
        },\n\t\t{ .namestr = \"exam.com.\", .space = DNS_DBNAMESPACE_NSEC },\n\t\t{
        .namestr = \"exams.com.\", .space = DNS_DBNAMESPACE_NSEC },\n\t\t{ .namestr
        = \"exam.com.\", .space = DNS_DBNAMESPACE_NSEC3 },\n\t\t{ .namestr = \"exams.com.\",
        .space = DNS_DBNAMESPACE_NSEC3 },\n\t}"
      pos:
        line_end: 160
        line_start: 153
        source_file: /src/bind9/tests/dns/qp_test.c
    - fields:
      - name: '*query'
        type: char
      - name: result
        type: isc_result_t
      - name: '*found'
        type: char
      item_type: struct
      name: check_partialmatch
      pos:
        line_end: 406
        line_start: 402
        source_file: /src/bind9/tests/dns/qp_test.c
    - fields:
      - name: '*query'
        type: char
      - name: space
        type: dns_namespace_t
      - name: result
        type: isc_result_t
      - name: length
        type: unsigned int
      - name: '*names[10]'
        type: char
      item_type: struct
      name: check_qpchain
      pos:
        line_end: 569
        line_start: 563
        source_file: /src/bind9/tests/dns/qp_test.c
    - fields:
      - name: '*query'
        type: char
      - name: space
        type: dns_namespace_t
      - name: '*predecessor'
        type: char
      - name: pspace
        type: dns_namespace_t
      - name: result
        type: isc_result_t
      - name: remaining
        type: int
      item_type: struct
      name: check_predecessors
      pos:
        line_end: 779
        line_start: 772
        source_file: /src/bind9/tests/dns/qp_test.c
    - fields:
      - name: name[32]
        type: char
      - name: space
        type: dns_namespace_t
      - name: pad1
        type: uint8_t
      - name: pad2
        type: uint16_t
      item_type: struct
      name: inserting
      pos:
        line_end: 1618
        line_start: 1611
        source_file: /src/bind9/tests/dns/qp_test.c
    - fields:
      - name: '*name'
        type: char
      - name: space
        type: dns_namespace_t
      - name: result
        type: isc_result_t
      item_type: struct
      name: check_delete
      pos:
        line_end: 1624
        line_start: 1620
        source_file: /src/bind9/tests/dns/qp_test.c
    typedefs: []
    union: []
- function_names:
  - check_nameserver
  - check_ns4
  - check_ns6
  - check_scoped
  - check_number
  - check_attempts
  - check_timeout
  - check_ndots
  - search_example
  - check_options
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/resconf_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*file'
        type: char
      - name: loadres
        type: isc_result_t
      - name: (*check)(irs_resconf_t *resconf)
        type: isc_result_t
      - name: checkres
        type: isc_result_t
      item_type: struct
      name: "tests[] = { { \"testdata/resconf/domain.conf\", ISC_R_SUCCESS, NULL,\n\t\t\tISC_R_SUCCESS
        },\n\t\t      { \"testdata/resconf/nameserver-v4.conf\", ISC_R_SUCCESS,\n\t\t\tcheck_ns4,
        ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/nameserver-v6.conf\", ISC_R_SUCCESS,\n\t\t\tcheck_ns6,
        ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/nameserver-v6-scoped.conf\",\n\t\t\tISC_R_SUCCESS,
        check_scoped, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-attempts.conf\",
        ISC_R_SUCCESS,\n\t\t\tcheck_attempts, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-debug.conf\",
        ISC_R_SUCCESS,\n\t\t\tNULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-ndots.conf\",
        ISC_R_SUCCESS,\n\t\t\tcheck_ndots, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-timeout.conf\",
        ISC_R_SUCCESS,\n\t\t\tcheck_timeout, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-unknown.conf\",
        ISC_R_SUCCESS,\n\t\t\tNULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options.conf\",
        ISC_R_SUCCESS,\n\t\t\tcheck_options, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-bad-ndots.conf\",
        ISC_R_RANGE,\n\t\t\tNULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/options-empty.conf\",\n\t\t\tISC_R_UNEXPECTEDEND,
        NULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/port.conf\", ISC_R_SUCCESS,
        NULL,\n\t\t\tISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/resolv.conf\",
        ISC_R_SUCCESS, NULL,\n\t\t\tISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/search.conf\",
        ISC_R_SUCCESS,\n\t\t\tsearch_example, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/sortlist-v4.conf\",
        ISC_R_SUCCESS,\n\t\t\tNULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/timeout.conf\",
        ISC_R_SUCCESS, NULL,\n\t\t\tISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/unknown-with-value.conf\",\n\t\t\tISC_R_SUCCESS,
        NULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/unknown-without-value.conf\",\n\t\t\tISC_R_SUCCESS,
        NULL, ISC_R_SUCCESS },\n\t\t      { \"testdata/resconf/unknown+search.conf\",
        ISC_R_SUCCESS,\n\t\t\tsearch_example, ISC_R_SUCCESS } }"
      pos:
        line_end: 127
        line_start: 122
        source_file: /src/bind9/tests/dns/resconf_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - compress_test
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - name_attr_zero
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - (fromwire_thread(void *arg)
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/name_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAME_LO
      pos:
        line_end: 395
        line_start: 394
        source_file: /src/bind9/tests/dns/name_test.c
      type_or_value: '25'
    - item_type: preproc_def
      name: NAME_HI
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/bind9/tests/dns/name_test.c
      type_or_value: '250000'
    structs:
    - fields:
      - name: '*name1'
        type: char
      - name: '*name2'
        type: char
      - name: relation
        type: dns_namereln_t
      - name: order
        type: int
      - name: nlabels
        type: unsigned int
      item_type: struct
      name: "data[] = {\n\t\t/* relative */\n\t\t{ \"\", \"\", dns_namereln_equal,
        0, 0 },\n\t\t{ \"foo\", \"\", dns_namereln_subdomain, 1, 0 },\n\t\t{ \"\",
        \"foo\", dns_namereln_contains, -1, 0 },\n\t\t{ \"foo\", \"bar\", dns_namereln_none,
        1, 0 },\n\t\t{ \"bar\", \"foo\", dns_namereln_none, -1, 0 },\n\t\t{ \"bar.foo\",
        \"foo\", dns_namereln_subdomain, 1, 1 },\n\t\t{ \"foo\", \"bar.foo\", dns_namereln_contains,
        -1, 1 },\n\t\t{ \"baz.bar.foo\", \"bar.foo\", dns_namereln_subdomain, 1, 2
        },\n\t\t{ \"bar.foo\", \"baz.bar.foo\", dns_namereln_contains, -1, 2 },\n\t\t{
        \"foo.example\", \"bar.example\", dns_namereln_commonancestor, 1,\n\t\t  1
        },\n\n\t\t/* absolute */\n\t\t{ \".\", \".\", dns_namereln_equal, 0, 1 },\n\t\t{
        \"foo.\", \"bar.\", dns_namereln_commonancestor, 1, 1 },\n\t\t{ \"bar.\",
        \"foo.\", dns_namereln_commonancestor, -1, 1 },\n\t\t{ \"foo.example.\", \"bar.example.\",
        dns_namereln_commonancestor,\n\t\t  1, 2 },\n\t\t{ \"bar.foo.\", \"foo.\",
        dns_namereln_subdomain, 1, 2 },\n\t\t{ \"foo.\", \"bar.foo.\", dns_namereln_contains,
        -1, 2 },\n\t\t{ \"baz.bar.foo.\", \"bar.foo.\", dns_namereln_subdomain, 1,
        3 },\n\t\t{ \"bar.foo.\", \"baz.bar.foo.\", dns_namereln_contains, -1, 3 },\n\t\t{
        NULL, NULL, dns_namereln_none, 0, 0 }\n\t}"
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*name'
        type: char
      - name: istat
        type: bool
      item_type: struct
      name: "data[] = { { \".\", false },\n\t\t     { \"_ta-\", false },\n\t\t     {
        \"_ta-1234\", true },\n\t\t     { \"_TA-1234\", true },\n\t\t     { \"+TA-1234\",
        false },\n\t\t     { \"_fa-1234\", false },\n\t\t     { \"_td-1234\", false
        },\n\t\t     { \"_ta_1234\", false },\n\t\t     { \"_ta-g234\", false },\n\t\t
        \    { \"_ta-1h34\", false },\n\t\t     { \"_ta-12i4\", false },\n\t\t     {
        \"_ta-123j\", false },\n\t\t     { \"_ta-1234-abcf\", true },\n\t\t     {
        \"_ta-1234-abcf-ED89\", true },\n\t\t     { \"_ta-12345-abcf-ED89\", false
        },\n\t\t     { \"_ta-.example\", false },\n\t\t     { \"_ta-1234.example\",
        true },\n\t\t     { \"_ta-1234-abcf.example\", true },\n\t\t     { \"_ta-1234-abcf-ED89.example\",
        true },\n\t\t     { \"_ta-12345-abcf-ED89.example\", false },\n\t\t     {
        \"_ta-1234-abcfe-ED89.example\", false },\n\t\t     { \"_ta-1234-abcf-EcD89.example\",
        false } }"
      pos:
        line_end: 545
        line_start: 542
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*namestr'
        type: char
      - name: expect
        type: bool
      item_type: struct
      name: "testcases[] = { { \"x\", false },\n\t\t\t  { \"a.b.c.d.\", true },\n\t\t\t
        \ { \"x.z\", false } }"
      pos:
        line_end: 635
        line_start: 632
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*name1'
        type: char
      - name: '*name2'
        type: char
      - name: expect
        type: bool
      - name: expecti
        type: bool
      item_type: struct
      name: "testcases[] = {\n\t\t{ \"a.b.c.d\", \"A.B.C.D\", true, false },\n\t\t{
        \"a.b.c.d.\", \"A.B.C.D.\", true, false },\n\t\t{ \"a.b.c.d\", \"a.b.c.d\",
        true, true },\n\t\t{ \"A.B.C.D.\", \"A.B.C.D.\", true, false },\n\t\t{ \"x.y.z.w\",
        \"a.b.c.d\", false, false },\n\t\t{ \"x.y.z.w.\", \"a.b.c.d.\", false, false
        },\n\t}"
      pos:
        line_end: 671
        line_start: 666
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*name1'
        type: char
      - name: '*name2'
        type: char
      - name: expect
        type: bool
      item_type: struct
      name: "testcases[] = {\n\t\t{ \"c.d\", \"a.b.c.d\", false }, { \"c.d.\", \"a.b.c.d.\",
        false },\n\t\t{ \"b.c.d\", \"c.d\", true },    { \"a.b.c.d.\", \"c.d.\", true
        },\n\t\t{ \"a.b.c\", \"a.b.c\", true },  { \"a.b.c.\", \"a.b.c.\", true },\n\t\t{
        \"x.y.z\", \"a.b.c\", false }\n\t}"
      pos:
        line_end: 733
        line_start: 729
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*namestr'
        type: char
      - name: expect
        type: unsigned int
      item_type: struct
      name: "testcases[] = {\n\t\t{ \"c.d\", 2 },\n\t\t{ \"c.d.\", 3 },\n\t\t{ \"a.b.c.d.\",
        5 },\n\t\t{ \"a.b.c.d\", 4 },\n\t\t{ \"a.b.c\", 3 },\n\t\t{ \".\", 1 },\n\t\t{
        \"a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.\"\n\t\t  \"a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.\"\n\t\t
        \ \"a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.\"\n\t\t  \"a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.\"\n\t\t
        \ \"a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.\"\n\t\t  \"a.b.\",\n\t\t
        \ 128 },\n\t}"
      pos:
        line_end: 775
        line_start: 772
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*name1'
        type: char
      - name: pos1
        type: unsigned int
      - name: '*name2'
        type: char
      - name: pos2
        type: unsigned int
      item_type: struct
      name: "testcases[] = {\n\t\t{ \"c.d\", 1, \"a.b.c.d\", 3 },\n\t\t{ \"a.b.c.d\",
        3, \"c.d\", 1 },\n\t\t{ \"a.b.c.\", 3, \"A.B.C.\", 3 },\n\t}"
      pos:
        line_end: 823
        line_start: 818
        source_file: /src/bind9/tests/dns/name_test.c
    - fields:
      - name: '*name1'
        type: char
      - name: pos1
        type: unsigned int
      - name: '*name2'
        type: char
      - name: pos2
        type: unsigned int
      - name: range
        type: unsigned int
      item_type: struct
      name: "testcases[] = {\n\t\t{ \"c.d\", 1, \"a.b.c.d\", 3, 1 },\n\t\t{ \"a.b.c.d.e\",
        2, \"c.d\", 0, 2 },\n\t\t{ \"a.b.c\", 0, \"a.b.c\", 0, 3 },\n\t}"
      pos:
        line_end: 867
        line_start: 861
        source_file: /src/bind9/tests/dns/name_test.c
    typedefs: []
    union: []
- function_names:
  - iteration_test
  - nsec3param_salttotext_test
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/nsec3_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*nsec3param_text'
        type: char
      - name: '*expected_salt'
        type: char
      item_type: struct
      name: nsec3param_salttotext_test_params_t
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/bind9/tests/dns/nsec3_test.c
    typedefs: []
    union: []
- function_names:
  - sig_fromfile
  - check_sig
  - ISC_RUN_TEST_IMPL
  - check_cmp
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/dst_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*datapath'
        type: char
      - name: '*sigpath'
        type: char
      - name: '*keyname'
        type: char
      - name: keyid
        type: dns_keytag_t
      - name: alg
        type: dns_secalg_t
      - name: expect
        type: bool
      item_type: struct
      name: "testcases[] = {\n\t\t{ TESTS_DIR \"/testdata/dst/test1.data\",\n\t\t
        \ TESTS_DIR \"/testdata/dst/test1.ecdsa256sig\", \"test.\", 49130,\n\t\t  DST_ALG_ECDSA256,
        true },\n\t\t{ TESTS_DIR \"/testdata/dst/test1.data\",\n\t\t  TESTS_DIR \"/testdata/dst/test1.rsasha256sig\",
        \"test.\", 11349,\n\t\t  DST_ALG_RSASHA256, true },\n\t\t{ /* wrong sig */\n\t\t
        \ TESTS_DIR \"/testdata/dst/test1.data\",\n\t\t  TESTS_DIR \"/testdata/dst/test1.ecdsa256sig\",
        \"test.\", 11349,\n\t\t  DST_ALG_RSASHA256, false },\n\t\t{ /* wrong data
        */\n\t\t  TESTS_DIR \"/testdata/dst/test2.data\",\n\t\t  TESTS_DIR \"/testdata/dst/test1.ecdsa256sig\",
        \"test.\", 49130,\n\t\t  DST_ALG_ECDSA256, false },\n\t}"
      pos:
        line_end: 251
        line_start: 244
        source_file: /src/bind9/tests/dns/dst_test.c
    - fields:
      - name: '*key1_name'
        type: char
      - name: key1_id
        type: dns_keytag_t
      - name: '*key2_name'
        type: char
      - name: key2_id
        type: dns_keytag_t
      - name: alg
        type: dns_secalg_t
      - name: type
        type: int
      - name: expect
        type: bool
      item_type: struct
      name: "testcases[] = {\n\t\t/* RSA Keypair: self */\n\t\t{ \"example.\", 53461,
        \"example.\", 53461, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC | DST_TYPE_PRIVATE,
        true },\n\n\t\t/* RSA Keypair: different key */\n\t\t{ \"example.\", 53461,
        \"example2.\", 37993, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC | DST_TYPE_PRIVATE,
        false },\n\n\t\t/* RSA Keypair: different PublicExponent (e) */\n\t\t{ \"example.\",
        53461, \"example-e.\", 53973, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC |
        DST_TYPE_PRIVATE, false },\n\n\t\t/* RSA Keypair: different Modulus (n) */\n\t\t{
        \"example.\", 53461, \"example-n.\", 37464, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC
        | DST_TYPE_PRIVATE, false },\n\n\t\t/* RSA Public Key: self */\n\t\t{ \"example.\",
        53461, \"example.\", 53461, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC, true
        },\n\n\t\t/* RSA Public Key: different key */\n\t\t{ \"example.\", 53461,
        \"example2.\", 37993, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC, false },\n\n\t\t/*
        RSA Public Key: different PublicExponent (e) */\n\t\t{ \"example.\", 53461,
        \"example-e.\", 53973, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC, false },\n\n\t\t/*
        RSA Public Key: different Modulus (n) */\n\t\t{ \"example.\", 53461, \"example-n.\",
        37464, DST_ALG_RSASHA256,\n\t\t  DST_TYPE_PUBLIC, false },\n\n\t\t/* ECDSA
        Keypair: self */\n\t\t{ \"example.\", 19786, \"example.\", 19786, DST_ALG_ECDSA256,\n\t\t
        \ DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, true },\n\n\t\t/* ECDSA Keypair: different
        key */\n\t\t{ \"example.\", 19786, \"example2.\", 16384, DST_ALG_ECDSA256,\n\t\t
        \ DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, false },\n\n\t\t/* ECDSA Public Key:
        self */\n\t\t{ \"example.\", 19786, \"example.\", 19786, DST_ALG_ECDSA256,\n\t\t
        \ DST_TYPE_PUBLIC, true },\n\n\t\t/* ECDSA Public Key: different key */\n\t\t{
        \"example.\", 19786, \"example2.\", 16384, DST_ALG_ECDSA256,\n\t\t  DST_TYPE_PUBLIC,
        false },\n\n\t\t/* EdDSA Keypair: self */\n\t\t{ \"example.\", 63663, \"example.\",
        63663, DST_ALG_ED25519,\n\t\t  DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, true },\n\n\t\t/*
        EdDSA Keypair: different key */\n\t\t{ \"example.\", 63663, \"example2.\",
        37529, DST_ALG_ED25519,\n\t\t  DST_TYPE_PUBLIC | DST_TYPE_PRIVATE, false },\n\n\t\t/*
        EdDSA Public Key: self */\n\t\t{ \"example.\", 63663, \"example.\", 63663,
        DST_ALG_ED25519,\n\t\t  DST_TYPE_PUBLIC, true },\n\n\t\t/* EdDSA Public Key:
        different key */\n\t\t{ \"example.\", 63663, \"example2.\", 37529, DST_ALG_ED25519,\n\t\t
        \ DST_TYPE_PUBLIC, false },\n\t}"
      pos:
        line_end: 348
        line_start: 340
        source_file: /src/bind9/tests/dns/dst_test.c
    typedefs: []
    union: []
- function_names:
  - decode_salt
  - copy_params
  - rdata_fromparams
  - nsec3param_change_test
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/nsec3param_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FLAGS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ITER
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SALTLEN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SALT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '"FEDCBA98"'
    structs:
    - fields:
      - name: hash
        type: dns_hash_t
      - name: flags
        type: unsigned char
      - name: iterations
        type: dns_iterations_t
      - name: salt_length
        type: unsigned char
      - name: '*salt'
        type: char
      item_type: struct
      name: nsec3param_rdata_test_params_t
      pos:
        line_end: 54
        line_start: 48
        source_file: /src/bind9/tests/dns/nsec3param_test.c
    - fields:
      - name: lookup
        type: nsec3param_rdata_test_params_t
      - name: expect
        type: nsec3param_rdata_test_params_t
      - name: resalt
        type: bool
      - name: expected_result
        type: isc_result_t
      item_type: struct
      name: nsec3param_change_test_params_t
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/bind9/tests/dns/nsec3param_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/acl_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/tests/dns/acl_test.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BIGBUFLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/dns/acl_test.c
      type_or_value: (70 * 1024)
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/tests/dns/acl_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_typestats
  - set_nxdomainstats
  - mark_stale
  - mark_nxdomain_stale
  - ATTRIBUTE_SET
  - verify_active_counters
  - verify_stale_counters
  - verify_ancient_counters
  - rdatasetstats
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/rdatasetstats_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_rdata
  - sign_rrset
  - write_record
  - create_bundle
  - check_rrsig
  - check_bundle
  - create_skr_file
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/skr_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUNDLE_HAS_ZSK1
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BUNDLE_HAS_ZSK2
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: OFFSET
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '3600'
    - item_type: preproc_def
      name: TTL
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '3600'
    - item_type: preproc_def
      name: LIFETIME
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '864000'
    - item_type: preproc_def
      name: SIG_FORMATSIZE
      pos:
        line_end: 106
        line_start: 104
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535"))
    structs:
    - fields:
      - name: btime
        type: isc_stdtime_t
      - name: inception
        type: isc_stdtime_t
      - name: expiration
        type: isc_stdtime_t
      - name: kskbuf[1024]
        type: char
      - name: ksk
        type: dns_rdata_t
      - name: zsk1buf[1024]
        type: char
      - name: zsk1
        type: dns_rdata_t
      - name: zsk2buf[1024]
        type: char
      - name: zsk2
        type: dns_rdata_t
      - name: cdnskeybuf[1024]
        type: char
      - name: cdnskey
        type: dns_rdata_t
      - name: cdsbuf[1024]
        type: char
      - name: cds
        type: dns_rdata_t
      - name: rrsig1buf[1024]
        type: char
      - name: dnskey_rrsig
        type: dns_rdata_t
      - name: rrsig2buf[1024]
        type: char
      - name: cdnskey_rrsig
        type: dns_rdata_t
      - name: rrsig3buf[1024]
        type: char
      - name: cds_rrsig
        type: dns_rdata_t
      item_type: struct
      name: skr__testbundle_t
      pos:
        line_end: 75
        line_start: 47
        source_file: /src/bind9/tests/dns/skr_test.c
    typedefs: []
    union: []
- function_names:
  - cleanup
  - setup
  - teardown
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/dnstap_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TAPFILE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/tests/dns/dnstap_test.c
      type_or_value: TESTS_DIR "/testdata/dnstap/dnstap.file"
    - item_type: preproc_def
      name: TAPSOCK
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/tests/dns/dnstap_test.c
      type_or_value: TESTS_DIR "/testdata/dnstap/dnstap.sock"
    - item_type: preproc_def
      name: TAPSAVED
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/tests/dns/dnstap_test.c
      type_or_value: TESTS_DIR "/testdata/dnstap/dnstap.saved"
    - item_type: preproc_def
      name: TAPTEXT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/tests/dns/dnstap_test.c
      type_or_value: TESTS_DIR "/testdata/dnstap/dnstap.text"
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_assertion
  - local_callback
  - setup_test
  - teardown_test
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/dbversion_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_create
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/dbdiff_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/dns/dbdiff_test.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BIGBUFLEN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/tests/dns/dbdiff_test.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/tests/dns/dbdiff_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - add_mac
  - add_tsig
  - printmessage
  - render
  - tsig_tcp
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/tsig_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/tests/dns/tsig_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - compare_tuples
  - updatesigs_test
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/sigs_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZONEDIFF_SENTINEL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/tests/dns/sigs_test.c
      type_or_value: '{ 0, NULL, 0, NULL }'
    structs:
    - fields:
      - name: op
        type: dns_diffop_t
      - name: '*owner'
        type: char
      - name: ttl
        type: dns_ttl_t
      - name: '*type'
        type: char
      item_type: struct
      name: zonediff_t
      pos:
        line_end: 61
        line_start: 56
        source_file: /src/bind9/tests/dns/sigs_test.c
    - fields:
      - name: '*description'
        type: char
      - name: '*changes'
        type: zonechange_t
      - name: '*zonediff'
        type: zonediff_t
      item_type: struct
      name: updatesigs_test_params_t
      pos:
        line_end: 73
        line_start: 68
        source_file: /src/bind9/tests/dns/sigs_test.c
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/unreachcache_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXPIRE_MIN_S
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/tests/dns/unreachcache_test.c
      type_or_value: '5'
    - item_type: preproc_def
      name: EXPIRE_MAX_S
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/tests/dns/unreachcache_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BACKOFF_ELGIBLE_S
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/tests/dns/unreachcache_test.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - (class)
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/db_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/tests/dns/db_test.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BIGBUFLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/dns/db_test.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/tests/dns/db_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - nullmsg
  - add_callback
  - rawdata_callback
  - setup_master
  - test_master
  - include_callback
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - warn_expect
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/master_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/tests/dns/master_test.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BIGBUFLEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/tests/dns/master_test.c
      type_or_value: (70 * 1024)
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/tests/dns/master_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_test
  - teardown_test
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/zonefile_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      item_type: struct
      name: zonefile_test_params_t
      pos:
        line_end: 36
        line_start: 34
        source_file: /src/bind9/tests/dns/zonefile_test.c
    typedefs: []
    union: []
- function_names:
  - setup_test
  - set_mystdtime
  - isc_stdtime_now
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/update_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - overmempurge_addrdataset
  - cleanup_all_deadnodes
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/qpdb_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - make_name
  - test_create
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - test_walk
  - DNS_DBITERATOR_FOREACH
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - test_reverse
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - test_seek_node
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - test_seek_empty
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - test_seek_nx
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/dbiterator_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BUFLEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/tests/dns/dbiterator_test.c
      type_or_value: '255'
    - item_type: preproc_def
      name: BIGBUFLEN
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/tests/dns/dbiterator_test.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/tests/dns/dbiterator_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - count_elements
  - prepare_rdata
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/diff_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_test
  - teardown_test
  - mkres
  - destroy_resolver
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/resolver_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup
  - teardown
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/nametree_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/rdataset_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_test
  - teardown_test
  - open_geoip2
  - load_geoip
  - close_geoip
  - entry_exists
  - ISC_RUN_TEST_IMPL
  - do_lookup_string
  - do_lookup_string_v6
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/geoip_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/time_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ORIGIN
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/tests/dns/time_test.c
      type_or_value: '"test"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/transport_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_ede_test_equals
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/ede_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: uint16_t
      - name: '*txt'
        type: char
      item_type: struct
      name: ede_test_expected_t
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/bind9/tests/dns/ede_test.c
    typedefs: []
    union: []
- function_names:
  - make_signing
  - make_nsec3
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/private_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: alg
        type: unsigned char
      - name: keyid
        type: dns_keytag_t
      - name: remove
        type: bool
      - name: complete
        type: bool
      item_type: struct
      name: signing_testcase_t
      pos:
        line_end: 46
        line_start: 41
        source_file: /src/bind9/tests/dns/private_test.c
    - fields:
      - name: hash
        type: unsigned char
      - name: flags
        type: unsigned char
      - name: iterations
        type: unsigned int
      - name: salt
        type: unsigned long
      - name: remove
        type: bool
      - name: pending
        type: bool
      - name: nonsec
        type: bool
      item_type: struct
      name: nsec3_testcase_t
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/bind9/tests/dns/private_test.c
    typedefs: []
    union: []
- function_names:
  - test_dispatch_done
  - test_dispatch_shutdown
  - setup_ephemeral_port
  - setsockopt_on
  - setup_test
  - teardown_test
  - make_dispatchset
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - server_senddone
  - nameserver
  - accept_cb
  - noop_nameserver
  - response_getnext
  - response_noop
  - response_shutdown
  - response_timeout
  - client_senddone
  - connected
  - connected_shutdown
  - connected_gettcp
  - connected_newtcp
  - timeout_connected
  - ISC_LOOP_TEST_IMPL
  - stop_listening
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/dispatch_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: T_SERVER_INIT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (120 * 1000)
    - item_type: preproc_def
      name: T_SERVER_IDLE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (120 * 1000)
    - item_type: preproc_def
      name: T_SERVER_KEEPALIVE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (120 * 1000)
    - item_type: preproc_def
      name: T_SERVER_ADVERTISED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (120 * 1000)
    - item_type: preproc_def
      name: T_SERVER_PRIMARIES
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (120 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_INIT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (60 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_IDLE
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (60 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_KEEPALIVE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (60 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_ADVERTISED
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (60 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_PRIMARIES
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (60 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_CONNECT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (30 * 1000)
    - item_type: preproc_def
      name: T_CLIENT_SHORT
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/tests/dns/dispatch_test.c
      type_or_value: (10 * 1000)
    structs:
    - fields:
      - name: rbuf[12]
        type: uint8_t
      - name: region
        type: isc_region_t
      - name: message[12]
        type: uint8_t
      item_type: struct
      name: testdata
      pos:
        line_end: 84
        line_start: 80
        source_file: /src/bind9/tests/dns/dispatch_test.c
    - fields:
      - name: '*dispatchmgr'
        type: dns_dispatchmgr_t
      - name: '*dispatch'
        type: dns_dispatch_t
      - name: '*dispentry'
        type: dns_dispentry_t
      - name: id
        type: uint16_t
      item_type: struct
      name: test_dispatch_t
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/bind9/tests/dns/dispatch_test.c
    typedefs: []
    union: []
- function_names:
  - count_zone
  - ISC_LOOP_TEST_IMPL
  - load_done_last
  - load_done_new_only
  - load_done_first
  - ISC_LOOP_TEST_IMPL
  - all_done
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/zt_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - setup_test
  - teardown_test
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_IMPL
  source_file: /src/bind9/tests/dns/zonemgr_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/rsa_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - COMPARE
  - COMPARE_SENTINEL
  - TEXT_VALID_CHANGED
  - TEXT_VALID
  - TEXT_VALID_LOOP
  - TEXT_VALID_LOOPCHG
  - TEXT_INVALID
  - TEXT_SENTINEL
  - VARGC
  - WIRE_TEST
  - WIRE_VALID
  - WIRE_VALID_LOOP
  - WIRE_INVALID
  - WIRE_SENTINEL
  - detect_uncleared_libcrypto_error
  - wire_to_rdata
  - rdata_towire
  - additionaldata_cb
  - rdata_additionadata
  - rdata_checknames
  - check_struct_conversions
  - check_text_ok_single
  - check_text_conversions
  - check_multiline_text_conversions
  - check_wire_ok_single
  - check_text_ok
  - check_wire_ok
  - check_compare_ok_single
  - check_compare_ok
  - check_rdata
  - check_textvsunknown_single
  - check_textvsunknown
  - key_required
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/rdata_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNR
      pos:
        line_end: 3149
        line_start: 3148
        source_file: /src/bind9/tests/dns/rdata_test.c
      type_or_value: '"# Unexpected result from dns_rdatatype_atcname for type %u\n"'
    - item_type: preproc_def
      name: UNR
      pos:
        line_end: 3175
        line_start: 3174
        source_file: /src/bind9/tests/dns/rdata_test.c
      type_or_value: '"# Unexpected result from dns_rdatatype_atparent for type %u\n"'
    - item_type: preproc_def
      name: UNR
      pos:
        line_end: 3198
        line_start: 3197
        source_file: /src/bind9/tests/dns/rdata_test.c
      type_or_value: '"# Unexpected result from dns_rdatatype_iszonecutauth for type
        %u\n"'
    structs:
    - fields:
      - name: '*text1'
        type: char
      - name: '*text2'
        type: char
      - name: answer
        type: int
      - name: lineno
        type: int
      item_type: struct
      name: compare_ok
      pos:
        line_end: 54
        line_start: 49
        source_file: /src/bind9/tests/dns/rdata_test.c
    - fields:
      - name: '*text1'
        type: char
      - name: '*text2'
        type: char
      item_type: struct
      name: textvsunknown
      pos:
        line_end: 60
        line_start: 57
        source_file: /src/bind9/tests/dns/rdata_test.c
    - fields:
      - name: '*text_in'
        type: char
      - name: '*text_out'
        type: char
      - name: loop
        type: unsigned int
      item_type: struct
      name: text_ok
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/bind9/tests/dns/rdata_test.c
    - fields:
      - name: data[512]
        type: unsigned char
      - name: len
        type: size_t
      - name: ok
        type: bool
      - name: loop
        type: unsigned int
      item_type: struct
      name: wire_ok
      pos:
        line_end: 81
        line_start: 76
        source_file: /src/bind9/tests/dns/rdata_test.c
    typedefs: []
    union: []
- function_names:
  - TRACE
  - ASSERT
  - ASSERT
  - setup_logging
  - item_attach
  - item_detach
  - item_makekey
  - testname
  - random_byte
  - setup_items
  - checkkey
  - checkallro
  - checkallrw
  - one_transaction
  - many_transactions
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/qpmulti_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: VERBOSE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/tests/dns/qpmulti_test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ITEM_COUNT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/tests/dns/qpmulti_test.c
      type_or_value: '12345'
    - item_type: preproc_def
      name: TRANSACTION_SIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/tests/dns/qpmulti_test.c
      type_or_value: '123'
    - item_type: preproc_def
      name: TRANSACTION_COUNT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/tests/dns/qpmulti_test.c
      type_or_value: '1234'
    structs:
    - fields:
      - name: refcount
        type: uint32_t
      - name: in_ro
        type: bool
      - name: in_rw
        type: bool
      - name: len
        type: uint8_t
      - name: key
        type: dns_qpkey_t
      - name: ascii
        type: dns_qpkey_t
      item_type: struct
      name: item[ITEM_COUNT]
      pos:
        line_end: 89
        line_start: 82
        source_file: /src/bind9/tests/dns/qpmulti_test.c
    typedefs: []
    union: []
- function_names:
  - CASESET
  - ownercase_test_one
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/qpzone_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - multiple_prefixes
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/dns64_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: prefix[12]
        type: unsigned char
      - name: prefixlen
        type: unsigned int
      - name: result
        type: isc_result_t
      item_type: struct
      name: "tests[] = {\n\t\t/* The WKP with various lengths. */\n\t\t{ { 0, 0x64,
        0xff, 0x9b, 0, 0, 0, 0, 0, 0, 0, 0 },\n\t\t  32,\n\t\t  ISC_R_SUCCESS },\n\t\t{
        { 0, 0x64, 0xff, 0x9b, 0, 0, 0, 0, 0, 0, 0, 0 },\n\t\t  40,\n\t\t  ISC_R_SUCCESS
        },\n\t\t{ { 0, 0x64, 0xff, 0x9b, 0, 0, 0, 0, 0, 0, 0, 0 },\n\t\t  48,\n\t\t
        \ ISC_R_SUCCESS },\n\t\t{ { 0, 0x64, 0xff, 0x9b, 0, 0, 0, 0, 0, 0, 0, 0 },\n\t\t
        \ 56,\n\t\t  ISC_R_SUCCESS },\n\t\t{ { 0, 0x64, 0xff, 0x9b, 0, 0, 0, 0, 0,
        0, 0, 0 },\n\t\t  64,\n\t\t  ISC_R_SUCCESS },\n\t\t{ { 0, 0x64, 0xff, 0x9b,
        0, 0, 0, 0, 0, 0, 0, 0 },\n\t\t  96,\n\t\t  ISC_R_SUCCESS },\n\t\t/*\n\t\t
        * Prefix with the mapped addresses also appearing in the\n\t\t * prefix.\n\t\t
        */\n\t\t{ { 0, 0, 0, 0, 192, 0, 0, 170, 0, 0, 0, 0 },\n\t\t  96,\n\t\t  ISC_R_SUCCESS
        },\n\t\t{ { 0, 0, 0, 0, 192, 0, 0, 171, 0, 0, 0, 0 },\n\t\t  96,\n\t\t  ISC_R_SUCCESS
        },\n\t\t/* Bad prefix, MBZ != 0. */\n\t\t{ { 0, 0x64, 0xff, 0x9b, 0, 0, 0,
        0, 1, 0, 0, 0 },\n\t\t  96,\n\t\t  ISC_R_NOTFOUND },\n\t}"
      pos:
        line_end: 132
        line_start: 128
        source_file: /src/bind9/tests/dns/dns64_test.c
    typedefs: []
    union: []
- function_names:
  - NS_TEST_ID
  source_file: /src/bind9/tests/include/tests/ns.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLARG
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/bind9/tests/include/tests/ns.h
      type_or_value: ", const char *file ISC_ATTR_UNUSED, unsigned int line ISC_ATTR_UNUSED,
        \\\n\t\tconst char *func ISC_ATTR_UNUSED"
    structs:
    - fields:
      - name: '*description'
        type: char
      - name: lineno
        type: int
      item_type: struct
      name: ns_test_id
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/bind9/tests/include/tests/ns.h
    - fields:
      - name: '*qname'
        type: char
      - name: qtype
        type: dns_rdatatype_t
      - name: qflags
        type: unsigned int
      - name: with_cache
        type: bool
      item_type: struct
      name: ns_test_qctx_create_params
      pos:
        line_end: 101
        line_start: 96
        source_file: /src/bind9/tests/include/tests/ns.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/tests/include/tests/dns.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZONECHANGE_SENTINEL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/tests/include/tests/dns.h
      type_or_value: '{ 0, NULL, 0, NULL, NULL }'
    structs:
    - fields:
      - name: op
        type: dns_diffop_t
      - name: '*owner'
        type: char
      - name: ttl
        type: dns_ttl_t
      - name: '*type'
        type: char
      - name: '*rdata'
        type: char
      item_type: struct
      name: zonechange_t
      pos:
        line_end: 44
        line_start: 38
        source_file: /src/bind9/tests/include/tests/dns.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/tests/include/tests/qp.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_TEST_ENTRY
  - ISC_TEST_ENTRY_SETUP
  - ISC_TEST_ENTRY_TEARDOWN
  - ISC_TEST_ENTRY_SETUP_TEARDOWN
  - ISC_TEST_ENTRY_CUSTOM
  - ISC_SETUP_TEST_DECLARE
  - ISC_RUN_TEST_DECLARE
  - ISC_TEARDOWN_TEST_DECLARE
  - ISC_LOOP_TEST_CUSTOM_DECLARE
  - ISC_LOOP_TEST_DECLARE
  - ISC_LOOP_TEST_SETUP_DECLARE
  - ISC_LOOP_TEST_SETUP_TEARDOWN_DECLARE
  - ISC_LOOP_TEST_TEARDOWN_DECLARE
  - ISC_LOOP_SETUP_DECLARE
  - ISC_SETUP_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_TEARDOWN_TEST_IMPL
  - ISC_LOOP_TEST_CUSTOM_IMPL
  - ISC_LOOP_TEST_IMPL
  - ISC_LOOP_TEST_SETUP_IMPL
  - ISC_LOOP_TEST_SETUP_TEARDOWN_IMPL
  - ISC_LOOP_TEST_TEARDOWN_IMPL
  - ISC_LOOP_SETUP_IMPL
  - ISC_LOOP_TEARDOWN_IMPL
  - ISC_TEST_DECLARE
  - ISC_TEST_MAIN_CUSTOM
  source_file: /src/bind9/tests/include/tests/isc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TESTS_DIR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: '"./"'
    - item_type: preproc_def
      name: ISC_TEST_LIST_START
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: const struct CMUnitTest tests[] = {
    - item_type: preproc_def
      name: ISC_TEST_LIST_END
      pos:
        line_end: 126
        line_start: 123
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: "}                 \\\n\t;"
    - item_type: preproc_def
      name: ISC_TEST_LIST_START
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: const struct CMUnitTest tests[] = {
    - item_type: preproc_def
      name: ISC_TEST_LIST_END
      pos:
        line_end: 169
        line_start: 166
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: "}                 \\\n\t;"
    - item_type: preproc_def
      name: ISC_TEST_MAIN
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: ISC_TEST_MAIN_CUSTOM(NULL, NULL)
    structs: []
    typedefs: []
    union: []
- function_names:
  - qp_test_bittoascii
  - qp_test_keytoascii
  - getheight
  - qp_test_getheight
  - maxkeylen
  - qp_test_maxkeylen
  - dumpread
  - dumpqp
  - qp_test_dumpread
  - qp_test_dumpsnap
  - qp_test_dumpqp
  - qp_test_dumpmulti
  - qp_test_dumpchunks
  - qp_test_dumptrie
  - dumpdot_name
  - dumpdot_twig
  - qp_test_dumpdot
  - qp_test_printkey
  source_file: /src/bind9/tests/libtest/qp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ref
        type: dns_qpref_t
      - name: max
        type: dns_qpshift_t
      item_type: struct
      name: stack[512]
      pos:
        line_end: 201
        line_start: 198
        source_file: /src/bind9/tests/libtest/qp.c
    typedefs: []
    union: []
- function_names:
  - adjustnofile
  - setup_workers
  - setup_mctx
  - teardown_mctx
  - setup_loopmgr
  - teardown_loopmgr
  - setup_netmgr
  - teardown_netmgr
  - setup_managers
  - teardown_managers
  source_file: /src/bind9/tests/libtest/isc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - matchview
  - scan_interfaces
  - setup_server
  - shutdown_interfacemgr
  - teardown_server
  - ns_test_serve_zone
  - ns_test_cleanup_zone
  - ns_test_getclient
  - attach_query_msg_to_client
  - extract_qctx
  - create_qctx_for_client
  - ns_test_qctx_create
  - ns_test_qctx_destroy
  - ns_test_hook_catch_call
  - ns_test_loaddb
  - fromhex
  - ns_test_getdata
  source_file: /src/bind9/tests/libtest/ns.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_test_makeview
  - dns_test_makezone
  - dns_test_setupzonemgr
  - dns_test_managezone
  - dns_test_releasezone
  - dns_test_closezonemgr
  - dns_test_nap
  - dns_test_loaddb
  - fromhex
  - dns_test_tohex
  - dns_test_getdata
  - nullmsg
  - dns_test_rdatafromstring
  - dns_test_namefromstring
  - dns_test_difffromchanges
  source_file: /src/bind9/tests/libtest/dns.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - item_check
  - item_makekey
  - testname
  - CHECK
  - new_lfht
  - lfht_match
  - add_lfht
  - get_lfht
  - thread_lfht
  - new_hashmap
  - name_match
  - add_hashmap
  - get_hashmap
  - thread_hashmap
  - new_ht
  - add_ht
  - get_ht
  - thread_ht
  - new_qp
  - add_qp
  - sqz_qp
  - get_qp
  - _thread_qp
  - thread_qp
  - thread_qp_nosqz
  - thread_qp_brr
  - FILE_CHECK
  - main
  source_file: /src/bind9/tests/bench/load-names.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*text'
        type: char
      - name: fixed
        type: dns_fixedname_t
      - name: ht_node
        type: struct cds_lfht_node
      item_type: struct
      name: item_s
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/bind9/tests/bench/load-names.c
    - fields:
      - name: thread
        type: isc_thread_t
      - name: '*fun'
        type: struct fun
      - name: '*map'
        type: void
      - name: start
        type: size_t
      - name: end
        type: size_t
      - name: d0
        type: uint64_t
      - name: d1
        type: uint64_t
      item_type: struct
      name: thread_s
      pos:
        line_end: 56
        line_start: 48
        source_file: /src/bind9/tests/bench/load-names.c
    - fields:
      - name: '*name'
        type: char
      - name: '*(*new)(isc_mem_t *mem)'
        type: void
      - name: thread
        type: isc_threadfunc_t
      item_type: struct
      name: fun
      pos:
        line_end: 101
        line_start: 97
        source_file: /src/bind9/tests/bench/load-names.c
    typedefs: []
    union: []
- function_names:
  - CHECKRESULT
  - main
  source_file: /src/bind9/tests/bench/compress.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - time_it
  - main
  source_file: /src/bind9/tests/bench/iterated_hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - KILOHASHES
  - main
  source_file: /src/bind9/tests/bench/siphash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/tests/bench/siphash.c
      type_or_value: (1024 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - TRACE
  - rand_zipf
  - item_refcount
  - item_makekey
  - benchname
  - random_byte
  - init_items
  - init_logging
  - first_loop
  - next_loop
  - read_zipf
  - read_transactions
  - mutate_transactions
  - load_multi
  - tsv_header
  - dispatch
  - collect
  - startup
  - tick
  - start_ticker
  - stop_ticker
  - setup_tickers
  - main
  source_file: /src/bind9/tests/bench/qpmulti.c
  types:
    enum:
    - enumerators:
      - name: init
      - name: vary_read_only
      - name: vary_max_items_rw
      - name: vary_mut_read
      - name: vary_max_items_ro
      - name: vary_mut_ops_per_tx
      - name: vary_mut_tx_per_loop
      - name: vary_read_ops_per_tx_rw
      - name: vary_read_ops_per_tx_ro
      - name: vary_read_tx_per_loop_rw
      - name: vary_read_tx_per_loop_ro
      - name: vary_zipf_skew
      item_type: enum
      name: benchmode
      pos:
        line_end: 329
        line_start: 316
        source_file: /src/bind9/tests/bench/qpmulti.c
    preproc_defs:
    - item_type: preproc_def
      name: ITEM_COUNT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: ((size_t)1000000)
    - item_type: preproc_def
      name: RUNTIME
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: (0.25 * NS_PER_SEC)
    - item_type: preproc_def
      name: MAX_OPS_PER_LOOP
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: VERBOSE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ZIPF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: '0'
    - item_type: preproc_def
      name: read_zipf
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: read_transactions
    structs:
    - fields:
      - name: len
        type: size_t
      - name: present
        type: bool
      - name: key
        type: dns_qpkey_t
      item_type: struct
      name: '*item'
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: '*bctx'
        type: struct bench_state
      - name: '*barrier'
        type: isc_barrier_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: job
        type: isc_job_t
      - name: cb
        type: isc_job_cb
      - name: '*multi'
        type: dns_qpmulti_t
      - name: zipf_skew
        type: double
      - name: max_item
        type: uint32_t
      - name: ops_per_tx
        type: uint32_t
      - name: tx_per_loop
        type: uint32_t
      - name: absent
        type: uint32_t
      - name: present
        type: uint32_t
      - name: compactions
        type: uint32_t
      - name: transactions
        type: uint64_t
      - name: worked
        type: isc_nanosecs_t
      - name: start
        type: isc_nanosecs_t
      - name: stop
        type: isc_nanosecs_t
      item_type: struct
      name: thread_args
      pos:
        line_end: 190
        line_start: 172
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: barrier
        type: isc_barrier_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*multi'
        type: dns_qpmulti_t
      - name: mode
        type: enum benchmode
      - name: bytes
        type: size_t
      - name: qp_bytes
        type: size_t
      - name: qp_items
        type: size_t
      - name: load_time
        type: isc_nanosecs_t
      - name: nloops
        type: uint32_t
      - name: waiting
        type: uint32_t
      - name: max_item
        type: uint32_t
      - name: mutate
        type: uint32_t
      - name: mut_ops_per_tx
        type: uint32_t
      - name: mut_tx_per_loop
        type: uint32_t
      - name: readers
        type: uint32_t
      - name: read_ops_per_tx
        type: uint32_t
      - name: read_tx_per_loop
        type: uint32_t
      - name: zipf_skew
        type: double
      - name: thread[]
        type: struct thread_args
      item_type: struct
      name: bench_state
      pos:
        line_end: 352
        line_start: 331
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: worked
        type: uint64_t
      item_type: struct
      name: stats[2] = {}
      pos:
        line_end: 730
        line_start: 728
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*timer'
        type: isc_timer_t
      item_type: struct
      name: ticker
      pos:
        line_end: 819
        line_start: 815
        source_file: /src/bind9/tests/bench/qpmulti.c
    typedefs: []
    union: []
- function_names:
  - time_it
  - copy_raw
  - copy_toupper
  - copy_tolower8
  - TOLOWER
  - copy_tolower1
  - cmp_tolower1
  - cmp_oldskool
  - vcmp_tolower1
  - cmp_swar
  - cmp_chunks1
  - cmp_chunks8
  - cmp_oldchunks
  - main
  source_file: /src/bind9/tests/bench/ascii.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/tests/bench/ascii.c
      type_or_value: (1024 * 1024)
    structs: []
    typedefs:
    - item_type: typedef
      name: copy_fn(void *a, void *b, unsigned int len)
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/tests/bench/ascii.c
      type: void
    union: []
- function_names:
  - smallname_length
  - smallname_refcount
  - smallname_ndata
  - smallname_from_name
  - smallname_free
  - name_from_smallname
  - qpkey_from_smallname
  - smallname_attach
  - smallname_detach
  - testname
  - usage
  - load_qp
  - main
  source_file: /src/bind9/tests/bench/qplookups.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - smallname_length
  - smallname_labels
  - smallname_refcount
  - smallname_ndata
  - smallname_from_name
  - smallname_free
  - name_from_smallname
  - qpkey_from_smallname
  - smallname_attach
  - smallname_detach
  - testname
  - usage
  - main
  - print_megabytes
  source_file: /src/bind9/tests/bench/qp-dump.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - old_bench
  - new_bench
  - oldnew_bench
  - main
  source_file: /src/bind9/tests/bench/dns_name_fromwire.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/tests/bench/dns_name_fromwire.c
      type_or_value: '1000'
    structs: []
    typedefs: []
    union: []
- function_names:
  - output
  - usage
  - setup_logging
  - main
  source_file: /src/bind9/doc/misc/cfg_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ncpus_initialize
  - sysconf_ncpus
  - sysctlbyname_ncpus
  - sysctl_ncpus
  - sched_affinity_ncpus
  - cpuset_affinity_ncpus
  - ncpus_initialize
  - umask_initialize
  - isc_os_ncpus
  - isc_os_cacheline
  - isc_os_umask
  - isc__os_initialize
  - isc__os_shutdown
  source_file: /src/bind9/lib/isc/os.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FAIL
  - FAIL
  - isc_regex_validate
  source_file: /src/bind9/lib/isc/regex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_DIR
  - isc_dir_init
  - isc_dir_open
  - isc_dir_read
  - isc_dir_close
  - isc_dir_reset
  - isc_dir_chdir
  - isc_dir_chroot
  source_file: /src/bind9/lib/isc/dir.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_DIR_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isc/dir.c
      type_or_value: ISC_MAGIC('D', 'I', 'R', '*')
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__xml_malloc
  - isc__xml_realloc
  - isc__xml_strdup
  - isc__xml_free
  - isc__xml_initialize
  - isc__xml_shutdown
  - isc__xml_setdestroycheck
  source_file: /src/bind9/lib/isc/xml.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - file_stats
  - fd_stats
  - isc_file_getsizefd
  - isc_file_mode
  - isc_file_getmodtime
  - isc_file_getsize
  - isc_file_settime
  - isc_file_mktemplate
  - isc_file_template
  - isc_file_renameunique
  - isc_file_openunique
  - isc_file_openuniqueprivate
  - isc_file_openuniquemode
  - isc_file_remove
  - isc_file_rename
  - isc_file_exists
  - isc_file_isplainfile
  - isc_file_isplainfilefd
  - isc_file_isdirectory
  - isc_file_isabsolute
  - isc_file_iscurrentdir
  - isc_file_ischdiridempotent
  - isc_file_basename
  - isc_file_progname
  - dir_current
  - isc_file_absolutepath
  - isc_file_truncate
  - isc_file_safecreate
  - isc_file_splitpath
  - digest2hex
  - isc_file_sanitize
  - isc_file_isdirwritable
  source_file: /src/bind9/lib/isc/file.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEMPLATE
      pos:
        line_end: 218
        line_start: 217
        source_file: /src/bind9/lib/isc/file.c
      type_or_value: '"tmp-XXXXXXXXXX" '
    - item_type: preproc_def
      name: DISALLOW
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/bind9/lib/isc/file.c
      type_or_value: '"\\/ABCDEFGHIJKLMNOPQRSTUVWXYZ"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_STATS_VALID
  - isc_stats_attach
  - isc_stats_detach
  - isc_stats_ncounters
  - isc_stats_create
  - isc_stats_increment
  - isc_stats_decrement
  - isc_stats_dump
  - isc_stats_set
  - isc_stats_update_if_greater
  - isc_stats_get_counter
  - isc_stats_resize
  source_file: /src/bind9/lib/isc/stats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_STATS_MAGIC
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/isc/stats.c
      type_or_value: ISC_MAGIC('S', 't', 'a', 't')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: ncounters
        type: int
      - name: '*counters'
        type: isc_atomic_statscounter_t
      item_type: struct
      name: isc_stats
      pos:
        line_end: 45
        line_start: 39
        source_file: /src/bind9/lib/isc/stats.c
    typedefs: []
    union: []
- function_names:
  - isc_entropy_get
  source_file: /src/bind9/lib/isc/entropy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/os_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_parse_uint32
  - isc_parse_uint16
  - isc_parse_uint8
  source_file: /src/bind9/lib/isc/parseint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/picohttpparser.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ssize_t
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/isc/picohttpparser.h
      type_or_value: intptr_t
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: name_len
        type: size_t
      - name: '*value'
        type: char
      - name: value_len
        type: size_t
      item_type: struct
      name: phr_header
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/bind9/lib/isc/picohttpparser.h
    - fields:
      - name: bytes_left_in_chunk
        type: size_t
      - name: consume_trailer
        type: char
      - name: _hex_count
        type: char
      - name: _state
        type: char
      - name: _total_read
        type: uint64_t
      - name: _total_overhead
        type: uint64_t
      item_type: struct
      name: phr_chunked_decoder
      pos:
        line_end: 79
        line_start: 72
        source_file: /src/bind9/lib/isc/picohttpparser.h
    typedefs: []
    union: []
- function_names:
  - isc_sockaddr_equal
  - isc_sockaddr_eqaddr
  - isc_sockaddr_compare
  - isc_sockaddr_eqaddrprefix
  - isc_sockaddr_totext
  - isc_sockaddr_format
  - isc_sockaddr_hash_ex
  - isc_sockaddr_hash
  - isc_sockaddr_any
  - isc_sockaddr_any6
  - isc_sockaddr_fromin
  - isc_sockaddr_anyofpf
  - isc_sockaddr_fromin6
  - isc_sockaddr_v6fromin
  - isc_sockaddr_pf
  - isc_sockaddr_fromnetaddr
  - isc_sockaddr_setport
  - isc_sockaddr_getport
  - isc_sockaddr_ismulticast
  - isc_sockaddr_isexperimental
  - isc_sockaddr_issitelocal
  - isc_sockaddr_islinklocal
  - isc_sockaddr_isnetzero
  - isc_sockaddr_fromsockaddr
  - isc_sockaddr_disabled
  source_file: /src/bind9/lib/isc/sockaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__mutex_initialize
  - isc__mutex_shutdown
  source_file: /src/bind9/lib/isc/mutex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_syslog_facilityfromstring
  source_file: /src/bind9/lib/isc/syslog.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: val
        type: int
      - name: '*strval'
        type: char
      item_type: struct
      name: dsn_c_pvt_sfnt
      pos:
        line_end: 26
        line_start: 23
        source_file: /src/bind9/lib/isc/syslog.c
    typedefs: []
    union: []
- function_names:
  - isc_netscope_pton
  source_file: /src/bind9/lib/isc/netscope.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - isc_hex_totext
  - hex_decode_init
  - hex_decode_char
  - hex_decode_finish
  - isc_hex_tobuffer
  - isc_hex_decodestring
  - str_totext
  - mem_tobuffer
  source_file: /src/bind9/lib/isc/hex.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: D
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isc/hex.c
      type_or_value: '(''0'' - 0x0) '
    - item_type: preproc_def
      name: U
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/isc/hex.c
      type_or_value: '(''A'' - 0xA) '
    - item_type: preproc_def
      name: L
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/hex.c
      type_or_value: '(''a'' - 0xa) '
    structs:
    - fields:
      - name: length
        type: int
      - name: '*target'
        type: isc_buffer_t
      - name: digits
        type: int
      - name: val[2]
        type: int
      item_type: struct
      name: hex_decode_ctx_t
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/bind9/lib/isc/hex.c
    typedefs: []
    union: []
- function_names:
  - isc_error_setunexpected
  - isc_error_setfatal
  - isc_error_unexpected
  - isc_error_fatal
  - default_unexpected_callback
  - default_fatal_callback
  source_file: /src/bind9/lib/isc/error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - portset_isset
  - portset_add
  - portset_remove
  - isc_portset_create
  - isc_portset_destroy
  - isc_portset_isset
  - isc_portset_nports
  - isc_portset_add
  - isc_portset_remove
  - isc_portset_addrange
  - isc_portset_removerange
  source_file: /src/bind9/lib/isc/portset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_PORTSET_BUFSIZE
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/isc/portset.c
      type_or_value: (65536 / (sizeof(uint32_t) * 8))
    structs:
    - fields:
      - name: nports
        type: unsigned int
      - name: buf[ISC_PORTSET_BUFSIZE]
        type: uint32_t
      item_type: struct
      name: isc_portset
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/bind9/lib/isc/portset.c
    typedefs: []
    union: []
- function_names:
  - isc__uverr2result
  - isc__uv_malloc
  - isc__uv_realloc
  - isc__uv_calloc
  - isc__uv_free
  - isc__uv_initialize
  - isc__uv_shutdown
  - isc__uv_setdestroycheck
  source_file: /src/bind9/lib/isc/uv.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BIT_AT
  - T
  - T
  - IS_MARK
  - IS_USERINFO_CHAR
  - IS_URL_CHAR
  - IS_HOST_CHAR
  - IS_URL_CHAR
  - IS_HOST_CHAR
  - parse_url_char
  - http_parse_host_char
  - http_parse_host
  - isc_url_parse
  source_file: /src/bind9/lib/isc/url.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: state_t
      pos:
        line_end: 173
        line_start: 92
        source_file: /src/bind9/lib/isc/url.c
    - item_type: typedef
      name: host_state_t
      pos:
        line_end: 188
        line_start: 175
        source_file: /src/bind9/lib/isc/url.c
    union: []
- function_names:
  - BIT_TEST
  - _new_prefix
  - _deref_prefix
  - _ref_prefix
  - _comp_with_mask
  - isc_radix_create
  - _clear_radix
  - isc_radix_destroy
  - isc_radix_process
  - isc_radix_search
  - isc_radix_insert
  - isc_radix_remove
  source_file: /src/bind9/lib/isc/radix.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - base32_totext
  - isc_base32_totext
  - isc_base32hex_totext
  - isc_base32hexnp_totext
  - base32_decode_char
  - base32_decode_finish
  - base32_tobuffer
  - isc_base32_tobuffer
  - isc_base32hex_tobuffer
  - isc_base32hexnp_tobuffer
  - base32_decodestring
  - isc_base32_decodestring
  - isc_base32hex_decodestring
  - isc_base32hexnp_decodestring
  - base32_decoderegion
  - isc_base32_decoderegion
  - isc_base32hex_decoderegion
  - isc_base32hexnp_decoderegion
  - str_totext
  - mem_tobuffer
  source_file: /src/bind9/lib/isc/base32.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: int
      - name: '*target'
        type: isc_buffer_t
      - name: digits
        type: int
      - name: seen_end
        type: bool
      - name: val[8]
        type: int
      - name: '*base'
        type: char
      - name: seen_32
        type: int
      - name: pad
        type: bool
      item_type: struct
      name: base32_decode_ctx_t
      pos:
        line_end: 149
        line_start: 139
        source_file: /src/bind9/lib/isc/base32.c
    typedefs: []
    union: []
- function_names:
  - isc_iterated_hash
  - isc__iterated_hash_initialize
  - isc__iterated_hash_shutdown
  - isc_iterated_hash
  - isc__iterated_hash_initialize
  - isc__iterated_hash_shutdown
  source_file: /src/bind9/lib/isc/iterated_hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_async_run
  - isc__async_cb
  - isc__async_close
  source_file: /src/bind9/lib/isc/async.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rotl
  - next
  - isc__random_initialize
  - isc_random8
  - isc_random16
  - isc_random32
  - isc_random_buf
  - isc_random_uniform
  source_file: /src/bind9/lib/isc/random.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_indicator_arrive
  - read_indicator_depart
  - read_indicator_isempty
  - writers_barrier_raise
  - writers_barrier_lower
  - writers_barrier_israised
  - writers_lock_islocked
  - writers_lock_acquire
  - writers_lock_release
  - ran_out_of_patience
  - isc_rwlock_rdlock
  - isc_rwlock_tryrdlock
  - isc_rwlock_rdunlock
  - isc_rwlock_tryupgrade
  - read_indicator_wait_until_empty
  - isc_rwlock_wrlock
  - isc_rwlock_wrunlock
  - isc_rwlock_trywrlock
  - isc_rwlock_downgrade
  - isc_rwlock_init
  - isc_rwlock_destroy
  - isc_rwlock_setworkers
  source_file: /src/bind9/lib/isc/rwlock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_RWLOCK_UNLOCKED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/isc/rwlock.c
      type_or_value: 'false'
    - item_type: preproc_def
      name: ISC_RWLOCK_LOCKED
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/isc/rwlock.c
      type_or_value: 'true'
    - item_type: preproc_def
      name: RWLOCK_MAX_READER_PATIENCE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/isc/rwlock.c
      type_or_value: '500'
    structs: []
    typedefs: []
    union: []
- function_names:
  - HISTO_VALID
  - HISTOMULTI_VALID
  - DENORMALS
  - MANTISSAS
  - EXPONENTS
  - BUCKETS
  - MAXCHUNK
  - CHUNKSIZE
  - isc_histo_create
  - isc_histo_destroy
  - isc_histo_sigbits
  - isc_histo_bits_to_digits
  - isc_histo_digits_to_bits
  - value_to_key
  - key_to_minval
  - key_to_maxval
  - key_to_new_bucket
  - get_chunk
  - key_to_bucket
  - bucket_count
  - get_key_count
  - add_key_count
  - isc_histo_add
  - isc_histo_inc
  - isc_histo_put
  - isc_histo_get
  - isc_histo_next
  - isc_histo_merge
  - isc_histomulti_create
  - isc_histomulti_destroy
  - isc_histomulti_merge
  - isc_histomulti_add
  - isc_histomulti_inc
  - isc_histo_moments
  - lerp
  - inside
  - isc_histo_quantiles
  source_file: /src/bind9/lib/isc/histo.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HISTO_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: ISC_MAGIC('H', 's', 't', 'o')
    - item_type: preproc_def
      name: HISTOMULTI_MAGIC
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: ISC_MAGIC('H', 'g', 'M', 't')
    - item_type: preproc_def
      name: LN_2
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: '0.693147180559945309'
    - item_type: preproc_def
      name: LN_10
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: '2.302585092994045684'
    - item_type: preproc_def
      name: CHUNKS
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: '64'
    structs:
    - fields:
      - name: magic
        type: uint
      - name: sigbits
        type: uint
      - name: '*mctx'
        type: isc_mem_t
      - name: chunk[CHUNKS]
        type: hg_chunk_t
      item_type: struct
      name: isc_histo
      pos:
        line_end: 70
        line_start: 65
        source_file: /src/bind9/lib/isc/histo.c
    - fields:
      - name: magic
        type: uint
      - name: size
        type: uint
      - name: '*hg[]'
        type: isc_histo_t
      item_type: struct
      name: isc_histomulti
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/bind9/lib/isc/histo.c
    typedefs:
    - item_type: typedef
      name: hg_bucket_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/isc/histo.c
    - item_type: typedef
      name: (hg_bucket_t)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/isc/histo.c
    union: []
- function_names:
  - CHECK
  - VALID_HTTPD
  - VALID_HTTPDMGR
  - isc_httpd_ref
  - isc_httpd_unref
  - isc_httpd_attach
  - isc_httpd_detach
  - isc_httpdmgr_ref
  - isc_httpdmgr_unref
  - isc_httpdmgr_attach
  - isc_httpdmgr_detach
  - isc_httpdmgr_create
  - destroy_httpdmgr
  - name_match
  - value_match
  - process_request
  - httpd_free
  - isc__httpd_sendreq_free
  - isc__httpd_sendreq_new
  - new_httpd
  - httpd_newconn
  - render_404
  - render_500
  - httpd_compress
  - prepare_response
  - prepare_response_done
  - httpd_request
  - isc_httpdmgr_shutdown
  - httpd_response
  - httpd_addheader
  - httpd_endheaders
  - httpd_addheaderuint
  - httpd_senddone
  - isc_httpdmgr_addurl
  - isc_httpd_setfinishhook
  - isc_httpdurl_isstatic
  - isc_httpdurl_loadtime
  - isc_httpd_if_modified_since
  source_file: /src/bind9/lib/isc/httpd.c
  types:
    enum:
    - enumerators:
      - name: CONNECTION_CLOSE
        value: 1 << 0
      - name: CONNECTION_KEEP_ALIVE
        value: 1 << 1
      - name: ACCEPT_DEFLATE
        value: 1 << 2
      item_type: enum
      name: httpd_flags
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/bind9/lib/isc/httpd.c
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_RECVLEN
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: ISC_NETMGR_TCP_RECVBUF_SIZE * 2
    - item_type: preproc_def
      name: HTTP_SENDLEN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: ISC_NETMGR_TCP_RECVBUF_SIZE
    - item_type: preproc_def
      name: HTTP_HEADERS_NUM
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: '100'
    - item_type: preproc_def
      name: HTTP_MAX_REQUEST_LEN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: HTTPD_MAGIC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: ISC_MAGIC('H', 't', 'p', 'd')
    - item_type: preproc_def
      name: HTTPDMGR_MAGIC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: ISC_MAGIC('H', 'p', 'd', 'm')
    structs:
    - fields:
      - name: '*url'
        type: char
      - name: '*action'
        type: isc_httpdaction_t
      - name: '*action_arg'
        type: void
      - name: isstatic
        type: bool
      - name: loadtime
        type: isc_time_t
      - name: (isc_httpdurl_t)
        type: ISC_LINK
      item_type: struct
      name: isc_httpdurl
      pos:
        line_end: 87
        line_start: 80
        source_file: /src/bind9/lib/isc/httpd.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mgr'
        type: isc_httpdmgr_t
      - name: (isc_httpd_t)
        type: ISC_LINK
      - name: '*handle'
        type: isc_nmhandle_t
      - name: recvbuf[HTTP_RECVLEN]
        type: char
      - name: recvlen
        type: size_t
      - name: consume
        type: size_t
      - name: method
        type: method_t
      - name: minor_version
        type: int
      - name: flags
        type: httpd_flags_t
      - name: '*path'
        type: char
      - name: up
        type: isc_url_parser_t
      - name: if_modified_since
        type: isc_time_t
      item_type: struct
      name: isc_httpd
      pos:
        line_end: 112
        line_start: 90
        source_file: /src/bind9/lib/isc/httpd.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*sock'
        type: isc_nmsocket_t
      - name: '*client_ok'
        type: isc_httpdclientok_t
      - name: '*ondestroy'
        type: isc_httpdondestroy_t
      - name: '*cb_arg'
        type: void
      - name: flags
        type: unsigned int
      - name: (isc_httpd_t)
        type: ISC_LIST
      - name: lock
        type: isc_mutex_t
      - name: (isc_httpdurl_t)
        type: ISC_LIST
      - name: '*render_404'
        type: isc_httpdaction_t
      - name: '*render_500'
        type: isc_httpdaction_t
      item_type: struct
      name: isc_httpdmgr
      pos:
        line_end: 144
        line_start: 126
        source_file: /src/bind9/lib/isc/httpd.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*httpd'
        type: isc_httpd_t
      - name: '*sendbuffer'
        type: isc_buffer_t
      - name: '*compbuffer'
        type: isc_buffer_t
      - name: bodybuffer
        type: isc_buffer_t
      - name: '*mimetype'
        type: char
      - name: retcode
        type: unsigned int
      - name: '*retmsg'
        type: char
      - name: '*freecb'
        type: isc_httpdfree_t
      - name: '*freecb_arg'
        type: void
      item_type: struct
      name: isc_httpd_sendreq
      pos:
        line_end: 197
        line_start: 160
        source_file: /src/bind9/lib/isc/httpd.c
    typedefs:
    - item_type: typedef
      name: httpd_flags_t
      pos:
        line_end: 60
        line_start: 56
        source_file: /src/bind9/lib/isc/httpd.c
    - item_type: typedef
      name: method_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bind9/lib/isc/httpd.c
    union: []
- function_names:
  - MALLOCX_ZERO_GET
  - mallocx
  - sdallocx
  - sallocx
  - rallocx
  source_file: /src/bind9/lib/isc/jemalloc_shim.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MALLOCX_ZERO
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/isc/jemalloc_shim.h
      type_or_value: ((int)0x40)
    structs: []
    typedefs: []
    union:
    - fields:
      - name: size
        type: size_t
      - name: __alignment
        type: max_align_t
      item_type: union
      name: size_info
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/bind9/lib/isc/jemalloc_shim.h
- function_names:
  - VALID_QUOTA
  - isc_quota_init
  - isc_quota_soft
  - isc_quota_max
  - isc_quota_getmax
  - isc_quota_getsoft
  - isc_quota_getused
  - isc_quota_release
  - isc_quota_acquire_cb
  - isc_quota_destroy
  source_file: /src/bind9/lib/isc/quota.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QUOTA_MAGIC
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/isc/quota.c
      type_or_value: ISC_MAGIC('Q', 'U', 'O', 'T')
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_string_strerror_r
  - strlcpy
  - strlcat
  - strnstr
  source_file: /src/bind9/lib/isc/string.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/thread_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_helper_run
  source_file: /src/bind9/lib/isc/helper.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_getaddresses
  source_file: /src/bind9/lib/isc/getaddresses.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_stdtime_now
  - isc_stdtime_tostring
  source_file: /src/bind9/lib/isc/stdtime.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLOCKSOURCE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/isc/stdtime.c
      type_or_value: CLOCK_REALTIME_COARSE
    - item_type: preproc_def
      name: CLOCKSOURCE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/isc/stdtime.c
      type_or_value: CLOCK_REALTIME_FAST
    - item_type: preproc_def
      name: CLOCKSOURCE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/isc/stdtime.c
      type_or_value: CLOCK_REALTIME
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_netaddr_equal
  - isc_netaddr_eqprefix
  - isc_netaddr_totext
  - isc_netaddr_format
  - isc_netaddr_prefixok
  - isc_netaddr_masktoprefixlen
  - isc_netaddr_fromin
  - isc_netaddr_fromin6
  - isc_netaddr_setzone
  - isc_netaddr_getzone
  - isc_netaddr_fromsockaddr
  - isc_netaddr_any
  - isc_netaddr_any6
  - isc_netaddr_unspec
  - isc_netaddr_ismulticast
  - isc_netaddr_isexperimental
  - isc_netaddr_islinklocal
  - isc_netaddr_issitelocal
  - ISC_IPADDR_ISNETZERO
  - isc_netaddr_isnetzero
  - isc_netaddr_fromv4mapped
  - isc_netaddr_isloopback
  source_file: /src/bind9/lib/isc/netaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_RATELIMITER
  - isc_ratelimiter_create
  - isc_ratelimiter_setinterval
  - isc_ratelimiter_setpertic
  - isc_ratelimiter_setpushpop
  - isc__ratelimiter_start
  - isc_ratelimiter_enqueue
  - isc_ratelimiter_dequeue
  - isc__ratelimiter_tick
  - ISC_LIST_FOREACH
  - isc__ratelimiter_doshutdown
  - isc_ratelimiter_shutdown
  - ISC_LIST_FOREACH
  - ratelimiter_destroy
  - isc_rlevent_free
  source_file: /src/bind9/lib/isc/ratelimiter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RATELIMITER_MAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/isc/ratelimiter.c
      type_or_value: ISC_MAGIC('R', 't', 'L', 'm')
    structs:
    - fields:
      - name: magic
        type: int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loop'
        type: isc_loop_t
      - name: references
        type: isc_refcount_t
      - name: lock
        type: isc_mutex_t
      - name: '*timer'
        type: isc_timer_t
      - name: interval
        type: isc_interval_t
      - name: pertic
        type: uint32_t
      - name: pushpop
        type: bool
      - name: state
        type: isc_ratelimiter_state_t
      - name: (isc_rlevent_t)
        type: ISC_LIST
      item_type: struct
      name: isc_ratelimiter
      pos:
        line_end: 49
        line_start: 37
        source_file: /src/bind9/lib/isc/ratelimiter.c
    typedefs:
    - item_type: typedef
      name: isc_ratelimiter_state_t
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/bind9/lib/isc/ratelimiter.c
    union: []
- function_names:
  - isc_region_compare
  source_file: /src/bind9/lib/isc/region.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_HT_VALID
  - HT_NEXTTABLE
  - TRY_NEXTTABLE
  - HASHSIZE
  - isc__ht_node_match
  - hash_32
  - rehashing_in_progress
  - hashtable_is_overcommited
  - rehash_bits
  - hashtable_rehash
  - hashtable_rehash_one
  - maybe_rehash
  - hashtable_new
  - hashtable_free
  - isc_ht_init
  - isc_ht_destroy
  - isc__ht_add
  - isc_ht_add
  - isc__ht_find
  - isc_ht_find
  - isc__ht_delete
  - isc_ht_delete
  - isc_ht_iter_create
  - isc_ht_iter_destroy
  - isc_ht_iter_first
  - isc__ht_iter_next
  - isc_ht_iter_next
  - isc_ht_iter_delcurrent_next
  - isc_ht_iter_current
  - isc_ht_iter_currentkey
  - isc_ht_count
  source_file: /src/bind9/lib/isc/ht.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_HT_MAGIC
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/isc/ht.c
      type_or_value: ISC_MAGIC('H', 'T', 'a', 'b')
    - item_type: preproc_def
      name: HT_NO_BITS
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/isc/ht.c
      type_or_value: '0'
    - item_type: preproc_def
      name: HT_MIN_BITS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/isc/ht.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HT_MAX_BITS
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/isc/ht.c
      type_or_value: '32'
    - item_type: preproc_def
      name: HT_OVERCOMMIT
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/isc/ht.c
      type_or_value: '3'
    - item_type: preproc_def
      name: GOLDEN_RATIO_32
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/isc/ht.c
      type_or_value: '0x61C88647'
    structs:
    - fields:
      - name: '*value'
        type: void
      - name: '*next'
        type: isc_ht_node_t
      - name: hashval
        type: uint32_t
      - name: keysize
        type: size_t
      - name: key[]
        type: unsigned char
      item_type: struct
      name: isc_ht_node
      pos:
        line_end: 48
        line_start: 42
        source_file: /src/bind9/lib/isc/ht.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: count
        type: size_t
      - name: case_sensitive
        type: bool
      - name: size[2]
        type: size_t
      - name: hashbits[2]
        type: uint8_t
      - name: '**table[2]'
        type: isc_ht_node_t
      - name: hindex
        type: uint8_t
      - name: hiter
        type: uint32_t
      item_type: struct
      name: isc_ht
      pos:
        line_end: 60
        line_start: 50
        source_file: /src/bind9/lib/isc/ht.c
    - fields:
      - name: '*ht'
        type: isc_ht_t
      - name: i
        type: size_t
      - name: hindex
        type: uint8_t
      - name: '*cur'
        type: isc_ht_node_t
      item_type: struct
      name: isc_ht_iter
      pos:
        line_end: 67
        line_start: 62
        source_file: /src/bind9/lib/isc/ht.c
    typedefs: []
    union: []
- function_names:
  - isc_errno_toresult
  source_file: /src/bind9/lib/isc/errno.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_stdio_open
  - isc_stdio_close
  - isc_stdio_seek
  - isc_stdio_tell
  - isc_stdio_read
  - isc_stdio_write
  - isc_stdio_flush
  - isc_stdio_sync
  source_file: /src/bind9/lib/isc/stdio.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENOTSUP
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/isc/stdio.c
      type_or_value: EOPNOTSUPP
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_job_run
  - isc__job_cb
  - ISC_LIST_FOREACH
  - isc__job_close
  source_file: /src/bind9/lib/isc/job.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - isc_base64_totext
  - base64_decode_init
  - base64_decode_char
  - base64_decode_finish
  - isc_base64_tobuffer
  - isc_base64_decodestring
  - str_totext
  - mem_tobuffer
  source_file: /src/bind9/lib/isc/base64.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: int
      - name: '*target'
        type: isc_buffer_t
      - name: digits
        type: int
      - name: seen_end
        type: bool
      - name: val[4]
        type: int
      item_type: struct
      name: base64_decode_ctx_t
      pos:
        line_end: 100
        line_start: 94
        source_file: /src/bind9/lib/isc/base64.c
    typedefs: []
    union: []
- function_names:
  - isc_commandline_init
  - isc_commandline_parse
  - isc_commandline_strtoargv
  source_file: /src/bind9/lib/isc/commandline.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BADOPT
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/isc/commandline.c
      type_or_value: '''?'''
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/isc/commandline.c
      type_or_value: ''':'''
    - item_type: preproc_def
      name: ENDOPT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/isc/commandline.c
      type_or_value: '&endopt'
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_addr
  - VALID_IFITER
  - isc_interfaceiter_create
  - internal_current
  - internal_next
  - internal_destroy
  - internal_first
  - isc_interfaceiter_current
  - isc_interfaceiter_first
  - isc_interfaceiter_next
  - isc_interfaceiter_destroy
  source_file: /src/bind9/lib/isc/interfaceiter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IFITER_MAGIC
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/isc/interfaceiter.c
      type_or_value: ISC_MAGIC('I', 'F', 'I', 'G')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*buf'
        type: void
      - name: bufsize
        type: unsigned int
      - name: '*ifaddrs'
        type: struct ifaddrs
      - name: '*pos'
        type: struct ifaddrs
      - name: current
        type: isc_interface_t
      - name: result
        type: isc_result_t
      item_type: struct
      name: isc_interfaceiter
      pos:
        line_end: 149
        line_start: 140
        source_file: /src/bind9/lib/isc/interfaceiter.c
    typedefs: []
    union: []
- function_names:
  - isc__hash_initialize
  - isc_hash_get_initializer
  - isc_hash_set_initializer
  - isc_hash32_init
  - isc_hash32_hash
  - isc_hash32_finalize
  - isc_hash64_init
  - isc_hash64_hash
  - isc_hash64_finalize
  source_file: /src/bind9/lib/isc/hash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_TIMER
  - isc_timer_create
  - isc_timer_stop
  - timer_cb
  - isc_timer_start
  - timer_close
  - timer_destroy
  - isc_timer_destroy
  - isc_timer_async_destroy
  - isc_timer_running
  source_file: /src/bind9/lib/isc/timer.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TIMER_MAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/isc/timer.c
      type_or_value: ISC_MAGIC('T', 'I', 'M', 'R')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*loop'
        type: isc_loop_t
      - name: timer
        type: uv_timer_t
      - name: cb
        type: isc_job_cb
      - name: '*cbarg'
        type: void
      - name: timeout
        type: uint64_t
      - name: repeat
        type: uint64_t
      - name: running
        type: atomic_bool
      item_type: struct
      name: isc_timer
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/bind9/lib/isc/timer.c
    typedefs: []
    union: []
- function_names:
  - APPROX_99_PERCENT
  - APPROX_95_PERCENT
  - APPROX_90_PERCENT
  - APPROX_85_PERCENT
  - APPROX_40_PERCENT
  - APPROX_35_PERCENT
  - APPROX_30_PERCENT
  - APPROX_25_PERCENT
  - APPROX_20_PERCENT
  - APPROX_15_PERCENT
  - APPROX_10_PERCENT
  - APPROX_05_PERCENT
  - APPROX_01_PERCENT
  - ISC_HASHMAP_VALID
  - HASHSIZE
  - hashmap_nexttable
  - rehashing_in_progress
  - try_nexttable
  - hashmap_node_init
  - hashmap_dump_table
  - hashmap_create_table
  - hashmap_free_table
  - isc_hashmap_create
  - isc_hashmap_destroy
  - hashmap_find
  - isc_hashmap_find
  - hashmap_delete_node
  - hashmap_rehash_one
  - grow_bits
  - shrink_bits
  - hashmap_rehash_start_grow
  - hashmap_rehash_start_shrink
  - isc_hashmap_delete
  - over_threshold
  - under_threshold
  - hashmap_add
  - isc_hashmap_add
  - isc_hashmap_iter_create
  - isc_hashmap_iter_destroy
  - isc__hashmap_iter_next
  - isc_hashmap_iter_first
  - isc_hashmap_iter_next
  - isc_hashmap_iter_delcurrent_next
  - isc_hashmap_iter_current
  - isc_hashmap_iter_currentkey
  - isc_hashmap_count
  source_file: /src/bind9/lib/isc/hashmap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_HASHMAP_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: ISC_MAGIC('H', 'M', 'a', 'p')
    - item_type: preproc_def
      name: HASHMAP_NUM_TABLES
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HASHMAP_NO_BITS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: 0U
    - item_type: preproc_def
      name: HASHMAP_MIN_BITS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: 1U
    - item_type: preproc_def
      name: HASHMAP_MAX_BITS
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: 32U
    structs:
    - fields:
      - name: '*key'
        type: void
      - name: '*value'
        type: void
      - name: hashval
        type: uint32_t
      - name: psl
        type: uint32_t
      item_type: struct
      name: hashmap_node
      pos:
        line_end: 74
        line_start: 69
        source_file: /src/bind9/lib/isc/hashmap.c
    - fields:
      - name: size
        type: size_t
      - name: hashbits
        type: uint8_t
      - name: hashmask
        type: uint32_t
      - name: '*table'
        type: hashmap_node_t
      item_type: struct
      name: hashmap_table
      pos:
        line_end: 81
        line_start: 76
        source_file: /src/bind9/lib/isc/hashmap.c
    - fields:
      - name: magic
        type: unsigned int
      - name: hindex
        type: uint8_t
      - name: hiter
        type: uint32_t
      - name: '*mctx'
        type: isc_mem_t
      - name: count
        type: size_t
      - name: tables[HASHMAP_NUM_TABLES]
        type: hashmap_table_t
      - name: iterators
        type: atomic_uint_fast32_t
      item_type: struct
      name: isc_hashmap
      pos:
        line_end: 91
        line_start: 83
        source_file: /src/bind9/lib/isc/hashmap.c
    - fields:
      - name: '*hashmap'
        type: isc_hashmap_t
      - name: i
        type: size_t
      - name: size
        type: size_t
      - name: hindex
        type: uint8_t
      - name: '*cur'
        type: hashmap_node_t
      item_type: struct
      name: isc_hashmap_iter
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/bind9/lib/isc/hashmap.c
    typedefs: []
    union: []
- function_names:
  - isc__work_cb
  - isc__after_work_cb
  - isc_work_enqueue
  source_file: /src/bind9/lib/isc/work.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MCTXLOCK
  - MCTXUNLOCK
  - VALID_CONTEXT
  - VALID_MEMPOOL
  - SHOULD_TRACE_OR_RECORD
  - ADD_TRACE
  - DELETE_TRACE
  - add_trace_entry
  - delete_trace_entry
  - ADJUST_ZERO_ALLOCATION_SIZE
  - mem_get
  - mem_put
  - mem_realloc
  - mem_getstats
  - mem_putstats
  - isc__mem_initialize
  - isc__mem_shutdown
  - mem_create
  - mem_destroy
  - isc__mem_putanddetach
  - isc__mem_get
  - isc__mem_put
  - print_active
  - isc_mem_stats
  - isc__mem_allocate
  - isc__mem_reget
  - isc__mem_reallocate
  - isc__mem_free
  - isc__mem_strdup
  - isc__mem_strndup
  - isc_mem_setdestroycheck
  - isc_mem_inuse
  - isc_mem_clearwater
  - isc_mem_setwater
  - isc_mem_isovermem
  - isc_mem_getname
  - isc__mempool_create
  - isc__mempool_destroy
  - isc__mempool_get
  - isc__mempool_put
  - isc_mempool_setfreemax
  - isc_mempool_getfreemax
  - isc_mempool_getfreecount
  - isc_mempool_getallocated
  - isc_mempool_setfillcount
  - isc_mempool_getfillcount
  - print_contexts
  - ISC_LIST_FOREACH
  - isc_mem_checkdestroyed
  - isc__mem_checkdestroyed
  - isc_mem_references
  - TRY0
  - xml_renderctx
  - isc_mem_renderxml
  - ISC_LIST_FOREACH
  - CHECKMEM
  - json_renderctx
  - isc_mem_renderjson
  - ISC_LIST_FOREACH
  - isc__mem_create
  - isc__mem_printactive
  source_file: /src/bind9/lib/isc/mem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_XMLCHAR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: (const xmlChar *)
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_MEM_DEBUGGING
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ZERO_ALLOCATION_SIZE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: sizeof(void *)
    - item_type: preproc_def
      name: DEBUG_TABLE_COUNT
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: 512U
    - item_type: preproc_def
      name: FLARG_PASS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: ', func, file, line'
    - item_type: preproc_def
      name: FLARG
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: ', const char *func, const char *file, unsigned int line'
    - item_type: preproc_def
      name: MEM_MAGIC
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: ISC_MAGIC('M', 'e', 'm', 'C')
    - item_type: preproc_def
      name: MEMPOOL_MAGIC
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: ISC_MAGIC('M', 'E', 'M', 'p')
    - item_type: preproc_def
      name: TRACE_OR_RECORD
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: (ISC_MEM_DEBUGTRACE | ISC_MEM_DEBUGRECORD)
    structs:
    - fields:
      - name: dlsize
        type: size_t
      - name: (debuglink_t)
        type: ISC_LINK
      - name: '*ptr'
        type: void
      - name: size
        type: size_t
      - name: line
        type: unsigned int
      - name: file[]
        type: char
      item_type: struct
      name: debuglink
      pos:
        line_end: 90
        line_start: 83
        source_file: /src/bind9/lib/isc/mem.c
    - fields:
      - name: '*next'
        type: element
      item_type: struct
      name: element
      pos:
        line_end: 104
        line_start: 102
        source_file: /src/bind9/lib/isc/mem.c
    - fields:
      - name: magic
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: jemalloc_flags
        type: unsigned int
      - name: debugging
        type: unsigned int
      - name: lock
        type: isc_mutex_t
      - name: checkfree
        type: bool
      - name: references
        type: isc_refcount_t
      - name: '*name'
        type: char
      - name: hi_water
        type: atomic_size_t
      - name: lo_water
        type: atomic_size_t
      - name: (isc_mempool_t)
        type: ISC_LIST
      - name: poolcnt
        type: unsigned int
      - name: (isc_mem_t)
        type: ISC_LINK
      - name: '*stat'
        type: isc__mem_stat_t
      - name: stat_s[ISC_TID_MAX + 1]
        type: isc__mem_stat_t
      item_type: struct
      name: isc_mem
      pos:
        line_end: 146
        line_start: 123
        source_file: /src/bind9/lib/isc/mem.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: (isc_mempool_t)
        type: ISC_LINK
      - name: '*items'
        type: element
      - name: size
        type: size_t
      - name: allocated
        type: size_t
      - name: freecount
        type: size_t
      - name: freemax
        type: size_t
      - name: fillcount
        type: size_t
      - name: gets
        type: size_t
      - name: '*name'
        type: char
      item_type: struct
      name: isc_mempool
      pos:
        line_end: 166
        line_start: 151
        source_file: /src/bind9/lib/isc/mem.c
    typedefs:
    - item_type: typedef
      name: (debuglink_t)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bind9/lib/isc/mem.c
    union:
    - fields:
      - name: padding[ISC_OS_CACHELINE_SIZE]
        type: char
      item_type: union
      name: isc__mem_stat_t
      pos:
        line_end: 121
        line_start: 115
        source_file: /src/bind9/lib/isc/mem.c
- function_names:
  - isc___errno2result
  source_file: /src/bind9/lib/isc/errno2result.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - heap_parent
  - heap_left
  - VALID_HEAP
  - HEAPCONDITION
  - heap_check
  - heap_check
  - isc_heap_create
  - isc_heap_destroy
  - resize
  - float_up
  - sink_down
  - isc_heap_insert
  - isc_heap_delete
  - isc_heap_increased
  - isc_heap_decreased
  - isc_heap_element
  - isc_heap_foreach
  source_file: /src/bind9/lib/isc/heap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SIZE_INCREMENT
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/heap.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: HEAP_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/isc/heap.c
      type_or_value: ISC_MAGIC('H', 'E', 'A', 'P')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: size
        type: unsigned int
      - name: size_increment
        type: unsigned int
      - name: last
        type: unsigned int
      - name: '**array'
        type: void
      - name: compare
        type: isc_heapcompare_t
      - name: index
        type: isc_heapindex_t
      item_type: struct
      name: isc_heap
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/bind9/lib/isc/heap.c
    typedefs: []
    union: []
- function_names:
  - LEGAL_ALT
  - conv_num
  - isc_tm_timegm
  - isc_tm_strptime
  source_file: /src/bind9/lib/isc/tm.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALT_E
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isc/tm.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ALT_O
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/isc/tm.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: TM_YEAR_BASE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/isc/tm.c
      type_or_value: '1900'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_CONTEXT
  - VALID_CONFIG
  - FACILITY
  - FILE_NAME
  - FILE_STREAM
  - FILE_VERSIONS
  - FILE_SUFFIX
  - FILE_MAXSIZE
  - FILE_MAXREACHED
  - isc_logconfig_create
  - isc_logconfig_get
  - isc_logconfig_set
  - isc_logconfig_destroy
  - isc_log_categorybyname
  - isc_log_createchannel
  - isc_log_usechannel
  - isc_log_createandusechannel
  - isc_log_write
  - isc_log_vwrite
  - isc_log_setdebuglevel
  - isc_log_getdebuglevel
  - isc_log_settag
  - isc_log_gettag
  - isc_log_opensyslog
  - isc_log_closefilelogs
  - assignchannel
  - sync_highest_level
  - greatest_version
  - insert_sort
  - last_to_keep
  - remove_old_tsversions
  - roll_increment
  - roll_timestamp
  - isc_logfile_roll
  - isc_log_open
  - isc_log_wouldlog
  - isc_log_doit
  - isc_log_setforcelog
  - isc__log_initialize
  - isc__log_shutdown
  source_file: /src/bind9/lib/isc/log.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LCTX_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/log.c
      type_or_value: ISC_MAGIC('L', 'c', 't', 'x')
    - item_type: preproc_def
      name: LCFG_MAGIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/log.c
      type_or_value: ISC_MAGIC('L', 'c', 'f', 'g')
    - item_type: preproc_def
      name: LOG_BUFFER_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/isc/log.c
      type_or_value: (8 * 1024)
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: type
        type: unsigned int
      - name: level
        type: int
      - name: flags
        type: unsigned int
      - name: destination
        type: isc_logdestination_t
      - name: (isc_logchannel_t)
        type: ISC_LINK
      item_type: struct
      name: isc_logchannel
      pos:
        line_end: 75
        line_start: 68
        source_file: /src/bind9/lib/isc/log.c
    - fields:
      - name: module
        type: isc_logmodule_t
      - name: '*channel'
        type: isc_logchannel_t
      - name: (isc_logchannellist_t)
        type: ISC_LINK
      item_type: struct
      name: isc_logchannellist
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/bind9/lib/isc/log.c
    - fields:
      - name: '*text'
        type: char
      - name: time
        type: isc_time_t
      - name: (isc_logmessage_t)
        type: ISC_LINK
      item_type: struct
      name: isc_logmessage
      pos:
        line_end: 103
        line_start: 99
        source_file: /src/bind9/lib/isc/log.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*lctx'
        type: isc_log_t
      - name: (isc_logchannel_t)
        type: ISC_LIST
      - name: (isc_logchannellist_t) channellists[ISC_LOGCATEGORY_MAX]
        type: ISC_LIST
      - name: highest_level
        type: int_fast32_t
      - name: '*tag'
        type: char
      - name: dynamic
        type: bool
      item_type: struct
      name: isc_logconfig
      pos:
        line_end: 120
        line_start: 112
        source_file: /src/bind9/lib/isc/log.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: debug_level
        type: atomic_int_fast32_t
      - name: '*logconfig'
        type: isc_logconfig_t
      - name: lock
        type: isc_mutex_t
      - name: buffer[LOG_BUFFER_SIZE]
        type: char
      - name: dynamic
        type: atomic_bool
      - name: highest_level
        type: atomic_int_fast32_t
      item_type: struct
      name: isc_log
      pos:
        line_end: 143
        line_start: 131
        source_file: /src/bind9/lib/isc/log.c
    typedefs: []
    union: []
- function_names:
  - isc_managers_create
  - isc_managers_destroy
  source_file: /src/bind9/lib/isc/managers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_hmac_new
  - isc_hmac_free
  - isc_hmac_init
  - isc_hmac_reset
  - isc_hmac_update
  - isc_hmac_final
  - isc_hmac_get_md_type
  - isc_hmac_get_size
  - isc_hmac_get_block_size
  - isc_hmac
  source_file: /src/bind9/lib/isc/hmac.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - thread_wrap
  - thread_body
  - thread_run
  - isc_thread_main
  - isc_thread_create
  - isc_thread_join
  - isc_thread_setname
  - isc_thread_yield
  - isc__thread_initialize
  - isc__thread_shutdown
  source_file: /src/bind9/lib/isc/thread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREAD_MINSTACKSIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/thread.c
      type_or_value: (1024U * 1024)
    structs:
    - fields:
      - name: rcu_head
        type: struct rcu_head
      - name: func
        type: isc_threadfunc_t
      - name: '*arg'
        type: void
      item_type: struct
      name: thread_wrap
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/bind9/lib/isc/thread.c
    typedefs: []
    union: []
- function_names:
  - ignore_signal
  - isc_loopmgr_shutdown
  - isc__loopmgr_signal
  - pause_loop
  - resume_loop
  - pauseresume_cb
  - XX
  - loop_walk_cb
  - shutdown_trigger_close_cb
  - destroy_cb
  - shutdown_cb
  - loop_init
  - quiescent_cb
  - helper_close
  - loop_close
  - helper_thread
  - loop_thread
  - threadpool_initialize
  - loop_destroy
  - isc_loopmgr_create
  - isc_loop_setup
  - isc_loop_teardown
  - isc_loopmgr_setup
  - isc_loopmgr_teardown
  - isc_loopmgr_run
  - isc_loopmgr_pause
  - isc_loopmgr_resume
  - isc_loopmgr_destroy
  - isc_loopmgr_nloops
  - isc_loop_getmctx
  - isc_loop_main
  - isc_loop_get
  - isc_loopmgr_blocking
  - isc_loopmgr_nonblocking
  - isc_loop_getloopmgr
  - isc_loop_now
  - isc_loop_shuttingdown
  source_file: /src/bind9/lib/isc/loop.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_backtrace
  - isc_backtrace_symbols
  - isc_backtrace_symbols_fd
  - isc_backtrace_log
  - isc_backtrace
  - isc_backtrace_symbols
  - isc_backtrace_symbols_fd
  - isc_backtrace_log
  source_file: /src/bind9/lib/isc/backtrace.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/ascii.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_safe_memequal
  - isc_safe_memwipe
  source_file: /src/bind9/lib/isc/safe.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__proxy2_handler_init_direct
  - isc_proxy2_handler_init
  - isc_proxy2_handler_uninit
  - isc_proxy2_handler_clear
  - isc_proxy2_handler_new
  - isc_proxy2_handler_free
  - isc_proxy2_handler_setcb
  - proxy2_socktype_to_socktype
  - isc__proxy2_handler_callcb
  - isc__proxy2_handler_error
  - isc__proxy2_handler_handle_signature
  - isc__proxy2_handler_handle_header
  - isc__proxy2_handler_get_addresses
  - isc__proxy2_handler_handle_payload
  - isc__proxy2_handler_handle_data
  - isc__proxy2_handler_process_data
  - isc_proxy2_handler_push_data
  - isc_proxy2_handler_push
  - proxy2_payload_is_processed
  - isc_proxy2_handler_header
  - isc_proxy2_handler_tlvs
  - isc_proxy2_handler_extra
  - isc_proxy2_handler_result
  - isc_proxy2_handler_addresses
  - isc_proxy2_tlv_iterate
  - proxy2_tls_iter_cb
  - isc_proxy2_subtlv_tls_header_data
  - isc_proxy2_subtlv_tls_iterate
  - proxy2_subtlv_verify_iter_cb
  - isc_proxy2_tlv_verify_cb
  - isc_proxy2_tlv_data_verify
  - isc_proxy2_header_handle_directly
  - isc_proxy2_make_header
  - isc_proxy2_header_append
  - append_type_and_length
  - isc_proxy2_header_append_tlv
  - isc_proxy2_header_append_tlv_string
  - isc_proxy2_make_tls_subheader
  - isc_proxy2_append_tlv
  - isc_proxy2_append_tlv_string
  source_file: /src/bind9/lib/isc/proxy2.c
  types:
    enum:
    - enumerators:
      - name: ISC_PROXY2_STATE_WAITING_SIGNATURE
      - name: ISC_PROXY2_STATE_WAITING_HEADER
      - name: ISC_PROXY2_STATE_WAITING_PAYLOAD
      - name: ISC_PROXY2_STATE_END
      item_type: enum
      name: isc_proxy2_states
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/bind9/lib/isc/proxy2.c
    preproc_defs: []
    structs:
    - fields:
      - name: client
        type: uint8_t
      - name: client_cert_verified
        type: bool
      - name: cb
        type: isc_proxy2_tls_subtlv_cb_t
      - name: '*cbarg'
        type: void
      item_type: struct
      name: proxy2_tls_cbarg
      pos:
        line_end: 770
        line_start: 765
        source_file: /src/bind9/lib/isc/proxy2.c
    - fields:
      - name: '*count'
        type: uint16_t
      - name: verif_result
        type: isc_result_t
      item_type: struct
      name: tls_subtlv_verify_cbarg
      pos:
        line_end: 873
        line_start: 870
        source_file: /src/bind9/lib/isc/proxy2.c
    - fields:
      - name: count[256]
        type: uint16_t
      - name: verify_result
        type: isc_result_t
      item_type: struct
      name: tlv_verify_cbarg
      pos:
        line_end: 922
        line_start: 919
        source_file: /src/bind9/lib/isc/proxy2.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/job_p.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: head
        type: struct __cds_wfcq_head
      - name: "__padding[ISC_OS_CACHELINE_SIZE -\n\t\t\t  sizeof(struct __cds_wfcq_head)]"
        type: uint8_t
      - name: tail
        type: struct cds_wfcq_tail
      item_type: struct
      name: isc_jobqueue
      pos:
        line_end: 34
        line_start: 29
        source_file: /src/bind9/lib/isc/job_p.h
    typedefs:
    - item_type: typedef
      name: (isc_job_t)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bind9/lib/isc/job_p.h
    union: []
- function_names:
  - BIO_read_ex
  - BIO_write_ex
  - SSL_CTX_set1_cert_store
  - ERR_get_error_all
  source_file: /src/bind9/lib/isc/openssl_shim.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_nonce_buf
  source_file: /src/bind9/lib/isc/nonce.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_md_new
  - isc_md_free
  - isc_md_init
  - isc_md_reset
  - isc_md_update
  - isc_md_final
  - isc_md_get_md_type
  - isc_md_get_size
  - isc_md_get_block_size
  - isc_md_type_get_size
  - isc_md_type_get_block_size
  - isc_md
  source_file: /src/bind9/lib/isc/md.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/mem_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/openssl_shim.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EVP_MD_CTX_get0_md
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/isc/openssl_shim.h
      type_or_value: EVP_MD_CTX_md
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__lib_initialize
  - isc__lib_shutdown
  source_file: /src/bind9/lib/isc/lib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - md_register_algorithm
  - md_unregister_algorithm
  - md_register_algorithm
  - register_algorithms
  - unregister_algorithms
  - isc__crypto_malloc_ex
  - isc__crypto_realloc_ex
  - isc__crypto_free_ex
  - isc__crypto_malloc_ex
  - isc__crypto_realloc_ex
  - isc__crypto_free_ex
  - isc_crypto_fips_mode
  - isc_crypto_fips_enable
  - isc_crypto_fips_mode
  - isc_crypto_fips_enable
  - isc_crypto_fips_mode
  - isc_crypto_fips_enable
  - isc__crypto_setdestroycheck
  - isc__crypto_initialize
  - isc__crypto_shutdown
  source_file: /src/bind9/lib/isc/crypto.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_assertion_failed
  - isc_assertion_setcallback
  - isc_assertion_typetotext
  - default_callback
  source_file: /src/bind9/lib/isc/assertions.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BACKTRACE_MAXFRAME
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/isc/assertions.c
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_tlsctx_free
  - isc_tlsctx_attach
  - sslkeylogfile_append
  - sslkeylogfile_init
  - isc_tlsctx_createclient
  - isc_tlsctx_load_certificate
  - isc_tlsctx_createserver
  - get_tls_version_disable_bit
  - isc_tls_protocol_supported
  - isc_tls_protocol_name_to_version
  - isc_tlsctx_set_protocols
  - isc_tlsctx_load_dhparams
  - isc_tls_cipherlist_valid
  - isc_tlsctx_set_cipherlist
  - isc_tls_cipher_suites_valid
  - isc_tlsctx_set_cipher_suites
  - isc_tlsctx_prefer_server_ciphers
  - isc_tlsctx_session_tickets
  - isc_tls_create
  - isc_tls_free
  - isc_tls_verify_peer_result_string
  - select_next_proto_cb
  - isc_tlsctx_enable_http2client_alpn
  - next_proto_cb
  - alpn_select_proto_cb
  - isc_tlsctx_enable_http2server_alpn
  - isc_tls_get_selected_alpn
  - protoneg_check_protocol
  - dot_select_next_protocol
  - isc_tlsctx_enable_dot_client_alpn
  - dot_alpn_select_proto_cb
  - isc_tlsctx_enable_dot_server_alpn
  - isc_tlsctx_enable_peer_verification
  - isc_tlsctx_load_client_ca_names
  - isc_tls_cert_store_create
  - isc_tls_cert_store_free
  - VALID_TLSCTX_CACHE
  - VALID_TLSCTX_CLIENT_SESSION_CACHE
  - isc_tlsctx_cache_create
  - isc_tlsctx_cache_attach
  - tlsctx_cache_entry_destroy
  - tlsctx_cache_destroy
  - isc_tlsctx_cache_detach
  - isc_tlsctx_cache_add
  - isc_tlsctx_cache_find
  - isc_tlsctx_client_session_cache_create
  - isc_tlsctx_client_session_cache_attach
  - client_cache_entry_delete
  - isc_tlsctx_client_session_cache_detach
  - isc_tlsctx_client_session_cache_keep
  - isc_tlsctx_client_session_cache_reuse
  - isc_tlsctx_client_session_cache_keep_sockaddr
  - isc_tlsctx_client_session_cache_reuse_sockaddr
  - isc_tlsctx_client_session_cache_getctx
  - isc_tlsctx_set_random_session_id_context
  - isc_tls_valid_sni_hostname
  - isc__tls_toresult
  - isc__tlserr2result
  source_file: /src/bind9/lib/isc/tls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMMON_SSL_OPTIONS
      pos:
        line_end: 55
        line_start: 53
        source_file: /src/bind9/lib/isc/tls.c
      type_or_value: (SSL_OP_NO_COMPRESSION | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION)
    - item_type: preproc_def
      name: DOT_PROTO_ALPN
      pos:
        line_end: 771
        line_start: 770
        source_file: /src/bind9/lib/isc/tls.c
      type_or_value: '"\x3" ISC_TLS_DOT_PROTO_ALPN_ID'
    - item_type: preproc_def
      name: DOT_PROTO_ALPN_LEN
      pos:
        line_end: 772
        line_start: 771
        source_file: /src/bind9/lib/isc/tls.c
      type_or_value: (sizeof(DOT_PROTO_ALPN) - 1)
    - item_type: preproc_def
      name: TLSCTX_CACHE_MAGIC
      pos:
        line_end: 952
        line_start: 951
        source_file: /src/bind9/lib/isc/tls.c
      type_or_value: ISC_MAGIC('T', 'l', 'S', 'c')
    - item_type: preproc_def
      name: TLSCTX_CLIENT_SESSION_CACHE_MAGIC
      pos:
        line_end: 955
        line_start: 954
        source_file: /src/bind9/lib/isc/tls.c
      type_or_value: ISC_MAGIC('T', 'l', 'C', 'c')
    structs:
    - fields:
      - name: '*ctx[isc_tlsctx_cache_count - 1][2]'
        type: isc_tlsctx_t
      - name: '*client_sess_cache[isc_tlsctx_cache_count - 1][2]'
        type: isc_tlsctx_client_session_cache_t
      - name: '*ca_store'
        type: isc_tls_cert_store_t
      item_type: struct
      name: isc_tlsctx_cache_entry
      pos:
        line_end: 972
        line_start: 958
        source_file: /src/bind9/lib/isc/tls.c
    - fields:
      - name: magic
        type: uint32_t
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: rwlock
        type: isc_rwlock_t
      - name: '*data'
        type: isc_ht_t
      item_type: struct
      name: isc_tlsctx_cache
      pos:
        line_end: 981
        line_start: 974
        source_file: /src/bind9/lib/isc/tls.c
    - fields:
      - name: '*bucket_key'
        type: char
      - name: bucket_key_len
        type: size_t
      - name: (client_session_cache_entry_t)
        type: ISC_LIST
      item_type: struct
      name: client_session_cache_bucket
      pos:
        line_end: 1230
        line_start: 1225
        source_file: /src/bind9/lib/isc/tls.c
    - fields:
      - name: '*session'
        type: SSL_SESSION
      - name: '*bucket'
        type: client_session_cache_bucket_t
      - name: (client_session_cache_entry_t)
        type: ISC_LINK
      - name: (client_session_cache_entry_t)
        type: ISC_LINK
      item_type: struct
      name: client_session_cache_entry
      pos:
        line_end: 1237
        line_start: 1232
        source_file: /src/bind9/lib/isc/tls.c
    - fields:
      - name: magic
        type: uint32_t
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*ctx'
        type: isc_tlsctx_t
      - name: '*buckets'
        type: isc_ht_t
      - name: (client_session_cache_entry_t)
        type: ISC_LIST
      - name: nentries
        type: size_t
      - name: max_entries
        type: size_t
      - name: lock
        type: isc_mutex_t
      item_type: struct
      name: isc_tlsctx_client_session_cache
      pos:
        line_end: 1272
        line_start: 1239
        source_file: /src/bind9/lib/isc/tls.c
    typedefs: []
    union: []
- function_names:
  - isc_utf8_valid
  - isc_utf8_bom
  source_file: /src/bind9/lib/isc/utf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__tid_init
  - isc__tid_initcount
  - isc_tid_count
  source_file: /src/bind9/lib/isc/tid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/async_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_time_set
  - isc_time_settoepoch
  - isc_time_isepoch
  - time_now
  - isc_time_now_hires
  - isc_time_now
  - isc_time_monotonic
  - isc_time_nowplusinterval
  - isc_time_compare
  - isc_time_add
  - isc_time_subtract
  - isc_time_microdiff
  - isc_time_seconds
  - isc_time_secondsastimet
  - isc_time_nanoseconds
  - isc_time_miliseconds
  - isc_time_formattimestamp
  - isc_time_formathttptimestamp
  - isc_time_parsehttptimestamp
  - isc_time_formatISO8601Lms
  - isc_time_formatISO8601TZms
  - isc_time_formatISO8601
  - isc_time_formatISO8601ms
  - isc_time_formatISO8601us
  - isc_time_formatshorttimestamp
  source_file: /src/bind9/lib/isc/time.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CLOCKSOURCE_HIRES
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/isc/time.c
      type_or_value: CLOCK_REALTIME
    - item_type: preproc_def
      name: CLOCKSOURCE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/time.c
      type_or_value: CLOCK_REALTIME_COARSE
    - item_type: preproc_def
      name: CLOCKSOURCE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/time.c
      type_or_value: CLOCK_REALTIME_FAST
    - item_type: preproc_def
      name: CLOCKSOURCE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/time.c
      type_or_value: CLOCK_REALTIME
    - item_type: preproc_def
      name: CLOCKSOURCE_HIRES
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/isc/time.c
      type_or_value: CLOCKSOURCE
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_SYMTAB
  - elt_destroy
  - isc_symtab_create
  - isc_symtab_destroy
  - elt__match
  - elt_match_case
  - elt_match_nocase
  - elt_hash
  - isc_symtab_lookup
  - isc_symtab_define
  - isc_symtab_define_and_return
  - isc_symtab_undefine
  - isc_symtab_count
  - isc_symtab_foreach
  source_file: /src/bind9/lib/isc/symtab.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_SYMTAB_INIT_HASH_BITS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/isc/symtab.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SYMTAB_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/symtab.c
      type_or_value: ISC_MAGIC('S', 'y', 'm', 'T')
    structs:
    - fields:
      - name: '*key'
        type: void
      - name: size
        type: size_t
      - name: type
        type: unsigned int
      - name: value
        type: isc_symvalue_t
      item_type: struct
      name: elt
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/bind9/lib/isc/symtab.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: undefine_action
        type: isc_symtabaction_t
      - name: '*undefine_arg'
        type: void
      - name: '*hashmap'
        type: isc_hashmap_t
      - name: case_sensitive
        type: bool
      item_type: struct
      name: isc_symtab
      pos:
        line_end: 49
        line_start: 40
        source_file: /src/bind9/lib/isc/symtab.c
    typedefs: []
    union: []
- function_names:
  - VALID_LOOP
  - VALID_LOOPMGR
  - VALID_SIGNAL
  - VALID_JOB
  - DEFAULT_LOOP
  - CURRENT_LOOP
  - LOOP
  - ON_LOOP
  source_file: /src/bind9/lib/isc/loop_p.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOOP_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/loop_p.h
      type_or_value: ISC_MAGIC('L', 'O', 'O', 'P')
    - item_type: preproc_def
      name: LOOPMGR_MAGIC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/isc/loop_p.h
      type_or_value: ISC_MAGIC('L', 'o', 'o', 'M')
    - item_type: preproc_def
      name: SIGNAL_MAGIC
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/lib/isc/loop_p.h
      type_or_value: ISC_MAGIC('S', 'I', 'G', ' ')
    - item_type: preproc_def
      name: JOB_MAGIC
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/isc/loop_p.h
      type_or_value: ISC_MAGIC('J', 'O', 'B', ' ')
    structs:
    - fields:
      - name: magic
        type: int
      - name: references
        type: isc_refcount_t
      - name: thread
        type: isc_thread_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: loop
        type: uv_loop_t
      - name: tid
        type: isc_tid_t
      - name: '*mctx'
        type: isc_mem_t
      - name: paused
        type: bool
      - name: shuttingdown
        type: bool
      - name: async_trigger
        type: uv_async_t
      - name: async_jobs
        type: isc_jobqueue_t
      - name: run_trigger
        type: uv_idle_t
      - name: run_jobs
        type: isc_joblist_t
      - name: pause_trigger
        type: uv_async_t
      - name: shutdown_trigger
        type: uv_async_t
      - name: setup_jobs
        type: isc_jobqueue_t
      - name: teardown_jobs
        type: isc_jobqueue_t
      - name: destroy_trigger
        type: uv_async_t
      - name: quiescent
        type: uv_prepare_t
      item_type: struct
      name: isc_loop
      pos:
        line_end: 77
        line_start: 40
        source_file: /src/bind9/lib/isc/loop_p.h
    - fields:
      - name: magic
        type: int
      - name: '*mctx'
        type: isc_mem_t
      - name: nloops
        type: uint_fast32_t
      - name: shuttingdown
        type: atomic_bool
      - name: running
        type: atomic_bool
      - name: paused
        type: atomic_bool
      - name: '*sigint'
        type: isc_signal_t
      - name: '*sigterm'
        type: isc_signal_t
      - name: pausing
        type: isc_barrier_t
      - name: resuming
        type: isc_barrier_t
      - name: starting
        type: isc_barrier_t
      - name: stopping
        type: isc_barrier_t
      - name: '*loops'
        type: isc_loop_t
      - name: '*helpers'
        type: isc_loop_t
      item_type: struct
      name: isc_loopmgr
      pos:
        line_end: 112
        line_start: 85
        source_file: /src/bind9/lib/isc/loop_p.h
    - fields:
      - name: magic
        type: int
      - name: signal
        type: uv_signal_t
      - name: '*loop'
        type: isc_loop_t
      - name: cb
        type: isc_signal_cb
      - name: '*cbarg'
        type: void
      - name: signum
        type: int
      item_type: struct
      name: isc_signal
      pos:
        line_end: 127
        line_start: 120
        source_file: /src/bind9/lib/isc/loop_p.h
    - fields:
      - name: work
        type: uv_work_t
      - name: '*loop'
        type: isc_loop_t
      - name: work_cb
        type: isc_work_cb
      - name: after_work_cb
        type: isc_after_work_cb
      - name: '*cbarg'
        type: void
      item_type: struct
      name: isc_work
      pos:
        line_end: 144
        line_start: 138
        source_file: /src/bind9/lib/isc/loop_p.h
    typedefs: []
    union: []
- function_names:
  - VALID_LEX
  - grow_data
  - isc_lex_create
  - isc_lex_destroy
  - isc_lex_getcomments
  - isc_lex_setcomments
  - isc_lex_getspecials
  - isc_lex_setspecials
  - new_source
  - isc_lex_openfile
  - isc_lex_openstream
  - isc_lex_openbuffer
  - isc_lex_close
  - pushback
  - pushandgrow
  - isc_lex_gettoken
  - isc_lex_getmastertoken
  - isc_lex_getoctaltoken
  - isc_lex_ungettoken
  - isc_lex_getlasttokentext
  - isc_lex_getsourcename
  - isc_lex_getsourceline
  - isc_lex_setsourcename
  - isc_lex_setsourceline
  - isc_lex_isfile
  source_file: /src/bind9/lib/isc/lex.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LEX_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/isc/lex.c
      type_or_value: ISC_MAGIC('L', 'e', 'x', '!')
    - item_type: preproc_def
      name: IWSEOL
      pos:
        line_end: 297
        line_start: 296
        source_file: /src/bind9/lib/isc/lex.c
      type_or_value: (ISC_LEXOPT_INITIALWS | ISC_LEXOPT_EOL)
    structs:
    - fields:
      - name: result
        type: isc_result_t
      - name: is_file
        type: bool
      - name: need_close
        type: bool
      - name: at_eof
        type: bool
      - name: last_was_eol
        type: bool
      - name: '*pushback'
        type: isc_buffer_t
      - name: ignored
        type: unsigned int
      - name: '*input'
        type: void
      - name: '*name'
        type: char
      - name: line
        type: unsigned long
      - name: saved_line
        type: unsigned long
      item_type: struct
      name: inputsource
      pos:
        line_end: 45
        line_start: 32
        source_file: /src/bind9/lib/isc/lex.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: max_token
        type: size_t
      - name: '*data'
        type: char
      - name: comments
        type: unsigned int
      - name: comment_ok
        type: bool
      - name: last_was_eol
        type: bool
      - name: brace_count
        type: unsigned int
      - name: paren_count
        type: unsigned int
      - name: saved_paren_count
        type: unsigned int
      - name: specials
        type: isc_lexspecials_t
      item_type: struct
      name: isc_lex
      pos:
        line_end: 64
        line_start: 50
        source_file: /src/bind9/lib/isc/lex.c
    typedefs:
    - item_type: typedef
      name: lexstate
      pos:
        line_end: 294
        line_start: 280
        source_file: /src/bind9/lib/isc/lex.c
    union: []
- function_names:
  - isc_net_probeipv4
  - isc_net_probeipv6
  - getudpportrange_sysctl
  - getudpportrange_sysctl
  - isc_net_getudpportrange
  - isc_net_disableipv4
  - isc_net_disableipv6
  - isc_net_enableipv4
  - isc_net_enableipv6
  source_file: /src/bind9/lib/isc/net.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_NET_PORTRANGELOW
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: ISC_NET_PORTRANGEHIGH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: SYSCTL_V4PORTRANGE_LOW
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet.ip.portrange.hifirst"'
    - item_type: preproc_def
      name: SYSCTL_V4PORTRANGE_HIGH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet.ip.portrange.hilast"'
    - item_type: preproc_def
      name: SYSCTL_V6PORTRANGE_LOW
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet.ip.portrange.hifirst"'
    - item_type: preproc_def
      name: SYSCTL_V6PORTRANGE_HIGH
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet.ip.portrange.hilast"'
    - item_type: preproc_def
      name: SYSCTL_V4PORTRANGE_LOW
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet.ip.anonportmin"'
    - item_type: preproc_def
      name: SYSCTL_V4PORTRANGE_HIGH
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet.ip.anonportmax"'
    - item_type: preproc_def
      name: SYSCTL_V6PORTRANGE_LOW
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet6.ip6.anonportmin"'
    - item_type: preproc_def
      name: SYSCTL_V6PORTRANGE_HIGH
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '"net.inet6.ip6.anonportmax"'
    - item_type: preproc_def
      name: SYSCTL_V4PORTRANGE_LOW
      pos:
        line_end: 78
        line_start: 76
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '{ CTL_NET, PF_INET, IPPROTO_IP, IPCTL_IPPORT_HIFIRSTAUTO }'
    - item_type: preproc_def
      name: SYSCTL_V4PORTRANGE_HIGH
      pos:
        line_end: 80
        line_start: 78
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: '{ CTL_NET, PF_INET, IPPROTO_IP, IPCTL_IPPORT_HILASTAUTO }'
    - item_type: preproc_def
      name: SYSCTL_V6PORTRANGE_LOW
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: SYSCTL_V4PORTRANGE_LOW
    - item_type: preproc_def
      name: SYSCTL_V6PORTRANGE_HIGH
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/isc/net.c
      type_or_value: SYSCTL_V4PORTRANGE_HIGH
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_serial_lt
  - isc_serial_gt
  - isc_serial_le
  - isc_serial_ge
  - isc_serial_eq
  - isc_serial_ne
  source_file: /src/bind9/lib/isc/serial.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/mutex_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_result_totext
  - isc_result_toid
  source_file: /src/bind9/lib/isc/result.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_signal_new
  - isc__signal_destroy_cb
  - isc_signal_destroy
  - isc_signal_stop
  - isc__signal_cb
  - isc_signal_start
  source_file: /src/bind9/lib/isc/signal.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__errno2result
  source_file: /src/bind9/lib/isc/errno2result.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - likely
  - unlikely
  - likely
  - unlikely
  - ALIGNED
  - ALIGNED
  - IS_PRINTABLE_ASCII
  - CHECK_EOF
  - EXPECT_CHAR_NO_CHECK
  - EXPECT_CHAR
  - ADVANCE_TOKEN
  - findchar_fast
  - get_token_to_eol
  - DOIT
  - is_complete
  - PARSE_INT
  - PARSE_INT_3
  - parse_token
  - parse_http_version
  - parse_headers
  - parse_request
  - phr_parse_request
  - parse_response
  - phr_parse_response
  - phr_parse_headers
  - decode_hex
  - phr_decode_chunked
  - phr_decode_chunked_is_in_data
  source_file: /src/bind9/lib/isc/picohttpparser.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_COUNTER
  - isc_counter_create
  - isc_counter_increment
  - isc_counter_used
  - isc_counter_setlimit
  - isc_counter_getlimit
  - isc__counter_destroy
  source_file: /src/bind9/lib/isc/counter.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COUNTER_MAGIC
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/counter.c
      type_or_value: ISC_MAGIC('C', 'n', 't', 'r')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: limit
        type: atomic_uint_fast32_t
      - name: used
        type: atomic_uint_fast32_t
      item_type: struct
      name: isc_counter
      pos:
        line_end: 34
        line_start: 28
        source_file: /src/bind9/lib/isc/counter.c
    typedefs: []
    union: []
- function_names:
  - isc_meminfo_totalphys
  source_file: /src/bind9/lib/isc/meminfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/strerr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_STRERRORSIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/strerr.h
      type_or_value: '128'
    - item_type: preproc_def
      name: strerror_r
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/strerr.h
      type_or_value: isc_string_strerror_r
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/portset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_quota_acquire
  source_file: /src/bind9/lib/isc/include/isc/quota.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: magic
        type: int
      - name: max
        type: atomic_uint_fast32_t
      - name: used
        type: atomic_uint_fast32_t
      - name: soft
        type: atomic_uint_fast32_t
      - name: jobs
        type: "struct {\n\t\tstruct cds_wfcq_head head;\n\t\tuint8_t\t\t     __padding[ISC_OS_CACHELINE_SIZE
          -\n\t\t\t\t       sizeof(struct __cds_wfcq_head)];\n\t\tstruct cds_wfcq_tail
          tail;\n\t}"
      - name: (isc_quota_t)
        type: ISC_LINK
      item_type: struct
      name: isc_quota
      pos:
        line_end: 70
        line_start: 58
        source_file: /src/bind9/lib/isc/include/isc/quota.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/result.h
  types:
    enum:
    - enumerators:
      - name: ISC_R_NETUNREACH
      - name: ISC_R_NOTFOUND
      - name: ISC_R_DOTALPNERROR
      - name: DNS_R_INVALIDNS
      - name: ISC_R_INVALIDPROTO
      - name: DNS_R_EXTRATOKEN
      - name: DNS_R_EXTRADATA
      - name: DNS_R_GLUE
      - name: DNS_R_KEYUNAUTHORIZED
      - name: DNS_R_DROP
      - name: DNS_R_UNEXPECTEDID
      - name: ISCCC_R_BADAUTH
      - name: DST_R_NOTPUBLICKEY
      - name: DNS_R_NOTIMP
      - name: ISC_R_NORESOURCES
      - name: ISC_R_EXISTS
      - name: ISC_R_BADBASE64
      - name: ISC_R_UNEXPECTEDTOKEN
      - name: ISC_R_IPV4PREFIX
      - name: DNS_R_NCACHENXRRSET
      - name: DNS_R_CLOCKSKEW
      - name: DNS_R_BADBITMAP
      - name: DNS_R_BADEUI
      - name: DNS_R_NSEC3RESALT
      - name: DST_R_NULLKEY
      - name: DNS_R_NOERROR
      - name: ISC_R_COMPLETE
      - name: ISC_R_SUCCESS
      - name: ISC_R_TIMEDOUT
      - name: ISC_R_FILENOTFOUND
      - name: ISC_R_CRYPTOFAILURE
      - name: DNS_R_DISALLOWED
      - name: DNS_R_EMPTYLABEL
      - name: DNS_R_BADLABELTYPE
      - name: DNS_R_NAMETOOLONG
      - name: DNS_R_BADTTL
      - name: DNS_R_REFUSED
      - name: DNS_R_BADDNSTAP
      - name: DNS_R_CNAMEANDOTHER
      - name: DNS_R_NSEC3SALTRANGE
      - name: DNS_R_COVERINGNSEC
      - name: DNS_R_NOTZONE
      - name: ISC_R_FAMILYNOSUPPORT
      - name: ISC_R_NOTFILE
      - name: ISC_R_MULTIPLE
      - name: ISC_R_UNBALANCEDQUOTES
      - name: ISC_R_HOSTDOWN
      - name: ISC_R_UNEXPECTEDEND
      - name: ISC_R_NOTIMPLEMENTED
      - name: DNS_R_DELEGATION
      - name: DNS_R_SIGINVALID
      - name: DNS_R_SIGEXPIRED
      - name: DNS_R_NSISADDRESS
      - name: DST_R_NOTPRIVATEKEY
      - name: DNS_R_NOSKRBUNDLE
      - name: DNS_R_RCODE15
      - name: DNS_R_NOKEYMATCH
      - name: ISCCC_R_DUPLICATE
      - name: ISC_R_HOSTUNREACH
      - name: ISC_R_UNBALANCED
      - name: DNS_R_NOTZONETOP
      - name: DNS_R_NOTVERIFIEDYET
      - name: DNS_R_USETCP
      - name: DNS_R_UNKNOWNFLAG
      - name: DNS_R_BADTSIG
      - name: DNS_R_NOSKRFILE
      - name: DST_R_INVALIDPUBLICKEY
      - name: DST_R_VERIFYFAILURE
      - name: DNS_R_HINT
      - name: DNS_R_NSEC3BADALG
      - name: ISC_R_NRESULTS
      - name: ISC_R_ALREADYRUNNING
      - name: ISC_R_FILEEXISTS
      - name: ISC_R_SOFTQUOTA
      - name: DNS_R_NOOWNER
      - name: DNS_R_UNCHANGED
      - name: DNS_R_CNAME
      - name: DNS_R_NCACHENXDOMAIN
      - name: DNS_R_SEENINCLUDE
      - name: DNS_R_SINGLETON
      - name: DNS_R_UNEXPECTEDOPCODE
      - name: DNS_R_MXISADDRESS
      - name: DNS_R_RCODE11
      - name: DNS_R_BADCDNSKEY
      - name: DNS_R_UNKNOWN
      - name: DNS_R_UPTODATE
      - name: DNS_R_ALIAS
      - name: DNS_R_UNKNOWNSERVICE
      - name: DNS_R_OBSOLETE
      - name: DNS_R_BADNAME
      - name: DNS_R_EXPIRED
      - name: DNS_R_OPTERR
      - name: DNS_R_NOALPN
      - name: DST_R_UNSUPPORTEDALG
      - name: DNS_R_BADVERS
      - name: ISCCC_R_MAXDEPTH
      - name: DST_R_EXTERNALKEY
      - name: DNS_R_REMOTEFORMERR
      - name: DST_R_KEYCANNOTCOMPUTESECRET
      - name: ISC_R_TLSBADPEERCERT
      - name: ISC_R_DEFAULT
      - name: ISC_R_LOCKBUSY
      - name: ISC_R_CANCELED
      - name: ISC_R_INVALIDFILE
      - name: DNS_R_CONTINUE
      - name: DNS_R_INVALIDTIME
      - name: DNS_R_METATYPE
      - name: DNS_R_LAME
      - name: DNS_R_DUPLICATE
      - name: DNS_R_RCODE12
      - name: DNS_R_FORMERR
      - name: DST_R_INVALIDPRIVATEKEY
      - name: ISC_R_MAKE_ENUM_32BIT
        value: INT32_MAX
      - name: ISC_R_NOMEMORY
      - name: ISC_R_ADDRINUSE
      - name: ISC_R_SUSPEND
        value: ISC_R_RELOAD
      - name: ISC_R_SHUTTINGDOWN
      - name: ISC_R_NOENTROPY
      - name: ISC_R_BADADDRESSFORM
      - name: DNS_R_SYNTAX
      - name: DNS_R_NOJOURNAL
      - name: DNS_R_BADIXFR
      - name: DNS_R_FROMWILDCARD
      - name: DNS_R_HAVEPARMKEYS
      - name: DNS_R_YXRRSET
      - name: DNS_R_BADSIG0
      - name: ISC_R_NOPERM
      - name: ISC_R_NETDOWN
      - name: ISC_R_NOSPACE
      - name: ISC_R_IOERROR
      - name: ISC_R_FAMILYMISMATCH
      - name: ISC_R_TLSERROR
      - name: ISC_R_BADNUMBER
      - name: DNS_R_TEXTTOOLONG
      - name: DNS_R_PARTIALMATCH
      - name: DNS_R_INVALIDTKEY
      - name: DNS_R_TOOMANYKEYS
      - name: DST_R_WRITEERROR
      - name: DNS_R_TRUNCATEDTCP
      - name: DST_R_BADKEYTYPE
      - name: DST_R_CRYPTOFAILURE
      - name: DNS_R_YXDOMAIN
      - name: ISC_R_BADBASE32
      - name: DNS_R_LABELTOOLONG
      - name: ISC_R_ADDRNOTAVAIL
      - name: ISC_R_QUOTA
      - name: ISC_R_MASKNONCONTIG
      - name: DNS_R_BADDB
      - name: DNS_R_UNKNOWNPROTO
      - name: DNS_R_EMPTYNAME
      - name: DNS_R_EMPTYWILD
      - name: DNS_R_NOTDYNAMIC
      - name: DNS_R_NOTEXACT
      - name: DNS_R_SERVFAIL
      - name: DNS_R_INCONSISTENTRR
      - name: DNS_R_INVALIDNSEC3
      - name: ISC_R_HTTP2ALPNERROR
      - name: DNS_R_BADDOTTEDQUAD
      - name: DNS_R_BADPOINTER
      - name: ISC_R_MULTICAST
      - name: ISC_R_EOF
      - name: ISC_R_TOOMANYOPENFILES
      - name: DNS_R_BADCLASS
      - name: DNS_R_NOVALIDSIG
      - name: DNS_R_RECOVERABLE
      - name: DNS_R_EXPECTEDRESPONSE
      - name: DST_R_NOENGINE
      - name: DNS_R_TOOMANYRECORDS
      - name: DNS_R_EXPECTEDTSIG
      - name: DNS_R_NOMASTERFILE
      - name: DNS_R_ATZONETOP
      - name: DNS_R_BADCOOKIE
        value: DNS_R_NOERROR + 23
      - name: DNS_R_RCODE13
      - name: ISC_R_CONNREFUSED
      - name: ISC_R_NOMORE
      - name: ISC_R_DISCQUOTA
      - name: DNS_R_NEWORIGIN
      - name: DNS_R_TSIGVERIFYFAILURE
      - name: DNS_R_TSIGERRORSET
      - name: DNS_R_NOIDENTITY
      - name: DNS_R_HINTNXRRSET
      - name: DNS_R_CHASEDSSERVERS
      - name: DNS_R_BROKENCHAIN
      - name: DNS_R_KEYNOTACTIVE
      - name: DST_R_INVALIDPARAM
      - name: DNS_R_DYNAMIC
      - name: DNS_R_NXRRSET
      - name: DST_R_OPENSSLFAILURE
        value: DST_R_CRYPTOFAILURE
      - name: ISC_R_CONNECTIONRESET
      - name: ISC_R_FAILURE
      - name: ISC_R_UNEXPECTED
      - name: DNS_R_BADESCAPE
      - name: ISC_R_UNSET
      - name: DNS_R_BADZONE
      - name: DNS_R_NOVALIDNSEC
      - name: DNS_R_BLACKHOLED
      - name: DNS_R_BADALG
      - name: DNS_R_FROZEN
      - name: DNS_R_VERIFYFAILURE
      - name: ISCCC_R_UNKNOWNVERSION
      - name: DNS_R_NOTPRIMARY
      - name: DNS_R_RCODE14
      - name: DNS_R_NXDOMAIN
      - name: ISC_R_MAXSIZE
      - name: ISC_R_NOCONN
      - name: ISC_R_RELOAD
      - name: ISC_R_DISABLED
      - name: DNS_R_BADAAAA
      - name: DNS_R_NOTTL
      - name: DNS_R_ZONECUT
      - name: DNS_R_SIGFUTURE
      - name: DNS_R_UNEXPECTEDTSIG
      - name: DNS_R_NOTLOADED
      - name: DNS_R_BADCDS
      - name: DNS_R_NODOHPATH
      - name: DNS_R_UNEXPECTEDRCODE
      - name: ISC_R_BADHEX
      - name: ISC_R_DISCFULL
      - name: ISC_R_IGNORE
      - name: ISC_R_NOTCONNECTED
      - name: ISC_R_RANGE
      - name: DNS_R_DNAME
      - name: DNS_R_WAIT
      - name: DNS_R_NOTINSECURE
      - name: DNS_R_NOTAUTHORITATIVE
      - name: DNS_R_BADOWNERNAME
      - name: DNS_R_UNKNOWNCOMMAND
      - name: DNS_R_NOTAUTH
      - name: DNS_R_NSEC3ITERRANGE
      - name: DST_R_SIGNFAILURE
      item_type: enum
      name: isc_result
      pos:
        line_end: 256
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/result.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_result_t
      pos:
        line_end: 256
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/result.h
    union: []
- function_names:
  - ISC_LINK_TOMBSTONE
  - ISC_LINK_INITIALIZER_TYPE
  - ISC_LINK_INSIST
  - ISC_LIST
  - ISC_LIST_INIT
  - ISC_LINK
  - ISC_LINK_INIT_TYPE
  - ISC_LINK_INIT
  - ISC_LINK_LINKED_TYPE
  - ISC_LINK_LINKED
  - ISC_LIST_HEAD
  - ISC_LIST_TAIL
  - ISC_LIST_EMPTY
  - __ISC_LIST_PREPENDUNSAFE
  - ISC_LIST_PREPEND
  - ISC_LIST_INITANDPREPEND
  - __ISC_LIST_APPENDUNSAFE
  - ISC_LIST_APPEND
  - ISC_LIST_INITANDAPPEND
  - __ISC_LIST_UNLINKUNSAFE_TYPE
  - __ISC_LIST_UNLINKUNSAFE
  - ISC_LIST_UNLINK_TYPE
  - ISC_LIST_UNLINK
  - ISC_LIST_PREV
  - ISC_LIST_NEXT
  - __ISC_LIST_INSERTBEFOREUNSAFE
  - ISC_LIST_INSERTBEFORE
  - __ISC_LIST_INSERTAFTERUNSAFE
  - ISC_LIST_INSERTAFTER
  - ISC_LIST_APPENDLIST
  - ISC_LIST_PREPENDLIST
  - ISC_LIST_ENQUEUE
  - __ISC_LIST_ENQUEUEUNSAFE
  - ISC_LIST_DEQUEUE
  - ISC_LIST_DEQUEUE_TYPE
  - __ISC_LIST_DEQUEUEUNSAFE
  - __ISC_LIST_DEQUEUEUNSAFE_TYPE
  - ISC_LIST_MOVEUNSAFE
  - ISC_LIST_MOVE
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH_REV
  source_file: /src/bind9/lib/isc/include/isc/list.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_LIST_INITIALIZER
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/list.h
      type_or_value: "{                     \\\n\t\t.head = NULL, \\\n\t\t.tail =
        NULL, \\\n\t}"
    - item_type: preproc_def
      name: ISC_LINK_INITIALIZER
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/list.h
      type_or_value: ISC_LINK_INITIALIZER_TYPE(void)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/netaddr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_NETADDR_FORMATSIZE
      pos:
        line_end: 96
        line_start: 94
        source_file: /src/bind9/lib/isc/include/isc/netaddr.h
      type_or_value: sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX%SSSSSSSSSS")
    structs:
    - fields:
      - name: family
        type: unsigned int
      - name: type
        type: "union {\n\t\tstruct in_addr\tin;\n\t\tstruct in6_addr in6;\n\t\tchar\t\tun[sizeof(((struct
          sockaddr_un *)0)->sun_path)];\n\t}"
      - name: zone
        type: uint32_t
      item_type: struct
      name: isc_netaddr
      pos:
        line_end: 37
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/netaddr.h
    - fields:
      - name: addr
        type: isc_netaddr_t
      - name: prefixlen
        type: unsigned int
      item_type: struct
      name: isc_netprefix
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/bind9/lib/isc/include/isc/netaddr.h
    typedefs: []
    union: []
- function_names:
  - isc_tid
  source_file: /src/bind9/lib/isc/include/isc/tid.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRItid
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/isc/include/isc/tid.h
      type_or_value: PRId32
    - item_type: preproc_def
      name: ISC_TID_UNKNOWN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/tid.h
      type_or_value: (isc_tid_t) - 1
    - item_type: preproc_def
      name: ISC_TID_MAX
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/isc/include/isc/tid.h
      type_or_value: '512'
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_tid_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/tid.h
      type: int32_t
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/safe.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/nonce.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/ht.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/file.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - atomic_store_relaxed
  - atomic_load_relaxed
  - atomic_fetch_add_relaxed
  - atomic_fetch_sub_relaxed
  - atomic_fetch_or_relaxed
  - atomic_fetch_and_relaxed
  - atomic_exchange_relaxed
  - atomic_compare_exchange_weak_relaxed
  - atomic_compare_exchange_strong_relaxed
  - atomic_store_release
  - atomic_load_acquire
  - atomic_fetch_add_release
  - atomic_fetch_sub_release
  - atomic_fetch_and_release
  - atomic_fetch_or_release
  - atomic_exchange_acquire
  - atomic_exchange_acq_rel
  - atomic_fetch_add_acq_rel
  - atomic_fetch_sub_acq_rel
  - atomic_compare_exchange_weak_acq_rel
  - atomic_compare_exchange_strong_acq_rel
  - atomic_compare_exchange_enforced
  - atomic_ptr
  source_file: /src/bind9/lib/isc/include/isc/atomic.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/interfaceiter.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INTERFACE_F_UP
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/isc/include/isc/interfaceiter.h
      type_or_value: 0x00000001U
    - item_type: preproc_def
      name: INTERFACE_F_POINTTOPOINT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/isc/include/isc/interfaceiter.h
      type_or_value: 0x00000002U
    - item_type: preproc_def
      name: INTERFACE_F_LOOPBACK
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/isc/include/isc/interfaceiter.h
      type_or_value: 0x00000004U
    structs:
    - fields:
      - name: name[32]
        type: char
      - name: af
        type: unsigned int
      - name: address
        type: isc_netaddr_t
      - name: netmask
        type: isc_netaddr_t
      - name: dstaddress
        type: isc_netaddr_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: isc_interface
      pos:
        line_end: 53
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/interfaceiter.h
    typedefs: []
    union: []
- function_names:
  - ISC_SIEVE
  - ISC_SIEVE_INIT
  - ISC_SIEVE_EMPTY
  - ISC_SIEVE_MARKED
  - ISC_SIEVE_MARK
  - ISC_SIEVE_UNMARK
  - ISC_SIEVE_NEXT
  - ISC_SIEVE_UNLINK
  - ISC_SIEVE_INSERT
  - ISC_SIEVE_FOREACH
  source_file: /src/bind9/lib/isc/include/isc/sieve.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - readline
  source_file: /src/bind9/lib/isc/include/isc/readline.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RL_MAXCMD
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/readline.h
      type_or_value: (128 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - __has_c_attribute
  - __has_attribute
  - ISC_ATTR_DEALLOCATOR
  - ISC_ATTR_DEALLOCATOR_IDX
  - ISC_ATTR_MALLOC_DEALLOCATOR
  - ISC_ATTR_MALLOC_DEALLOCATOR_IDX
  - ISC_ATTR_MALLOC_DEALLOCATOR
  - ISC_ATTR_MALLOC_DEALLOCATOR_IDX
  - ISC_ATTR_COUNTED_BY
  source_file: /src/bind9/lib/isc/include/isc/attributes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_NORETURN
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: '[[noreturn]]'
    - item_type: preproc_def
      name: ISC_NORETURN
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: _Noreturn
    - item_type: preproc_def
      name: ISC_ATTR_RETURNS_NONNULL
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: __attribute__((returns_nonnull))
    - item_type: preproc_def
      name: ISC_ATTR_MALLOC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: __attribute__((malloc))
    - item_type: preproc_def
      name: FALLTHROUGH
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: '[[fallthrough]]'
    - item_type: preproc_def
      name: FALLTHROUGH
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: __attribute__((fallthrough))
    - item_type: preproc_def
      name: FALLTHROUGH
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: 'do {} while (0) '
    - item_type: preproc_def
      name: ISC_ATTR_UNUSED
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: '[[maybe_unused]]'
    - item_type: preproc_def
      name: ISC_ATTR_UNUSED
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: __attribute__((__unused__))
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/proxy2.h
  types:
    enum:
    - enumerators:
      - name: ISC_PROXY2_CMD_ILLEGAL
        value: '-1'
      - name: ISC_PROXY2_CMD_PROXY
        value: '1'
      - name: ISC_PROXY2_CMD_LOCAL
        value: '0'
      item_type: enum
      name: isc_proxy2_command
      pos:
        line_end: 64
        line_start: 52
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - enumerators:
      - name: ISC_PROXY2_AF_UNSPEC
        value: '0'
      - name: ISC_PROXY2_AF_INET
        value: '1'
      - name: ISC_PROXY2_AF_INET6
        value: '2'
      - name: ISC_PROXY2_AF_UNIX
        value: '3'
      item_type: enum
      name: isc_proxy2_addrfamily
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - enumerators:
      - name: ISC_PROXY2_SOCK_ILLEGAL
        value: '-1'
      - name: ISC_PROXY2_SOCK_STREAM
        value: '1'
      - name: ISC_PROXY2_SOCK_UNSPEC
        value: '0'
      - name: ISC_PROXY2_SOCK_DGRAM
        value: '2'
      item_type: enum
      name: isc_proxy2_socktype
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - enumerators:
      - name: ISC_PROXY2_TLV_TYPE_ALPN
        value: '0x01'
      - name: ISC_PROXY2_TLV_TYPE_NOOP
        value: '0x04'
      - name: ISC_PROXY2_TLV_TYPE_UNIQUE_ID
        value: '0x05'
      - name: ISC_PROXY2_TLV_TYPE_AUTHORITY
        value: '0x02'
      - name: ISC_PROXY2_TLV_TYPE_CRC32C
        value: '0x03'
      - name: ISC_PROXY2_TLV_TYPE_TLS
        value: '0x20'
      - name: ISC_PROXY2_TLV_TYPE_NETNS
        value: '0x30'
      - name: ISC_PROXY2_TLV_TYPE_MIN_CUSTOM
        value: '0xE0'
      - name: ISC_PROXY2_TLV_TYPE_MAX_CUSTOM
        value: '0xEF'
      - name: ISC_PROXY2_TLV_TYPE_MIN_EXPERIMENT
        value: '0xF0'
      - name: ISC_PROXY2_TLV_TYPE_MIN_FUTURE
        value: '0xF8'
      - name: ISC_PROXY2_TLV_TYPE_MAX_FUTURE
        value: '0xFF'
      - name: ISC_PROXY2_TLV_TYPE_MAX_EXPERIMENT
        value: '0xF7'
      item_type: enum
      name: isc_proxy2_tlv_type
      pos:
        line_end: 142
        line_start: 80
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - enumerators:
      - name: ISC_PROXY2_CLIENT_TLS
        value: '0x01'
      - name: ISC_PROXY2_CLIENT_CERT_SESS
        value: '0x04'
      - name: ISC_PROXY2_CLIENT_CERT_CONN
        value: '0x02'
      item_type: enum
      name: isc_proxy2_tls_client_flags
      pos:
        line_end: 154
        line_start: 144
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - enumerators:
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_VERSION
        value: '0x21'
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_CN
        value: '0x22'
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_KEY_ALG
        value: '0x25'
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_CIPHER
        value: '0x23'
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_SIG_ALG
        value: '0x24'
      item_type: enum
      name: isc_proxy2_tlv_subtype_tls
      pos:
        line_end: 186
        line_start: 156
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_PROXY2_HEADER_SIGNATURE
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: ("\x0D\x0A\x0D\x0A\x00\x0D\x0A\x51\x55\x49\x54\x0A")
    - item_type: preproc_def
      name: ISC_PROXY2_HEADER_SIGNATURE_SIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: (12)
    - item_type: preproc_def
      name: ISC_PROXY2_HEADER_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: '(ISC_PROXY2_HEADER_SIGNATURE_SIZE + 1 '
    - item_type: preproc_def
      name: ISC_PROXY2_MAX_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: (ISC_PROXY2_HEADER_SIZE + UINT16_MAX)
    - item_type: preproc_def
      name: ISC_PROXY2_MIN_AF_INET_SIZE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: '(ISC_PROXY2_HEADER_SIZE + 4 '
    - item_type: preproc_def
      name: ISC_PROXY2_MIN_AF_INET6_SIZE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: '(ISC_PROXY2_HEADER_SIZE + 16 '
    - item_type: preproc_def
      name: ISC_PROXY2_AF_UNIX_MAX_PATH_LEN
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: (108)
    - item_type: preproc_def
      name: ISC_PROXY2_MIN_AF_UNIX_SIZE
      pos:
        line_end: 43
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type_or_value: "(ISC_PROXY2_HEADER_SIZE +                         \\\n\t ISC_PROXY2_AF_UNIX_MAX_PATH_LEN "
    structs:
    - fields:
      - name: hdrbuf
        type: isc_buffer_t
      - name: buf[256]
        type: uint8_t
      - name: state
        type: int
      - name: expect_data
        type: uint16_t
      - name: max_size
        type: uint16_t
      - name: cb
        type: isc_proxy2_handler_cb_t
      - name: '*cbarg'
        type: void
      - name: calling_cb
        type: bool
      - name: result
        type: isc_result_t
      - name: '*mctx'
        type: isc_mem_t
      - name: header_size
        type: uint16_t
      - name: tlv_data_size
        type: uint16_t
      - name: cmd
        type: isc_proxy2_command_t
      - name: proxy_addr_family
        type: isc_proxy2_addrfamily_t
      - name: proxy_socktype
        type: isc_proxy2_socktype_t
      - name: tlv_data
        type: isc_region_t
      - name: extra_data
        type: isc_region_t
      item_type: struct
      name: isc_proxy2_handler
      pos:
        line_end: 320
        line_start: 287
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    typedefs:
    - item_type: typedef
      name: isc_proxy2_command_t
      pos:
        line_end: 64
        line_start: 52
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - item_type: typedef
      name: isc_proxy2_addrfamily_t
      pos:
        line_end: 71
        line_start: 66
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - item_type: typedef
      name: isc_proxy2_socktype_t
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - item_type: typedef
      name: isc_proxy2_tlv_type_t
      pos:
        line_end: 142
        line_start: 80
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - item_type: typedef
      name: isc_proxy2_tls_client_flags_t
      pos:
        line_end: 154
        line_start: 144
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - item_type: typedef
      name: isc_proxy2_tlv_subtype_tls_t
      pos:
        line_end: 186
        line_start: 156
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
    - item_type: typedef
      name: "(*isc_proxy2_handler_cb_t)(const isc_result_t\t   result,\n\t\t\t\t\tconst
        isc_proxy2_command_t cmd,\n\t\t\t\t\tconst int\t\t   socktype,\n\t\t\t\t\tconst
        isc_sockaddr_t *restrict src_addr,\n\t\t\t\t\tconst isc_sockaddr_t *restrict
        dst_addr,\n\t\t\t\t\tconst isc_region_t *restrict tlv_data,\n\t\t\t\t\tconst
        isc_region_t *restrict extra,\n\t\t\t\t\tvoid *cbarg)"
      pos:
        line_end: 246
        line_start: 239
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type: void
    - item_type: typedef
      name: "(*isc_proxy2_tlv_cb_t)(const isc_proxy2_tlv_type_t tlv_type,\n\t\t\t\t
        \   const isc_region_t *restrict data,\n\t\t\t\t    void *cbarg)"
      pos:
        line_end: 544
        line_start: 542
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type: bool
    - item_type: typedef
      name: "(*isc_proxy2_tls_subtlv_cb_t)(\n\tconst uint8_t client_flags, const bool
        client_cert_verified,\n\tconst isc_proxy2_tlv_subtype_tls_t tls_subtlv_type,\n\tconst
        isc_region_t *restrict data, void *cbarg)"
      pos:
        line_end: 582
        line_start: 579
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type: bool
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/os.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_OS_CACHELINE_SIZE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/include/isc/os.h
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names:
  - SPINLOCK
  - SPINUNLOCK
  - isc_spinlock_init
  - isc_spinlock_lock
  - isc_spinlock_unlock
  - isc_spinlock_destroy
  - isc_spinlock_init
  - isc_spinlock_lock
  - isc_spinlock_unlock
  - isc_spinlock_destroy
  - isc__spinlock_init
  - isc__spinlock_lock
  - isc__spinlock_unlock
  - isc__spinlock_destroy
  - isc__spinlock_init
  - isc__spinlock_lock
  - isc__spinlock_unlock
  - isc__spinlock_destroy
  source_file: /src/bind9/lib/isc/include/isc/spinlock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*isc_spinlock_t'
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
    - item_type: typedef
      name: isc_spinlock_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
    - item_type: typedef
      name: '*isc_spinlock_t'
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
    - item_type: typedef
      name: isc_spinlock_t
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
    union: []
- function_names:
  - ISC_LOG_DEBUG
  - ISC_LOGDESTINATION_FILE
  - ISC_LOGDESTINATION_SYSLOG
  source_file: /src/bind9/lib/isc/include/isc/log.h
  types:
    enum:
    - enumerators:
      - name: DNS_LOGCATEGORY_GENERAL
        value: ISC_LOGCATEGORY_GENERAL
      - name: DNS_LOGCATEGORY_CNAME
      - name: DNS_LOGCATEGORY_DNSSEC
      - name: DNS_LOGCATEGORY_NOTIFY
      - name: DNS_LOGCATEGORY_RPZ_PASSTHRU
      - name: DNS_LOGCATEGORY_UPDATE_POLICY
      - name: DNS_LOGCATEGORY_ZONEVERSION
      - name: NS_LOGCATEGORY_NETWORK
      - name: NS_LOGCATEGORY_SERVE_STALE
      - name: CFG_LOGCATEGORY_CONFIG
      - name: ISC_LOGCATEGORY_INVALID
        value: '-1'
      - name: ISC_LOGCATEGORY_GENERAL
      - name: ISC_LOGCATEGORY_SSLKEYLOG
      - name: DNS_LOGCATEGORY_DISPATCH
      - name: DNS_LOGCATEGORY_LAME_SERVERS
      - name: DNS_LOGCATEGORY_RPZ
      - name: DNS_LOGCATEGORY_SPILL
      - name: DNS_LOGCATEGORY_ZONELOAD
      - name: NS_LOGCATEGORY_DRA
      - name: NS_LOGCATEGORY_RESPONSES
      - name: DELV_LOGCATEGORY_DEFAULT
      - name: NAMED_LOGCATEGORY_GENERAL
        value: ISC_LOGCATEGORY_GENERAL
      - name: DNS_LOGCATEGORY_DATABASE
      - name: DNS_LOGCATEGORY_RESOLVER
      - name: DNS_LOGCATEGORY_EDNS_DISABLED
      - name: DNS_LOGCATEGORY_SECURITY
      - name: DNS_LOGCATEGORY_XFER_OUT
      - name: NS_LOGCATEGORY_QUERY_ERRORS
      - name: NS_LOGCATEGORY_UPDATE
      - name: NAMED_LOGCATEGORY_UNMATCHED
      - name: ISC_LOGCATEGORY_MAX
      - name: NS_LOGCATEGORY_UPDATE_SECURITY
      - name: NS_LOGCATEGORY_GENERAL
        value: ISC_LOGCATEGORY_GENERAL
      - name: ISC_LOGCATEGORY_DEFAULT
        value: '0'
      - name: DNS_LOGCATEGORY_DNSTAP
      - name: DNS_LOGCATEGORY_NSID
      - name: DNS_LOGCATEGORY_RRL
      - name: DNS_LOGCATEGORY_XFER_IN
      - name: NS_LOGCATEGORY_CLIENT
      - name: NS_LOGCATEGORY_QUERIES
      - name: NS_LOGCATEGORY_TAT
      - name: ISC_LOGCATEGORY_MAKE_ENUM_32BIT
        value: INT32_MAX
      item_type: enum
      name: isc_logcategory
      pos:
        line_end: 161
        line_start: 107
        source_file: /src/bind9/lib/isc/include/isc/log.h
    - enumerators:
      - name: ISC_LOGMODULE_INVALID
        value: '-1'
      - name: ISC_LOGMODULE_SOCKET
      - name: ISC_LOGMODULE_INTERFACE
      - name: ISC_LOGMODULE_OTHER
      - name: DNS_LOGMODULE_RDATA
      - name: DNS_LOGMODULE_CONFIG
      - name: DNS_LOGMODULE_ADB
      - name: DNS_LOGMODULE_VALIDATOR
      - name: DNS_LOGMODULE_TSIG
      - name: DNS_LOGMODULE_HINTS
      - name: DNS_LOGMODULE_CRYPTO
      - name: DNS_LOGMODULE_QP
      - name: ISC_LOGMODULE_MAX
      - name: NS_LOGMODULE_NOTIFY
      - name: NS_LOGMODULE_HOOKS
      - name: ISC_LOGMODULE_NETMGR
      - name: DNS_LOGMODULE_CACHE
      - name: DNS_LOGMODULE_JOURNAL
      - name: DNS_LOGMODULE_ACL
      - name: DNS_LOGMODULE_MASTERDUMP
      - name: DNS_LOGMODULE_DIFF
      - name: DNS_LOGMODULE_DNSSEC
      - name: DNS_LOGMODULE_DYNDB
      - name: DNS_LOGMODULE_RPZ
      - name: NS_LOGMODULE_QUERY
      - name: NS_LOGMODULE_XFER_OUT
      - name: NAMED_LOGMODULE_MAIN
      - name: NS_LOGMODULE_CLIENT
      - name: DNS_LOGMODULE_DNSTAP
      - name: DNS_LOGMODULE_SSU
      - name: ISC_LOGMODULE_DEFAULT
        value: '0'
      - name: ISC_LOGMODULE_FILE
      - name: DNS_LOGMODULE_MESSAGE
      - name: DNS_LOGMODULE_ZONE
      - name: DNS_LOGMODULE_DB
      - name: DNS_LOGMODULE_XFER_OUT
      - name: DNS_LOGMODULE_REQUEST
      - name: DNS_LOGMODULE_SDB
      - name: DNS_LOGMODULE_DLZ
      - name: DNS_LOGMODULE_NTA
      - name: DELV_LOGMODULE_DEFAULT
      - name: NS_LOGMODULE_XFER_IN
      - name: ISC_LOGMODULE_TIME
      - name: ISC_LOGMODULE_TIMER
      - name: ISC_LOGMODULE_CRYPTO
      - name: DNS_LOGMODULE_MASTER
      - name: DNS_LOGMODULE_RESOLVER
      - name: DNS_LOGMODULE_XFER_IN
      - name: DNS_LOGMODULE_DISPATCH
      - name: DNS_LOGMODULE_TKEY
      - name: DNS_LOGMODULE_UNUSED1
      - name: DNS_LOGMODULE_PACKETS
      - name: NS_LOGMODULE_INTERFACEMGR
      - name: CFG_LOGMODULE_PARSER
      - name: ISC_LOGMODULE_MAKE_ENUM_32BIT
        value: INT32_MAX
      - name: NAMED_LOGMODULE_SERVER
      - name: DNS_LOGMODULE_CATZ
      - name: NAMED_LOGMODULE_CONTROL
      - name: NS_LOGMODULE_UPDATE
      item_type: enum
      name: isc_logmodule
      pos:
        line_end: 234
        line_start: 167
        source_file: /src/bind9/lib/isc/include/isc/log.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_LOG_DYNAMIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ISC_LOG_INFO
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ISC_LOG_NOTICE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: ISC_LOG_WARNING
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-3)
    - item_type: preproc_def
      name: ISC_LOG_ERROR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-4)
    - item_type: preproc_def
      name: ISC_LOG_CRITICAL
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-5)
    - item_type: preproc_def
      name: ISC_LOG_TONULL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_LOG_TOSYSLOG
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ISC_LOG_TOFILE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ISC_LOG_TOFILEDESC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '4'
    - item_type: preproc_def
      name: ISC_LOG_PRINTTIME
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00001'
    - item_type: preproc_def
      name: ISC_LOG_PRINTLEVEL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00002'
    - item_type: preproc_def
      name: ISC_LOG_PRINTCATEGORY
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00004'
    - item_type: preproc_def
      name: ISC_LOG_PRINTMODULE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00008'
    - item_type: preproc_def
      name: ISC_LOG_PRINTTAG
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00010 '
    - item_type: preproc_def
      name: ISC_LOG_PRINTPREFIX
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00020 '
    - item_type: preproc_def
      name: ISC_LOG_PRINTALL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x0003F'
    - item_type: preproc_def
      name: ISC_LOG_BUFFERED
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x00040'
    - item_type: preproc_def
      name: ISC_LOG_DEBUGONLY
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x01000'
    - item_type: preproc_def
      name: ISC_LOG_OPENERR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x08000 '
    - item_type: preproc_def
      name: ISC_LOG_ISO8601
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x10000 '
    - item_type: preproc_def
      name: ISC_LOG_UTC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x20000 '
    - item_type: preproc_def
      name: ISC_LOG_TZINFO
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '0x40000 '
    - item_type: preproc_def
      name: ISC_LOG_ROLLINFINITE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: ISC_LOG_ROLLNEVER
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: (-2)
    - item_type: preproc_def
      name: ISC_LOG_MAX_VERSIONS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: '256'
    - item_type: preproc_def
      name: ISC_LOGDESTINATION_STDERR
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type_or_value: ISC_LOGDESTINATION_FILE(stderr)
    structs:
    - fields:
      - name: '*stream'
        type: FILE
      - name: '*name'
        type: char
      - name: versions
        type: int
      - name: suffix
        type: isc_log_rollsuffix_t
      - name: maximum_size
        type: off_t
      - name: maximum_reached
        type: bool
      item_type: struct
      name: isc_logfile
      pos:
        line_end: 263
        line_start: 247
        source_file: /src/bind9/lib/isc/include/isc/log.h
    typedefs:
    - item_type: typedef
      name: isc_log_rollsuffix_t
      pos:
        line_end: 96
        line_start: 93
        source_file: /src/bind9/lib/isc/include/isc/log.h
    - item_type: typedef
      name: isc_logcategory_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bind9/lib/isc/include/isc/log.h
    - item_type: typedef
      name: isc_logmodule_t
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bind9/lib/isc/include/isc/log.h
    union:
    - fields:
      - name: file
        type: isc_logfile_t
      - name: facility
        type: int
      item_type: union
      name: isc_logdestination
      pos:
        line_end: 272
        line_start: 269
        source_file: /src/bind9/lib/isc/include/isc/log.h
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/entropy.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/getaddresses.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NETADDR_TO_PREFIX_T
  - isc_prefix_tochar
  - isc_prefix_touchar
  - ISC_RADIX_FAMILY
  - RADIX_TREE_VALID
  - RADIX_NBIT
  - RADIX_NBYTE
  - RADIX_WALK
  source_file: /src/bind9/lib/isc/include/isc/radix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RADIX_V4
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RADIX_V6
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RADIX_FAMILIES
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RADIX_TREE_MAGIC
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type_or_value: ISC_MAGIC('R', 'd', 'x', 'T')
    - item_type: preproc_def
      name: RADIX_MAXBITS
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type_or_value: '128'
    - item_type: preproc_def
      name: RADIX_WALK_END
      pos:
        line_end: 216
        line_start: 200
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type_or_value: "if (Xrn->l) {                        \\\n\t\tif (Xrn->r) {                \\\n\t\t\t*Xsp++
        = Xrn->r;     \\\n\t\t}                            \\\n\t\tXrn = Xrn->l;                \\\n\t}
        else if (Xrn->r) {                 \\\n\t\tXrn = Xrn->r;                \\\n\t}
        else if (Xsp != Xstack) {          \\\n\t\tXrn = *(--Xsp);              \\\n\t}
        else {                             \\\n\t\tXrn = (isc_radix_node_t *)0; \\\n\t}
        \                                   \\\n\t}                                    \\\n\t}
        \                                   \\\n\twhile (0)"
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: family
        type: unsigned int
      - name: bitlen
        type: unsigned int
      - name: refcount
        type: isc_refcount_t
      - name: add
        type: "union {\n\t\tstruct in_addr\tsin;\n\t\tstruct in6_addr sin6;\n\t}"
      item_type: struct
      name: isc_prefix
      pos:
        line_end: 54
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/radix.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: bit
        type: uint32_t
      - name: '*prefix'
        type: isc_prefix_t
      - name: '*l'
        type: struct isc_radix_node
      - name: '*parent'
        type: struct isc_radix_node
      - name: '*data[RADIX_FAMILIES]'
        type: void
      - name: node_num[RADIX_FAMILIES]
        type: int
      item_type: struct
      name: isc_radix_node
      pos:
        line_end: 100
        line_start: 87
        source_file: /src/bind9/lib/isc/include/isc/radix.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*head'
        type: isc_radix_node_t
      - name: maxbits
        type: uint32_t
      - name: num_active_node
        type: int
      - name: num_added_node
        type: int
      item_type: struct
      name: isc_radix_tree
      pos:
        line_end: 112
        line_start: 105
        source_file: /src/bind9/lib/isc/include/isc/radix.h
    typedefs:
    - item_type: typedef
      name: (*isc_radix_destroyfunc_t)(void *)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type: void
    - item_type: typedef
      name: (*isc_radix_processfunc_t)(isc_prefix_t *, void **)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/lib/isc/include/isc/radix.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/iterated_hash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NSEC3_MAX_HASH_LENGTH
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/iterated_hash.h
      type_or_value: '155'
    - item_type: preproc_def
      name: NSEC3_MAX_LABEL_HASH
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/include/isc/iterated_hash.h
      type_or_value: '35'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/ratelimiter.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*loop'
        type: isc_loop_t
      - name: '*rl'
        type: isc_ratelimiter_t
      - name: canceled
        type: bool
      - name: cb
        type: isc_job_cb
      - name: '*arg'
        type: void
      - name: (isc_rlevent_t)
        type: ISC_LINK
      item_type: struct
      name: isc_rlevent
      pos:
        line_end: 43
        line_start: 36
        source_file: /src/bind9/lib/isc/include/isc/ratelimiter.h
    typedefs: []
    union: []
- function_names:
  - isc_async_current
  source_file: /src/bind9/lib/isc/include/isc/async.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_REQUIRE
  - ISC_ENSURE
  - ISC_INSIST
  - ISC_INVARIANT
  - ISC_UNREACHABLE
  source_file: /src/bind9/lib/isc/include/isc/assertions.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_assertiontype_t
      pos:
        line_end: 26
        line_start: 21
        source_file: /src/bind9/lib/isc/include/isc/assertions.h
    - item_type: typedef
      name: "(*isc_assertioncallback_t)(const char *, int, isc_assertiontype_t,\n\t\t\t\t\tconst
        char *)"
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/assertions.h
      type: void
    union: []
- function_names:
  - ISC_HASHSIZE
  - isc_hash32
  - isc_hash64
  - isc_hash_bits32
  source_file: /src/bind9/lib/isc/include/isc/hash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_HASH_OVERCOMMIT
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/hash.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ISC_HASH_MIN_BITS
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/include/isc/hash.h
      type_or_value: 2U
    - item_type: preproc_def
      name: ISC_HASH_MAX_BITS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/isc/include/isc/hash.h
      type_or_value: 32U
    - item_type: preproc_def
      name: ISC_HASH_GOLDENRATIO_32
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/lib/isc/include/isc/hash.h
      type_or_value: '0x61C88647'
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_qsbr_read_lock
  - rcu_read_lock
  - isc_qsbr_call_rcu
  - call_rcu
  - isc_qsbr_synchronize_rcu
  - synchronize_rcu
  - isc_qsbr_rcu_dereference
  - rcu_dereference
  - caa_container_of_check_null
  - cds_lfht_entry
  - cds_lfht_for_each_entry
  - cds_lfht_for_each_entry_duplicate
  source_file: /src/bind9/lib/isc/include/isc/urcu.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/job.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_JOB_INITIALIZER
      pos:
        line_end: 47
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/job.h
      type_or_value: "{                                     \\\n\t\t.link = ISC_LINK_INITIALIZER,
        \\\n\t}"
    structs:
    - fields:
      - name: cb
        type: isc_job_cb
      - name: '*cbarg'
        type: void
      item_type: struct
      name: isc_job
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/bind9/lib/isc/include/isc/job.h
    typedefs:
    - item_type: typedef
      name: (*isc_job_cb)(void *)
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bind9/lib/isc/include/isc/job.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/string.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/symtab.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*isc_symtabaction_t)(char *key, unsigned int type,\n\t\t\t\t   isc_symvalue_t
        value, void *userarg)"
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/isc/include/isc/symtab.h
      type: void
    - item_type: typedef
      name: "(*isc_symtabforeachaction_t)(char *key, unsigned int type,\n\t\t\t\t\t
        \ isc_symvalue_t value, void *userarg)"
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/isc/include/isc/symtab.h
      type: bool
    - item_type: typedef
      name: isc_symexists_t
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/bind9/lib/isc/include/isc/symtab.h
    union:
    - fields:
      - name: '*as_pointer'
        type: void
      - name: '*as_cpointer'
        type: void
      - name: as_integer
        type: intmax_t
      - name: as_uinteger
        type: uintmax_t
      item_type: union
      name: isc_symvalue
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/bind9/lib/isc/include/isc/symtab.h
- function_names:
  - isc_hex_char
  source_file: /src/bind9/lib/isc/include/isc/hex.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_region_consume
  - isc_textregion_consume
  - isc_constregion_consume
  source_file: /src/bind9/lib/isc/include/isc/region.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*base'
        type: unsigned char
      - name: length
        type: unsigned int
      item_type: struct
      name: isc_region
      pos:
        line_end: 22
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/region.h
    - fields:
      - name: '*base'
        type: char
      - name: length
        type: unsigned int
      item_type: struct
      name: isc_textregion
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/region.h
    - fields:
      - name: '*base'
        type: void
      - name: length
        type: unsigned int
      item_type: struct
      name: isc_constregion
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/region.h
    - fields:
      - name: '*base'
        type: char
      - name: length
        type: unsigned int
      item_type: struct
      name: isc_consttextregion
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/region.h
    typedefs: []
    union: []
- function_names:
  - ISC_OVERFLOW_IS_UNSIGNED
  - ISC_OVERFLOW_UINT_MAX
  - ISC_OVERFLOW_UINT_MIN
  - ISC_OVERFLOW_MUL
  - ISC_OVERFLOW_MUL
  - ISC_OVERFLOW_ADD
  - ISC_OVERFLOW_ADD
  - ISC_OVERFLOW_SUB
  - ISC_OVERFLOW_SUB
  - ISC_CHECKED_MUL
  - ISC_CHECKED_ADD
  - ISC_CHECKED_SUB
  - ISC_CHECKED_MUL_ADD
  source_file: /src/bind9/lib/isc/include/isc/overflow.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/utf8.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/fuzz.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_fuzztype_t
      pos:
        line_end: 22
        line_start: 15
        source_file: /src/bind9/lib/isc/include/isc/fuzz.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/random.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __has_feature
  - UNUSED
  - POST
  - ISC_MAX
  - ISC_MIN
  - ISC_CLAMP
  - ISC_MAX3
  - UNCONST
  - ARRAY_SIZE
  - SET_IF_NOT_NULL
  - STRUCT_FLEX_SIZE
  - ISC_UTIL_TRACE
  - STATIC_ASSERT
  - REQUIRE
  - ENSURE
  - INSIST
  - INVARIANT
  - UNREACHABLE
  - _assert_true
  - _assert_int_equal
  - _assert_int_not_equal
  - REQUIRE
  - ENSURE
  - INSIST
  - INVARIANT
  - UNREACHABLE
  - UNEXPECTED_ERROR
  - FATAL_ERROR
  - REPORT_SYSERROR
  - UNEXPECTED_SYSERROR
  - FATAL_SYSERROR
  - RUNTIME_CHECK
  - RUNTIME_CHECK
  - PTHREADS_RUNTIME_CHECK
  - ISC_ALIGN
  - ISC_ALIGN
  - ISC_SWAP
  source_file: /src/bind9/lib/isc/include/isc/util.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_NONSTRING
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isc/include/isc/util.h
      type_or_value: __attribute__((nonstring))
    - item_type: preproc_def
      name: EMPTY_TRANSLATION_UNIT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/lib/isc/include/isc/util.h
      type_or_value: extern int isc__empty;
    - item_type: preproc_def
      name: __SANITIZE_ADDRESS__
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/bind9/lib/isc/include/isc/util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_NO_SANITIZE_ADDRESS
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/bind9/lib/isc/include/isc/util.h
      type_or_value: __attribute__((no_sanitize("address")))
    - item_type: preproc_def
      name: __SANITIZE_THREAD__
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/isc/include/isc/util.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_NO_SANITIZE_THREAD
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/bind9/lib/isc/include/isc/util.h
      type_or_value: __attribute__((no_sanitize("thread")))
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_MAGIC_VALID
  - ISC_MAGIC
  source_file: /src/bind9/lib/isc/include/isc/magic.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: magic
        type: unsigned int
      item_type: struct
      name: isc__magic_t
      pos:
        line_end: 19
        line_start: 17
        source_file: /src/bind9/lib/isc/include/isc/magic.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/lex.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_LEXOPT_EOL
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: ISC_LEXOPT_EOF
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: ISC_LEXOPT_INITIALWS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: ISC_LEXOPT_NUMBER
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: ISC_LEXOPT_QSTRING
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: ISC_LEXOPT_DNSMULTILINE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0020 '
    - item_type: preproc_def
      name: ISC_LEXOPT_NOMORE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0040 '
    - item_type: preproc_def
      name: ISC_LEXOPT_CNUMBER
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0080 '
    - item_type: preproc_def
      name: ISC_LEXOPT_ESCAPE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0100 '
    - item_type: preproc_def
      name: ISC_LEXOPT_QSTRINGMULTILINE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0200 '
    - item_type: preproc_def
      name: ISC_LEXOPT_OCTAL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0400 '
    - item_type: preproc_def
      name: ISC_LEXOPT_BTEXT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x0800 '
    - item_type: preproc_def
      name: ISC_LEXOPT_VPAIR
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x1000 '
    - item_type: preproc_def
      name: ISC_LEXOPT_QVPAIR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x2000 '
    - item_type: preproc_def
      name: ISC_LEXCOMMENT_C
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ISC_LEXCOMMENT_CPLUSPLUS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ISC_LEXCOMMENT_SHELL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ISC_LEXCOMMENT_DNSMASTERFILE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type_or_value: '0x08'
    structs:
    - fields:
      - name: type
        type: isc_tokentype_t
      - name: value
        type: isc_tokenvalue_t
      item_type: struct
      name: isc_token
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/bind9/lib/isc/include/isc/lex.h
    typedefs:
    - item_type: typedef
      name: isc_lexspecials_t[256]
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bind9/lib/isc/include/isc/lex.h
      type: char
    - item_type: typedef
      name: isc_tokentype_t
      pos:
        line_end: 122
        line_start: 109
        source_file: /src/bind9/lib/isc/include/isc/lex.h
    union:
    - fields:
      - name: as_char
        type: char
      - name: as_ulong
        type: unsigned long
      - name: as_region
        type: isc_region_t
      - name: as_textregion
        type: isc_textregion_t
      - name: '*as_pointer'
        type: void
      item_type: union
      name: isc_tokenvalue_t
      pos:
        line_end: 130
        line_start: 124
        source_file: /src/bind9/lib/isc/include/isc/lex.h
- function_names:
  - isc_helper_current
  source_file: /src/bind9/lib/isc/include/isc/helper.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/thread.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: thread_local
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/thread.h
      type_or_value: _Thread_local
    - item_type: preproc_def
      name: isc_thread_self
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/include/isc/thread.h
      type_or_value: (uintptr_t)pthread_self
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_thread_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bind9/lib/isc/include/isc/thread.h
    - item_type: typedef
      name: '*(*isc_threadfunc_t)(void *)'
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/thread.h
      type: void
    union: []
- function_names:
  - isc__barrier_init
  - isc__barrier_wait
  - isc__barrier_destroy
  - isc__barrier_init
  - isc__barrier_wait
  - isc__barrier_destroy
  - isc_barrier_init
  - isc_barrier_wait
  - isc_barrier_destroy
  - isc_barrier_init
  - isc_barrier_wait
  - isc_barrier_destroy
  source_file: /src/bind9/lib/isc/include/isc/barrier.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*isc_barrier_t'
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
    - item_type: typedef
      name: isc_barrier_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
    - item_type: typedef
      name: '*isc_barrier_t'
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
    - item_type: typedef
      name: isc_barrier_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/hashmap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*isc_hashmap_match_fn)(void *node, const void *key)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bind9/lib/isc/include/isc/hashmap.h
      type: bool
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/syslog.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_HISTO_UNITBUCKETS
  source_file: /src/bind9/lib/isc/include/isc/histo.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_HISTO_MINBITS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_HISTO_MAXBITS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type_or_value: '18'
    - item_type: preproc_def
      name: ISC_HISTO_MINDIGITS
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_HISTO_MAXDIGITS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type_or_value: '6'
    - item_type: preproc_def
      name: ISC_HISTO_MAXQUANTILES
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type_or_value: '101 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/managers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/crypto.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/commandline.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/heap.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*isc_heapcompare_t)(void *, void *)
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bind9/lib/isc/include/isc/heap.h
      type: bool
    - item_type: typedef
      name: (*isc_heapindex_t)(void *, unsigned int)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bind9/lib/isc/include/isc/heap.h
      type: void
    - item_type: typedef
      name: (*isc_heapaction_t)(void *, void *)
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/heap.h
      type: void
    union: []
- function_names:
  - ROTATE64
  - HALF_ROUND64
  - FULL_ROUND64
  - ROTATE32
  - HALF_ROUND32
  - FULL_ROUND32
  - U8TO32_ONE
  - U8TO64_ONE
  - isc_siphash24_init
  - isc_siphash24_one
  - isc_siphash24_hash
  - isc_siphash24_finalize
  - isc_siphash24
  - isc_halfsiphash24_init
  - isc_halfsiphash24_one
  - isc_halfsiphash24_hash
  - isc_halfsiphash24_finalize
  - isc_halfsiphash24
  source_file: /src/bind9/lib/isc/include/isc/siphash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_SIPHASH24_KEY_LENGTH
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: 128 / 8
    - item_type: preproc_def
      name: ISC_SIPHASH24_TAG_LENGTH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: 64 / 8
    - item_type: preproc_def
      name: ISC_HALFSIPHASH24_KEY_LENGTH
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: 64 / 8
    - item_type: preproc_def
      name: ISC_HALFSIPHASH24_TAG_LENGTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: 32 / 8
    - item_type: preproc_def
      name: cROUNDS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: '2'
    - item_type: preproc_def
      name: dROUNDS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: '4'
    - item_type: preproc_def
      name: SIPROUND
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: FULL_ROUND64
    - item_type: preproc_def
      name: HALFSIPROUND
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: FULL_ROUND32
    structs:
    - fields:
      - name: k0
        type: uint64_t
      - name: k1
        type: uint64_t
      - name: v0
        type: uint64_t
      - name: v1
        type: uint64_t
      - name: v2
        type: uint64_t
      - name: v3
        type: uint64_t
      - name: b
        type: uint64_t
      - name: inlen
        type: size_t
      item_type: struct
      name: isc_siphash24
      pos:
        line_end: 93
        line_start: 81
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
    - fields:
      - name: k0
        type: uint32_t
      - name: k1
        type: uint32_t
      - name: v0
        type: uint32_t
      - name: v1
        type: uint32_t
      - name: v2
        type: uint32_t
      - name: v3
        type: uint32_t
      - name: b
        type: uint32_t
      - name: inlen
        type: size_t
      item_type: struct
      name: isc_halfsiphash24
      pos:
        line_end: 107
        line_start: 95
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
    typedefs: []
    union: []
- function_names:
  - be16toh
  - le16toh
  - be32toh
  - le32toh
  - be64toh
  - le64toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - bswap_16
  - bswap_32
  - bswap_64
  - bswap_16
  - bswap_32
  - bswap_64
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe16
  - htole16
  - be16toh
  - le16toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe32
  - htole32
  - be32toh
  - le32toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - htobe64
  - htole64
  - be64toh
  - le64toh
  - ISC_U16TO8_LE
  - ISC_U8TO16_LE
  - ISC_U32TO8_LE
  - ISC_U8TO32_LE
  - ISC_U48TO8_LE
  - ISC_U8TO48_LE
  - ISC_U64TO8_LE
  - ISC_U8TO64_LE
  - ISC_U16TO8_BE
  - ISC_U8TO16_BE
  - ISC_U32TO8_BE
  - ISC_U8TO32_BE
  - ISC_U48TO8_BE
  - ISC_U8TO48_BE
  - ISC_U64TO8_BE
  - ISC_U8TO64_BE
  source_file: /src/bind9/lib/isc/include/isc/endian.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/meminfo.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/backtrace.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_BACKTRACE_MAXFRAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/backtrace.h
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/stdio.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/error.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*isc_errorcallback_t)(const char *, int, const char *,\n\t\t\t\t    const
        char *, va_list)"
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/error.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/netscope.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RWLOCK
  - RWUNLOCK
  - RDLOCK
  - RDUNLOCK
  - WRLOCK
  - WRUNLOCK
  - UPGRADELOCK
  - isc_rwlock_init
  - isc_rwlock_lock
  - isc_rwlock_trylock
  - isc_rwlock_unlock
  - isc_rwlock_tryupgrade
  - isc_rwlock_destroy
  - isc_rwlock_init
  - isc_rwlock_lock
  - isc_rwlock_trylock
  - isc_rwlock_unlock
  - isc_rwlock_tryupgrade
  - isc_rwlock_destroy
  - isc__rwlock_init
  - isc__rwlock_lock
  - isc__rwlock_trylock
  - isc__rwlock_unlock
  - isc__rwlock_tryupgrade
  - isc__rwlock_destroy
  - isc_rwlock_lock
  - isc_rwlock_trylock
  - isc_rwlock_unlock
  source_file: /src/bind9/lib/isc/include/isc/rwlock.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: readers_ingress
        type: atomic_uint_fast32_t
      - name: __padding1[ISC_OS_CACHELINE_SIZE - sizeof(atomic_uint_fast32_t)]
        type: uint8_t
      - name: readers_egress
        type: atomic_uint_fast32_t
      - name: __padding2[ISC_OS_CACHELINE_SIZE - sizeof(atomic_uint_fast32_t)]
        type: uint8_t
      - name: writers_barrier
        type: atomic_int_fast32_t
      - name: __padding3[ISC_OS_CACHELINE_SIZE - sizeof(atomic_int_fast32_t)]
        type: uint8_t
      - name: writers_lock
        type: atomic_bool
      item_type: struct
      name: isc_rwlock
      pos:
        line_end: 213
        line_start: 205
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
    typedefs:
    - item_type: typedef
      name: isc_rwlocktype_t
      pos:
        line_end: 26
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
    - item_type: typedef
      name: '*isc_rwlock_t'
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
    - item_type: typedef
      name: isc__rwlock_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
    - item_type: typedef
      name: isc_rwlock_t
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
    - item_type: typedef
      name: isc__rwlock_t
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/signal.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*isc_signal_cb)(void *, int)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/signal.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/serial.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/dir.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAME_MAX
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/dir.h
      type_or_value: '256'
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/dir.h
      type_or_value: '1024'
    structs:
    - fields:
      - name: name[NAME_MAX]
        type: char
      - name: length
        type: unsigned int
      item_type: struct
      name: isc_direntry
      pos:
        line_end: 35
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/dir.h
    - fields:
      - name: magic
        type: unsigned int
      - name: dirname[PATH_MAX]
        type: char
      - name: entry
        type: isc_direntry_t
      - name: '*handle'
        type: DIR
      item_type: struct
      name: isc_dir
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/bind9/lib/isc/include/isc/dir.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/parseint.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/md.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_MD_MD5
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc__crypto_md5
    - item_type: preproc_def
      name: ISC_MD_SHA1
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc__crypto_sha1
    - item_type: preproc_def
      name: ISC_MD_SHA224
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc__crypto_sha224
    - item_type: preproc_def
      name: ISC_MD_SHA256
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc__crypto_sha256
    - item_type: preproc_def
      name: ISC_MD_SHA384
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc__crypto_sha384
    - item_type: preproc_def
      name: ISC_MD_SHA512
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc__crypto_sha512
    - item_type: preproc_def
      name: ISC_MD5_DIGESTLENGTH
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_size(ISC_MD_MD5)
    - item_type: preproc_def
      name: ISC_MD5_BLOCK_LENGTH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_block_size(ISC_MD_MD5)
    - item_type: preproc_def
      name: ISC_SHA1_DIGESTLENGTH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_size(ISC_MD_SHA1)
    - item_type: preproc_def
      name: ISC_SHA1_BLOCK_LENGTH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_block_size(ISC_MD_SHA1)
    - item_type: preproc_def
      name: ISC_SHA224_DIGESTLENGTH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_size(ISC_MD_SHA224)
    - item_type: preproc_def
      name: ISC_SHA224_BLOCK_LENGTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_block_size(ISC_MD_SHA224)
    - item_type: preproc_def
      name: ISC_SHA256_DIGESTLENGTH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_size(ISC_MD_SHA256)
    - item_type: preproc_def
      name: ISC_SHA256_BLOCK_LENGTH
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_block_size(ISC_MD_SHA256)
    - item_type: preproc_def
      name: ISC_SHA384_DIGESTLENGTH
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_size(ISC_MD_SHA384)
    - item_type: preproc_def
      name: ISC_SHA384_BLOCK_LENGTH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_block_size(ISC_MD_SHA384)
    - item_type: preproc_def
      name: ISC_SHA512_DIGESTLENGTH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_size(ISC_MD_SHA512)
    - item_type: preproc_def
      name: ISC_SHA512_BLOCK_LENGTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: isc_md_type_get_block_size(ISC_MD_SHA512)
    - item_type: preproc_def
      name: ISC_MAX_MD_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: "64U\t"
    - item_type: preproc_def
      name: ISC_MAX_BLOCK_SIZE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '128U '
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_md_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type: void
    - item_type: typedef
      name: isc_md_type_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type: void
    union: []
- function_names:
  - isc_lib_initialize
  - isc_lib_shutdown
  source_file: /src/bind9/lib/isc/include/isc/lib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/xml.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_nm_ref
  - isc_nm_unref
  - isc_nm_attach
  - isc_nm_detach
  - isc_nmhandle_ref
  - isc_nmhandle_unref
  - isc_nmhandle_attach
  - isc_nmhandle_detach
  source_file: /src/bind9/lib/isc/include/isc/netmgr.h
  types:
    enum:
    - enumerators:
      - name: ISC_NM_PROXY_NONE
        value: '0'
      - name: ISC_NM_PROXY_ENCRYPTED
        value: '2'
      - name: ISC_NM_PROXY_PLAIN
        value: '1'
      item_type: enum
      name: isc_nm_proxy_type
      pos:
        line_end: 109
        line_start: 105
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_SO_REUSEPORT_LB
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_NM_LISTEN_ALL
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ISC_NM_LISTEN_ONE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_NM_HTTP_DEFAULT_PATH
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type_or_value: '"/dns-query"'
    structs:
    - fields:
      - name: complete
        type: bool
      item_type: struct
      name: isc_nm_proxyheader_info
      pos:
        line_end: 100
        line_start: 90
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    typedefs:
    - item_type: typedef
      name: isc_socktype_t
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    - item_type: typedef
      name: "(*isc_nm_recv_cb_t)(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t\t\t
        isc_region_t *region, void *cbarg)"
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: void
    - item_type: typedef
      name: "(*isc_nm_accept_cb_t)(isc_nmhandle_t *handle,\n\t\t\t\t\t   isc_result_t
        result, void *cbarg)"
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    - item_type: typedef
      name: "(*isc_nm_cb_t)(isc_nmhandle_t *handle, isc_result_t result,\n\t\t\t    void
        *cbarg)"
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: void
    - item_type: typedef
      name: (*isc_nm_opaquecb_t)(void *arg)
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: void
    - item_type: typedef
      name: isc_nm_proxy_type_t
      pos:
        line_end: 109
        line_start: 105
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    - item_type: typedef
      name: (*isc_nm_timer_cb)(void *, isc_result_t)
      pos:
        line_end: 935
        line_start: 935
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: void
    union: []
- function_names:
  - isc_queue_node_init
  - isc_queue_init
  - isc_queue_destroy
  - isc_queue_empty
  - isc_queue_enqueue
  - isc_queue_enqueue_entry
  - isc_queue_dequeue
  - isc_queue_entry
  - isc_queue_dequeue_entry
  - isc_queue_splice
  - isc_queue_first_entry
  - isc_queue_next_entry
  - isc_queue_for_each_entry
  - isc_queue_for_each_entry_safe
  source_file: /src/bind9/lib/isc/include/isc/queue.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: head
        type: struct __cds_wfcq_head
      - name: "__padding_head[ISC_OS_CACHELINE_SIZE -\n\t\t\t\t      sizeof(struct
          __cds_wfcq_head)]"
        type: uint8_t
      - name: tail
        type: struct cds_wfcq_tail
      - name: "__padding_tail[ISC_OS_CACHELINE_SIZE -\n\t\t\t\t      sizeof(struct
          __cds_wfcq_head)]"
        type: uint8_t
      item_type: struct
      name: isc_queue
      pos:
        line_end: 27
        line_start: 20
        source_file: /src/bind9/lib/isc/include/isc/queue.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/tm.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_REFCOUNT_INITIALIZER
  - isc_refcount_init
  - isc_refcount_current
  - isc_refcount_destroy
  - isc_refcount_increment0
  - isc_refcount_increment
  - isc_refcount_decrement
  - isc_refcount_decrementz
  - isc_refcount_decrement1
  - isc_refcount_decrement0
  - ISC__REFCOUNT_TRACE_DECL
  - ISC_REFCOUNT_TRACE_DECL
  - ISC_REFCOUNT_STATIC_TRACE_DECL
  - ISC__REFCOUNT_TRACE_IMPL
  - ISC_REFCOUNT_TRACE_IMPL
  - ISC_REFCOUNT_STATIC_TRACE_IMPL
  - ISC__REFCOUNT_DECL
  - ISC_REFCOUNT_DECL
  - ISC_REFCOUNT_STATIC_DECL
  - ISC__REFCOUNT_IMPL
  - ISC_REFCOUNT_IMPL
  - ISC_REFCOUNT_STATIC_IMPL
  source_file: /src/bind9/lib/isc/include/isc/refcount.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_refcount_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bind9/lib/isc/include/isc/refcount.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/base32.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/types.h
  types:
    enum:
    - enumerators:
      - name: isc_nm_nonesocket
        value: '0'
      - name: isc_nm_tcpsocket
        value: 1 << 2
      - name: isc_nm_httpsocket
        value: 1 << 4
      - name: isc_nm_tlssocket
        value: 1 << 3
      - name: isc_nm_udpsocket
        value: 1 << 1
      - name: isc_nm_streamdnssocket
        value: 1 << 5
      - name: isc_nm_proxystreamsocket
        value: 1 << 6
      - name: isc_nm_proxyudpsocket
        value: 1 << 7
      - name: isc_nm_maxsocket
      - name: isc_nm_udplistener
      - name: isc_nm_tcplistener
      - name: isc_nm_streamdnslistener
      - name: isc_nm_proxyudplistener
      - name: isc_nm_tlslistener
      - name: isc_nm_proxystreamlistener
      - name: isc_nm_httplistener
      item_type: enum
      name: isc_nmsocket_type
      pos:
        line_end: 109
        line_start: 91
        source_file: /src/bind9/lib/isc/include/isc/types.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (isc_buffer_t)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bind9/lib/isc/include/isc/types.h
    - item_type: typedef
      name: (isc_httpdfree_t)(isc_buffer_t *, void *)
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: void
    - item_type: typedef
      name: (isc_httpdondestroy_t)(void *)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: void
    - item_type: typedef
      name: (isc_sockaddr_t)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bind9/lib/isc/include/isc/types.h
    - item_type: typedef
      name: isc_statscounter_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/isc/include/isc/types.h
    - item_type: typedef
      name: isc_atomic_statscounter_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bind9/lib/isc/include/isc/types.h
    - item_type: typedef
      name: isc_statsformat_t
      pos:
        line_end: 89
        line_start: 85
        source_file: /src/bind9/lib/isc/include/isc/types.h
    - item_type: typedef
      name: isc_nmsocket_type
      pos:
        line_end: 109
        line_start: 91
        source_file: /src/bind9/lib/isc/include/isc/types.h
    - item_type: typedef
      name: isc_nmsocket_type_t
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bind9/lib/isc/include/isc/types.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/hmac.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_hmac_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/hmac.h
      type: void
    union: []
- function_names:
  - LOCK
  - UNLOCK
  - isc_mutex_init
  - isc_mutex_lock
  - isc_mutex_unlock
  - isc_mutex_trylock
  - isc_mutex_destroy
  - isc_mutex_init
  - isc_mutex_lock
  - isc_mutex_unlock
  - isc_mutex_trylock
  - isc_mutex_destroy
  - isc__mutex_init
  - isc__mutex_lock
  - isc__mutex_unlock
  - isc__mutex_trylock
  - isc__mutex_destroy
  source_file: /src/bind9/lib/isc/include/isc/mutex.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*isc_mutex_t'
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bind9/lib/isc/include/isc/mutex.h
    - item_type: typedef
      name: isc_mutex_t
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bind9/lib/isc/include/isc/mutex.h
    union: []
- function_names:
  - IN6_IS_ADDR_V4MAPPED
  - IN6_IS_ADDR_V4COMPAT
  - IN6_IS_ADDR_MULTICAST
  - IN6_IS_ADDR_LINKLOCAL
  - IN6_IS_ADDR_SITELOCAL
  - IN6_IS_ADDR_LOOPBACK
  - ISC__IPADDR
  - ISC_IPADDR_ISMULTICAST
  - ISC_IPADDR_ISEXPERIMENTAL
  source_file: /src/bind9/lib/isc/include/isc/net.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IN6ADDR_LOOPBACK_INIT
      pos:
        line_end: 83
        line_start: 79
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: "{                                                              \\\n\t\t{
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 } } \\\n\t}"
    - item_type: preproc_def
      name: IN6ADDR_LOOPBACK_INIT
      pos:
        line_end: 86
        line_start: 84
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: '{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 } }'
    - item_type: preproc_def
      name: IN6ADDR_V4MAPPED_INIT
      pos:
        line_end: 96
        line_start: 92
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: "{                                                                    \\\n\t\t{
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 0, 0, 0 } } \\\n\t}"
    - item_type: preproc_def
      name: IN6ADDR_V4MAPPED_INIT
      pos:
        line_end: 99
        line_start: 97
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: '{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff, 0, 0, 0, 0 } }'
    - item_type: preproc_def
      name: AF_INET6
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: '99'
    - item_type: preproc_def
      name: PF_INET6
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: AF_INET6
    - item_type: preproc_def
      name: INADDR_ANY
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: 0x00000000UL
    - item_type: preproc_def
      name: INADDR_LOOPBACK
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/isc/include/isc/net.h
      type_or_value: 0x7f000001UL
    structs: []
    typedefs: []
    union: []
- function_names:
  - UV_VERSION
  - UV_STRINGIFY
  - UV_STRINGIFY_HELPER
  - UV__ERR
  - UV_RUNTIME_CHECK
  - isc_uverr2result
  - uv_handle_set_data
  - uv_handle_get_data
  - uv_close
  - uv_idle_init
  - uv_timer_init
  - uv_async_init
  - uv_close
  source_file: /src/bind9/lib/isc/include/isc/uv.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UV_VERSION_STRING_BASE
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/bind9/lib/isc/include/isc/uv.h
      type_or_value: "UV_STRINGIFY(UV_VERSION_MAJOR) \\\n\t\".\" UV_STRINGIFY(UV_VERSION_MINOR)
        \".\" UV_STRINGIFY(UV_VERSION_PATCH)"
    - item_type: preproc_def
      name: UV_VERSION_STRING
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/isc/include/isc/uv.h
      type_or_value: UV_VERSION_STRING_BASE
    - item_type: preproc_def
      name: UV_VERSION_STRING
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/uv.h
      type_or_value: UV_VERSION_STRING_BASE "-" UV_VERSION_SUFFIX
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause
  - isc_pause_n
  source_file: /src/bind9/lib/isc/include/isc/pause.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/httpd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTPD_EVENTCLASS
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/httpd.h
      type_or_value: ISC_EVENTCLASS(4300)
    - item_type: preproc_def
      name: HTTPD_SHUTDOWN
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/isc/include/isc/httpd.h
      type_or_value: (HTTPD_EVENTCLASS + 0x0001)
    - item_type: preproc_def
      name: ISC_HTTPDMGR_SHUTTINGDOWN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/isc/include/isc/httpd.h
      type_or_value: '0x00000001'
    structs: []
    typedefs:
    - item_type: typedef
      name: "(isc_httpdaction_t)(\n\tconst isc_httpd_t *httpd, const isc_httpdurl_t
        *urlinfo, void *arg,\n\tunsigned int *retcode, const char **retmsg, const
        char **mimetype,\n\tisc_buffer_t *body, isc_httpdfree_t **freecb, void **freecb_args)"
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/httpd.h
    - item_type: typedef
      name: (isc_httpdclientok_t)(const isc_sockaddr_t *, void *)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bind9/lib/isc/include/isc/httpd.h
      type: bool
    union: []
- function_names:
  - isc_interval_set
  - isc_interval_iszero
  - isc_interval_ms
  - isc_interval_fromnanosecs
  - isc_interval_tonanosecs
  - isc_nanosecs_fromtime
  - isc_time_fromnanosecs
  source_file: /src/bind9/lib/isc/include/isc/time.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_FORMATHTTPTIMESTAMP_SIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/time.h
      type_or_value: '50'
    - item_type: preproc_def
      name: isc_interval_zero
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/time.h
      type_or_value: isc_time_epoch
    - item_type: preproc_def
      name: isc_interval_t
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/time.h
      type_or_value: isc_time_t
    structs:
    - fields:
      - name: seconds
        type: unsigned int
      - name: nanoseconds
        type: unsigned int
      item_type: struct
      name: isc_time
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/bind9/lib/isc/include/isc/time.h
    typedefs:
    - item_type: typedef
      name: isc_nanosecs_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bind9/lib/isc/include/isc/time.h
      type: uint64_t
    union: []
- function_names:
  - ISC_FORMAT_PRINTF
  source_file: /src/bind9/lib/isc/include/isc/formatcheck.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/regex.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/base64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_SOCKADDR_CMPADDR
      pos:
        line_end: 41
        line_start: 38
        source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: ISC_SOCKADDR_CMPPORT
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: ISC_SOCKADDR_CMPSCOPE
      pos:
        line_end: 47
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: ISC_SOCKADDR_CMPSCOPEZERO
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: ISC_SOCKADDR_FORMATSIZE
      pos:
        line_end: 236
        line_start: 233
        source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
      type_or_value: "sizeof(\"xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX%SSSSSSSSSS#\"
        \\\n\t       \"YYYYY\")"
    structs:
    - fields:
      - name: type
        type: "union {\n\t\tstruct sockaddr\t    sa;\n\t\tstruct sockaddr_in  sin;\n\t\tstruct
          sockaddr_in6 sin6;\n\t}"
      - name: length
        type: unsigned int
      item_type: struct
      name: isc_sockaddr
      pos:
        line_end: 36
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/sockaddr.h
    typedefs: []
    union: []
- function_names:
  - isc_tlserr2result
  source_file: /src/bind9/lib/isc/include/isc/tls.h
  types:
    enum:
    - enumerators:
      - name: ISC_TLS_PROTO_VER_1_2
        value: 1 << 0
      - name: ISC_TLS_PROTO_VER_1_3
        value: 1 << 1
      - name: ISC_TLS_PROTO_VER_UNDEFINED
      item_type: enum
      name: isc_tls_protocol_version
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/bind9/lib/isc/include/isc/tls.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_TLS_DOT_PROTO_ALPN_ID
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type_or_value: '"dot"'
    - item_type: preproc_def
      name: ISC_TLS_DOT_PROTO_ALPN_ID_LEN
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type_or_value: '3'
    - item_type: preproc_def
      name: ISC_TLSCTX_CLIENT_SESSION_CACHE_DEFAULT_SIZE
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type_or_value: (150)
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_tls_protocol_version_t
      pos:
        line_end: 84
        line_start: 79
        source_file: /src/bind9/lib/isc/include/isc/tls.h
    - item_type: typedef
      name: isc_tlsctx_cache_transport_t
      pos:
        line_end: 489
        line_start: 484
        source_file: /src/bind9/lib/isc/include/isc/tls.h
    union: []
- function_names:
  - rotate_left
  - fx_add_to_hash
  - fx_hash_bytes
  source_file: /src/bind9/lib/isc/include/isc/fxhash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: K
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/fxhash.h
      type_or_value: 0x9e3779b97f4a7c15ull
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/timer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_timertype_t
      pos:
        line_end: 70
        line_start: 66
        source_file: /src/bind9/lib/isc/include/isc/timer.h
    union: []
- function_names:
  - isc_mem_get
  - isc_mem_cget
  - isc_mem_reget
  - isc_mem_creget
  - isc_mem_allocate
  - isc_mem_callocate
  - isc_mem_reallocate
  - isc_mem_strdup
  - isc_mem_strndup
  - isc_mempool_get
  - isc_mem_put
  - isc_mem_cput
  - isc_mem_putanddetach
  - isc_mem_free
  - isc_mempool_put
  - isc_mem_create
  - isc_mem_create
  - isc_mem_ref
  - isc_mem_unref
  - isc_mem_attach
  - isc_mem_detach
  - isc_mempool_create
  - isc_mempool_destroy
  source_file: /src/bind9/lib/isc/include/isc/mem.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_MEM_TRACKLINES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ISC_MEM_DEBUGTRACE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: 0x00000001U
    - item_type: preproc_def
      name: ISC_MEM_DEBUGRECORD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: 0x00000002U
    - item_type: preproc_def
      name: ISC_MEM_DEBUGUSAGE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: 0x00000004U
    - item_type: preproc_def
      name: ISC_MEM_DEBUGALL
      pos:
        line_end: 46
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: (ISC_MEM_DEBUGTRACE | ISC_MEM_DEBUGRECORD | ISC_MEM_DEBUGUSAGE)
    - item_type: preproc_def
      name: _ISC_MEM_FILELINE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: ', __func__, __FILE__, __LINE__'
    - item_type: preproc_def
      name: _ISC_MEM_FLARG
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: ', const char *, const char *, unsigned int'
    - item_type: preproc_def
      name: ISC_MEMFLAG_RESERVED1
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: '0x00000001 '
    - item_type: preproc_def
      name: ISC_MEMFLAG_RESERVED2
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: '0x00000002 '
    - item_type: preproc_def
      name: ISC_MEMFLAG_FILL
      pos:
        line_end: 81
        line_start: 79
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: '0x00000004 '
    - item_type: preproc_def
      name: ISC_MEMFLAG_DEFAULT
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: ISC_MEMFLAG_FILL
    - item_type: preproc_def
      name: ISC_MEMFLAG_DEFAULT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ISC__MEM_ZERO
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: ((int)0x40)
    - item_type: preproc_def
      name: POP_MALLOC_MACRO
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/bind9/lib/isc/include/isc/mem.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/stats.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_STATSDUMP_VERBOSE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/isc/include/isc/stats.h
      type_or_value: '0x00000001 '
    structs: []
    typedefs:
    - item_type: typedef
      name: (*isc_stats_dumper_t)(isc_statscounter_t, uint64_t, void *)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bind9/lib/isc/include/isc/stats.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/url.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_PARSER_STRICT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/isc/include/isc/url.h
      type_or_value: '1'
    structs:
    - fields:
      - name: field_set
        type: uint16_t
      - name: port
        type: uint16_t
      - name: field_data[ISC_UF_MAX]
        type: "struct {\n\t\tuint16_t off; /* Offset into buffer in which field starts
          */\n\t\tuint16_t len; /* Length of run in buffer */\n\t}"
      item_type: struct
      name: isc_url_parser_t
      pos:
        line_end: 77
        line_start: 69
        source_file: /src/bind9/lib/isc/include/isc/url.h
    typedefs:
    - item_type: typedef
      name: isc_url_field_t
      pos:
        line_end: 60
        line_start: 51
        source_file: /src/bind9/lib/isc/include/isc/url.h
    union: []
- function_names:
  - isc_loop
  - isc_loop_ref
  - isc_loop_unref
  - isc_loop_attach
  - isc_loop_detach
  source_file: /src/bind9/lib/isc/include/isc/loop.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*isc_job_cb)(void *)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/loop.h
      type: void
    union: []
- function_names:
  - isc_once_do
  source_file: /src/bind9/lib/isc/include/isc/once.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_ONCE_INITIALIZER
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/once.h
      type_or_value: PTHREAD_ONCE_INIT
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_once_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bind9/lib/isc/include/isc/once.h
    union: []
- function_names:
  - isc_dnsstream_assembler_init
  - isc_dnsstream_assembler_uninit
  - isc_dnsstream_assembler_new
  - isc_dnsstream_assembler_free
  - isc_dnsstream_assembler_setcb
  - isc__dnsstream_assembler_callcb
  - isc__dnsstream_assembler_handle_message
  - isc__dnsstream_assembler_processing
  - isc__dnsstream_assembler_incoming_direct
  - isc__dnsstream_assembler_incoming_direct_non_empty
  - isc_dnsstream_assembler_incoming
  - isc_dnsstream_assembler_result
  - isc_dnsstream_assembler_remaininglength
  - isc_dnsstream_assembler_clear
  source_file: /src/bind9/lib/isc/include/isc/dnsstream.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_DNSSTREAM_STATIC_BUFFER_SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/isc/include/isc/dnsstream.h
      type_or_value: (512)
    structs:
    - fields:
      - name: dnsbuf
        type: isc_buffer_t
      - name: buf[ISC_DNSSTREAM_STATIC_BUFFER_SIZE]
        type: uint8_t
      - name: '*current'
        type: isc_buffer_t
      - name: onmsg_cb
        type: isc_dnsstream_assembler_cb_t
      - name: '*cbarg'
        type: void
      - name: calling_cb
        type: bool
      - name: result
        type: isc_result_t
      - name: '*mctx'
        type: isc_mem_t
      item_type: struct
      name: isc_dnsstream_assembler
      pos:
        line_end: 107
        line_start: 91
        source_file: /src/bind9/lib/isc/include/isc/dnsstream.h
    typedefs:
    - item_type: typedef
      name: "(*isc_dnsstream_assembler_cb_t)(isc_dnsstream_assembler_t *dnsasm,\n\t\t\t\t\t
        \    const isc_result_t\t\tresult,\n\t\t\t\t\t     isc_region_t *restrict
        region,\n\t\t\t\t\t     void *cbarg, void *userarg)"
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/bind9/lib/isc/include/isc/dnsstream.h
      type: bool
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/work.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*isc_work_cb)(void *arg)
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/work.h
      type: void
    - item_type: typedef
      name: (*isc_after_work_cb)(void *arg)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/bind9/lib/isc/include/isc/work.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/errno.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/stdtime.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_stdtime_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bind9/lib/isc/include/isc/stdtime.h
      type: uint32_t
    union: []
- function_names:
  - isc_ascii_tolower
  - isc_ascii_toupper
  - isc__ascii_tolower1
  - isc_ascii_lowercopy
  - isc_ascii_strtolower
  - isc_ascii_tolower8
  - isc_ascii_tolower4
  - isc__ascii_load8
  - isc_ascii_lowerequal
  - isc_ascii_lowercmp
  source_file: /src/bind9/lib/isc/include/isc/ascii.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/counter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISC_BUFFER_VALID
  - isc_buffer_base
  - isc_buffer_current
  - isc_buffer_active
  - isc_buffer_used
  - isc_buffer_length
  - isc_buffer_usedlength
  - isc_buffer_consumedlength
  - isc_buffer_remaininglength
  - isc_buffer_activelength
  - isc_buffer_availablelength
  - isc_buffer_init
  - isc_buffer_initnull
  - isc_buffer_constinit
  - isc_buffer_invalidate
  - isc_buffer_region
  - isc_buffer_usedregion
  - isc_buffer_availableregion
  - isc_buffer_add
  - isc_buffer_subtract
  - isc_buffer_clear
  - isc_buffer_consumedregion
  - isc_buffer_remainingregion
  - isc_buffer_activeregion
  - isc_buffer_setactive
  - isc_buffer_first
  - isc_buffer_forward
  - isc_buffer_back
  - ISC_BUFFER_PEEK_CHECK
  - isc_buffer_peekuint8
  - isc_buffer_getuint8
  - ISC_BUFFER_PUT_RESERVE
  - isc_buffer_putuint8
  - isc_buffer_peekuint16
  - isc_buffer_getuint16
  - isc_buffer_putuint16
  - isc_buffer_peekuint32
  - isc_buffer_getuint32
  - isc_buffer_putuint32
  - isc_buffer_peekuint48
  - isc_buffer_getuint48
  - isc_buffer_putuint48
  - isc_buffer_putmem
  - isc_buffer_putstr
  - isc_buffer_reinit
  - isc_buffer_trycompact
  - isc_buffer_compact
  - isc_buffer_allocate
  - isc_buffer_setmctx
  - isc_buffer_clearmctx
  - isc_buffer_reserve
  - isc_buffer_free
  - isc_buffer_dup
  - isc_buffer_copyregion
  - isc_buffer_printf
  source_file: /src/bind9/lib/isc/include/isc/buffer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_BUFFER_MAGIC
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/isc/include/isc/buffer.h
      type_or_value: '0x42756621U '
    - item_type: preproc_def
      name: ISC_BUFFER_INCR
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/bind9/lib/isc/include/isc/buffer.h
      type_or_value: '512'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*base'
        type: void
      - name: length
        type: unsigned int
      - name: used
        type: unsigned int
      - name: current
        type: unsigned int
      - name: active
        type: unsigned int
      - name: extra
        type: unsigned int
      - name: dynamic
        type: bool
      - name: (isc_buffer_t)
        type: ISC_LINK
      - name: '*mctx'
        type: isc_mem_t
      item_type: struct
      name: isc_buffer
      pos:
        line_end: 186
        line_start: 169
        source_file: /src/bind9/lib/isc/include/isc/buffer.h
    typedefs: []
    union: []
- function_names:
  - HEADER_MATCH
  - SUCCESSFUL_HTTP_STATUS
  - VALID_HTTP2_SESSION
  - VALID_HTTP_ENDPOINTS
  - VALID_HTTP_HANDLER
  - http_session_active
  - http_malloc
  - http_calloc
  - http_realloc
  - http_free
  - init_nghttp2_mem
  - new_session
  - isc__nm_httpsession_attach
  - isc__nm_httpsession_detach
  - isc__nm_httpsession_handle
  - find_http_cstream
  - new_http_cstream
  - put_http_cstream
  - finish_http_session
  - on_client_data_chunk_recv_callback
  - on_server_data_chunk_recv_callback
  - on_data_chunk_recv_callback
  - call_unlink_cstream_readcb
  - on_client_stream_close_callback
  - on_server_stream_close_callback
  - on_stream_close_callback
  - client_handle_status_header
  - client_handle_content_length_header
  - client_handle_content_type_header
  - client_on_header_callback
  - initialize_nghttp2_client_session
  - send_client_connection_header
  - MAKE_NV
  - MAKE_NV2
  - client_read_callback
  - client_submit_request
  - http_in_flight_data_size
  - http_process_input_data
  - http_log_flooding_peer
  - http_is_flooding_peer
  - call_pending_callbacks
  - ISC_LIST_FOREACH
  - http_writecb
  - move_pending_send_callbacks
  - http_append_pending_send_request
  - http_send_outgoing
  - http_too_many_active_streams
  - http_do_bio
  - http_do_bio_async_cb
  - http_do_bio_async
  - get_http_cstream
  - http_call_connect_cb
  - transport_connect_cb
  - isc_nm_httpconnect
  - client_send
  - isc__nm_http_request
  - server_on_begin_headers_callback
  - server_handle_path_header
  - server_handle_method_header
  - server_handle_scheme_header
  - server_handle_content_length_header
  - server_handle_content_type_header
  - server_handle_header
  - server_on_header_callback
  - server_read_callback
  - server_send_response
  - MAKE_ERROR_REPLY
  - log_server_error_response
  - server_send_error_response
  - server_call_cb
  - isc__nm_http_bad_request
  - server_on_request_recv
  - isc__nm_http_send
  - failed_send_cb
  - client_httpsend
  - server_httpsend
  - http_send_cb
  - isc__nm_http_read
  - server_on_frame_recv_callback
  - initialize_nghttp2_server_session
  - server_send_connection_header
  - http_transpost_tcp_nodelay
  - httplisten_acceptcb
  - isc_nm_listenhttp
  - isc_nm_http_endpoints_new
  - isc_nm_http_endpoints_detach
  - isc_nm_http_endpoints_attach
  - http_endpoints_find
  - isc_nm_http_endpoints_add
  - isc__nm_http_stoplistening
  - http_close_direct
  - http_close_cb
  - isc__nm_http_close
  - failed_httpstream_read_cb
  - client_call_failed_read_cb
  - server_call_failed_read_cb
  - failed_read_cb
  - isc__nm_http_set_maxage
  - isc__nm_http_has_encryption
  - isc__nm_http_verify_tls_peer_result_string
  - isc__nm_http_set_tlsctx
  - isc__nm_http_set_max_streams
  - http_set_endpoints_cb
  - isc_nm_http_set_endpoints
  - http_init_listener_endpoints
  - http_cleanup_listener_endpoints
  - http_get_listener_endpoints
  - isc__nm_base64url_to_base64
  - isc__nm_base64_to_base64url
  - http_initsocket
  - isc__nm_http_cleanup_data
  - isc__nm_http_cleartimeout
  - isc__nm_http_settimeout
  - isc__nmhandle_http_keepalive
  - isc_nm_http_makeuri
  - MATCH
  - MATCH_ALPHA
  - MATCH_DIGIT
  - MATCH_ALNUM
  - MATCH_XDIGIT
  - ADVANCE
  - GETP
  - isc__nm_parse_httpquery
  - rule_query_string
  - rule_key_value_pair
  - rule_key
  - rule_value
  - rule_value_char
  - rule_unreserved_char
  - rule_percent_charcode
  - rule_loc_path_absolute
  - rule_loc_segments
  - rule_loc_slash_segment
  - rule_loc_segment
  - rule_loc_segment_nz
  - rule_loc_pchar
  - rule_loc_unreserved
  - rule_loc_pct_encoded
  - rule_loc_sub_delims
  - isc_nm_http_path_isvalid
  source_file: /src/bind9/lib/isc/netmgr/http.c
  types:
    enum:
    - enumerators:
      - name: ISC_HTTP_ERROR_SUCCESS
      - name: ISC_HTTP_ERROR_NOT_FOUND
      - name: ISC_HTTP_ERROR_UNSUPPORTED_MEDIA_TYPE
      - name: ISC_HTTP_ERROR_URI_TOO_LONG
      - name: ISC_HTTP_ERROR_PAYLOAD_TOO_LARGE
      - name: ISC_HTTP_ERROR_BAD_REQUEST
      - name: ISC_HTTP_ERROR_NOT_IMPLEMENTED
      - name: ISC_HTTP_ERROR_GENERIC
      - name: ISC_HTTP_ERROR_MAX
      item_type: enum
      name: isc_http_error_responses
      pos:
        line_end: 217
        line_start: 207
        source_file: /src/bind9/lib/isc/netmgr/http.c
    preproc_defs:
    - item_type: preproc_def
      name: AUTHEXTRA
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MAX_DNS_MESSAGE_SIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (UINT16_MAX)
    - item_type: preproc_def
      name: DNS_MEDIA_TYPE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: '"application/dns-message"'
    - item_type: preproc_def
      name: DEFAULT_CACHE_CONTROL
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: '"no-cache, no-store, must-revalidate"'
    - item_type: preproc_def
      name: MAX_ALLOWED_DATA_IN_HEADERS
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (MAX_DNS_MESSAGE_SIZE * 2)
    - item_type: preproc_def
      name: MAX_ALLOWED_DATA_IN_POST
      pos:
        line_end: 60
        line_start: 58
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (MAX_DNS_MESSAGE_SIZE + MAX_DNS_MESSAGE_SIZE / 2)
    - item_type: preproc_def
      name: MIN_SUCCESSFUL_HTTP_STATUS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (200)
    - item_type: preproc_def
      name: MAX_SUCCESSFUL_HTTP_STATUS
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (299)
    - item_type: preproc_def
      name: FLUSH_HTTP_WRITE_BUFFER_AFTER
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (1536)
    - item_type: preproc_def
      name: ENABLE_HTTP_WRITE_BUFFERING
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: '1'
    - item_type: preproc_def
      name: INITIAL_DNS_MESSAGE_BUFFER_SIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (512)
    - item_type: preproc_def
      name: INCOMING_DATA_CHUNK_SIZE
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (256)
    - item_type: preproc_def
      name: INCOMING_DATA_MAX_CHUNKS_AT_ONCE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (4)
    - item_type: preproc_def
      name: INCOMING_DATA_INITIAL_STREAM_SIZE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (1536)
    - item_type: preproc_def
      name: INCOMING_DATA_GRACE_SIZE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (MAX_ALLOWED_DATA_IN_HEADERS)
    - item_type: preproc_def
      name: MAX_STREAMS_BEFORE_FIRST_REQUEST
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: (50)
    - item_type: preproc_def
      name: HTTP2_SESSION_MAGIC
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: ISC_MAGIC('H', '2', 'S', 'S')
    - item_type: preproc_def
      name: HTTP_ENDPOINTS_MAGIC
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: ISC_MAGIC('H', 'T', 'E', 'P')
    - item_type: preproc_def
      name: HTTP_HANDLER_MAGIC
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/bind9/lib/isc/netmgr/http.c
      type_or_value: ISC_MAGIC('H', 'T', 'H', 'L')
    structs:
    - fields:
      - name: code
        type: size_t
      - name: content_length
        type: size_t
      - name: content_type_valid
        type: bool
      item_type: struct
      name: isc_nm_http_response_status
      pos:
        line_end: 122
        line_start: 118
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: read_cb
        type: isc_nm_recv_cb_t
      - name: '*read_cbarg'
        type: void
      - name: connect_cb
        type: isc_nm_cb_t
      - name: '*connect_cbarg'
        type: void
      - name: sending
        type: bool
      - name: reading
        type: bool
      - name: '*uri'
        type: char
      - name: up
        type: isc_url_parser_t
      - name: '*authority'
        type: char
      - name: authoritylen
        type: size_t
      - name: '*path'
        type: char
      - name: '*rbuf'
        type: isc_buffer_t
      - name: pathlen
        type: size_t
      - name: stream_id
        type: int32_t
      - name: post
        type: bool
      - name: '*postdata'
        type: isc_buffer_t
      - name: '*GET_path'
        type: char
      - name: GET_path_len
        type: size_t
      - name: response_status
        type: isc_nm_http_response_status_t
      - name: '*httpsock'
        type: isc_nmsocket_t
      item_type: struct
      name: http_cstream
      pos:
        line_end: 153
        line_start: 124
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: sending
        type: size_t
      - name: reading
        type: bool
      - name: closed
        type: bool
      - name: closing
        type: bool
      - name: '*ngsession'
        type: nghttp2_session
      - name: client
        type: bool
      - name: (http_cstream_t)
        type: ISC_LIST
      - name: (isc_nmsocket_h2_t)
        type: ISC_LIST
      - name: nsstreams
        type: size_t
      - name: total_opened_sstreams
        type: uint64_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: '*client_httphandle'
        type: isc_nmhandle_t
      - name: '*serversocket'
        type: isc_nmsocket_t
      - name: '*buf'
        type: isc_buffer_t
      - name: '*tlsctx'
        type: isc_tlsctx_t
      - name: max_concurrent_streams
        type: uint32_t
      - name: pending_write_callbacks
        type: isc__nm_http_pending_callbacks_t
      - name: '*pending_write_data'
        type: isc_buffer_t
      - name: data_in_flight
        type: size_t
      - name: async_queued
        type: bool
      - name: received
        type: uint64_t
      - name: submitted
        type: uint64_t
      - name: processed
        type: uint64_t
      - name: processed_incoming_data
        type: uint64_t
      - name: processed_useful_data
        type: uint64_t
      item_type: struct
      name: isc_nm_http_session
      pos:
        line_end: 205
        line_start: 160
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: '*session'
        type: isc_nm_http_session_t
      - name: '*transphandle'
        type: isc_nmhandle_t
      - name: '*httphandle'
        type: isc_nmhandle_t
      - name: cb
        type: isc_nm_cb_t
      - name: '*cbarg'
        type: void
      - name: '*pending_write_data'
        type: isc_buffer_t
      - name: pending_write_callbacks
        type: isc__nm_http_pending_callbacks_t
      - name: submitted
        type: uint64_t
      item_type: struct
      name: isc_http_send_req
      pos:
        line_end: 228
        line_start: 219
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: type
        type: isc_http_error_responses_t
      - name: header
        type: nghttp2_nv
      - name: '*desc'
        type: char
      item_type: struct
      name: http_error_responses
      pos:
        line_end: 2442
        line_start: 2438
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: '*listener'
        type: isc_nmsocket_t
      - name: '*endpoints'
        type: isc_nm_http_endpoints_t
      item_type: struct
      name: http_endpoints_data
      pos:
        line_end: 3382
        line_start: 3379
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: '*str'
        type: char
      - name: '*last_key'
        type: char
      - name: last_key_len
        type: size_t
      - name: '*last_value'
        type: char
      - name: last_value_len
        type: size_t
      - name: query_found
        type: bool
      - name: '*query'
        type: char
      - name: query_len
        type: size_t
      item_type: struct
      name: isc_httpparser_state
      pos:
        line_end: 3822
        line_start: 3810
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - fields:
      - name: '*str'
        type: char
      item_type: struct
      name: isc_http_location_parser_state
      pos:
        line_end: 4029
        line_start: 4027
        source_file: /src/bind9/lib/isc/netmgr/http.c
    typedefs:
    - item_type: typedef
      name: (isc__nm_uvreq_t)
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/bind9/lib/isc/netmgr/http.c
    - item_type: typedef
      name: isc_http_error_responses_t
      pos:
        line_end: 217
        line_start: 207
        source_file: /src/bind9/lib/isc/netmgr/http.c
    union: []
- function_names:
  - gettid
  - gettid
  - gettid
  - gettid
  - gettid
  - gettid
  - NETMGR_TRACE_LOG
  - isc__nm_uvreq_get
  - isc__nm_uvreq_put
  - isc__nmsocket_init
  - isc__nmsocket_put
  - isc__nmsocket_attach
  - isc__nmsocket_detach
  - isc__nmsocket_close
  - isc__nmhandle_get
  - isc__nmsocket_prep_destroy
  - isc__nm_get_read_req
  - isc__nm_uvreq_get
  - isc__nm_uvreq_put
  - isc__nmsocket_init
  - isc__nmsocket_put
  - isc__nmsocket_attach
  - isc__nmsocket_detach
  - isc__nmsocket_close
  - isc__nmhandle_get
  - isc__nmsocket_prep_destroy
  - isc__nm_get_read_req
  - VALID_NMHANDLE
  - VALID_UVREQ
  - VALID_NM
  - VALID_NMSOCK
  source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
  types:
    enum:
    - enumerators:
      - name: ISC_HTTP_REQ_GET
      - name: ISC_HTTP_REQ_UNSUPPORTED
      - name: ISC_HTTP_REQ_POST
      item_type: enum
      name: isc_http_request_type
      pos:
        line_end: 412
        line_start: 408
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - enumerators:
      - name: ISC_HTTP_SCHEME_HTTP
      - name: ISC_HTTP_SCHEME_UNSUPPORTED
      - name: ISC_HTTP_SCHEME_HTTP_SECURE
      item_type: enum
      name: isc_http_scheme_type
      pos:
        line_end: 418
        line_start: 414
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_NETMGR_TID_UNKNOWN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: ISC_NETMGR_UDP_RECVBUF_SIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: (20 * UINT16_MAX)
    - item_type: preproc_def
      name: ISC_NETMGR_UDP_RECVBUF_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: UINT16_MAX
    - item_type: preproc_def
      name: ISC_NETMGR_UDP_SENDBUF_SIZE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: UINT16_MAX
    - item_type: preproc_def
      name: ISC_NETMGR_TCP_SENDBUF_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: (sizeof(uint16_t) + UINT16_MAX)
    - item_type: preproc_def
      name: ISC_NETMGR_TCP_RECVBUF_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: (sizeof(uint16_t) + UINT16_MAX)
    - item_type: preproc_def
      name: ISC_NETMGR_RECVBUF_SIZE
      pos:
        line_end: 75
        line_start: 71
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: "(ISC_NETMGR_UDP_RECVBUF_SIZE >= ISC_NETMGR_TCP_RECVBUF_SIZE
        \\\n\t\t ? ISC_NETMGR_UDP_RECVBUF_SIZE                      \\\n\t\t : ISC_NETMGR_TCP_RECVBUF_SIZE)"
    - item_type: preproc_def
      name: ISC_NETMGR_MAX_STREAM_CLIENTS_PER_CONN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '23'
    - item_type: preproc_def
      name: NM_REG_BUF
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: NM_BIG_BUF
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ISC_NETMGR_TCP_RECVBUF_SIZE * 2
    - item_type: preproc_def
      name: NM_MAXSEG
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: (1280 - 20 - 40)
    - item_type: preproc_def
      name: ISC_NM_NMSOCKET_MAX
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_NM_NMHANDLES_MAX
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_NM_UVREQS_MAX
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_NM_PROXY2_DEFAULT_BUFFER_SIZE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: (ISC_PROXY2_MIN_AF_UNIX_SIZE)
    - item_type: preproc_def
      name: TRACE_SIZE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: '8'
    - item_type: preproc_def
      name: FLARG
      pos:
        line_end: 160
        line_start: 157
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ", const char *func ISC_ATTR_UNUSED, const char *file ISC_ATTR_UNUSED,
        \\\n\t\tunsigned int line ISC_ATTR_UNUSED"
    - item_type: preproc_def
      name: FLARG_PASS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ', func, file, line'
    - item_type: preproc_def
      name: NMHANDLE_MAGIC
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ISC_MAGIC('N', 'M', 'H', 'D')
    - item_type: preproc_def
      name: UVREQ_MAGIC
      pos:
        line_end: 292
        line_start: 291
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ISC_MAGIC('N', 'M', 'U', 'R')
    - item_type: preproc_def
      name: NM_MAGIC
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ISC_MAGIC('N', 'E', 'T', 'M')
    - item_type: preproc_def
      name: NMSOCK_MAGIC
      pos:
        line_end: 375
        line_start: 374
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ISC_MAGIC('N', 'M', 'S', 'K')
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*netmgr'
        type: isc_nm_t
      - name: shuttingdown
        type: bool
      - name: '*recvbuf'
        type: char
      - name: recvbuf_inuse
        type: bool
      - name: (isc_nmsocket_t)
        type: ISC_LIST
      - name: '*nmsocket_pool'
        type: isc_mempool_t
      - name: '*uvreq_pool'
        type: isc_mempool_t
      item_type: struct
      name: isc__networker
      pos:
        line_end: 222
        line_start: 208
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: magic
        type: int
      - name: references
        type: isc_refcount_t
      - name: '*sock'
        type: isc_nmsocket_t
      - name: '*httpsession'
        type: isc_nm_http_session_t
      - name: peer
        type: isc_sockaddr_t
      - name: local
        type: isc_sockaddr_t
      - name: proxy_is_unspec
        type: bool
      - name: '*proxy_udphandle'
        type: struct isc_nmhandle
      - name: doreset
        type: isc_nm_opaquecb_t
      - name: dofree
        type: isc_nm_opaquecb_t
      - name: (isc_nmhandle_t)
        type: ISC_LINK
      - name: (isc_nmhandle_t)
        type: ISC_LINK
      - name: '*opaque'
        type: void
      - name: job
        type: isc_job_t
      item_type: struct
      name: isc_nmhandle
      pos:
        line_end: 278
        line_start: 247
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: magic
        type: int
      - name: '*sock'
        type: isc_nmsocket_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: tcplen[2]
        type: char
      - name: uvbuf
        type: uv_buf_t
      - name: local
        type: isc_sockaddr_t
      - name: peer
        type: isc_sockaddr_t
      - name: cb
        type: isc__nm_cb_t
      - name: '*cbarg'
        type: void
      - name: '*timer'
        type: isc_nm_timer_t
      - name: connect_tries
        type: int
      - name: result
        type: isc_result_t
      - name: uv_req
        type: "union {\n\t\tuv_handle_t handle;\n\t\tuv_write_t write;\n\t\tuv_connect_t
          connect;\n\t\tuv_udp_send_t udp_send;\n\t}"
      - name: (isc__nm_uvreq_t)
        type: ISC_LINK
      - name: (isc__nm_uvreq_t)
        type: ISC_LINK
      - name: job
        type: isc_job_t
      item_type: struct
      name: isc__nm_uvreq
      pos:
        line_end: 320
        line_start: 295
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: magic
        type: int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: nloops
        type: uint32_t
      - name: '*workers'
        type: isc__networker_t
      - name: '*stats'
        type: isc_stats_t
      - name: maxudp
        type: atomic_uint_fast32_t
      - name: load_balance_sockets
        type: bool
      - name: shuttingdown
        type: atomic_bool
      - name: init
        type: atomic_uint_fast32_t
      - name: idle
        type: atomic_uint_fast32_t
      - name: keepalive
        type: atomic_uint_fast32_t
      - name: advertised
        type: atomic_uint_fast32_t
      - name: primaries
        type: atomic_uint_fast32_t
      - name: recv_udp_buffer_size
        type: atomic_int_fast32_t
      - name: send_udp_buffer_size
        type: atomic_int_fast32_t
      - name: recv_tcp_buffer_size
        type: atomic_int_fast32_t
      - name: send_tcp_buffer_size
        type: atomic_int_fast32_t
      item_type: struct
      name: isc_nm
      pos:
        line_end: 368
        line_start: 328
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: '*tlssock'
        type: isc_nmsocket_t
      - name: data
        type: isc_buffer_t
      - name: cb
        type: isc_nm_cb_t
      - name: '*cbarg'
        type: void
      - name: '*handle'
        type: isc_nmhandle_t
      - name: finish
        type: bool
      - name: smallbuf[512]
        type: uint8_t
      item_type: struct
      name: isc_nmsocket_tls_send_req
      pos:
        line_end: 404
        line_start: 396
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: magic
        type: int
      - name: '*path'
        type: char
      - name: cb
        type: isc_nm_recv_cb_t
      - name: '*cbarg'
        type: void
      item_type: struct
      name: isc_nm_httphandler
      pos:
        line_end: 426
        line_start: 420
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: magic
        type: uint32_t
      - name: '*mctx'
        type: isc_mem_t
      - name: (isc_nm_httphandler_t)
        type: ISC_LIST
      - name: references
        type: isc_refcount_t
      - name: in_use
        type: atomic_bool
      item_type: struct
      name: isc_nm_http_endpoints
      pos:
        line_end: 436
        line_start: 428
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: '*psock'
        type: isc_nmsocket_t
      - name: '*request_path'
        type: char
      - name: '*query_data'
        type: char
      - name: query_data_len
        type: size_t
      - name: query_too_large
        type: bool
      - name: rbuf
        type: isc_buffer_t
      - name: wbuf
        type: isc_buffer_t
      - name: stream_id
        type: int32_t
      - name: '*session'
        type: isc_nm_http_session_t
      - name: max_concurrent_streams
        type: atomic_uint_fast32_t
      - name: min_ttl
        type: uint32_t
      - name: request_type
        type: isc_http_request_type_t
      - name: request_scheme
        type: isc_http_scheme_type_t
      - name: content_length
        type: size_t
      - name: clenbuf[128]
        type: char
      - name: cache_control_buf[128]
        type: char
      - name: headers_error_code
        type: int
      - name: headers_data_processed
        type: size_t
      - name: cb
        type: isc_nm_recv_cb_t
      - name: '*cbarg'
        type: void
      - name: '**listener_endpoints'
        type: isc_nm_http_endpoints_t
      - name: n_listener_endpoints
        type: size_t
      - name: '*peer_endpoints'
        type: isc_nm_http_endpoints_t
      - name: request_received
        type: bool
      - name: response_submitted
        type: bool
      - name: connect
        type: "struct {\n\t\tchar *uri;\n\t\tbool post;\n\t\tisc_tlsctx_t *tlsctx;\n\t\tisc_sockaddr_t
          local_interface;\n\t\tvoid *cstream;\n\t\tconst char *tls_peer_verify_string;\n\t}"
      item_type: struct
      name: isc_nmsocket_h2
      pos:
        line_end: 486
        line_start: 438
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: magic
        type: int
      - name: tid
        type: isc_tid_t
      - name: references
        type: isc_refcount_t
      - name: type
        type: isc_nmsocket_type
      - name: '*worker'
        type: isc__networker_t
      - name: listen_barrier
        type: isc_barrier_t
      - name: stop_barrier
        type: isc_barrier_t
      - name: '*parent'
        type: isc_nmsocket_t
      - name: tlsstream
        type: "struct tlsstream {\n\t\tbool server;\n\t\tBIO *bio_in;\n\t\tBIO *bio_out;\n\t\tisc_tls_t
          *tls;\n\t\tisc_tlsctx_t *ctx;\n\t\tisc_tlsctx_t **listener_tls_ctx; /*%<
          A context reference per\n\t\t\t\t\t\t    worker */\n\t\tsize_t n_listener_tls_ctx;\n\t\tchar
          *sni_hostname;\n\t\tisc_tlsctx_client_session_cache_t *client_sess_cache;\n\t\tbool
          client_session_saved;\n\t\tisc_nmsocket_t *tlslistener;\n\t\tisc_nmsocket_t
          *tlssocket;\n\t\tatomic_bool result_updated;\n\t\tenum {\n\t\t\tTLS_INIT,\n\t\t\tTLS_HANDSHAKE,\n\t\t\tTLS_IO,\n\t\t\tTLS_CLOSED\n\t\t}
          state; /*%< The order of these is significant */\n\t\tsize_t nsending;\n\t\tbool
          tcp_nodelay_value;\n\t\tisc_nmsocket_tls_send_req_t *send_req; /*%< Send
          req to reuse */\n\t\tbool reading;\n\t}"
      - name: streamdns
        type: "struct {\n\t\tisc_dnsstream_assembler_t *input;\n\t\tbool reading;\n\t\tisc_nmsocket_t
          *listener;\n\t\tisc_nmsocket_t *sock;\n\t\tsize_t nsending;\n\t\tvoid *send_req;\n\t\tbool
          dot_alpn_negotiated;\n\t\tconst char *tls_verify_error;\n\t}"
      - name: proxy
        type: "struct {\n\t\tisc_nmsocket_t *sock;\n\t\tbool reading;\n\t\tsize_t
          nsending;\n\t\tvoid *send_req;\n\t\tunion {\n\t\t\tisc_proxy2_handler_t
          *handler; /* server */\n\t\t\tisc_buffer_t *outbuf;\t       /* client */\n\t\t}
          proxy2;\n\t\tbool header_processed;\n\t\tbool extra_processed; /* data arrived
          past header processed */\n\t\tisc_nmsocket_t **udp_server_socks; /* UDP
          sockets */\n\t\tsize_t udp_server_socks_num;\n\t}"
      - name: '*pquota'
        type: isc_quota_t
      - name: quotacb
        type: isc_job_t
      - name: '*statsindex'
        type: isc_statscounter_t
      - name: read_timer
        type: uv_timer_t
      - name: read_timeout
        type: uint64_t
      - name: connect_timeout
        type: uint64_t
      - name: write_timeout
        type: uint64_t
      - name: reading_throttled
        type: bool
      - name: '*outer'
        type: isc_nmsocket_t
      - name: '*server'
        type: isc_nmsocket_t
      - name: '*listener'
        type: isc_nmsocket_t
      - name: '*children'
        type: isc_nmsocket_t
      - name: nchildren
        type: uint_fast32_t
      - name: iface
        type: isc_sockaddr_t
      - name: '*statichandle'
        type: isc_nmhandle_t
      - name: '*outerhandle'
        type: isc_nmhandle_t
      - name: backlog
        type: int
      - name: fd
        type: uv_os_sock_t
      - name: uv_handle
        type: union uv_any_handle
      - name: peer
        type: isc_sockaddr_t
      - name: active
        type: bool
      - name: destroying
        type: bool
      - name: route_sock
        type: bool
      - name: closing
        type: bool
      - name: closed
        type: bool
      - name: connecting
        type: bool
      - name: connected
        type: bool
      - name: accepting
        type: bool
      - name: reading
        type: bool
      - name: timedout
        type: bool
      - name: quota_accept_ts
        type: isc_nanosecs_t
      - name: client
        type: bool
      - name: processing
        type: bool
      - name: keepalive
        type: bool
      - name: (isc_nmhandle_t)
        type: ISC_LIST
      - name: inactive_handles_cur
        type: size_t
      - name: inactive_handles_max
        type: size_t
      - name: (isc_nmhandle_t)
        type: ISC_LIST
      - name: (isc__nm_uvreq_t)
        type: ISC_LIST
      - name: active_handles_cur
        type: size_t
      - name: active_handles_max
        type: size_t
      - name: result
        type: isc_result_t
      - name: closehandle_cb
        type: isc_nm_closehandlecb_t
      - name: '*recv_handle'
        type: isc_nmhandle_t
      - name: recv_cb
        type: isc_nm_recv_cb_t
      - name: '*recv_cbarg'
        type: void
      - name: connect_cb
        type: isc_nm_cb_t
      - name: '*connect_cbarg'
        type: void
      - name: accept_cb
        type: isc_nm_accept_cb_t
      - name: '*accept_cbarg'
        type: void
      - name: barriers_initialised
        type: bool
      - name: manual_read_timer
        type: bool
      - name: (isc_nmsocket_t)
        type: ISC_LINK
      - name: job
        type: isc_job_t
      item_type: struct
      name: isc_nmsocket
      pos:
        line_end: 718
        line_start: 495
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - fields:
      - name: server
        type: bool
      - name: '*bio_in'
        type: BIO
      - name: '*bio_out'
        type: BIO
      - name: '*tls'
        type: isc_tls_t
      - name: '*ctx'
        type: isc_tlsctx_t
      - name: '**listener_tls_ctx'
        type: isc_tlsctx_t
      - name: n_listener_tls_ctx
        type: size_t
      - name: '*sni_hostname'
        type: char
      - name: '*client_sess_cache'
        type: isc_tlsctx_client_session_cache_t
      - name: client_session_saved
        type: bool
      - name: '*tlslistener'
        type: isc_nmsocket_t
      - name: '*tlssocket'
        type: isc_nmsocket_t
      - name: result_updated
        type: atomic_bool
      - name: state
        type: "enum {\n\t\t\tTLS_INIT,\n\t\t\tTLS_HANDSHAKE,\n\t\t\tTLS_IO,\n\t\t\tTLS_CLOSED\n\t\t}"
      - name: nsending
        type: size_t
      - name: tcp_nodelay_value
        type: bool
      - name: '*send_req'
        type: isc_nmsocket_tls_send_req_t
      - name: reading
        type: bool
      item_type: struct
      name: tlsstream
      pos:
        line_end: 535
        line_start: 510
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    typedefs:
    - item_type: typedef
      name: (*isc__nm_closecb)(isc_nmhandle_t *)
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type: void
    - item_type: typedef
      name: isc__nm_statid_t
      pos:
        line_end: 394
        line_start: 380
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - item_type: typedef
      name: isc_http_request_type_t
      pos:
        line_end: 412
        line_start: 408
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - item_type: typedef
      name: isc_http_scheme_type_t
      pos:
        line_end: 418
        line_start: 414
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - item_type: typedef
      name: (*isc_nm_closehandlecb_t)(void *arg)
      pos:
        line_end: 489
        line_start: 489
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type: void
    union:
    - fields:
      - name: recv
        type: isc_nm_recv_cb_t
      - name: send
        type: isc_nm_cb_t
      - name: connect
        type: isc_nm_cb_t
      item_type: union
      name: isc__nm_cb_t
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
- function_names:
  - isc__nm_udp_lb_socket
  - start_udp_child_job
  - start_udp_child
  - isc_nm_listenudp
  - route_socket
  - route_connect_direct
  - isc_nm_routeconnect
  - stop_udp_child_job
  - stop_udp_child
  - isc__nm_udp_stoplistening
  - isc__nm_udp_read_cb
  - udp_send_cb
  - can_log_udp_sends
  - isc__nm_udp_send
  - udp_connect_direct
  - isc_nm_udpconnect
  - isc__nm_udp_failed_read_cb
  - isc__nm_udp_read
  - udp_close_cb
  - isc__nm_udp_close
  - isc__nm_udp_shutdown
  source_file: /src/bind9/lib/isc/netmgr/udp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: USE_ROUTE_SOCKET
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ROUTE_SOCKET_PF
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: PF_ROUTE
    - item_type: preproc_def
      name: ROUTE_SOCKET_PROTOCOL
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: MSGHDR
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: rt_msghdr
    - item_type: preproc_def
      name: MSGTYPE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: rtm_type
    - item_type: preproc_def
      name: USE_ROUTE_SOCKET
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: USE_NETLINK
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ROUTE_SOCKET_PF
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: PF_NETLINK
    - item_type: preproc_def
      name: ROUTE_SOCKET_PROTOCOL
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: NETLINK_ROUTE
    - item_type: preproc_def
      name: MSGHDR
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: nlmsghdr
    - item_type: preproc_def
      name: MSGTYPE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/isc/netmgr/udp.c
      type_or_value: nlmsg_type
    structs: []
    typedefs: []
    union: []
- function_names:
  - tls_status2str
  - state2str
  - tls_error_to_result
  - inactive
  - tls_call_connect_cb
  - tls_senddone
  - tls_failed_read_cb
  - isc__nm_tls_failed_read_cb
  - tls_do_bio_cb
  - async_tls_do_bio
  - tls_send_outgoing
  - tls_process_outgoing
  - tls_try_handshake
  - tls_try_to_close_unused_socket
  - tls_do_bio
  - tls_readcb
  - initialize_tls
  - tls_try_to_enable_tcp_nodelay
  - tlslisten_acceptcb
  - isc_nm_listentls
  - tls_send_direct
  - tls_send
  - isc__nm_tls_send
  - isc__nm_tls_senddns
  - isc__nm_tls_read
  - tls_read_start
  - tls_read_stop
  - isc__nm_tls_read_stop
  - isc__nm_tls_close
  - isc__nm_tls_stoplistening
  - isc_nm_tlsconnect
  - tcp_connected
  - isc__nm_tls_cleanup_data
  - isc__nm_tls_cleartimeout
  - isc__nm_tls_settimeout
  - isc__nmhandle_tls_keepalive
  - isc__nmhandle_tls_setwritetimeout
  - isc__nmsocket_tls_reset
  - isc__nmsocket_tls_timer_running
  - isc__nmsocket_tls_timer_restart
  - isc__nmsocket_tls_timer_stop
  - isc__nm_tls_verify_tls_peer_result_string
  - tls_init_listener_tlsctx
  - tls_cleanup_listener_tlsctx
  - tls_get_listener_tlsctx
  - isc__nm_async_tls_set_tlsctx
  - tls_keep_client_tls_session
  - tls_try_shutdown
  - isc__nmhandle_tls_set_manual_timer
  - isc__nmhandle_tls_get_selected_alpn
  - isc__nmhandle_tls_set_tcp_nodelay
  source_file: /src/bind9/lib/isc/netmgr/tlsstream.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TLS_BUF_SIZE
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/isc/netmgr/tlsstream.c
      type_or_value: (UINT16_MAX)
    - item_type: preproc_def
      name: TLS_MAX_SEND_BUF_SIZE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/isc/netmgr/tlsstream.c
      type_or_value: (UINT16_MAX + UINT16_MAX / 2)
    - item_type: preproc_def
      name: MAX_DNS_MESSAGE_SIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/isc/netmgr/tlsstream.c
      type_or_value: (UINT16_MAX)
    structs: []
    typedefs: []
    union: []
- function_names:
  - setsockopt_on
  - setsockopt_off
  - socket_freebind
  - isc__nm_udp_freebind
  - tcp_bind_now
  - isc__nm_tcp_freebind
  - isc__nm_socket
  - isc__nm_closesocket
  - isc__nm_socket_reuse
  - isc__nm_socket_reuse_lb
  - isc__nm_socket_disable_pmtud
  - isc__nm_socket_v6only
  - isc__nm_socket_connectiontimeout
  - isc__nm_socket_tcp_nodelay
  - isc__nm_socket_tcp_maxseg
  - isc__nm_socket_min_mtu
  source_file: /src/bind9/lib/isc/netmgr/socket.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - can_log_tcp_quota
  - tcp_dbg_log
  - tcp_connect_direct
  - tcp_connect_cb
  - isc_nm_tcpconnect
  - isc__nm_tcp_lb_socket
  - start_tcp_child_job
  - start_tcp_child
  - isc_nm_listentcp
  - tcp_connection_cb
  - stop_tcp_child_job
  - stop_tcp_child
  - isc__nm_tcp_stoplistening
  - tcp_stop_cb
  - isc__nm_tcp_failed_read_cb
  - isc__nm_tcp_read
  - isc__nm_tcp_read_stop
  - isc__nm_tcp_read_cb
  - tcpaccept_cb
  - quota_accept_cb
  - accept_connection
  - tcp_send
  - isc__nm_tcp_send
  - isc__nm_tcp_senddns
  - tcp_maybe_restart_reading
  - tcp_send_cb
  - tcp_send_direct
  - tcp_close_sock
  - tcp_close_cb
  - isc__nm_tcp_close
  - tcp_close_connect_cb
  - isc__nm_tcp_shutdown
  - isc__nmhandle_tcp_set_manual_timer
  source_file: /src/bind9/lib/isc/netmgr/tcp.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_nm_timer_create
  - isc_nm_timer_attach
  - timer_destroy
  - isc_nm_timer_detach
  - timer_cb
  - isc_nm_timer_start
  - isc_nm_timer_stop
  source_file: /src/bind9/lib/isc/netmgr/timer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: references
        type: isc_refcount_t
      - name: timer
        type: uv_timer_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: cb
        type: isc_nm_timer_cb
      - name: '*cbarg'
        type: void
      item_type: struct
      name: isc_nm_timer
      pos:
        line_end: 25
        line_start: 19
        source_file: /src/bind9/lib/isc/netmgr/timer.c
    typedefs: []
    union: []
- function_names:
  - proxyudp_closing
  - proxyudp_stop_reading
  - isc__nm_proxyudp_failed_read_cb
  - proxyudp_on_header_data_cb
  - proxyudp_sock_new
  - proxyudp_read_cb
  - isc_nm_listenproxyudp
  - proxyudp_call_connect_cb
  - proxyudp_try_close_unused
  - proxyudp_connect_cb
  - isc_nm_proxyudpconnect
  - stop_proxyudp_child_job
  - stop_proxyudp_child
  - isc__nm_proxyudp_stoplistening
  - proxyudp_clear_proxy_header_data
  - isc__nm_proxyudp_cleanup_data
  - isc__nmhandle_proxyudp_cleartimeout
  - isc__nmhandle_proxyudp_settimeout
  - isc__nmhandle_proxyudp_setwritetimeout
  - isc__nmsocket_proxyudp_timer_running
  - isc__nmsocket_proxyudp_timer_restart
  - isc__nmsocket_proxyudp_timer_stop
  - isc__nm_proxyudp_close
  - isc__nm_proxyudp_read
  - proxyudp_get_send_req
  - proxyudp_put_send_req
  - proxyudp_send_cb
  - isc__nm_proxyudp_send
  source_file: /src/bind9/lib/isc/netmgr/proxyudp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cb
        type: isc_nm_cb_t
      - name: '*cbarg'
        type: void
      - name: '*proxyhandle'
        type: isc_nmhandle_t
      - name: '*outbuf'
        type: isc_buffer_t
      item_type: struct
      name: proxyudp_send_req
      pos:
        line_end: 22
        line_start: 17
        source_file: /src/bind9/lib/isc/netmgr/proxyudp.c
    typedefs: []
    union: []
- function_names:
  - networker_teardown
  - netmgr_teardown
  - isc_netmgr_create
  - nm_destroy
  - isc_nm_maxudp
  - isc_nmhandle_setwritetimeout
  - isc_nm_setinitialtimeout
  - isc_nm_setprimariestimeout
  - isc_nm_setidletimeout
  - isc_nm_setkeepalivetimeout
  - isc_nm_setadvertisedtimeout
  - isc_nm_setnetbuffers
  - isc_nm_getloadbalancesockets
  - isc_nm_setloadbalancesockets
  - isc_nm_getinitialtimeout
  - isc_nm_getprimariestimeout
  - isc_nm_getidletimeout
  - isc_nm_getkeepalivetimeout
  - isc_nm_getadvertisedtimeout
  - isc__nmsocket_active
  - isc___nmsocket_attach
  - nmsocket_cleanup
  - nmsocket_has_active_handles
  - isc_nmsocket_close
  - isc___nmsocket_init
  - isc__nmsocket_clearcb
  - isc__nm_free_uvbuf
  - alloc_handle
  - dequeue_handle
  - isc___nmhandle_get
  - isc_nmhandle_is_stream
  - nmhandle_free
  - nmhandle__destroy
  - isc__nm_closehandle_job
  - nmhandle_destroy
  - isc_nmhandle_getdata
  - isc_nmhandle_setdata
  - isc__nm_failed_send_cb
  - isc__nm_failed_connect_cb
  - isc__nm_failed_read_cb
  - isc__nmsocket_connecttimeout_cb
  - isc__nm_accept_connection_log
  - isc__nmsocket_writetimeout_cb
  - isc__nmsocket_readtimeout_cb
  - isc__nmsocket_timer_restart
  - isc__nmsocket_timer_running
  - isc__nmsocket_timer_start
  - isc__nmsocket_timer_stop
  - isc___nm_get_read_req
  - isc__nm_alloc_cb
  - isc__nm_start_reading
  - isc__nm_stop_reading
  - isc__nm_closing
  - isc__nmsocket_closing
  - isc_nmhandle_cleartimeout
  - isc_nmhandle_settimeout
  - isc_nmhandle_keepalive
  - isc_nmhandle_timer_running
  - isc_nmhandle_peeraddr
  - isc_nmhandle_localaddr
  - isc_nmhandle_netmgr
  - isc_nm_send
  - isc__nm_senddns
  - isc_nm_read
  - cancelread_cb
  - isc_nm_cancelread
  - isc_nm_read_stop
  - isc_nmhandle_close
  - isc_nm_stoplistening
  - isc__nmsocket_stop
  - isc__nmsocket_barrier_init
  - isc___nm_connectcb
  - isc__nm_connectcb
  - isc___nm_readcb
  - isc__nm_readcb
  - isc___nm_sendcb
  - isc__nm_sendcb
  - reset_shutdown
  - isc__nmsocket_reset
  - isc__nmsocket_shutdown
  - shutdown_walk_cb
  - isc_nm_setstats
  - isc__nm_incstats
  - isc__nm_decstats
  - isc_nm_checkaddr
  - isc__nm_set_network_buffers
  - isc_nm_bad_request
  - isc_nm_xfr_checkperm
  - isc_nm_is_http_handle
  - get_proxy_handle
  - isc_nm_is_proxy_handle
  - isc_nm_is_proxy_unspec
  - isc_nmhandle_real_peeraddr
  - isc_nmhandle_real_localaddr
  - isc__nm_valid_proxy_addresses
  - isc_nm_set_maxage
  - isc_nm_socket_type
  - isc_nmhandle_proxy_type
  - isc_nm_has_encryption
  - isc_nm_verify_tls_peer_result_string
  - settlsctx_cb
  - set_tlsctx_workers
  - isc_nmsocket_set_tlsctx
  - isc_nmsocket_set_max_streams
  - isc__nmsocket_log_tls_session_reuse
  - isc__networker_destroy
  - isc__netmgr_log
  - isc__nmsocket_log
  - isc__nmhandle_log
  - isc__nm_received_proxy_header_log
  - isc__nmhandle_set_manual_timer
  - isc__nmhandle_get_selected_alpn
  - isc_nmhandle_set_tcp_nodelay
  - isc_nmsocket_getaddr
  - isc_nm_proxyheader_info_init
  - isc_nm_proxyheader_info_init_complete
  - nmsocket_type_totext
  - nmhandle_dump
  - nmsocket_dump
  - isc__nm_dump_active
  - isc__nm_dump_active_manager
  source_file: /src/bind9/lib/isc/netmgr/netmgr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MINIMAL_UV_VERSION
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: UV_VERSION(1, 42, 0)
    - item_type: preproc_def
      name: MINIMAL_UV_VERSION
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: UV_VERSION(1, 40, 0)
    - item_type: preproc_def
      name: MAXIMAL_UV_VERSION
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: UV_VERSION(1, 39, 99)
    - item_type: preproc_def
      name: MINIMAL_UV_VERSION
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: UV_VERSION(1, 37, 0)
    - item_type: preproc_def
      name: MAXIMAL_UV_VERSION
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: UV_VERSION(1, 34, 99)
    - item_type: preproc_def
      name: MINIMAL_UV_VERSION
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: UV_VERSION(1, 34, 0)
    - item_type: preproc_def
      name: TIMEOUT_TYPE
      pos:
        line_end: 2129
        line_start: 2128
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: int
    - item_type: preproc_def
      name: TIMEOUT_DIV
      pos:
        line_end: 2130
        line_start: 2129
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: TIMEOUT_OPTNAME
      pos:
        line_end: 2131
        line_start: 2130
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: TCP_CONNECTIONTIMEOUT
    - item_type: preproc_def
      name: TIMEOUT_TYPE
      pos:
        line_end: 2133
        line_start: 2132
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: int
    - item_type: preproc_def
      name: TIMEOUT_DIV
      pos:
        line_end: 2134
        line_start: 2133
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: TIMEOUT_OPTNAME
      pos:
        line_end: 2135
        line_start: 2134
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: TCP_RXT_CONNDROPTIME
    - item_type: preproc_def
      name: TIMEOUT_TYPE
      pos:
        line_end: 2137
        line_start: 2136
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: unsigned int
    - item_type: preproc_def
      name: TIMEOUT_DIV
      pos:
        line_end: 2138
        line_start: 2137
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TIMEOUT_OPTNAME
      pos:
        line_end: 2139
        line_start: 2138
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: TCP_USER_TIMEOUT
    - item_type: preproc_def
      name: TIMEOUT_TYPE
      pos:
        line_end: 2141
        line_start: 2140
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: int
    - item_type: preproc_def
      name: TIMEOUT_DIV
      pos:
        line_end: 2142
        line_start: 2141
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: TIMEOUT_OPTNAME
      pos:
        line_end: 2143
        line_start: 2142
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: TCP_KEEPINIT
    structs:
    - fields:
      - name: '*listener'
        type: isc_nmsocket_t
      - name: '*tlsctx'
        type: isc_tlsctx_t
      item_type: struct
      name: settlsctx_data
      pos:
        line_end: 2521
        line_start: 2518
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
    typedefs: []
    union: []
- function_names:
  - proxystream_on_header_data_cb
  - proxystream_handle_incoming_header_data
  - proxystream_sock_new
  - proxystream_accept_cb
  - isc_nm_listenproxystream
  - proxystream_try_close_unused
  - proxystream_call_connect_cb
  - proxystream_send_header_cb
  - proxystream_connect_cb
  - isc_nm_proxystreamconnect
  - proxystream_failed_read_cb_async
  - isc__nm_proxystream_failed_read_cb
  - isc__nm_proxystream_stoplistening
  - proxystream_clear_proxy_header_data
  - isc__nm_proxystream_cleanup_data
  - isc__nmhandle_proxystream_cleartimeout
  - isc__nmhandle_proxystream_settimeout
  - isc__nmhandle_proxystream_keepalive
  - isc__nmhandle_proxystream_setwritetimeout
  - isc__nmsocket_proxystream_reset
  - isc__nmsocket_proxystream_timer_running
  - isc__nmsocket_proxystream_timer_restart
  - isc__nmsocket_proxystream_timer_stop
  - isc__nmhandle_proxystream_set_manual_timer
  - isc__nmhandle_proxystream_set_tcp_nodelay
  - proxystream_read_start
  - proxystream_read_stop
  - isc__nm_proxystream_read_stop
  - isc__nm_proxystream_close
  - proxystream_closing
  - proxystream_failed_read_cb
  - proxystream_read_cb
  - proxystream_read_extra_cb
  - isc__nm_proxystream_read
  - proxystream_get_send_req
  - proxystream_put_send_req
  - proxystream_send_cb
  - proxystream_send
  - isc__nm_proxystream_send
  - isc__nm_proxystream_senddns
  - isc__nm_proxystream_set_tlsctx
  - isc__nm_proxystream_has_encryption
  - isc__nm_proxystream_verify_tls_peer_result_string
  - isc__nmhandle_proxystream_get_selected_alpn
  source_file: /src/bind9/lib/isc/netmgr/proxystream.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cb
        type: isc_nm_cb_t
      - name: '*cbarg'
        type: void
      - name: '*proxyhandle'
        type: isc_nmhandle_t
      item_type: struct
      name: proxystream_send_req
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/bind9/lib/isc/netmgr/proxystream.c
    typedefs: []
    union: []
- function_names:
  - streamdns_resumeread
  - streamdns_readmore
  - streamdns_pauseread
  - streamdns_on_complete_dnsmessage
  - streamdns_on_dnsmessage_data_cb
  - streamdns_handle_incoming_data
  - streamdns_sock_new
  - streamdns_call_connect_cb
  - streamdns_save_alpn_status
  - streamdns_transport_connected
  - isc_nm_streamdnsconnect
  - isc__nmsocket_streamdns_timer_running
  - isc__nmsocket_streamdns_timer_stop
  - isc__nmsocket_streamdns_timer_restart
  - streamdns_failed_read_cb
  - isc__nm_streamdns_failed_read_cb
  - streamdns_readcb
  - streamdns_try_close_unused
  - streamdns_get_send_req
  - streamdns_put_send_req
  - streamdns_writecb
  - streamdns_closing
  - streamdns_resume_processing
  - streamdns_accept_cb
  - isc_nm_listenstreamdns
  - isc__nm_streamdns_cleanup_data
  - streamdns_read_cb
  - isc__nm_streamdns_read
  - isc__nm_streamdns_send
  - streamdns_close_direct
  - isc__nm_streamdns_close
  - isc__nm_streamdns_stoplistening
  - isc__nmhandle_streamdns_cleartimeout
  - isc__nmhandle_streamdns_settimeout
  - isc__nmhandle_streamdns_keepalive
  - isc__nmhandle_streamdns_setwritetimeout
  - isc__nm_streamdns_has_encryption
  - isc__nm_streamdns_verify_tls_peer_result_string
  - isc__nm_streamdns_set_tlsctx
  - isc__nm_streamdns_xfr_checkperm
  - isc__nmsocket_streamdns_reset
  source_file: /src/bind9/lib/isc/netmgr/streamdns.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cb
        type: isc_nm_cb_t
      - name: '*cbarg'
        type: void
      - name: '*dnshandle'
        type: isc_nmhandle_t
      item_type: struct
      name: streamdns_send_req
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/bind9/lib/isc/netmgr/streamdns.c
    typedefs: []
    union: []
- function_names:
  - NS_STATS_VALID
  - ns_stats_attach
  - ns_stats_detach
  - ns_stats_create
  - ns_stats_increment
  - ns_stats_decrement
  - ns_stats_get
  - ns_stats_update_if_greater
  - ns_stats_get_counter
  source_file: /src/bind9/lib/ns/stats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_STATS_MAGIC
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/ns/stats.c
      type_or_value: ISC_MAGIC('N', 's', 't', 't')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*counters'
        type: isc_stats_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: ns_stats
      pos:
        line_end: 32
        line_start: 26
        source_file: /src/bind9/lib/ns/stats.c
    typedefs: []
    union: []
- function_names:
  - listenelt_create
  - ns_listenelt_create
  - ns_listenelt_create_http
  - ns_listenelt_destroy
  - ns_listenlist_create
  - destroy
  - ns_listenlist_attach
  - ns_listenlist_detach
  source_file: /src/bind9/lib/ns/listenlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - ns_plugin_expandpath
  - load_symbol
  - load_plugin
  - unload_plugin
  - ns_plugin_register
  - ns_plugin_check
  - ns_hooktable_init
  - ns_hooktable_create
  - ns_hooktable_free
  - ns_hook_add
  - ns_plugins_create
  - ns_plugins_free
  source_file: /src/bind9/lib/ns/hooks.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: handle
        type: uv_lib_t
      - name: '*inst'
        type: void
      - name: '*modpath'
        type: char
      - name: '*check_func'
        type: ns_plugin_check_t
      - name: '*register_func'
        type: ns_plugin_register_t
      - name: '*destroy_func'
        type: ns_plugin_destroy_t
      - name: (ns_plugin_t)
        type: ISC_LINK
      item_type: struct
      name: ns_plugin
      pos:
        line_end: 51
        line_start: 42
        source_file: /src/bind9/lib/ns/hooks.c
    typedefs: []
    union: []
- function_names:
  - CHECK
  - FAIL
  - FAILC
  - PREREQFAILC
  - FAILN
  - PREREQFAILN
  - FAILNT
  - PREREQFAILNT
  - FAILS
  - TCPCLIENT
  - update_log
  - update_log_cb
  - inc_stats
  - checkqueryacl
  - checkupdateacl
  - do_one_tuple
  - do_diff
  - update_one_rr
  - foreach_node_rr_action
  - DNS_RDATASET_FOREACH
  - foreach_rrset
  - DNS_RDATASETITER_FOREACH
  - foreach_node_rr
  - foreach_rr
  - (&rdataset)
  - count_action
  - rrset_exists_action
  - rrset_exists
  - cname_compatibility_action
  - cname_incompatible_rrset_exists
  - count_rr_action
  - rr_count
  - name_exists_action
  - name_exists
  - ssu_checkrule
  - (&rdataset)
  - ssu_checkall
  - ssu_checkrr
  - temp_append
  - temp_check_rrset
  - temp_order
  - temp_check
  - (&rdataset)
  - type_not_soa_nor_ns_p
  - type_not_dnssec
  - true_p
  - rr_equal_p
  - replaces_p
  - delete_if_action
  - delete_if
  - add_rr_prepare_action
  - get_current_rr
  - update_soa_serial
  - check_soa_increment
  - send_update
  - MSG_SECTION_FOREACH
  - respond
  - ns_update_start
  - remove_orphaned_ds
  - check_mx
  - rr_exists
  - (&rdataset)
  - get_iterations
  - (&rdataset)
  - (&rdataset)
  - check_dnssec
  - add_nsec3param_records
  - rollback_private
  - isdnssec
  - update_action
  - MSG_SECTION_FOREACH
  - MSG_SECTION_FOREACH
  - updatedone_action
  - forward_fail
  - forward_callback
  - forward_done
  - forward_action
  - send_forward
  source_file: /src/bind9/lib/ns/update.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOGLEVEL_PROTOCOL
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/ns/update.c
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: LOGLEVEL_DEBUG
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/ns/update.c
      type_or_value: ISC_LOG_DEBUG(8)
    - item_type: preproc_def
      name: RETURN_EXISTENCE_FLAG
      pos:
        line_end: 787
        line_start: 781
        source_file: /src/bind9/lib/ns/update.c
      type_or_value: "return ((result == ISC_R_EXISTS)                              \\\n\t\t\t?
        (*exists = true, ISC_R_SUCCESS)             \\\n\t\t\t: ((result == ISC_R_SUCCESS)
        \                 \\\n\t\t\t\t   ? (*exists = false, ISC_R_SUCCESS) \\\n\t\t\t\t
        \  : result))"
    structs:
    - fields:
      - name: ttl
        type: uint32_t
      - name: rdata
        type: dns_rdata_t
      item_type: struct
      name: rr
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/bind9/lib/ns/update.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: '*client'
        type: ns_client_t
      - name: result
        type: isc_result_t
      - name: '*answer'
        type: dns_message_t
      - name: '*maxbytype'
        type: unsigned int
      - name: maxbytypelen
        type: size_t
      item_type: struct
      name: update
      pos:
        line_end: 234
        line_start: 227
        source_file: /src/bind9/lib/ns/update.c
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: '*diff'
        type: dns_diff_t
      - name: '*name'
        type: dns_name_t
      - name: '*oldname'
        type: dns_name_t
      - name: '*update_rr'
        type: dns_rdata_t
      - name: update_rr_ttl
        type: dns_ttl_t
      - name: ignore_add
        type: bool
      - name: del_diff
        type: dns_diff_t
      - name: add_diff
        type: dns_diff_t
      item_type: struct
      name: add_rr_prepare_ctx_t
      pos:
        line_end: 256
        line_start: 245
        source_file: /src/bind9/lib/ns/update.c
    - fields:
      - name: '*rr_action'
        type: rr_func
      - name: '*rr_action_data'
        type: void
      item_type: struct
      name: foreach_node_rr_ctx_t
      pos:
        line_end: 546
        line_start: 543
        source_file: /src/bind9/lib/ns/update.c
    - fields:
      - name: '*name'
        type: dns_name_t
      - name: '*signer'
        type: dns_name_t
      - name: '*addr'
        type: isc_netaddr_t
      - name: '*aclenv'
        type: dns_aclenv_t
      - name: tcp
        type: bool
      - name: '*table'
        type: dns_ssutable_t
      - name: '*key'
        type: dst_key_t
      item_type: struct
      name: ssu_check_t
      pos:
        line_end: 900
        line_start: 879
        source_file: /src/bind9/lib/ns/update.c
    - fields:
      - name: '*predicate'
        type: rr_predicate
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: '*diff'
        type: dns_diff_t
      - name: '*name'
        type: dns_name_t
      - name: '*update_rr'
        type: dns_rdata_t
      item_type: struct
      name: conditional_delete_ctx_t
      pos:
        line_end: 1244
        line_start: 1237
        source_file: /src/bind9/lib/ns/update.c
    typedefs:
    - item_type: typedef
      name: rrset_func(void *data, dns_rdataset_t *rrset)
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/bind9/lib/ns/update.c
    - item_type: typedef
      name: rr_func(void *data, rr_t *rr)
      pos:
        line_end: 538
        line_start: 537
        source_file: /src/bind9/lib/ns/update.c
    - item_type: typedef
      name: rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/bind9/lib/ns/update.c
      type: bool
    union: []
- function_names:
  - QUERY_ERROR
  - PARTIALANSWER
  - USECACHE
  - RECURSIONOK
  - RECURSING
  - WANTRECURSION
  - TCP
  - NEEDTCP
  - WANTDNSSEC
  - WANTAD
  - BADCOOKIE
  - HAVECOOKIE
  - WANTCOOKIE
  - HAVEECS
  - NOAUTHORITY
  - NOADDITIONAL
  - SECURE
  - DNS64
  - DNS64EXCLUDE
  - REDIRECT
  - QUERY_ANSWERED
  - QUERY_STALEOK
  - QUERY_STALETIMEOUT
  - NOQNAME
  - STALE
  - STALE_WINDOW
  - client_trace
  - CTRACE
  - CCTRACE
  - CTRACE
  - CCTRACE
  - PENDINGOK
  - SAVE
  - RESTORE
  - get_hooktab
  - CALL_HOOK
  - CALL_HOOK_NORETURN
  - inc_stats
  - ns_client_log_flags
  - ns_client_log_ecs
  - log_response
  - query_send
  - query_error
  - query_next
  - query_freefreeversions
  - ns_query_cancel
  - query_reset
  - query_cleanup
  - ns_query_free
  - ns_query_init
  - query_checkcacheaccess
  - query_validatezonedb
  - query_getzonedb
  - rpz_log_rewrite
  - rpz_log_fail_helper
  - rpz_log_fail
  - rpz_getdb
  - query_getcachedb
  - query_getdb
  - query_isduplicate
  - query_additionalauthfind
  - query_additionalauth
  - query_additional_cb
  - query_addtoname
  - query_setorder
  - query_additional
  - query_addrrset
  - mark_secure
  - get_key
  - verify
  - validate
  - DNS_RDATASET_FOREACH
  - fixrdataset
  - fixfname
  - free_fresp
  - recursionquotatype_attach
  - recursionquotatype_attach_hard
  - recursionquotatype_attach_soft
  - recursionquotatype_detach
  - stale_refresh_aftermath
  - cleanup_after_fetch
  - prefetch_done
  - rpzfetch_done
  - stale_refresh_done
  - fetch_and_forget
  - query_prefetch
  - query_stale_refresh
  - rpz_clean
  - rpz_match_clear
  - rpz_ready
  - rpz_st_clear
  - rpz_get_zbits
  - query_rpzfetch
  - rpz_rrset_find
  - rpz_get_p_name
  - rpz_find_p
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - rpz_save_p
  - rpz_rewrite_ip
  - rpz_rewrite_ip_rrset
  - (*ip_rdatasetp)
  - rpz_rewrite_ip_rrsets
  - rpz_rewrite_name
  - rpz_rewrite_ns_skip
  - rpz_rewrite
  - rpz_ck_dnssec
  - DNS_RDATASET_FOREACH
  - warn_rfc1918
  - query_findclosestnsec3
  - dns64_ttl
  - dns64_aaaaok
  - redirect
  - DNS_RDATASET_FOREACH
  - redirect2
  - DNS_RDATASET_FOREACH
  - qctx_init
  - qctx_clean
  - qctx_freedata
  - qctx_destroy
  - INITANDSAVE
  - qctx_save
  - query_trace
  - query_setup
  - get_root_key_sentinel_id
  - root_key_sentinel_detect
  - qctx_reportquery
  - qctx_setrad
  - ns__query_start
  - async_restart
  - qctx_prepare_buffers
  - stale_client_answer
  - query_lookup
  - message_clearrdataset
  - fetch_callback
  - recparam_match
  - recparam_update
  - recursionquota_log
  - acquire_recursionquota
  - release_recursionquota
  - ns_query_recurse
  - query_resume
  - query_hookresume
  - ns_query_hookasync
  - ns__query_sfcache
  - query_trace_rrldrop
  - query_checkrrl
  - query_checkrpz
  - query_rpzcname
  - has_ta
  - (&dsset)
  - root_key_sentinel_return_servfail
  - query_usestale
  - query_gotanswer
  - query_addnoqnameproof
  - query_respond_any
  - DNS_RDATASETITER_FOREACH
  - query_getexpire
  - query_getzoneversion
  - query_addanswer
  - query_respond
  - query_dns64
  - query_filter64
  - query_notfound
  - query_prepare_delegation_response
  - query_zone_delegation
  - query_delegation
  - query_delegation_recurse
  - query_addds
  - query_nodata
  - query_sign_nodata
  - query_addnxrrsetnsec
  - query_nxdomain
  - query_redirect
  - log_noexistnodata
  - query_synthttl
  - query_synthnodata
  - query_synthwildcard
  - query_synthcnamewildcard
  - query_synthnxdomainnodata
  - checksignames
  - DNS_RDATASET_FOREACH
  - query_coveringnsec
  - query_ncache
  - query_zerottl_refetch
  - query_cname
  - query_dname
  - query_addcname
  - query_prepresponse
  - query_addsoa
  - query_addns
  - query_addbestns
  - query_addwildcardproof
  - query_addauth
  - query_glueanswer
  - MSG_SECTION_FOREACH
  - ns_query_done
  - log_tat
  - log_query
  - log_queryerror
  - ns_query_start
  source_file: /src/bind9/lib/ns/query.c
  types:
    enum:
    - enumerators:
      - name: ALLOW_QUERY_CACHE
      - name: ALLOW_QUERY_CACHE_ON
      item_type: enum
      name: refusal_reasons
      pos:
        line_end: 923
        line_start: 920
        source_file: /src/bind9/lib/ns/query.c
    preproc_defs:
    - item_type: preproc_def
      name: dns64_bis_return_excluded_addresses
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFCACHE_CDFLAG
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: NS_CLIENT_FLAGS_FORMATSIZE
      pos:
        line_end: 555
        line_start: 554
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: sizeof("+E(255)STDCV")
    - item_type: preproc_def
      name: NS_CLIENT_ECS_FORMATSIZE
      pos:
        line_end: 591
        line_start: 590
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: (DNS_ECS_FORMATSIZE + sizeof(" [ECS ]") - 1)
    structs: []
    typedefs:
    - item_type: typedef
      name: qresult_type_t
      pos:
        line_end: 3886
        line_start: 3882
        source_file: /src/bind9/lib/ns/query.c
    union: []
- function_names:
  - SCTX_VALID
  - CHECKFATAL
  - ns_server_create
  - ns_server_attach
  - ns_server_detach
  - ns_server_setserverid
  - ns_server_setoption
  - ns_server_getoption
  - ns_server_append_http_quota
  source_file: /src/bind9/lib/ns/server.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SCTX_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/ns/server.c
      type_or_value: ISC_MAGIC('S', 'c', 't', 'x')
    structs: []
    typedefs: []
    union: []
- function_names:
  - CTRACE
  - MTRACE
  - CTRACE
  - MTRACE
  - TCP_CLIENT
  - USEKEEPALIVE
  - WANTEXPIRE
  - WANTNSID
  - WANTPAD
  - WANTRC
  - WANTZONEVERSION
  - VALID_MANAGER
  - can_log_sigchecks_quota
  - ns_client_transport_type
  - ns_client_recursing
  - ns_client_killoldestquery
  - ns_client_settimeout
  - client_zoneversion_reset
  - ns_client_endrequest
  - ns_client_drop
  - client_senddone
  - client_setup_tcp_buffer
  - client_put_tcp_buffer
  - client_allocsendbuf
  - client_sendpkg
  - ns_client_sendraw
  - ns_client_send
  - ns_client_dropport
  - ns_client_error
  - ns_client_addopt
  - compute_cookie
  - process_cookie
  - process_ecs
  - process_keytag
  - process_opt
  - ns_client_async_reset
  - ns__client_reset_cb
  - ns__client_put_cb
  - ns_client_setup_view
  - ns_client_request
  - ns_client_request_continue
  - ns__client_tcpconn
  - ns__client_setup
  - clientmgr_destroy_cb
  - clientmgr_destroy
  - ns_clientmgr_create
  - ns_clientmgr_shutdown
  - ns_client_getsockaddr
  - ns_client_getdestaddr
  - ns_client_checkaclsilent
  - ns_client_checkacl
  - ns_client_name
  - ns_client_logv
  - ns_client_log
  - ns_client_aclmsg
  - ns_client_dumpmessage
  - ns_client_dumprecursing
  - ns_client_qnamereplace
  - ns_client_sourceip
  - ns_client_newrdataset
  - ns_client_putrdataset
  - ns_client_newnamebuf
  - ns_client_newname
  - ns_client_getnamebuf
  - ns_client_keepname
  - ns_client_releasename
  - ns_client_newdbversion
  - client_getdbversion
  - ns_client_findversion
  source_file: /src/bind9/lib/ns/client.c
  types:
    enum:
    - enumerators:
      - name: INVALID
      - name: ALLOW_RECURSION
      - name: RECURSION_DISABLED
      - name: NO_RESOLVER
      - name: ALLOW_QUERY_CACHE
      - name: ALLOW_RECURSION_ON
      - name: ALLOW_QUERY_CACHE_ON
      item_type: enum
      name: refusal_reasons
      pos:
        line_end: 2204
        line_start: 2196
        source_file: /src/bind9/lib/ns/client.c
    preproc_defs:
    - item_type: preproc_def
      name: COOKIE_SIZE
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '24U '
    - item_type: preproc_def
      name: ECS_SIZE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '20U '
    - item_type: preproc_def
      name: MANAGER_MAGIC
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: ISC_MAGIC('N', 'S', 'C', 'm')
    - item_type: preproc_def
      name: NS_CLIENT_DROPPORT
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DROPPORT_NO
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DROPPORT_REQUEST
      pos:
        line_end: 845
        line_start: 844
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DROPPORT_RESPONSE
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - XFROUT_DEBUG_LOGARGS
  - FAILC
  - FAILQ
  - CHECK
  - inc_stats
  - log_rr
  - rrstream_noop_pause
  - ixfr_rrstream_create
  - ixfr_rrstream_first
  - ixfr_rrstream_next
  - ixfr_rrstream_current
  - ixfr_rrstream_destroy
  - axfr_rrstream_create
  - axfr_rrstream_first
  - axfr_rrstream_next
  - axfr_rrstream_current
  - axfr_rrstream_pause
  - axfr_rrstream_destroy
  - soa_rrstream_create
  - soa_rrstream_first
  - soa_rrstream_next
  - soa_rrstream_current
  - soa_rrstream_destroy
  - compound_rrstream_create
  - compound_rrstream_first
  - compound_rrstream_next
  - compound_rrstream_current
  - compound_rrstream_pause
  - compound_rrstream_destroy
  - ns_xfr_start
  - MSG_SECTION_FOREACH
  - xfrout_ctx_create
  - xfrout_send
  - xfrout_delayed_timeout
  - xfrout_enqueue_send
  - sendstream
  - xfrout_ctx_destroy
  - xfrout_senddone
  - xfrout_fail
  - xfrout_maybe_destroy
  - xfrout_client_timeout
  - xfrout_logv
  - xfrout_log1
  - xfrout_log
  source_file: /src/bind9/lib/ns/xfrout.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XFROUT_PROTOCOL_LOGARGS
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/bind9/lib/ns/xfrout.c
      type_or_value: DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT, ISC_LOG_INFO
    - item_type: preproc_def
      name: XFROUT_RR_LOGARGS
      pos:
        line_end: 67
        line_start: 65
        source_file: /src/bind9/lib/ns/xfrout.c
      type_or_value: DNS_LOGCATEGORY_XFER_OUT, NS_LOGMODULE_XFER_OUT, XFROUT_RR_LOGLEVEL
    - item_type: preproc_def
      name: XFROUT_RR_LOGLEVEL
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/ns/xfrout.c
      type_or_value: ISC_LOG_DEBUG(8)
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*methods'
        type: rrstream_methods_t
      item_type: struct
      name: rrstream
      pos:
        line_end: 184
        line_start: 181
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: (*first)(rrstream_t *)
        type: isc_result_t
      - name: (*next)(rrstream_t *)
        type: isc_result_t
      - name: "(*current)(rrstream_t *, dns_name_t **, uint32_t *,\n\t\t\tdns_rdata_t
          **)"
        type: void
      - name: (*pause)(rrstream_t *)
        type: void
      - name: (*destroy)(rrstream_t **)
        type: void
      item_type: struct
      name: rrstream_methods
      pos:
        line_end: 193
        line_start: 186
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: common
        type: rrstream_t
      - name: '*journal'
        type: dns_journal_t
      item_type: struct
      name: ixfr_rrstream
      pos:
        line_end: 214
        line_start: 211
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: common
        type: rrstream_t
      - name: it
        type: dns_rriterator_t
      - name: it_valid
        type: bool
      item_type: struct
      name: axfr_rrstream
      pos:
        line_end: 301
        line_start: 297
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: common
        type: rrstream_t
      - name: '*soa_tuple'
        type: dns_difftuple_t
      item_type: struct
      name: soa_rrstream
      pos:
        line_end: 421
        line_start: 418
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: common
        type: rrstream_t
      - name: '*components[3]'
        type: rrstream_t
      - name: state
        type: int
      - name: result
        type: isc_result_t
      item_type: struct
      name: compound_rrstream
      pos:
        line_end: 507
        line_start: 502
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: nmsg
        type: uint64_t
      - name: nrecs
        type: uint64_t
      - name: nbytes
        type: uint64_t
      - name: start
        type: isc_time_t
      - name: end
        type: isc_time_t
      item_type: struct
      name: xfr_stats
      pos:
        line_end: 634
        line_start: 628
        source_file: /src/bind9/lib/ns/xfrout.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*client'
        type: ns_client_t
      - name: id
        type: unsigned int
      - name: '*qname'
        type: dns_name_t
      - name: qtype
        type: dns_rdatatype_t
      - name: qclass
        type: dns_rdataclass_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: '*stream'
        type: rrstream_t
      - name: question_added
        type: bool
      - name: end_of_stream
        type: bool
      - name: buf
        type: isc_buffer_t
      - name: txbuf
        type: isc_buffer_t
      - name: cbytes
        type: size_t
      - name: '*txmem'
        type: void
      - name: txmemlen
        type: unsigned int
      - name: '*tsigkey'
        type: dns_tsigkey_t
      - name: '*lasttsig'
        type: isc_buffer_t
      - name: verified_tsig
        type: bool
      - name: many_answers
        type: bool
      - name: sends
        type: int
      - name: shuttingdown
        type: bool
      - name: poll
        type: bool
      - name: '*mnemonic'
        type: char
      - name: end_serial
        type: uint32_t
      - name: stats
        type: struct xfr_stats
      - name: maxtime
        type: uint64_t
      - name: '*maxtime_timer'
        type: isc_nm_timer_t
      - name: idletime
        type: uint64_t
      - name: '*delayed_send_timer'
        type: isc_nm_timer_t
      item_type: struct
      name: xfrout_ctx_t
      pos:
        line_end: 678
        line_start: 640
        source_file: /src/bind9/lib/ns/xfrout.c
    typedefs: []
    union: []
- function_names:
  - LISTENING
  - NS_INTERFACEMGR_VALID
  - need_rescan
  - route_recv
  - route_connected
  - ns_interfacemgr_create
  - ns_interfacemgr_routeconnect
  - ns_interfacemgr_routedisconnect
  - ns_interfacemgr__destroy
  - ns_interfacemgr_setbacklog
  - ns_interfacemgr_getaclenv
  - ns_interfacemgr_shutdown
  - ns_interface_create
  - ns_interface_listenudp
  - ns_interface_listentcp
  - ns_interface_listentls
  - load_http_endpoints
  - ns_interface_listenhttp
  - interface_setup
  - ns_interface_shutdown
  - interface_destroy
  - find_matching_interface
  - log_interface_shutdown
  - purge_old_interfaces
  - ISC_LIST_FOREACH
  - setup_locals
  - setup_listenon
  - clearlistenon
  - ISC_LIST_FOREACH
  - replace_listener_tlsctx
  - update_http_settings
  - update_listener_configuration
  - same_listener_type
  - interface_update_or_shutdown
  - do_scan
  - ns_interfacemgr_scan
  - ns_interfacemgr_setlistenon4
  - ns_interfacemgr_setlistenon6
  - ns_interfacemgr_dumprecursing
  - ns_interfacemgr_listeningon
  - ns_interfacemgr_getserver
  - ns_interfacemgr_getclientmgr
  - ns_interfacemgr_dynamic_updates_are_reliable
  source_file: /src/bind9/lib/ns/interfacemgr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSGHDR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/ns/interfacemgr.c
      type_or_value: rt_msghdr
    - item_type: preproc_def
      name: MSGTYPE
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/ns/interfacemgr.c
      type_or_value: rtm_type
    - item_type: preproc_def
      name: MSGHDR
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/ns/interfacemgr.c
      type_or_value: nlmsghdr
    - item_type: preproc_def
      name: MSGTYPE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/ns/interfacemgr.c
      type_or_value: nlmsg_type
    - item_type: preproc_def
      name: IFMGR_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/ns/interfacemgr.c
      type_or_value: ISC_MAGIC('I', 'F', 'M', 'G')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: lock
        type: isc_mutex_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*sctx'
        type: ns_server_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*nm'
        type: isc_nm_t
      - name: ncpus
        type: uint32_t
      - name: '*dispatchmgr'
        type: dns_dispatchmgr_t
      - name: generation
        type: unsigned int
      - name: '*listenon4'
        type: ns_listenlist_t
      - name: '*listenon6'
        type: ns_listenlist_t
      - name: '*aclenv'
        type: dns_aclenv_t
      - name: (ns_interface_t)
        type: ISC_LIST
      - name: (isc_sockaddr_t)
        type: ISC_LIST
      - name: backlog
        type: int
      - name: shuttingdown
        type: atomic_bool
      - name: '**clientmgrs'
        type: ns_clientmgr_t
      - name: '*route'
        type: isc_nmhandle_t
      item_type: struct
      name: ns_interfacemgr
      pos:
        line_end: 81
        line_start: 61
        source_file: /src/bind9/lib/ns/interfacemgr.c
    typedefs: []
    union: []
- function_names:
  - notify_log
  - respond
  - ns_notify_start
  source_file: /src/bind9/lib/ns/notify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/listenlist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: port
        type: in_port_t
      - name: is_http
        type: bool
      - name: '*acl'
        type: dns_acl_t
      - name: '*sslctx'
        type: isc_tlsctx_t
      - name: '*sslctx_cache'
        type: isc_tlsctx_cache_t
      - name: '**http_endpoints'
        type: char
      - name: http_endpoints_number
        type: size_t
      - name: http_max_clients
        type: uint32_t
      - name: max_concurrent_streams
        type: uint32_t
      - name: proxy
        type: isc_nm_proxy_type_t
      - name: (ns_listenelt_t)
        type: ISC_LINK
      item_type: struct
      name: ns_listenelt
      pos:
        line_end: 56
        line_start: 43
        source_file: /src/bind9/lib/ns/include/ns/listenlist.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: refcount
        type: int
      - name: (ns_listenelt_t)
        type: ISC_LIST
      item_type: struct
      name: ns_listenlist
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/bind9/lib/ns/include/ns/listenlist.h
    - fields:
      - name: '*name'
        type: char
      - name: '*key'
        type: char
      - name: '*cert'
        type: char
      - name: '*ca_file'
        type: char
      - name: protocols
        type: uint32_t
      - name: '*dhparam_file'
        type: char
      - name: '*ciphers'
        type: char
      - name: '*cipher_suites'
        type: char
      - name: prefer_server_ciphers
        type: bool
      - name: prefer_server_ciphers_set
        type: bool
      - name: session_tickets
        type: bool
      - name: session_tickets_set
        type: bool
      item_type: struct
      name: ns_listen_tls_params
      pos:
        line_end: 77
        line_start: 64
        source_file: /src/bind9/lib/ns/include/ns/listenlist.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/server.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_SERVER_LOGQUERIES
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000001U '
    - item_type: preproc_def
      name: NS_SERVER_NOAA
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000002U '
    - item_type: preproc_def
      name: NS_SERVER_NOSOA
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000004U '
    - item_type: preproc_def
      name: NS_SERVER_NONEAREST
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000008U '
    - item_type: preproc_def
      name: NS_SERVER_NOEDNS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000020U '
    - item_type: preproc_def
      name: NS_SERVER_DROPEDNS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000040U '
    - item_type: preproc_def
      name: NS_SERVER_NOTCP
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000080U '
    - item_type: preproc_def
      name: NS_SERVER_DISABLE4
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000100U '
    - item_type: preproc_def
      name: NS_SERVER_DISABLE6
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000200U '
    - item_type: preproc_def
      name: NS_SERVER_FIXEDLOCAL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000400U '
    - item_type: preproc_def
      name: NS_SERVER_SIGVALINSECS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00000800U '
    - item_type: preproc_def
      name: NS_SERVER_EDNSFORMERR
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00001000U '
    - item_type: preproc_def
      name: NS_SERVER_EDNSNOTIMP
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00002000U '
    - item_type: preproc_def
      name: NS_SERVER_EDNSREFUSED
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00004000U '
    - item_type: preproc_def
      name: NS_SERVER_TRANSFERINSECS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00008000U '
    - item_type: preproc_def
      name: NS_SERVER_TRANSFERSLOWLY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00010000U '
    - item_type: preproc_def
      name: NS_SERVER_TRANSFERSTUCK
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00020000U '
    - item_type: preproc_def
      name: NS_SERVER_LOGRESPONSES
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00040000U '
    - item_type: preproc_def
      name: NS_SERVER_COOKIEALWAYSVALID
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00080000U '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: secret[32]
        type: unsigned char
      - name: cookiealg
        type: ns_cookiealg_t
      - name: altsecrets
        type: ns_altsecretlist_t
      - name: answercookie
        type: bool
      - name: recursionquota
        type: isc_quota_t
      - name: tcpquota
        type: isc_quota_t
      - name: xfroutquota
        type: isc_quota_t
      - name: updquota
        type: isc_quota_t
      - name: sig0checksquota
        type: isc_quota_t
      - name: '*sig0checksquota_exempt'
        type: dns_acl_t
      - name: (isc_quota_t)
        type: ISC_LIST
      - name: http_quotas_lock
        type: isc_mutex_t
      - name: options
        type: uint32_t
      - name: '*blackholeacl'
        type: dns_acl_t
      - name: udpsize
        type: uint16_t
      - name: transfer_tcp_message_size
        type: uint16_t
      - name: interface_auto
        type: bool
      - name: '*tkeyctx'
        type: dns_tkeyctx_t
      - name: max_restarts
        type: uint8_t
      - name: '*server_id'
        type: char
      - name: usehostname
        type: bool
      - name: fuzztype
        type: isc_fuzztype_t
      - name: fuzznotify
        type: ns_fuzzcb_t
      - name: matchingview
        type: ns_matchview_t
      - name: '*nsstats'
        type: ns_stats_t
      - name: '*rcvquerystats'
        type: dns_stats_t
      - name: '*opcodestats'
        type: dns_stats_t
      - name: '*rcodestats'
        type: dns_stats_t
      - name: '*udpinstats4'
        type: isc_histomulti_t
      - name: '*udpoutstats4'
        type: isc_histomulti_t
      - name: '*udpinstats6'
        type: isc_histomulti_t
      - name: '*udpoutstats6'
        type: isc_histomulti_t
      - name: '*tcpinstats4'
        type: isc_histomulti_t
      - name: '*tcpoutstats4'
        type: isc_histomulti_t
      - name: '*tcpinstats6'
        type: isc_histomulti_t
      - name: '*tcpoutstats6'
        type: isc_histomulti_t
      item_type: struct
      name: ns_server
      pos:
        line_end: 135
        line_start: 77
        source_file: /src/bind9/lib/ns/include/ns/server.h
    - fields:
      - name: (ns_altsecret_t)
        type: ISC_LINK
      - name: secret[32]
        type: unsigned char
      item_type: struct
      name: ns_altsecret
      pos:
        line_end: 140
        line_start: 137
        source_file: /src/bind9/lib/ns/include/ns/server.h
    typedefs:
    - item_type: typedef
      name: (*ns_hostnamecb_t)(char *buf, size_t len)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/lib/ns/include/ns/server.h
    - item_type: typedef
      name: (*ns_fuzzcb_t)(void)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type: void
    - item_type: typedef
      name: "(*ns_matchview_t)(\n\tisc_netaddr_t *srcaddr, isc_netaddr_t *destaddr,
        dns_message_t *message,\n\tdns_aclenv_t *env, ns_server_t *sctx, isc_loop_t
        *loop, isc_job_cb cb,\n\tvoid *cbarg, isc_result_t *sigresultp, isc_result_t
        *viewmatchresult,\n\tdns_view_t **viewp)"
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/bind9/lib/ns/include/ns/server.h
    union: []
- function_names:
  - HANDLE_RECTYPE_NORMAL
  - HANDLE_RECTYPE_PREFETCH
  - HANDLE_RECTYPE_RPZ
  - HANDLE_RECTYPE_STALE_REFRESH
  - HANDLE_RECTYPE_HOOK
  - FETCH_RECTYPE_NORMAL
  - FETCH_RECTYPE_PREFETCH
  - FETCH_RECTYPE_RPZ
  - FETCH_RECTYPE_STALE_REFRESH
  - FETCH_RECTYPE_HOOK
  source_file: /src/bind9/lib/ns/include/ns/query.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_QUERYATTR_RECURSIONOK
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000001'
    - item_type: preproc_def
      name: NS_QUERYATTR_CACHEOK
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000002'
    - item_type: preproc_def
      name: NS_QUERYATTR_PARTIALANSWER
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000004'
    - item_type: preproc_def
      name: NS_QUERYATTR_NAMEBUFUSED
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000008'
    - item_type: preproc_def
      name: NS_QUERYATTR_RECURSING
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000010'
    - item_type: preproc_def
      name: NS_QUERYATTR_QUERYOKVALID
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000040'
    - item_type: preproc_def
      name: NS_QUERYATTR_QUERYOK
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000080'
    - item_type: preproc_def
      name: NS_QUERYATTR_WANTRECURSION
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000100'
    - item_type: preproc_def
      name: NS_QUERYATTR_SECURE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000200'
    - item_type: preproc_def
      name: NS_QUERYATTR_NOAUTHORITY
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000400'
    - item_type: preproc_def
      name: NS_QUERYATTR_NOADDITIONAL
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x000800'
    - item_type: preproc_def
      name: NS_QUERYATTR_CACHEACLOKVALID
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x001000'
    - item_type: preproc_def
      name: NS_QUERYATTR_CACHEACLOK
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x002000'
    - item_type: preproc_def
      name: NS_QUERYATTR_DNS64
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x004000'
    - item_type: preproc_def
      name: NS_QUERYATTR_DNS64EXCLUDE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x008000'
    - item_type: preproc_def
      name: NS_QUERYATTR_RRL_CHECKED
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x010000'
    - item_type: preproc_def
      name: NS_QUERYATTR_REDIRECT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x020000'
    - item_type: preproc_def
      name: NS_QUERYATTR_ANSWERED
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x040000'
    - item_type: preproc_def
      name: NS_QUERYATTR_STALEOK
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type_or_value: '0x080000'
    structs:
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*version'
        type: dns_dbversion_t
      - name: acl_checked
        type: bool
      - name: queryok
        type: bool
      item_type: struct
      name: ns_dbversion
      pos:
        line_end: 37
        line_start: 31
        source_file: /src/bind9/lib/ns/include/ns/query.h
    - fields:
      - name: noexact
        type: bool
      - name: nolog
        type: bool
      - name: partial
        type: bool
      - name: ignoreacl
        type: bool
      - name: stalefirst
        type: bool
      item_type: struct
      name: dns_getdb_options
      pos:
        line_end: 46
        line_start: 40
        source_file: /src/bind9/lib/ns/include/ns/query.h
    - fields:
      - name: qtype
        type: dns_rdatatype_t
      - name: '*qname'
        type: dns_name_t
      - name: fqname
        type: dns_fixedname_t
      - name: '*qdomain'
        type: dns_name_t
      - name: fqdomain
        type: dns_fixedname_t
      item_type: struct
      name: ns_query_recparam
      pos:
        line_end: 101
        line_start: 95
        source_file: /src/bind9/lib/ns/include/ns/query.h
    - fields:
      - name: attributes
        type: unsigned int
      - name: restarts
        type: unsigned int
      - name: '*qc'
        type: isc_counter_t
      - name: timerset
        type: bool
      - name: '*qname'
        type: dns_name_t
      - name: '*origqname'
        type: dns_name_t
      - name: qtype
        type: dns_rdatatype_t
      - name: dboptions
        type: unsigned int
      - name: fetchoptions
        type: unsigned int
      - name: '*gluedb'
        type: dns_db_t
      - name: '*authdb'
        type: dns_db_t
      - name: '*authzone'
        type: dns_zone_t
      - name: authdbset
        type: bool
      - name: isreferral
        type: bool
      - name: fetchlock
        type: isc_mutex_t
      - name: '*hookactx'
        type: ns_hookasync_t
      - name: '*rpz_st'
        type: dns_rpz_st_t
      - name: namebufs
        type: isc_bufferlist_t
      - name: (ns_dbversion_t)
        type: ISC_LIST
      - name: (ns_dbversion_t)
        type: ISC_LIST
      - name: '*dns64_aaaa'
        type: dns_rdataset_t
      - name: '*dns64_sigaaaa'
        type: dns_rdataset_t
      - name: '*dns64_aaaaok'
        type: bool
      - name: dns64_aaaaoklen
        type: unsigned int
      - name: dns64_options
        type: unsigned int
      - name: dns64_ttl
        type: unsigned int
      - name: redirect
        type: "struct {\n\t\tdns_db_t       *db;\n\t\tdns_zone_t     *zone;\n\t\tdns_dbnode_t
          \  *node;\n\t\tdns_rdatatype_t qtype;\n\t\tdns_name_t     *fname;\n\t\tdns_fixedname_t
          fixed;\n\t\tisc_result_t\tresult;\n\t\tdns_rdataset_t *rdataset;\n\t\tdns_rdataset_t
          *sigrdataset;\n\t\tbool\t\tauthoritative;\n\t\tbool\t\tis_zone;\n\t}"
      - name: recursions[RECTYPE_COUNT]
        type: "struct {\n\t\tisc_nmhandle_t *handle;\n\t\tdns_fetch_t    *fetch;\n\t}"
      - name: recparam
        type: ns_query_recparam_t
      - name: root_key_sentinel_keyid
        type: dns_keytag_t
      - name: root_key_sentinel_is_ta
        type: bool
      - name: root_key_sentinel_not_ta
        type: bool
      item_type: struct
      name: ns_query
      pos:
        line_end: 156
        line_start: 104
        source_file: /src/bind9/lib/ns/include/ns/query.h
    - fields:
      - name: '*dbuf'
        type: isc_buffer_t
      - name: '*fname'
        type: dns_name_t
      - name: '*tname'
        type: dns_name_t
      - name: '*rdataset'
        type: dns_rdataset_t
      - name: '*sigrdataset'
        type: dns_rdataset_t
      - name: '*noqname'
        type: dns_rdataset_t
      - name: qtype
        type: dns_rdatatype_t
      - name: type
        type: dns_rdatatype_t
      - name: options
        type: dns_getdb_options_t
      - name: redirected
        type: bool
      - name: is_zone
        type: bool
      - name: is_staticstub_zone
        type: bool
      - name: resuming
        type: bool
      - name: dns64
        type: bool
      - name: authoritative
        type: bool
      - name: want_restart
        type: bool
      - name: refresh_rrset
        type: bool
      - name: need_wildcardproof
        type: bool
      - name: nxrewrite
        type: bool
      - name: findcoveringnsec
        type: bool
      - name: answer_has_ns
        type: bool
      - name: wildcardname
        type: dns_fixedname_t
      - name: dsname
        type: dns_fixedname_t
      - name: '*client'
        type: ns_client_t
      - name: detach_client
        type: bool
      - name: async
        type: bool
      - name: '*fresp'
        type: dns_fetchresponse_t
      - name: '*db'
        type: dns_db_t
      - name: '*version'
        type: dns_dbversion_t
      - name: '*node'
        type: dns_dbnode_t
      - name: '*zdb'
        type: dns_db_t
      - name: '*znode'
        type: dns_dbnode_t
      - name: '*zfname'
        type: dns_name_t
      - name: '*zversion'
        type: dns_dbversion_t
      - name: '*zrdataset'
        type: dns_rdataset_t
      - name: '*zsigrdataset'
        type: dns_rdataset_t
      - name: '*rpz_st'
        type: dns_rpz_st_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*view'
        type: dns_view_t
      - name: result
        type: isc_result_t
      - name: line
        type: int
      item_type: struct
      name: query_ctx
      pos:
        line_end: 236
        line_start: 181
        source_file: /src/bind9/lib/ns/include/ns/query.h
    typedefs:
    - item_type: typedef
      name: ns_query_rectype_t
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/bind9/lib/ns/include/ns/query.h
    - item_type: typedef
      name: "(*ns_query_starthookasync_t)(query_ctx_t *qctx,\n\t\t\t\t\t\t  isc_mem_t
        *mctx, void *arg,\n\t\t\t\t\t\t  isc_loop_t *loop,\n\t\t\t\t\t\t  isc_job_cb
        cb, void *evarg,\n\t\t\t\t\t\t  ns_hookasync_t **ctxp)"
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/bind9/lib/ns/include/ns/query.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/notify.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - NS_INTERFACE_VALID
  source_file: /src/bind9/lib/ns/include/ns/interfacemgr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IFACE_MAGIC
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/ns/include/ns/interfacemgr.h
      type_or_value: ISC_MAGIC('I', ':', '-', ')')
    - item_type: preproc_def
      name: NS_INTERFACEFLAG_ANYADDR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/ns/include/ns/interfacemgr.h
      type_or_value: '0x01U '
    - item_type: preproc_def
      name: NS_INTERFACEFLAG_LISTENING
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/ns/include/ns/interfacemgr.h
      type_or_value: '0x02U '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mgr'
        type: ns_interfacemgr_t
      - name: lock
        type: isc_mutex_t
      - name: generation
        type: unsigned int
      - name: addr
        type: isc_sockaddr_t
      - name: flags
        type: unsigned int
      - name: name[32]
        type: char
      - name: '*udplistensocket'
        type: isc_nmsocket_t
      - name: '*tcplistensocket'
        type: isc_nmsocket_t
      - name: '*tlslistensocket'
        type: isc_nmsocket_t
      - name: '*http_listensocket'
        type: isc_nmsocket_t
      - name: '*http_secure_listensocket'
        type: isc_nmsocket_t
      - name: '*http_quota'
        type: isc_quota_t
      - name: ntcpaccepting
        type: isc_refcount_t
      - name: ntcpactive
        type: isc_refcount_t
      - name: '*clientmgr'
        type: ns_clientmgr_t
      - name: proxy_type
        type: isc_nm_proxy_type_t
      - name: (ns_interface_t)
        type: ISC_LINK
      item_type: struct
      name: ns_interface
      pos:
        line_end: 93
        line_start: 68
        source_file: /src/bind9/lib/ns/include/ns/interfacemgr.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/update.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/hooks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_PLUGIN_VERSION
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type_or_value: '2'
    - item_type: preproc_def
      name: NS_PLUGIN_AGE
      pos:
        line_end: 460
        line_start: 459
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type_or_value: '0'
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: action
        type: ns_hook_action_t
      - name: '*action_data'
        type: void
      item_type: struct
      name: ns_hook
      pos:
        line_end: 403
        line_start: 398
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: cancel
        type: ns_hook_cancelasync_t
      - name: destroy
        type: ns_hook_destroyasync_t
      - name: '*private'
        type: void
      item_type: struct
      name: ns_hookasync
      pos:
        line_end: 433
        line_start: 421
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - fields:
      - name: '*ctx'
        type: ns_hookasync_t
      - name: hookpoint
        type: ns_hookpoint_t
      - name: origresult
        type: isc_result_t
      - name: '*saved_qctx'
        type: query_ctx_t
      - name: '*loop'
        type: isc_loop_t
      - name: cb
        type: isc_job_cb
      - name: '*arg'
        type: void
      item_type: struct
      name: ns_hook_resume
      pos:
        line_end: 447
        line_start: 439
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    typedefs:
    - item_type: typedef
      name: ns_hookpoint_t
      pos:
        line_end: 384
        line_start: 351
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: ns_hookresult_t
      pos:
        line_end: 393
        line_start: 390
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: "(*ns_hook_action_t)(void *arg, void *data,\n\t\t\t\t\t    isc_result_t
        *resultp)"
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: (ns_hook_t)
      pos:
        line_end: 405
        line_start: 405
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: ns_hooktable_t[NS_HOOKPOINTS_COUNT]
      pos:
        line_end: 406
        line_start: 406
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: (*ns_hook_cancelasync_t)(ns_hookasync_t *)
      pos:
        line_end: 414
        line_start: 414
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: void
    - item_type: typedef
      name: (*ns_hook_destroyasync_t)(ns_hookasync_t **)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: void
    - item_type: typedef
      name: "ns_plugin_register_t(const char *parameters, const void *cfg, const char
        *file,\n\t\t     unsigned long line, isc_mem_t *mctx, void *actx,\n\t\t     ns_hooktable_t
        *hooktable, void **instp)"
      pos:
        line_end: 465
        line_start: 462
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: ns_plugin_destroy_t(void **instp)
      pos:
        line_end: 480
        line_start: 479
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: void
    - item_type: typedef
      name: "ns_plugin_check_t(const char *parameters, const void *cfg, const char
        *file,\n\t\t  unsigned long line, isc_mem_t *mctx, void *actx)"
      pos:
        line_end: 489
        line_start: 487
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - item_type: typedef
      name: ns_plugin_version_t(void)
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: int
    union: []
- function_names:
  - NS_CLIENT_VALID
  - NS_CLIENT_ACLMSGSIZE
  source_file: /src/bind9/lib/ns/include/ns/client.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_CLIENT_TCP_BUFFER_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '65535'
    - item_type: preproc_def
      name: NS_CLIENT_SEND_BUFFER_SIZE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: NS_CLIENT_MAGIC
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: ISC_MAGIC('N', 'S', 'C', 'c')
    - item_type: preproc_def
      name: NS_CLIENTATTR_TCP
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000001'
    - item_type: preproc_def
      name: NS_CLIENTATTR_RA
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000002 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_PKTINFO
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000004 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_MULTICAST
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000008 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTDNSSEC
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000010 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTNSID
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000020 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_BADCOOKIE
      pos:
        line_end: 259
        line_start: 257
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000040 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTRC
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000080 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTAD
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000100 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTCOOKIE
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000200 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_HAVECOOKIE
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000400 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTEXPIRE
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x000800 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_HAVEEXPIRE
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x001000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTOPT
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x002000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_HAVEECS
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x004000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTPAD
      pos:
        line_end: 268
        line_start: 267
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x008000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_USEKEEPALIVE
      pos:
        line_end: 269
        line_start: 268
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x010000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_NOSETFC
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x020000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_NEEDTCP
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x040000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_WANTZONEVERSION
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x100000 '
    - item_type: preproc_def
      name: NS_CLIENTATTR_HAVEZONEVERSION
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x200000 '
    - item_type: preproc_def
      name: NS_FAILCACHE_CD
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type_or_value: '0x01'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*namepool'
        type: isc_mempool_t
      - name: '*rdspool'
        type: isc_mempool_t
      - name: '*sctx'
        type: ns_server_t
      - name: references
        type: isc_refcount_t
      - name: tid
        type: isc_tid_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*aclenv'
        type: dns_aclenv_t
      - name: reclock
        type: isc_mutex_t
      - name: recursing
        type: client_list_t
      - name: tcp_buffer[NS_CLIENT_TCP_BUFFER_SIZE]
        type: uint8_t
      item_type: struct
      name: ns_clientmgr
      pos:
        line_end: 161
        line_start: 141
        source_file: /src/bind9/lib/ns/include/ns/client.h
    - fields:
      - name: magic
        type: unsigned int
      - name: inner
        type: "struct ns_client_inner {\n\t\tns_clientstate_t state;\n\t\tbool\t\t
          async;\n\t\tunsigned int\t attributes;\n\t\tdns_view_t\t*view;\n\t\tdns_dispatch_t\t*dispatch;\n\t\tisc_nmhandle_t\t*handle;
          \      /* Permanent pointer to handle */\n\t\tisc_nmhandle_t\t*sendhandle;
          \  /* Waiting for send callback */\n\t\tisc_nmhandle_t\t*reqhandle;    /*
          Waiting for request callback\n\t\t\t\t\t\t  (query, update, notify) */\n\t\tisc_nmhandle_t
          *updatehandle;  /* Waiting for update callback */\n\t\tisc_nmhandle_t *restarthandle;
          /* Waiting for restart callback\n\t\t\t\t\t\t*/\n\t\tunsigned char  *tcpbuf;\n\t\tsize_t\t\ttcpbuf_size;\n\t\tdns_rdataset_t
          *opt;\n\t\tuint16_t\tudpsize;\n\t\tuint16_t\textflags;\n\t\tint16_t\t\tednsversion;
          /* -1 noedns */\n\t\tuint16_t\tadditionaldepth;\n\t\tvoid (*cleanup)(ns_client_t
          *);\n\t\tisc_time_t    requesttime;\n\t\tisc_stdtime_t now;\n\t\tisc_time_t
          \   tnow;\n\t\tdns_name_t    signername; /*%< [T]SIG key name */\n\t\tdns_name_t
          \  *signer;\t  /*%< NULL if not valid sig */\n\t\tisc_result_t  sigresult;\n\t\tisc_result_t
          \ viewmatchresult;\n\t\tisc_buffer_t *buffer;\n\t\tisc_buffer_t  tbuffer;\n\n\t\tdns_name_t
          rad; /* Zone rad domain */\n\n\t\tisc_sockaddr_t peeraddr;\n\t\tbool\t       peeraddr_valid;\n\t\tisc_netaddr_t
          \ destaddr;\n\t\tisc_sockaddr_t destsockaddr;\n\n\t\tdns_ecs_t ecs; /*%<
          EDNS client subnet sent by client */\n\n\t\t/*%\n\t\t * Information about
          recent FORMERR response(s), for\n\t\t * FORMERR loop avoidance.  This is
          separate for each\n\t\t * client object rather than global only to avoid\n\t\t
          * the need for locking.\n\t\t */\n\t\tstruct {\n\t\t\tisc_sockaddr_t\taddr;\n\t\t\tisc_stdtime_t\ttime;\n\t\t\tdns_messageid_t
          id;\n\t\t} formerrcache;\n\n\t\t/*% Callback function to send a response
          when unit testing */\n\t\tvoid (*sendcb)(isc_buffer_t *buf);\n\n\t\tISC_LINK(ns_client_t)
          rlink;\n\t\tunsigned char  cookie[8];\n\t\tuint32_t       expire;\n\t\tunsigned
          char *zoneversion;\n\t\tuint32_t       zoneversionlength;\n\t\tunsigned
          char *keytag;\n\t\tuint16_t       keytag_len;\n\n\t\t/*%\n\t\t * Used to
          override the DNS response code in ns_client_error().\n\t\t * If set to -1,
          the rcode is determined from the result code,\n\t\t * but if set to any
          other value, the least significant 12\n\t\t * bits will be used as the rcode
          in the response message.\n\t\t */\n\t\tint32_t rcode_override;\n\t}"
      - name: '*manager'
        type: ns_clientmgr_t
      - name: '*message'
        type: dns_message_t
      - name: edectx
        type: dns_edectx_t
      - name: query
        type: ns_query_t
      - name: sendbuf[NS_CLIENT_SEND_BUFFER_SIZE]
        type: uint8_t
      item_type: struct
      name: ns_client
      pos:
        line_end: 246
        line_start: 164
        source_file: /src/bind9/lib/ns/include/ns/client.h
    - fields:
      - name: state
        type: ns_clientstate_t
      - name: async
        type: bool
      - name: attributes
        type: unsigned int
      - name: '*view'
        type: dns_view_t
      - name: '*dispatch'
        type: dns_dispatch_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: '*sendhandle'
        type: isc_nmhandle_t
      - name: '*reqhandle'
        type: isc_nmhandle_t
      - name: '*updatehandle'
        type: isc_nmhandle_t
      - name: '*restarthandle'
        type: isc_nmhandle_t
      - name: '*tcpbuf'
        type: unsigned char
      - name: tcpbuf_size
        type: size_t
      - name: '*opt'
        type: dns_rdataset_t
      - name: udpsize
        type: uint16_t
      - name: extflags
        type: uint16_t
      - name: ednsversion
        type: int16_t
      - name: additionaldepth
        type: uint16_t
      - name: (*cleanup)(ns_client_t *)
        type: void
      - name: requesttime
        type: isc_time_t
      - name: now
        type: isc_stdtime_t
      - name: tnow
        type: isc_time_t
      - name: signername
        type: dns_name_t
      - name: '*signer'
        type: dns_name_t
      - name: sigresult
        type: isc_result_t
      - name: viewmatchresult
        type: isc_result_t
      - name: '*buffer'
        type: isc_buffer_t
      - name: tbuffer
        type: isc_buffer_t
      - name: rad
        type: dns_name_t
      - name: peeraddr
        type: isc_sockaddr_t
      - name: peeraddr_valid
        type: bool
      - name: destaddr
        type: isc_netaddr_t
      - name: destsockaddr
        type: isc_sockaddr_t
      - name: ecs
        type: dns_ecs_t
      - name: formerrcache
        type: "struct {\n\t\t\tisc_sockaddr_t\taddr;\n\t\t\tisc_stdtime_t\ttime;\n\t\t\tdns_messageid_t
          id;\n\t\t}"
      - name: (*sendcb)(isc_buffer_t *buf)
        type: void
      - name: (ns_client_t)
        type: ISC_LINK
      - name: cookie[8]
        type: unsigned char
      - name: expire
        type: uint32_t
      - name: '*zoneversion'
        type: unsigned char
      - name: zoneversionlength
        type: uint32_t
      - name: '*keytag'
        type: unsigned char
      - name: keytag_len
        type: uint16_t
      - name: rcode_override
        type: int32_t
      item_type: struct
      name: ns_client_inner
      pos:
        line_end: 236
        line_start: 166
        source_file: /src/bind9/lib/ns/include/ns/client.h
    typedefs:
    - item_type: typedef
      name: ns_clientstate_t
      pos:
        line_end: 136
        line_start: 93
        source_file: /src/bind9/lib/ns/include/ns/client.h
    - item_type: typedef
      name: (ns_client_t)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bind9/lib/ns/include/ns/client.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/types.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NS_COOKIE_VERSION_1
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: (ns_altsecret_t)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bind9/lib/ns/include/ns/types.h
    - item_type: typedef
      name: (ns_plugin_t)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/ns/include/ns/types.h
    - item_type: typedef
      name: ns_cookiealg_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/bind9/lib/ns/include/ns/types.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/xfrout.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/ns/include/ns/stats.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TOKEN_STRING
  - CHECK
  - CLEANUP_OBJ
  - parse_matchtype
  - parse_matchname
  - doc_matchname
  - parse_updatepolicy
  - print_updatepolicy
  - doc_updatepolicy
  - parse_maxduration
  - doc_maxduration
  - parse_optional_enum
  - doc_optional_enum
  - parse_keystore
  - doc_keystore
  - print_keystore
  - print_tagrange
  - doc_optionaltagrange
  - parse_optionaltagrange
  - parse_zonestat
  - doc_zonestat
  - print_none
  - parse_qstringornone
  - doc_qstringornone
  - print_auto
  - parse_boolorauto
  - print_boolorauto
  - doc_boolorauto
  - print_hostname
  - parse_serverid
  - doc_serverid
  - parse_dtout
  - print_dtout
  - doc_dtout
  - doc_rpz_policy
  - doc_rpz_cname
  - cfg_parse_rpz_policy
  - cfg_parse_kv_tuple
  - cfg_print_kv_tuple
  - cfg_doc_kv_tuple
  - parse_optional_uint32
  - doc_optional_uint32
  - parse_staleanswerclienttimeout
  - doc_staleanswerclienttimeout
  - parse_checkds_type
  - doc_checkds_type
  - parse_printtime
  - doc_printtime
  - parse_unitstring
  - parse_sizeval
  - parse_sizeval_percent
  - doc_sizeval_percent
  - parse_size
  - doc_size
  - parse_size_or_percent
  - doc_parse_size_or_percent
  - parse_ixfrratio
  - doc_ixfrratio
  - parse_maybe_optional_keyvalue
  - parse_keyvalue
  - parse_optional_keyvalue
  - print_keyvalue
  - doc_keyvalue
  - doc_optional_keyvalue
  - parse_notify_type
  - doc_notify_type
  - parse_minimal
  - doc_minimal
  - parse_ixfrdiff_type
  - doc_ixfrdiff_type
  - doc_optional_bracketed_list
  - parse_optional_class
  - doc_optional_class
  - parse_querysource
  - print_querysource
  - doc__querysource
  - doc_querysource
  - doc_serverquerysource
  - parse_server_key_kludge
  - parse_optional_facility
  - doc_optional_facility
  - parse_logseverity
  - parse_logversions
  - doc_logversions
  - parse_logfile
  - print_logfile
  - doc_logfile
  - doc_sockaddrnameport
  - parse_sockaddrnameport
  - doc_remoteselement
  - parse_remoteselement
  - cmp_clause
  - cfg_clause_validforzone
  - cfg_print_zonegrammar
  source_file: /src/bind9/lib/isccfg/namedconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NCLAUSES
      pos:
        line_end: 3902
        line_start: 3899
        source_file: /src/bind9/lib/isccfg/namedconf.c
      type_or_value: "ARRAY_SIZE(non_template_clauses) + ARRAY_SIZE(zone_clauses)
        + \\\n\t\tARRAY_SIZE(zone_only_clauses) - 2"
    structs: []
    typedefs: []
    union: []
- function_names:
  - isccfg_duration_fromtext
  - isccfg_parse_duration
  - isccfg_duration_toseconds
  source_file: /src/bind9/lib/isccfg/duration.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TOKEN_STRING
  - TOKEN_REGION
  - CHECK
  - CLEANUP_OBJ
  - cfg_print_obj
  - cfg_print_chars
  - print_open
  - cfg_print_indent
  - print_close
  - cfg_parse_obj
  - cfg_print
  - cfg_printx
  - cfg_create_tuple
  - cfg_parse_tuple
  - cfg_print_tuple
  - cfg_doc_tuple
  - free_tuple
  - cfg_obj_istuple
  - cfg_tuple_get
  - cfg_parse_special
  - parse_semicolon
  - parse_eof
  - cfg_parser_create
  - cfg_parser_setflags
  - parser_openfile
  - cfg_parser_setcallback
  - cfg_parser_reset
  - parse2
  - cfg_parse_file
  - cfg_parse_buffer
  - cfg_parser_attach
  - cfg_parser_destroy
  - cfg_parse_void
  - cfg_print_void
  - cfg_doc_void
  - cfg_obj_isvoid
  - cfg_parse_percentage
  - cfg_print_percentage
  - cfg_obj_aspercentage
  - cfg_obj_ispercentage
  - cfg_parse_fixedpoint
  - cfg_print_fixedpoint
  - cfg_obj_asfixedpoint
  - cfg_obj_isfixedpoint
  - cfg_parse_uint32
  - cfg_print_cstr
  - cfg_print_rawuint
  - cfg_print_uint32
  - cfg_obj_isuint32
  - cfg_obj_asuint32
  - cfg_obj_isuint64
  - cfg_obj_asuint64
  - cfg_print_uint64
  - numlen
  - cfg_print_duration
  - cfg_print_duration_or_unlimited
  - cfg_obj_isduration
  - cfg_obj_asduration
  - parse_duration
  - cfg_parse_duration
  - cfg_parse_duration_or_unlimited
  - create_string
  - cfg_parse_qstring
  - parse_ustring
  - cfg_parse_astring
  - cfg_parse_sstring
  - parse_btext
  - print_btext
  - doc_btext
  - cfg_is_enum
  - check_enum
  - cfg_parse_enum
  - cfg_doc_enum
  - cfg_parse_enum_or_other
  - cfg_doc_enum_or_other
  - cfg_print_ustring
  - print_rawqstring
  - print_qstring
  - print_sstring
  - free_string
  - free_sockaddrtls
  - cfg_obj_isstring
  - cfg_obj_asstring
  - parse_geoip
  - print_geoip
  - doc_geoip
  - parse_addrmatchelt
  - print_negated
  - parse_optional_btext
  - print_optional_btext
  - doc_optional_btext
  - cfg_obj_isboolean
  - cfg_obj_asboolean
  - cfg_parse_boolean
  - cfg_print_boolean
  - cfg_create_list
  - create_listelt
  - free_listelt
  - free_list
  - cfg_parse_listelt
  - parse_list
  - print_list
  - cfg_parse_bracketed_list
  - cfg_print_bracketed_list
  - cfg_doc_bracketed_list
  - cfg_parse_spacelist
  - cfg_print_spacelist
  - cfg_obj_islist
  - cfg_list_first
  - cfg_list_next
  - cfg_list_length
  - cfg_listelt_value
  - cfg_parse_mapbody
  - parse_symtab_elt
  - cfg_parse_map
  - parse_any_named_map
  - cfg_parse_named_map
  - cfg_parse_addressed_map
  - cfg_parse_netprefix_map
  - print_symval
  - cfg_print_mapbody
  - cfg_print_clauseflags
  - cfg_doc_mapbody
  - cfg_print_map
  - cfg_doc_map
  - cfg_obj_ismap
  - cfg_map_get
  - cfg_map_getname
  - cfg_map_count
  - cfg_map_firstclause
  - cfg_map_nextclause
  - parse_token
  - parse_unsupported
  - token_addr
  - cfg_parse_rawaddr
  - cfg_lookingat_netaddr
  - cfg_parse_rawport
  - cfg_print_rawaddr
  - parse_netaddr
  - cfg_doc_netaddr
  - cfg_parse_netprefix
  - print_netprefix
  - cfg_obj_isnetprefix
  - cfg_obj_asnetprefix
  - copy_textregion
  - parse_sockaddrsub
  - cfg_parse_sockaddr_generic
  - cfg_parse_sockaddr
  - cfg_parse_sockaddrtls
  - cfg_print_sockaddr
  - cfg_doc_sockaddr
  - cfg_obj_issockaddr
  - cfg_obj_issockaddrtls
  - cfg_obj_assockaddr
  - cfg_obj_getsockaddrtls
  - cfg_gettoken
  - cfg_ungettoken
  - cfg_peektoken
  - cfg_getstringtoken
  - cfg_parser_error
  - cfg_parser_warning
  - have_current_file
  - current_file
  - parser_complain
  - cfg_obj_log
  - cfg_obj_file
  - cfg_obj_line
  - cfg_create_obj
  - map_symtabitem_destroy
  - create_map
  - free_map
  - cfg_obj_istype
  - cfg_obj_destroy
  - cfg_obj_attach
  - free_noop
  - cfg_doc_obj
  - cfg_doc_terminal
  - cfg_print_grammar
  - cfg_parser_mapadd
  - cfg_pluginlist_foreach
  - CFG_LIST_FOREACH
  source_file: /src/bind9/lib/isccfg/parser.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CAT
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: CFG_LOGCATEGORY_CONFIG
    - item_type: preproc_def
      name: MOD
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: CFG_LOGMODULE_PARSER
    - item_type: preproc_def
      name: SYMTAB_DUMMY_TYPE
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MAX_LOG_TOKEN
      pos:
        line_end: 3596
        line_start: 3595
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: '30 '
    - item_type: preproc_def
      name: ELLIPSIS
      pos:
        line_end: 3656
        line_start: 3655
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: '" ... "'
    structs:
    - fields:
      - name: flag
        type: unsigned int
      - name: '*text'
        type: char
      item_type: struct
      name: flagtext
      pos:
        line_end: 2566
        line_start: 2563
        source_file: /src/bind9/lib/isccfg/parser.c
    typedefs: []
    union: []
- function_names:
  - confget
  - parse_duration
  - get_duration
  - get_string
  - cfg_kaspkey_fromconfig
  - cfg_nsec3param_fromconfig
  - ISC_LIST_FOREACH
  - add_digest
  - cfg_kasp_fromconfig
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - cfg_keystore_fromconfig
  source_file: /src/bind9/lib/isccfg/kaspconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_NSEC3PARAM_ITER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/isccfg/kaspconf.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_NSEC3PARAM_SALTLEN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isccfg/kaspconf.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - cfg_aclconfctx_create
  - cfg_aclconfctx_attach
  - cfg_aclconfctx_detach
  - get_acl_def
  - CFG_LIST_FOREACH
  - convert_named_acl
  - convert_keyname
  - count_acl_elements
  - CFG_LIST_FOREACH
  - get_subtype
  - geoip_can_answer
  - parse_geoip_element
  - cfg_acl_fromconfig
  - CFG_LIST_FOREACH
  source_file: /src/bind9/lib/isccfg/aclconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LOOP_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isccfg/aclconf.c
      type_or_value: ISC_MAGIC('L', 'O', 'O', 'P')
    structs: []
    typedefs: []
    union: []
- function_names:
  - freekey
  - check_orderent
  - check_order
  - CFG_LIST_FOREACH
  - check_dual_stack
  - CFG_LIST_FOREACH
  - validate_tls
  - check_forward
  - CFG_LIST_FOREACH
  - disabled_algorithms
  - CFG_LIST_FOREACH
  - disabled_ds_digests
  - CFG_LIST_FOREACH
  - exists
  - checkacl
  - check_viewacls
  - dns64_error
  - check_dns64
  - CFG_LIST_FOREACH
  - CHECK_RRL
  - CHECK_RRL_RATE
  - check_ratelimit
  - check_fetchlimit
  - check_recursionacls
  - check_name
  - kasp_name_allowed
  - find_maplist
  - CFG_LIST_FOREACH
  - check_listener
  - check_listeners
  - CFG_LIST_FOREACH
  - check_port
  - check_options
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - check_remoteserverlist
  - CFG_LIST_FOREACH
  - check_remoteserverlists
  - check_httpserver
  - CFG_LIST_FOREACH
  - check_httpservers
  - CFG_LIST_FOREACH
  - check_tls_defintion
  - CFG_LIST_FOREACH
  - check_tls_definitions
  - CFG_LIST_FOREACH
  - get_remotes
  - CFG_LIST_FOREACH
  - get_remoteservers_def
  - validate_remotes
  - check_update_policy
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - check_nonzero
  - check_mirror_zone_notify
  - check_recursion
  - check_keydir
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - get_zoneopt
  - isccfg_check_zoneconf
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - isccfg_check_key
  - fileexist
  - keydirexist
  - check_keylist
  - CFG_LIST_FOREACH
  - rndckey_exists
  - CFG_LIST_FOREACH
  - check_servers
  - CFG_LIST_FOREACH
  - check_trust_anchor
  - record_static_keys
  - CFG_LIST_FOREACH
  - check_initializing_keys
  - CFG_LIST_FOREACH
  - record_ds_keys
  - CFG_LIST_FOREACH
  - check_ta_conflicts
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - check_rpz_catz
  - CFG_LIST_FOREACH
  - check_rpz
  - CFG_LIST_FOREACH
  - check_catz
  - CFG_LIST_FOREACH
  - check_one_plugin
  - check_dnstap
  - check_viewconf
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - check_logging
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - check_controlskeys
  - CFG_LIST_FOREACH
  - check_controls
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - isccfg_check_namedconf
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  source_file: /src/bind9/lib/isccfg/check.c
  types:
    enum:
    - enumerators:
      - name: READ_ONLY
        value: '1'
      - name: WRITEABLE
        value: '2'
      item_type: enum
      name: symtab_file_type
      pos:
        line_end: 4037
        line_start: 4034
        source_file: /src/bind9/lib/isccfg/check.c
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_CONTROL_PORT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '953'
    - item_type: preproc_def
      name: ROOT_KSK_STATIC
      pos:
        line_end: 4475
        line_start: 4474
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ROOT_KSK_MANAGED
      pos:
        line_end: 4476
        line_start: 4475
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ROOT_KSK_ANY
      pos:
        line_end: 4477
        line_start: 4476
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: ROOT_KSK_2010
      pos:
        line_end: 4478
        line_start: 4477
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ROOT_KSK_2017
      pos:
        line_end: 4479
        line_start: 4478
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x08'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: scale
        type: unsigned int
      - name: max
        type: unsigned int
      item_type: struct
      name: intervaltable
      pos:
        line_end: 941
        line_start: 937
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*name'
        type: char
      - name: min
        type: unsigned int
      - name: max
        type: unsigned int
      item_type: struct
      name: fstrmtable
      pos:
        line_end: 948
        line_start: 944
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*name'
        type: char
      - name: allowed
        type: unsigned int
      item_type: struct
      name: optionstable
      pos:
        line_end: 2683
        line_start: 2680
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*name'
        type: char
      - name: size
        type: uint16_t
      item_type: struct
      name: keyalgorithms
      pos:
        line_end: 3934
        line_start: 3931
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*v4'
        type: char
      - name: '*v6'
        type: char
      item_type: struct
      name: "sources[] = { { \"transfer-source\", \"transfer-source-v6\" },\n\t\t{
        \"notify-source\", \"notify-source-v6\" },\n\t\t{ \"parental-source\", \"parental-source-v6\"
        },\n\t\t{ \"query-source\", \"query-source-v6\" },\n\t\t{ NULL, NULL } }"
      pos:
        line_end: 4250
        line_start: 4247
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*name'
        type: char
      - name: (*set)(dns_peer_t *peer, bool newval)
        type: isc_result_t
      item_type: struct
      name: "bools[] = {\n\t{ \"bogus\", dns_peer_setbogus },\n\t{ \"edns\", dns_peer_setsupportedns
        },\n\t{ \"provide-ixfr\", dns_peer_setprovideixfr },\n\t{ \"request-expire\",
        dns_peer_setrequestexpire },\n\t{ \"request-ixfr\", dns_peer_setrequestixfr
        },\n\t{ \"request-nsid\", dns_peer_setrequestnsid },\n\t{ \"request-zoneversion\",
        dns_peer_setrequestzoneversion },\n\t{ \"send-cookie\", dns_peer_setsendcookie
        },\n\t{ \"tcp-keepalive\", dns_peer_settcpkeepalive },\n\t{ \"tcp-only\",
        dns_peer_setforcetcp },\n}"
      pos:
        line_end: 4259
        line_start: 4256
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*name'
        type: char
      - name: (*set)(dns_peer_t *peer, uint32_t newval)
        type: isc_result_t
      item_type: struct
      name: "uint32s[] = {\n\t{ \"request-ixfr-max-diffs\", dns_peer_setrequestixfrmaxdiffs
        },\n}"
      pos:
        line_end: 4275
        line_start: 4272
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*actx'
        type: cfg_aclconfctx_t
      - name: '*check_result'
        type: isc_result_t
      item_type: struct
      name: check_one_plugin_data
      pos:
        line_end: 5188
        line_start: 5184
        source_file: /src/bind9/lib/isccfg/check.c
    typedefs:
    - item_type: typedef
      name: optlevel_t
      pos:
        line_end: 956
        line_start: 951
        source_file: /src/bind9/lib/isccfg/check.c
    - item_type: typedef
      name: symtab_file_type_t
      pos:
        line_end: 4037
        line_start: 4034
        source_file: /src/bind9/lib/isccfg/check.c
    - item_type: typedef
      name: special_zonetype_t
      pos:
        line_end: 4986
        line_start: 4986
        source_file: /src/bind9/lib/isccfg/check.c
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/duration.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CFG_DURATION_MAXLEN
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isccfg/include/isccfg/duration.h
      type_or_value: '80'
    structs:
    - fields:
      - name: parts[7]
        type: uint32_t
      - name: iso8601
        type: bool
      - name: unlimited
        type: bool
      item_type: struct
      name: isccfg_duration
      pos:
        line_end: 42
        line_start: 28
        source_file: /src/bind9/lib/isccfg/include/isccfg/duration.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_MIN_CACHE_TTL
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
      type_or_value: '90'
    - item_type: preproc_def
      name: MAX_MIN_NCACHE_TTL
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
      type_or_value: '90'
    - item_type: preproc_def
      name: MAX_MAX_NCACHE_TTL
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
      type_or_value: 7 * 24 * 3600
    - item_type: preproc_def
      name: BIND_CHECK_PLUGINS
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: BIND_CHECK_ALGORITHMS
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
      type_or_value: '0x00000002'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CFG_PCTX_SKIP
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: CFG_PCTX_NODEPRECATED
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: CFG_PCTX_NOOBSOLETE
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: CFG_PCTX_NOEXPERIMENTAL
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: CFG_PCTX_ALLCONFIGS
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: CFG_ADDR_V4OK
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: CFG_ADDR_V4PREFIXOK
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: CFG_ADDR_V6OK
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: CFG_ADDR_WILDOK
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: CFG_ADDR_PORTOK
      pos:
        line_end: 287
        line_start: 286
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: CFG_ADDR_TLSOK
      pos:
        line_end: 288
        line_start: 287
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: CFG_ADDR_TRAILINGOK
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: CFG_ADDR_MASK
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (CFG_ADDR_V6OK | CFG_ADDR_V4OK)
    - item_type: preproc_def
      name: CFG_LEXOPT_QSTRING
      pos:
        line_end: 354
        line_start: 353
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (ISC_LEXOPT_QSTRING | ISC_LEXOPT_QSTRINGMULTILINE)
    - item_type: preproc_def
      name: CFG_LOG_NEAR
      pos:
        line_end: 576
        line_start: 575
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000001 '
    - item_type: preproc_def
      name: CFG_LOG_BEFORE
      pos:
        line_end: 577
        line_start: 576
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000002 '
    - item_type: preproc_def
      name: CFG_LOG_NOPREP
      pos:
        line_end: 578
        line_start: 577
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: '0x00000004 '
    structs:
    - fields:
      - name: (*f)(void *closure, const char *text, int textlen)
        type: void
      - name: '*closure'
        type: void
      - name: indent
        type: int
      - name: flags
        type: int
      item_type: struct
      name: cfg_printer
      pos:
        line_end: 120
        line_start: 115
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*name'
        type: char
      - name: '*type'
        type: cfg_type_t
      - name: flags
        type: unsigned int
      item_type: struct
      name: cfg_clausedef
      pos:
        line_end: 127
        line_start: 123
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*name'
        type: char
      - name: '*type'
        type: cfg_type_t
      - name: flags
        type: unsigned int
      item_type: struct
      name: cfg_tuplefielddef
      pos:
        line_end: 134
        line_start: 130
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*name'
        type: char
      - name: parse
        type: cfg_parsefunc_t
      - name: print
        type: cfg_printfunc_t
      - name: doc
        type: cfg_docfunc_t
      - name: '*rep'
        type: cfg_rep_t
      - name: '*of'
        type: void
      item_type: struct
      name: cfg_type
      pos:
        line_end: 144
        line_start: 137
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*name'
        type: char
      - name: '*type'
        type: cfg_type_t
      item_type: struct
      name: keyword_type_t
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*id'
        type: cfg_obj_t
      - name: '*const *clausesets'
        type: cfg_clausedef_t
      - name: '*symtab'
        type: isc_symtab_t
      item_type: struct
      name: cfg_map
      pos:
        line_end: 159
        line_start: 152
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: address
        type: isc_netaddr_t
      - name: prefixlen
        type: unsigned int
      item_type: struct
      name: cfg_netprefix
      pos:
        line_end: 166
        line_start: 163
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*name'
        type: char
      - name: free
        type: cfg_freefunc_t
      item_type: struct
      name: cfg_rep
      pos:
        line_end: 174
        line_start: 171
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*type'
        type: cfg_type_t
      - name: value
        type: "union {\n\t\tuint32_t\t uint32;\n\t\tuint64_t\t uint64;\n\t\tisc_textregion_t
          string; /*%< null terminated, too */\n\t\tbool\t\t boolean;\n\t\tcfg_map_t\t
          map;\n\t\tcfg_list_t\t list;\n\t\tcfg_obj_t      **tuple;\n\t\tisc_sockaddr_t\t
          sockaddr;\n\t\tstruct {\n\t\t\tisc_sockaddr_t\t sockaddr;\n\t\t\tisc_textregion_t
          tls;\n\t\t} sockaddrtls;\n\t\tcfg_netprefix_t\t  netprefix;\n\t\tisccfg_duration_t
          duration;\n\t}"
      - name: references
        type: isc_refcount_t
      - name: '*file'
        type: char
      - name: line
        type: unsigned int
      - name: '*pctx'
        type: cfg_parser_t
      item_type: struct
      name: cfg_obj
      pos:
        line_end: 203
        line_start: 181
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*obj'
        type: cfg_obj_t
      - name: (cfg_listelt_t)
        type: ISC_LINK
      item_type: struct
      name: cfg_listelt
      pos:
        line_end: 209
        line_start: 206
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*lexer'
        type: isc_lex_t
      - name: errors
        type: unsigned int
      - name: warnings
        type: unsigned int
      - name: token
        type: isc_token_t
      - name: seen_eof
        type: bool
      - name: ungotten
        type: bool
      - name: '*open_files'
        type: cfg_obj_t
      - name: '*closed_files'
        type: cfg_obj_t
      - name: '*buf_name'
        type: char
      - name: line
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: callback
        type: cfg_parsecallback_t
      - name: '*callbackarg'
        type: void
      item_type: struct
      name: cfg_parser
      pos:
        line_end: 269
        line_start: 212
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    typedefs:
    - item_type: typedef
      name: (cfg_listelt_t)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - item_type: typedef
      name: "(*cfg_parsefunc_t)(cfg_parser_t *, const cfg_type_t *type,\n\t\t\t\t\tcfg_obj_t
        **)"
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - item_type: typedef
      name: (*cfg_printfunc_t)(cfg_printer_t *, const cfg_obj_t *)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: void
    - item_type: typedef
      name: (*cfg_docfunc_t)(cfg_printer_t *, const cfg_type_t *)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: void
    - item_type: typedef
      name: (*cfg_freefunc_t)(cfg_parser_t *, cfg_obj_t *)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/kaspconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/aclconf.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (dns_acl_t)
        type: ISC_LIST
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: cfg_aclconfctx
      pos:
        line_end: 29
        line_start: 22
        source_file: /src/bind9/lib/isccfg/include/isccfg/aclconf.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/namedconf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CFG_LIST_FOREACH
  source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CFG_PRINTER_XKEY
      pos:
        line_end: 513
        line_start: 512
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: CFG_PRINTER_ONELINE
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: CFG_PRINTER_ACTIVEONLY
      pos:
        line_end: 519
        line_start: 514
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type_or_value: '0x4 '
    structs: []
    typedefs:
    - item_type: typedef
      name: "(*cfg_parsecallback_t)(const char\t    *clausename,\n\t\t\t\t\t    const
        cfg_obj_t *obj, void *arg)"
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
    - item_type: typedef
      name: "(pluginlist_cb_t)(const cfg_obj_t *config,\n\t\t\t\t      const cfg_obj_t
        *obj,\n\t\t\t\t      const char      *plugin_path,\n\t\t\t\t      const char
        \     *parameters,\n\t\t\t\t      void\t      *callback_data)"
      pos:
        line_end: 592
        line_start: 588
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
    union: []
- function_names:
  - CHECK
  - dns_view_create
  - destroy
  - dns_view_attach
  - dns_view_detach
  - dns_view_weakattach
  - dns_view_weakdetach
  - dns_view_createresolver
  - dns_view_setcache
  - dns_view_iscacheshared
  - dns_view_sethints
  - dns_view_settransports
  - dns_view_setkeyring
  - dns_view_setdynamickeyring
  - dns_view_getdynamickeyring
  - dns_view_restorekeyring
  - dns_view_setdstport
  - dns_view_freeze
  - dns_view_thaw
  - dns_view_addzone
  - dns_view_delzone
  - dns_view_findzone
  - dns_view_find
  - dns_view_simplefind
  - dns_view_findzonecut
  - dns_viewlist_find
  - dns_viewlist_findzone
  - dns_view_load
  - dns_view_asyncload
  - dns_view_gettsig
  - dns_view_gettransport
  - dns_view_getpeertsig
  - dns_view_checksig
  - dns_view_flushcache
  - dns_view_flushname
  - dns_view_flushnode
  - dns_view_freezezones
  - dns_view_initntatable
  - dns_view_getntatable
  - dns_view_initsecroots
  - dns_view_getsecroots
  - dns_view_ntacovers
  - dns_view_issecuredomain
  - dns_view_untrust
  - dns_view_istrusted
  - (&dsset)
  - nz_legacy
  - dns_view_setnewzones
  - dns_view_setnewzonedir
  - dns_view_getnewzonedir
  - dns_view_searchdlz
  - dns_view_getfailttl
  - dns_view_setfailttl
  - dns_view_saventa
  - TSTR
  - TLEN
  - dns_view_loadnta
  - dns_view_setviewcommit
  - dns_view_setviewrevert
  - dns_view_staleanswerenabled
  - dns_view_flushonshutdown
  - dns_view_sfd_add
  - dns_view_sfd_del
  - dns_view_sfd_find
  - dns_view_getresolver
  - dns_view_setmaxrrperset
  - dns_view_setmaxtypepername
  - dns_view_setudpsize
  - dns_view_getudpsize
  - dns_view_getdispatchmgr
  - dns_view_addtrustedkey
  - dns_view_apply
  - dns_view_getadb
  - dns_view_setmaxrestarts
  - dns_view_setmaxqueries
  source_file: /src/bind9/lib/dns/view.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_VIEW_DELONLYHASH
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: '111'
    - item_type: preproc_def
      name: DEFAULT_MAX_RESTARTS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DEFAULT_EDNS_BUFSIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: '1232'
    - item_type: preproc_def
      name: UNREACH_HOLD_TIME_INITIAL_SEC
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: ((uint16_t)10)
    - item_type: preproc_def
      name: UNREACH_HOLD_TIME_MAX_SEC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: (UNREACH_HOLD_TIME_INITIAL_SEC << 6)
    - item_type: preproc_def
      name: UNREACH_BACKOFF_ELIGIBLE_SEC
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: ((uint16_t)120)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECKNAMESFAIL
  - DNS_LCTX_VALID
  - DNS_AS_STR
  - LCTX_MANYERRORS
  - GETTOKENERR
  - GETTOKEN
  - WARNUNEXPECTEDEOF
  - MANYERRS
  - SETRESULT
  - LOGITFILE
  - LOGIT
  - dns_master_isprimary
  - gettoken
  - dns_loadctx_attach
  - dns_loadctx_detach
  - incctx_destroy
  - loadctx_destroy
  - incctx_create
  - loadctx_create
  - nibbles
  - genname
  - generate
  - limit_ttl
  - check_ns
  - check_wildcard
  - openfile_text
  - find_free_name
  - load_text
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - pushfile
  - read_and_check
  - load_header
  - openfile_raw
  - load_raw
  - dns_master_loadfile
  - load
  - load_done
  - dns_master_loadfileasync
  - dns_master_loadstream
  - dns_master_loadbuffer
  - grow_rdatalist
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - grow_rdata
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - resign_fromlist
  - commit
  - is_glue
  - dns_loadctx_cancel
  - dns_master_initrawheader
  source_file: /src/bind9/lib/dns/master.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RDLSZ
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '32'
    - item_type: preproc_def
      name: RDSZ
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '512'
    - item_type: preproc_def
      name: NBUFS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MAXWIRESZ
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '255'
    - item_type: preproc_def
      name: TSIZ
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: MINTSIZ
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: DNS_RDATA_MAXLENGTH
    - item_type: preproc_def
      name: TOKENSIZ
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: (8 * 1024)
    - item_type: preproc_def
      name: DNS_MASTER_LHS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: DNS_MASTER_RHS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: MINTSIZ
    - item_type: preproc_def
      name: DNS_LCTX_MAGIC
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: ISC_MAGIC('L', 'c', 't', 'x')
    - item_type: preproc_def
      name: COMMITALL
      pos:
        line_end: 276
        line_start: 256
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: "do {                                                                   \\\n\t\tresult
        = commit(callbacks, lctx, &current_list, ictx->current, \\\n\t\t\t\tsource,
        ictx->current_line);                   \\\n\t\tif (MANYERRS(lctx, result))
        {                                  \\\n\t\t\tSETRESULT(lctx, result);                               \\\n\t\t}
        else if (result != ISC_R_SUCCESS)                            \\\n\t\t\tgoto
        insist_and_cleanup;                               \\\n\t\tresult = commit(callbacks,
        lctx, &glue_list, ictx->glue,       \\\n\t\t\t\tsource, ictx->glue_line);
        \                     \\\n\t\tif (MANYERRS(lctx, result)) {                                  \\\n\t\t\tSETRESULT(lctx,
        result);                               \\\n\t\t} else if (result != ISC_R_SUCCESS)
        \                           \\\n\t\t\tgoto insist_and_cleanup;                               \\\n\t\trdcount
        = 0;                                                   \\\n\t\trdlcount =
        0;                                                  \\\n\t\tisc_buffer_init(&target,
        target_mem, target_size);             \\\n\t\trdcount_save = rdcount;                                        \\\n\t\trdlcount_save
        = rdlcount;                                      \\\n\t} while (0)"
    - item_type: preproc_def
      name: EXPECTEOL
      pos:
        line_end: 301
        line_start: 286
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: "do {                                                   \\\n\t\tGETTOKEN(lctx->lex,
        0, &token, true);          \\\n\t\tif (token.type != isc_tokentype_eol) {
        \        \\\n\t\t\tisc_lex_ungettoken(lctx->lex, &token); \\\n\t\t\tresult
        = DNS_R_EXTRATOKEN;             \\\n\t\t\tif (MANYERRS(lctx, result)) {          \\\n\t\t\t\tSETRESULT(lctx,
        result);       \\\n\t\t\t\tLOGIT(result);                 \\\n\t\t\t\tread_till_eol
        = true;          \\\n\t\t\t\tbreak;                         \\\n\t\t\t} else
        if (result != ISC_R_SUCCESS)    \\\n\t\t\t\tgoto log_and_cleanup;          \\\n\t\t}
        \                                             \\\n\t} while (0)"
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: format
        type: dns_masterformat_t
      - name: '*callbacks'
        type: dns_rdatacallbacks_t
      - name: done
        type: dns_loaddonefunc_t
      - name: '*done_arg'
        type: void
      - name: (*openfile)(dns_loadctx_t *lctx, const char *filename)
        type: isc_result_t
      - name: (*load)(dns_loadctx_t *lctx)
        type: isc_result_t
      - name: maxttl
        type: uint32_t
      - name: '*lex'
        type: isc_lex_t
      - name: keep_lex
        type: bool
      - name: options
        type: unsigned int
      - name: ttl_known
        type: bool
      - name: default_ttl_known
        type: bool
      - name: warn_1035
        type: bool
      - name: warn_tcr
        type: bool
      - name: warn_sigexpired
        type: bool
      - name: seen_include
        type: bool
      - name: ttl
        type: uint32_t
      - name: default_ttl
        type: uint32_t
      - name: zclass
        type: dns_rdataclass_t
      - name: fixed_top
        type: dns_fixedname_t
      - name: '*top'
        type: dns_name_t
      - name: '*f'
        type: FILE
      - name: first
        type: bool
      - name: header
        type: dns_masterrawheader_t
      - name: result
        type: isc_result_t
      - name: references
        type: isc_refcount_t
      - name: canceled
        type: atomic_bool
      - name: '*inc'
        type: dns_incctx_t
      - name: resign
        type: uint32_t
      - name: now
        type: isc_stdtime_t
      - name: include_cb
        type: dns_masterincludecb_t
      - name: '*include_arg'
        type: void
      item_type: struct
      name: dns_loadctx
      pos:
        line_end: 150
        line_start: 99
        source_file: /src/bind9/lib/dns/master.c
    - fields:
      - name: '*parent'
        type: dns_incctx_t
      - name: '*origin'
        type: dns_name_t
      - name: '*current'
        type: dns_name_t
      - name: '*glue'
        type: dns_name_t
      - name: fixed[NBUFS]
        type: dns_fixedname_t
      - name: in_use[NBUFS]
        type: unsigned int
      - name: glue_in_use
        type: int
      - name: current_in_use
        type: int
      - name: origin_in_use
        type: int
      - name: origin_changed
        type: bool
      - name: drop
        type: bool
      - name: glue_line
        type: unsigned int
      - name: current_line
        type: unsigned int
      item_type: struct
      name: dns_incctx
      pos:
        line_end: 166
        line_start: 152
        source_file: /src/bind9/lib/dns/master.c
    typedefs:
    - item_type: typedef
      name: (dns_rdatalist_t)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bind9/lib/dns/master.c
    union: []
- function_names:
  - VALID_FWDTABLE
  - dns_fwdtable_create
  - new_forwarders
  - dns_fwdtable_addfwd
  - dns_fwdtable_add
  - dns_fwdtable_find
  - dns_fwdtable_destroy
  - destroy_forwarders
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  source_file: /src/bind9/lib/dns/forward.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FWDTABLEMAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/forward.c
      type_or_value: ISC_MAGIC('F', 'w', 'd', 'T')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*table'
        type: dns_qpmulti_t
      item_type: struct
      name: dns_fwdtable
      pos:
        line_end: 32
        line_start: 27
        source_file: /src/bind9/lib/dns/forward.c
    typedefs: []
    union: []
- function_names:
  - FAIL
  - CHECK
  - decode_uint32
  - encode_uint32
  - dns_db_createsoatuple
  - POS_VALID
  - POS_INVALIDATE
  - JOURNAL_EMPTY
  - DNS_JOURNAL_VALID
  - journal_pos_decode
  - journal_pos_encode
  - journal_header_decode
  - journal_header_encode
  - journal_seek
  - journal_read
  - journal_write
  - journal_fsync
  - journal_read_xhdr
  - journal_write_xhdr
  - journal_read_rrhdr
  - journal_file_create
  - journal_open
  - dns_journal_open
  - ixfr_order
  - maybe_fixup_xhdr
  - journal_next
  - index_find
  - index_add
  - index_invalidate
  - journal_find
  - dns_journal_begin_transaction
  - dns_journal_writediff
  - dns_journal_commit
  - dns_journal_write_transaction
  - dns_journal_destroy
  - dns_journal_rollforward
  - dns_journal_print
  - dns_journal_empty
  - dns_journal_recovered
  - dns_journal_first_serial
  - dns_journal_last_serial
  - dns_journal_set_sourceserial
  - dns_journal_get_sourceserial
  - size_buffer
  - dns_journal_iter_init
  - dns_journal_first_rr
  - read_one_rr
  - dns_journal_next_rr
  - dns_journal_current_rr
  - get_name_diff
  - DNS_RDATASETITER_FOREACH
  - (&rdataset)
  - rdata_order
  - dns_diff_subtract
  - diff_namespace
  - dns_db_diff
  - dns_db_diffx
  - rrcount
  - check_delta
  - dns_journal_compact
  - index_to_disk
  source_file: /src/bind9/lib/dns/journal.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: JOURNAL_SERIALSET
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/bind9/lib/dns/journal.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: JOURNAL_HEADER_SIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/bind9/lib/dns/journal.c
      type_or_value: '64 '
    - item_type: preproc_def
      name: DNS_JOURNAL_MAGIC
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/bind9/lib/dns/journal.c
      type_or_value: ISC_MAGIC('J', 'O', 'U', 'R')
    structs:
    - fields:
      - name: serial[4]
        type: unsigned char
      - name: offset[4]
        type: unsigned char
      item_type: struct
      name: journal_rawpos_t
      pos:
        line_end: 185
        line_start: 175
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: size[4]
        type: unsigned char
      - name: count[4]
        type: unsigned char
      - name: serial0[4]
        type: unsigned char
      - name: serial1[4]
        type: unsigned char
      item_type: struct
      name: journal_rawxhdr_t
      pos:
        line_end: 229
        line_start: 224
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: size[4]
        type: unsigned char
      - name: serial0[4]
        type: unsigned char
      - name: serial1[4]
        type: unsigned char
      item_type: struct
      name: journal_rawxhdr_ver1_t
      pos:
        line_end: 239
        line_start: 235
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: size[4]
        type: unsigned char
      item_type: struct
      name: journal_rawrrhdr_t
      pos:
        line_end: 247
        line_start: 245
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: serial
        type: uint32_t
      - name: offset
        type: off_t
      item_type: struct
      name: journal_pos_t
      pos:
        line_end: 255
        line_start: 252
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: format[16]
        type: unsigned char
      - name: begin
        type: journal_pos_t
      - name: end
        type: journal_pos_t
      - name: index_size
        type: uint32_t
      - name: sourceserial
        type: uint32_t
      - name: serialset
        type: bool
      item_type: struct
      name: journal_header_t
      pos:
        line_end: 267
        line_start: 260
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: size
        type: uint32_t
      - name: count
        type: uint32_t
      - name: serial0
        type: uint32_t
      - name: serial1
        type: uint32_t
      item_type: struct
      name: journal_xhdr_t
      pos:
        line_end: 277
        line_start: 272
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: size
        type: uint32_t
      item_type: struct
      name: journal_rrhdr_t
      pos:
        line_end: 284
        line_start: 282
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: state
        type: journal_state_t
      - name: xhdr_version
        type: xhdr_version_t
      - name: header_ver1
        type: bool
      - name: recovered
        type: bool
      - name: '*filename'
        type: char
      - name: '*fp'
        type: FILE
      - name: offset
        type: off_t
      - name: curxhdr
        type: journal_xhdr_t
      - name: header
        type: journal_header_t
      - name: '*rawindex'
        type: unsigned char
      - name: '*index'
        type: journal_pos_t
      - name: x
        type: "struct {\n\t\tunsigned int n_soa;   /*%< Number of SOAs seen */\n\t\tunsigned
          int n_rr;    /*%< Number of RRs to write */\n\t\tjournal_pos_t pos[2]; /*%<
          Begin/end position */\n\t}"
      - name: it
        type: "struct {\n\t\t/* These define the part of the journal we iterate over.
          */\n\t\tjournal_pos_t bpos; /*%< Position before first, */\n\t\tjournal_pos_t
          cpos; /*%< before current, */\n\t\tjournal_pos_t epos; /*%< and after last
          transaction */\n\t\t/* The rest is iterator state. */\n\t\tuint32_t current_serial;
          /*%< Current SOA serial */\n\t\tisc_buffer_t source;\t /*%< Data from disk
          */\n\t\tisc_buffer_t target;\t /*%< Data from _fromwire check */\n\t\tdns_decompress_t
          dctx;\t /*%< Dummy decompression ctx */\n\t\tdns_name_t name;\t /*%< Current
          domain name */\n\t\tdns_rdata_t rdata;\t /*%< Current rdata */\n\t\tuint32_t
          ttl;\t\t /*%< Current TTL */\n\t\tunsigned int xsize;\t /*%< Size of transaction
          data */\n\t\tunsigned int xpos;\t /*%< Current position in it */\n\t\tisc_result_t
          result;\t /*%< Result of last call */\n\t}"
      item_type: struct
      name: dns_journal
      pos:
        line_end: 357
        line_start: 314
        source_file: /src/bind9/lib/dns/journal.c
    typedefs:
    - item_type: typedef
      name: xhdr_version_t
      pos:
        line_end: 196
        line_start: 193
        source_file: /src/bind9/lib/dns/journal.c
    - item_type: typedef
      name: journal_state_t
      pos:
        line_end: 312
        line_start: 306
        source_file: /src/bind9/lib/dns/journal.c
    union:
    - fields:
      - name: h
        type: "struct {\n\t\t/*% File format version ID. */\n\t\tunsigned char format[16];\n\t\t/*%
          Position of the first addressable transaction */\n\t\tjournal_rawpos_t begin;\n\t\t/*%
          Position of the next (yet nonexistent) transaction. */\n\t\tjournal_rawpos_t
          end;\n\t\t/*% Number of index entries following the header. */\n\t\tunsigned
          char index_size[4];\n\t\t/*% Source serial number. */\n\t\tunsigned char
          sourceserial[4];\n\t\tunsigned char flags;\n\t}"
      - name: pad[JOURNAL_HEADER_SIZE]
        type: unsigned char
      item_type: union
      name: journal_rawheader_t
      pos:
        line_end: 218
        line_start: 202
        source_file: /src/bind9/lib/dns/journal.c
- function_names:
  - REGION_TO_GBUFFER
  - GBUFFER_TO_REGION
  - gssapi_create_signverify_ctx
  - gssapi_destroy_signverify_ctx
  - gssapi_adddata
  - gssapi_sign
  - gssapi_verify
  - gssapi_compare
  - gssapi_generate
  - gssapi_isprivate
  - gssapi_destroy
  - gssapi_restore
  - gssapi_dump
  - dst__gssapi_init
  source_file: /src/bind9/lib/dns/gssapi_link.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: INITIAL_BUFFER_SIZE
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/gssapi_link.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: BUFFER_EXTRA
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/gssapi_link.c
      type_or_value: '1024'
    structs:
    - fields:
      - name: '*buffer'
        type: isc_buffer_t
      item_type: struct
      name: dst_gssapi_signverifyctx
      pos:
        line_end: 58
        line_start: 56
        source_file: /src/bind9/lib/dns/gssapi_link.c
    typedefs: []
    union: []
- function_names:
  - LOG_STATS
  - TRACE
  - dns_qpmulti_ref
  - dns_qpmulti_unref
  - dns_qpmulti_attach
  - dns_qpmulti_detach
  - ENCODE_NAMESPACE
  - DECODE_NAMESPACE
  - dns__qp_initialize
  - dns__qp_shutdown
  - dns_qpkey_fromname
  - dns_qpkey_toname
  - qpkey_compare
  - chunk_size_raw
  - chunk_get_raw
  - chunk_free_raw
  - chunk_shrink_raw
  - write_protect
  - chunk_get_raw
  - chunk_free_raw
  - chunk_shrink_raw
  - cells_immutable
  - next_capacity
  - chunk_alloc
  - realloc_chunk_arrays
  - alloc_slow
  - alloc_reset
  - alloc_twigs
  - free_twigs
  - attach_twigs
  - chunk_usage
  - chunk_discount
  - chunk_free
  - recycle
  - reclaim_chunks_cb
  - reclaim_chunks
  - marksweep_chunks
  - evacuate
  - make_root_mutable
  - make_twigs_mutable
  - compact_recursive
  - compact
  - dns_qp_compact
  - squash_twigs
  - dns_qp_memusage
  - dns_qpmulti_memusage
  - dns_qp_gctime
  - transaction_open
  - dns_qpmulti_write
  - dns_qpmulti_update
  - dns_qpmulti_commit
  - dns_qpmulti_rollback
  - reader_open
  - dns_qpmulti_query
  - dns_qpread_destroy
  - dns_qpmulti_snapshot
  - dns_qpsnap_destroy
  - dns_qp_create
  - dns_qpmulti_create
  - destroy_guts
  - dns_qp_destroy
  - qpmulti_free_mem
  - qpmulti_destroy_guts_cb
  - dns_qpmulti_destroy
  - dns_qp_insert
  - dns_qp_deletekey
  - dns_qp_deletename
  - maybe_set_name
  - dns_qpchain_init
  - dns_qpchain_length
  - dns_qpchain_node
  - dns_qpiter_init
  - last_twig
  - iterate
  - dns_qpiter_next
  - dns_qpiter_prev
  - dns_qpiter_current
  - dns_qp_getkey
  - dns_qp_getname
  - add_link
  - prevleaf
  - greatest_leaf
  - anyleaf
  - twig_offset
  - fix_iterator
  - fix_chain
  - dns_qp_lookup
  source_file: /src/bind9/lib/dns/qp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_QP_LOG_STATS_LEVEL
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_QP_TRACE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PRItime
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '" %" PRIu64 " ns "'
    - item_type: preproc_def
      name: NAME_OFFSET
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BYTE_VALUES
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: (UINT8_MAX + 1)
    - item_type: preproc_def
      name: QPKEY_EQUAL
      pos:
        line_end: 363
        line_start: 362
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: (~(size_t)0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - IRS_RESCONF_VALID
  - CHECK
  - eatline
  - eatwhite
  - getword
  - add_server
  - create_addr
  - resconf_parsenameserver
  - resconf_parsedomain
  - free_search
  - add_search
  - resconf_parsesearch
  - resconf_parsesortlist
  - resconf_optionnumber
  - resconf_parseoption
  - irs_resconf_load
  - irs_resconf_destroy
  - irs_resconf_getnameservers
  - irs_resconf_getsearchlist
  - irs_resconf_getndots
  - irs_resconf_getattempts
  - irs_resconf_gettimeout
  source_file: /src/bind9/lib/dns/resconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IRS_RESCONF_MAGIC
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/resconf.c
      type_or_value: ISC_MAGIC('R', 'E', 'S', 'c')
    - item_type: preproc_def
      name: NS_INADDRSZ
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/resconf.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NS_IN6ADDRSZ
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/resconf.c
      type_or_value: '16'
    - item_type: preproc_def
      name: RESCONFMAXNAMESERVERS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/dns/resconf.c
      type_or_value: '3U   '
    - item_type: preproc_def
      name: RESCONFMAXLINELEN
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/resconf.c
      type_or_value: '256U '
    - item_type: preproc_def
      name: RESCONFMAXSORTLIST
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/dns/resconf.c
      type_or_value: '10U  '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: nameservers
        type: isc_sockaddrlist_t
      - name: numns
        type: unsigned int
      - name: '*domainname'
        type: char
      - name: searchnxt
        type: uint8_t
      - name: searchlist
        type: irs_resconf_searchlist_t
      - name: sortlist[RESCONFMAXSORTLIST]
        type: "struct {\n\t\tisc_netaddr_t addr;\n\t\t/*% mask has a non-zero 'family'
          if set */\n\t\tisc_netaddr_t mask;\n\t}"
      - name: sortlistnxt
        type: uint8_t
      - name: resdebug
        type: uint8_t
      - name: ndots
        type: uint8_t
      - name: attempts
        type: uint8_t
      - name: timeout
        type: uint8_t
      item_type: struct
      name: irs_resconf
      pos:
        line_end: 119
        line_start: 88
        source_file: /src/bind9/lib/dns/resconf.c
    typedefs: []
    union: []
- function_names:
  - DNS_STATS_VALID
  - dns_stats_attach
  - dns_stats_detach
  - create_stats
  - dns_generalstats_create
  - dns_rdatatypestats_create
  - dns_rdatasetstats_create
  - dns_opcodestats_create
  - dns_rcodestats_create
  - dns_dnssecsignstats_create
  - dns_generalstats_increment
  - rdatatype2counter
  - dns_rdatatypestats_increment
  - update_rdatasetstats
  - dns_rdatasetstats_increment
  - dns_rdatasetstats_decrement
  - dns_opcodestats_increment
  - dns_rcodestats_increment
  - dns_dnssecsignstats_increment
  - dns_dnssecsignstats_clear
  - dns_generalstats_dump
  - dump_rdentry
  - rdatatype_dumpcb
  - dns_rdatatypestats_dump
  - rdataset_dumpcb
  - dns_rdatasetstats_dump
  - dnssec_dumpcb
  - dnssec_statsdump
  - dns_dnssecsignstats_dump
  - opcode_dumpcb
  - rcode_dumpcb
  - dns_opcodestats_dump
  - dns_rcodestats_dump
  source_file: /src/bind9/lib/dns/stats.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_STATS_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: ISC_MAGIC('D', 's', 't', 't')
    - item_type: preproc_def
      name: RDTYPECOUNTER_MAXTYPE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '0x00ff'
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXRRSET
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: RDTYPECOUNTER_STALE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: RDTYPECOUNTER_ANCIENT
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXDOMAIN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: ((1 << 9) | (1 << 10))
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXDOMAIN_STALE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXDOMAIN_ANCIENT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RDTYPECOUNTER_MAXVAL
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '0x0602'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: type
        type: dns_statstype_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*counters'
        type: isc_stats_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_stats
      pos:
        line_end: 116
        line_start: 110
        source_file: /src/bind9/lib/dns/stats.c
    - fields:
      - name: fn
        type: dns_rdatatypestats_dumper_t
      - name: '*arg'
        type: void
      item_type: struct
      name: rdatadumparg
      pos:
        line_end: 121
        line_start: 118
        source_file: /src/bind9/lib/dns/stats.c
    - fields:
      - name: fn
        type: dns_opcodestats_dumper_t
      - name: '*arg'
        type: void
      item_type: struct
      name: opcodedumparg
      pos:
        line_end: 126
        line_start: 123
        source_file: /src/bind9/lib/dns/stats.c
    - fields:
      - name: fn
        type: dns_rcodestats_dumper_t
      - name: '*arg'
        type: void
      item_type: struct
      name: rcodedumparg
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/bind9/lib/dns/stats.c
    - fields:
      - name: fn
        type: dns_dnssecsignstats_dumper_t
      - name: '*arg'
        type: void
      item_type: struct
      name: dnssecsigndumparg
      pos:
        line_end: 135
        line_start: 132
        source_file: /src/bind9/lib/dns/stats.c
    typedefs:
    - item_type: typedef
      name: dns_statstype_t
      pos:
        line_end: 42
        line_start: 35
        source_file: /src/bind9/lib/dns/stats.c
    union: []
- function_names:
  - RETERR
  - str_totext
  - maybe_numeric
  - dns_mnemonic_fromtext
  - dns_mnemonic_totext
  - dns_rcode_fromtext
  - dns_rcode_totext
  - dns_tsigrcode_fromtext
  - dns_tsigrcode_totext
  - dns_cert_fromtext
  - dns_cert_totext
  - dns_secalg_fromtext
  - dns_secalg_totext
  - dns_secalg_format
  - dst_privatedns_fromtext
  - dns_privatedns_totext
  - dns_privatedns_format
  - dst_privateoid_fromtext
  - dns_privateoid_totext
  - dns_privateoid_format
  - dns_secproto_fromtext
  - dns_secproto_totext
  - dns_hashalg_fromtext
  - dns_keyflags_fromtext
  - dns_dsdigest_fromtext
  - dns_dsdigest_totext
  - dns_dsdigest_format
  - dns_rdataclass_fromtext
  - COMPARE
  - dns_rdataclass_totext
  - dns_rdataclass_tounknowntext
  - dns_rdataclass_format
  - dst_algorithm_fromtext
  - dst_algorithm_totext
  - dst_algorithm_format
  source_file: /src/bind9/lib/dns/rcode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMBERSIZE
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: 'sizeof("037777777777") '
    - item_type: preproc_def
      name: TOTEXTONLY
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SENTINEL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: '{ 0, NULL, 0 }'
    - item_type: preproc_def
      name: RCODENAMES
      pos:
        line_end: 73
        line_start: 55
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ dns_rcode_noerror, \"NOERROR\", 0 },           \\\n\t\t{ dns_rcode_formerr,
        \"FORMERR\", 0 },   \\\n\t\t{ dns_rcode_servfail, \"SERVFAIL\", 0 }, \\\n\t\t{
        dns_rcode_nxdomain, \"NXDOMAIN\", 0 }, \\\n\t\t{ dns_rcode_notimp, \"NOTIMP\",
        0 },     \\\n\t\t{ dns_rcode_refused, \"REFUSED\", 0 },   \\\n\t\t{ dns_rcode_yxdomain,
        \"YXDOMAIN\", 0 }, \\\n\t\t{ dns_rcode_yxrrset, \"YXRRSET\", 0 },   \\\n\t\t{
        dns_rcode_nxrrset, \"NXRRSET\", 0 },   \\\n\t\t{ dns_rcode_notauth, \"NOTAUTH\",
        0 },   \\\n\t\t{ dns_rcode_notzone, \"NOTZONE\", 0 },   \\\n\t\t{ 11, \"RESERVED11\",
        TOTEXTONLY },      \\\n\t\t{ 12, \"RESERVED12\", TOTEXTONLY },      \\\n\t\t{
        13, \"RESERVED13\", TOTEXTONLY },      \\\n\t\t{ 14, \"RESERVED14\", TOTEXTONLY
        },      \\\n\t\t{ 15, \"RESERVED15\", TOTEXTONLY },"
    - item_type: preproc_def
      name: ERCODENAMES
      pos:
        line_end: 78
        line_start: 74
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ dns_rcode_badvers, \"BADVERS\", 0 }, \\\n\t\t{ dns_rcode_badcookie,
        \"BADCOOKIE\", 0 }, SENTINEL"
    - item_type: preproc_def
      name: TSIGRCODENAMES
      pos:
        line_end: 88
        line_start: 79
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ dns_tsigerror_badsig, \"BADSIG\", 0 },           \\\n\t\t{
        dns_tsigerror_badkey, \"BADKEY\", 0 },   \\\n\t\t{ dns_tsigerror_badtime,
        \"BADTIME\", 0 }, \\\n\t\t{ dns_tsigerror_badmode, \"BADMODE\", 0 }, \\\n\t\t{
        dns_tsigerror_badname, \"BADNAME\", 0 }, \\\n\t\t{ dns_tsigerror_badalg, \"BADALG\",
        0 },   \\\n\t\t{ dns_tsigerror_badtrunc, \"BADTRUNC\", 0 }, SENTINEL"
    - item_type: preproc_def
      name: CERTNAMES
      pos:
        line_end: 96
        line_start: 91
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ 1, \"PKIX\", 0 }, { 2, \"SPKI\", 0 }, { 3, \"PGP\", 0 },                \\\n\t\t{
        4, \"IPKIX\", 0 }, { 5, \"ISPKI\", 0 }, { 6, \"IPGP\", 0 },     \\\n\t\t{
        7, \"ACPKIX\", 0 }, { 8, \"IACPKIX\", 0 }, { 253, \"URI\", 0 }, \\\n\t\t{
        254, \"OID\", 0 }, SENTINEL"
    - item_type: preproc_def
      name: SECALGNAMES
      pos:
        line_end: 118
        line_start: 99
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ DNS_KEYALG_RSAMD5, \"RSAMD5\", 0 },                     \\\n\t\t{
        DNS_KEYALG_DH_DEPRECATED, \"DH\", 0 },          \\\n\t\t{ DNS_KEYALG_DSA,
        \"DSA\", 0 },                   \\\n\t\t{ DNS_KEYALG_RSASHA1, \"RSASHA1\",
        0 },           \\\n\t\t{ DNS_KEYALG_NSEC3DSA, \"NSEC3DSA\", 0 },         \\\n\t\t{
        DNS_KEYALG_NSEC3RSASHA1, \"NSEC3RSASHA1\", 0 }, \\\n\t\t{ DNS_KEYALG_RSASHA256,
        \"RSASHA256\", 0 },       \\\n\t\t{ DNS_KEYALG_RSASHA512, \"RSASHA512\", 0
        },       \\\n\t\t{ DNS_KEYALG_ECCGOST, \"ECCGOST\", 0 },           \\\n\t\t{
        DNS_KEYALG_ECDSA256, \"ECDSAP256SHA256\", 0 },  \\\n\t\t{ DNS_KEYALG_ECDSA256,
        \"ECDSA256\", 0 },         \\\n\t\t{ DNS_KEYALG_ECDSA384, \"ECDSAP384SHA384\",
        0 },  \\\n\t\t{ DNS_KEYALG_ECDSA384, \"ECDSA384\", 0 },         \\\n\t\t{
        DNS_KEYALG_ED25519, \"ED25519\", 0 },           \\\n\t\t{ DNS_KEYALG_ED448,
        \"ED448\", 0 },               \\\n\t\t{ DNS_KEYALG_INDIRECT, \"INDIRECT\",
        0 },         \\\n\t\t{ DNS_KEYALG_PRIVATEDNS, \"PRIVATEDNS\", 0 },     \\\n\t\t{
        DNS_KEYALG_PRIVATEOID, \"PRIVATEOID\", 0 }, SENTINEL"
    - item_type: preproc_def
      name: PRIVATEOIDS
      pos:
        line_end: 130
        line_start: 127
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ DST_ALG_RSASHA256PRIVATEOID, \"RSASHA256OID\", 0 }, \\\n\t\t{
        DST_ALG_RSASHA512PRIVATEOID, \"RSASHA512OID\", 0 },"
    - item_type: preproc_def
      name: SECPROTONAMES
      pos:
        line_end: 137
        line_start: 133
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ 0, \"NONE\", 0 }, { 1, \"TLS\", 0 }, { 2, \"EMAIL\", 0 },
        \            \\\n\t\t{ 3, \"DNSSEC\", 0 }, { 4, \"IPSEC\", 0 }, { 255, \"ALL\",
        0 }, \\\n\t\tSENTINEL"
    - item_type: preproc_def
      name: HASHALGNAMES
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: '{ 1, "SHA-1", 0 }, SENTINEL'
    - item_type: preproc_def
      name: DSDIGESTPRIVATENAMES
      pos:
        line_end: 152
        line_start: 145
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ DNS_DSDIGEST_SHA256PRIVATE, \"SHA-256-PRIVATE\", 0 },         \\\n\t\t{
        DNS_DSDIGEST_SHA256PRIVATE, \"SHA256PRIVATE\", 0 },   \\\n\t\t{ DNS_DSDIGEST_SHA384PRIVATE,
        \"SHA-384-PRIVATE\", 0 }, \\\n\t\t{ DNS_DSDIGEST_SHA384PRIVATE, \"SHA384PRIVATE\",
        0 },   \\\n\t\t{ DNS_DSDIGEST_SM3PRIVATE, \"SM3-PRIVATE\", 0 },        \\\n\t\t{
        DNS_DSDIGEST_SM3PRIVATE, \"SM3PRIVATE\", 0 },"
    - item_type: preproc_def
      name: DSDIGESTNAMES
      pos:
        line_end: 167
        line_start: 156
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: "{ DNS_DSDIGEST_SHA1, \"SHA-1\", 0 }, { DNS_DSDIGEST_SHA1, \"SHA1\",
        0 }, \\\n\t\t{ DNS_DSDIGEST_SHA256, \"SHA-256\", 0 },                       \\\n\t\t{
        DNS_DSDIGEST_SHA256, \"SHA256\", 0 },                        \\\n\t\t{ DNS_DSDIGEST_GOST,
        \"GOST\", 0 },                            \\\n\t\t{ DNS_DSDIGEST_SM3, \"SM3\",
        0 },                              \\\n\t\t{ DNS_DSDIGEST_SHA384, \"SHA-384\",
        0 },                       \\\n\t\t{ DNS_DSDIGEST_SHA384, \"SHA384\", 0 },
        \                       \\\n\t\t{ DNS_DSDIGEST_GOST2012, \"GOST-2012\", 0
        },                   \\\n\t\t{ DNS_DSDIGEST_GOST2012, \"GOST2012\", 0 },                    \\\n\t\tDSDIGESTPRIVATENAMES
        SENTINEL"
    structs:
    - fields:
      - name: value
        type: unsigned int
      - name: '*name'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: tbl
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/bind9/lib/dns/rcode.c
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned int
      - name: mask
        type: unsigned int
      item_type: struct
      name: keyflag
      pos:
        line_end: 189
        line_start: 185
        source_file: /src/bind9/lib/dns/rcode.c
    typedefs: []
    union: []
- function_names:
  - is_response
  - RETERR
  - digest_callback
  - inc_stat
  - rdata_compare_wrapper
  - rdataset_to_sortedarray
  - dns_dnssec_keyfromrdata
  - digest_sig
  - dns_dnssec_sign
  - dns_dnssec_verify
  - dns_dnssec_keyactive
  - syncpublish
  - syncdelete
  - is_zone_key
  - dns_dnssec_signmessage
  - dns_dnssec_verifymessage
  - dns_dnssec_selfsigns
  - dns_dnssec_signs
  - DNS_RDATASET_FOREACH
  - dns_dnssec_iszonekey
  - dns_dnssec_haszonekey
  - DNS_RDATASET_FOREACH
  - dns_dnsseckey_create
  - dns_dnsseckey_destroy
  - dns_dnssec_get_hints
  - findmatchingkeys
  - dns_dnssec_findmatchingkeys
  - ISC_LIST_FOREACH
  - addkey
  - mark_active_keys
  - (&sigs)
  - keyfromfile
  - ISC_LIST_FOREACH
  - dns_dnssec_keylistfromrdataset
  - (&keys)
  - dns_dnssec_make_dnskey
  - addrdata
  - delrdata
  - publish_key
  - remove_key
  - exists
  - (&trdataset)
  - add_cds
  - delete_cds
  - dns_dnssec_syncupdate
  - dns_dnssec_syncdelete
  - dns_dnssec_updatekeys
  - dns_dnssec_matchdskey
  - DNS_RDATASET_FOREACH
  source_file: /src/bind9/lib/dns/dnssec.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TYPE_SIGN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/dnssec.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TYPE_VERIFY
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/dnssec.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - REMOVE
  - CREATE
  - INITIAL
  - NONSEC
  - CHECK
  - ignore
  - DNS_RDATASET_FOREACH
  - dns_private_chains
  - (&privateset)
  - (&privateset)
  - (&nsec3paramset)
  - (&privateset)
  - dns_private_totext
  source_file: /src/bind9/lib/dns/private.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - in_rootns
  - DNS_RDATASET_FOREACH
  - check_node
  - DNS_RDATASETITER_FOREACH
  - check_hints
  - DNS_DBITERATOR_FOREACH
  - dns_rootns_create
  - report
  - inrrset
  - DNS_RDATASET_FOREACH
  - changing
  - check_address_records
  - (&rootrrset)
  - (&hintrrset)
  - (&rootrrset)
  - (&rootrrset)
  - (&hintrrset)
  - (&rootrrset)
  - dns_root_checkhints
  - (&rootns)
  - (&hintns)
  source_file: /src/bind9/lib/dns/rootns.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: name
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      - name: time
        type: isc_stdtime_t
      item_type: struct
      name: upcoming
      pos:
        line_end: 90
        line_start: 86
        source_file: /src/bind9/lib/dns/rootns.c
    typedefs: []
    union: []
- function_names:
  - dns_dns64_create
  - dns_dns64_destroy
  - dns_dns64_aaaafroma
  - dns_dns64_append
  - dns_dns64_aaaaok
  - DNS_RDATASET_FOREACH
  - search
  - dns_dns64_findprefix
  - (&outer)
  - (&inner)
  - dns_dns64_apply
  - DNS_RDATASET_FOREACH
  - ISC_LIST_FOREACH
  source_file: /src/bind9/lib/dns/dns64.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: bits[16]
        type: unsigned char
      - name: '*clients'
        type: dns_acl_t
      - name: '*mapped'
        type: dns_acl_t
      - name: '*excluded'
        type: dns_acl_t
      - name: prefixlen
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: (dns_dns64_t)
        type: ISC_LINK
      item_type: struct
      name: dns_dns64
      pos:
        line_end: 50
        line_start: 29
        source_file: /src/bind9/lib/dns/dns64.c
    - fields:
      - name: aa[16]
        type: unsigned char
      - name: ab[16]
        type: unsigned char
      - name: mask[16]
        type: unsigned char
      - name: plen
        type: unsigned int
      item_type: struct
      name: "prefixes[6] = {\n\t{ { 0, 0, 0, 0, 192, 0, 0, 170, 0, 0, 0, 0, 0, 0,
        0, 0 },\n\t  { 0, 0, 0, 0, 192, 0, 0, 171, 0, 0, 0, 0, 0, 0, 0, 0 },\n\t  {
        0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0 },\n\t  32 },\n\t{
        { 0, 0, 0, 0, 0, 192, 0, 0, 0, 170, 0, 0, 0, 0, 0, 0 },\n\t  { 0, 0, 0, 0,
        0, 192, 0, 0, 0, 171, 0, 0, 0, 0, 0, 0 },\n\t  { 0, 0, 0, 0, 0, 255, 255,
        255, 255, 255, 0, 0, 0, 0, 0, 0 },\n\t  40 },\n\t{ { 0, 0, 0, 0, 0, 0, 192,
        0, 0, 0, 170, 0, 0, 0, 0, 0 },\n\t  { 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 171,
        0, 0, 0, 0, 0 },\n\t  { 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0,
        0, 0 },\n\t  48 },\n\t{ { 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 170, 0, 0, 0,
        0 },\n\t  { 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 171, 0, 0, 0, 0 },\n\t  { 0,
        0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 0 },\n\t  56 },\n\t{ {
        0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 170, 0, 0, 0 },\n\t  { 0, 0, 0, 0, 0,
        0, 0, 0, 0, 192, 0, 0, 171, 0, 0, 0 },\n\t  { 0, 0, 0, 0, 0, 0, 0, 0, 255,
        255, 255, 255, 255, 0, 0, 0 },\n\t  64 },\n\t{ { 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 192, 0, 0, 170 },\n\t  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192,
        0, 0, 171 },\n\t  { 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 255, 255, 255, 255
        },\n\t  96 }\n}"
      pos:
        line_end: 321
        line_start: 316
        source_file: /src/bind9/lib/dns/dns64.c
    typedefs: []
    union: []
- function_names:
  - DNS_RPZ_ZONE_VALID
  - DNS_RPZ_ZONES_VALID
  - KEY_IS_IPV4
  - DNS_RPZ_WORD_MASK
  - DNS_RPZ_IP_BIT
  - nmdata_ref
  - nmdata_unref
  - nmdata_attach
  - nmdata_detach
  - dns_rpz_type2str
  - dns_rpz_str2policy
  - dns_rpz_policy2str
  - dns_rpz_str2ede
  - zbit_to_num
  - make_addr_set
  - make_nm_set
  - set_sum_pair
  - fix_qname_skip_recurse
  - adj_trigger_cnt
  - new_node
  - badname
  - ip2name
  - type_from_name
  - name2ipkey
  - name2data
  - clz
  - diff_keys
  - trim_zbits
  - search
  - add_cidr
  - new_nmdata
  - add_nm
  - add_name
  - dns_rpz_new_zones
  - dns_rpz_new_zone
  - dns_rpz_dbupdate_callback
  - dns_rpz_dbupdate_unregister
  - dns_rpz_dbupdate_register
  - dns__rpz_timer_start
  - dns__rpz_timer_stop
  - update_rpz_done_cb
  - update_nodes
  - cleanup_nodes
  - dns__rpz_shuttingdown
  - update_rpz_cb
  - dns__rpz_timer_cb
  - cidr_free
  - dns__rpz_shutdown
  - dns_rpz_zone_destroy
  - dns__rpz_zones_destroy
  - dns_rpz_zones_shutdown
  - rpz_add
  - del_cidr
  - del_name
  - rpz_del
  - dns_rpz_find_ip
  - dns_rpz_find_name
  - dns_rpz_decode_cname
  - destroy_nmdata
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  source_file: /src/bind9/lib/dns/rpz.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RPZ_ZONE_MAGIC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: ISC_MAGIC('r', 'p', 'z', ' ')
    - item_type: preproc_def
      name: DNS_RPZ_ZONES_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: ISC_MAGIC('r', 'p', 'z', 's')
    - item_type: preproc_def
      name: DNS_RPZ_HTSIZE_MAX
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: '24'
    - item_type: preproc_def
      name: DNS_RPZ_HTSIZE_DIV
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_RPZ_CIDR_WORD_BITS
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: ((int)sizeof(dns_rpz_cidr_word_t) * 8)
    - item_type: preproc_def
      name: DNS_RPZ_CIDR_KEY_BITS
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: ((int)sizeof(dns_rpz_cidr_key_t) * 8)
    - item_type: preproc_def
      name: DNS_RPZ_CIDR_WORDS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: (128 / DNS_RPZ_CIDR_WORD_BITS)
    - item_type: preproc_def
      name: ADDR_V4MAPPED
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN
      pos:
        line_end: 745
        line_start: 744
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: '46'
    structs:
    - fields:
      - name: w[DNS_RPZ_CIDR_WORDS]
        type: dns_rpz_cidr_word_t
      item_type: struct
      name: dns_rpz_cidr_key_t
      pos:
        line_end: 115
        line_start: 113
        source_file: /src/bind9/lib/dns/rpz.c
    - fields:
      - name: client_ip
        type: dns_rpz_zbits_t
      - name: ip
        type: dns_rpz_zbits_t
      - name: nsip
        type: dns_rpz_zbits_t
      item_type: struct
      name: dns_rpz_addr_zbits
      pos:
        line_end: 143
        line_start: 139
        source_file: /src/bind9/lib/dns/rpz.c
    - fields:
      - name: '*parent'
        type: dns_rpz_cidr_node_t
      - name: '*child[2]'
        type: dns_rpz_cidr_node_t
      - name: ip
        type: dns_rpz_cidr_key_t
      - name: prefix
        type: dns_rpz_prefix_t
      - name: set
        type: dns_rpz_addr_zbits_t
      - name: sum
        type: dns_rpz_addr_zbits_t
      item_type: struct
      name: dns_rpz_cidr_node
      pos:
        line_end: 155
        line_start: 148
        source_file: /src/bind9/lib/dns/rpz.c
    - fields:
      - name: qname
        type: dns_rpz_zbits_t
      - name: ns
        type: dns_rpz_zbits_t
      item_type: struct
      name: dns_rpz_nm_zbits
      pos:
        line_end: 165
        line_start: 162
        source_file: /src/bind9/lib/dns/rpz.c
    - fields:
      - name: name
        type: dns_name_t
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: set
        type: dns_rpz_nm_zbits_t
      - name: wild
        type: dns_rpz_nm_zbits_t
      item_type: struct
      name: nmdata
      pos:
        line_end: 180
        line_start: 174
        source_file: /src/bind9/lib/dns/rpz.c
    - fields:
      - name: '*str'
        type: char
      - name: policy
        type: dns_rpz_policy_t
      item_type: struct
      name: "tbl[] = {\n\t\t{ \"given\", DNS_RPZ_POLICY_GIVEN },\n\t\t{ \"disabled\",
        DNS_RPZ_POLICY_DISABLED },\n\t\t{ \"passthru\", DNS_RPZ_POLICY_PASSTHRU },\n\t\t{
        \"drop\", DNS_RPZ_POLICY_DROP },\n\t\t{ \"tcp-only\", DNS_RPZ_POLICY_TCP_ONLY
        },\n\t\t{ \"nxdomain\", DNS_RPZ_POLICY_NXDOMAIN },\n\t\t{ \"nodata\", DNS_RPZ_POLICY_NODATA
        },\n\t\t{ \"cname\", DNS_RPZ_POLICY_CNAME },\n\t\t{ \"no-op\", DNS_RPZ_POLICY_PASSTHRU
        }, /* old passthru */\n\t}"
      pos:
        line_end: 243
        line_start: 240
        source_file: /src/bind9/lib/dns/rpz.c
    - fields:
      - name: '*str'
        type: char
      - name: ede
        type: uint16_t
      item_type: struct
      name: "tbl[] = {\n\t\t{ \"none\", 0 },\n\t\t{ \"forged\", DNS_EDE_FORGEDANSWER
        },\n\t\t{ \"blocked\", DNS_EDE_BLOCKED },\n\t\t{ \"censored\", DNS_EDE_CENSORED
        },\n\t\t{ \"filtered\", DNS_EDE_FILTERED },\n\t\t{ \"prohibited\", DNS_EDE_PROHIBITED
        },\n\t}"
      pos:
        line_end: 314
        line_start: 311
        source_file: /src/bind9/lib/dns/rpz.c
    typedefs:
    - item_type: typedef
      name: dns_rpz_cidr_word_t
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/bind9/lib/dns/rpz.c
      type: uint32_t
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/tsig_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_EDE_VALID
  - dns__ede_checkandupdateedeused
  - dns_ede_add
  - dns_ede_init
  - dns_ede_reset
  - dns_ede_invalidate
  - dns_ede_copy
  source_file: /src/bind9/lib/dns/ede.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_EDE_MAGIC
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/ede.c
      type_or_value: ISC_MAGIC('E', 'D', 'E', '!')
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_rdatalist_init
  - dns_rdatalist_tordataset
  - dns_rdatalist_fromrdataset
  - dns_rdatalist_first
  - dns_rdatalist_next
  - dns_rdatalist_current
  - dns_rdatalist_clone
  - dns_rdatalist_count
  - dns_rdatalist_addnoqname
  - dns_rdatalist_getnoqname
  - dns_rdatalist_addclosest
  - dns_rdatalist_getclosest
  - dns_rdatalist_setownercase
  - dns_rdatalist_getownercase
  source_file: /src/bind9/lib/dns/rdatalist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_ecs_init
  - dns_ecs_equals
  - dns_ecs_format
  source_file: /src/bind9/lib/dns/ecs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/qpcache_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_SDLZDB
  - VALID_SDLZLOOKUP
  - VALID_SDLZNODE
  - MAYBE_LOCK
  - MAYBE_UNLOCK
  - MAYBE_LOCK
  - MAYBE_UNLOCK
  - sdlz_log
  - initial_size
  - rdatasetiter_current
  - destroy
  - currentversion
  - newversion
  - attachversion
  - closeversion
  - createnode
  - destroynode
  - getnodedata
  - findnodeext
  - findnode
  - attachnode
  - detachnode
  - createiterator
  - findrdataset
  - findext
  - find
  - allrdatasets
  - modrdataset
  - addrdataset
  - subtractrdataset
  - deleterdataset
  - issecure
  - nodecount
  - setloop
  - getoriginnode
  - dbiterator_seek
  - dbiterator_current
  - dbiterator_pause
  - dbiterator_origin
  - rdataset_clone
  - list_tordataset
  - dns_sdlzcreateDBP
  - dns_sdlzallowzonexfr
  - dns_sdlzcreate
  - dns_sdlzdestroy
  - dns_sdlzfindzone
  - dns_sdlzconfigure
  - dns_sdlzssumatch
  - dns_sdlz_putrr
  - dns_sdlz_putnamedrr
  - dns_sdlz_putsoa
  - dns_sdlzregister
  - dns_sdlzunregister
  - dns_sdlz_setdb
  source_file: /src/bind9/lib/dns/sdlz.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SDLZDB_MAGIC
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: ISC_MAGIC('D', 'L', 'Z', 'S')
    - item_type: preproc_def
      name: SDLZLOOKUP_MAGIC
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: ISC_MAGIC('D', 'L', 'Z', 'L')
    - item_type: preproc_def
      name: SDLZ_DEFAULT_REFRESH
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: '28800U  '
    - item_type: preproc_def
      name: SDLZ_DEFAULT_RETRY
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: '7200U   '
    - item_type: preproc_def
      name: SDLZ_DEFAULT_EXPIRE
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: '604800U '
    - item_type: preproc_def
      name: SDLZ_DEFAULT_MINIMUM
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: '86400U  '
    - item_type: preproc_def
      name: SDLZ_DEFAULT_TTL
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/lib/dns/sdlz.c
      type_or_value: (60 * 60 * 24)
    structs:
    - fields:
      - name: '*methods'
        type: dns_sdlzmethods_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*driverarg'
        type: void
      - name: flags
        type: unsigned int
      - name: driverlock
        type: isc_mutex_t
      - name: '*dlz_imp'
        type: dns_dlzimplementation_t
      item_type: struct
      name: dns_sdlzimplementation
      pos:
        line_end: 92
        line_start: 85
        source_file: /src/bind9/lib/dns/sdlz.c
    - fields:
      - name: common
        type: dns_db_t
      - name: '*dbdata'
        type: void
      - name: '*dlzimp'
        type: dns_sdlzimplementation_t
      - name: '*future_version'
        type: dns_dbversion_t
      - name: dummy_version
        type: int
      item_type: struct
      name: dns_sdlz_db
      pos:
        line_end: 103
        line_start: 94
        source_file: /src/bind9/lib/dns/sdlz.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*sdlz'
        type: dns_sdlz_db_t
      - name: (dns_rdatalist_t)
        type: ISC_LIST
      - name: (isc_buffer_t)
        type: ISC_LIST
      - name: '*name'
        type: dns_name_t
      - name: (dns_sdlzlookup_t)
        type: ISC_LINK
      - name: callbacks
        type: dns_rdatacallbacks_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_sdlzlookup
      pos:
        line_end: 117
        line_start: 105
        source_file: /src/bind9/lib/dns/sdlz.c
    - fields:
      - name: common
        type: dns_dbiterator_t
      - name: (dns_sdlznode_t)
        type: ISC_LIST
      - name: '*current'
        type: dns_sdlznode_t
      - name: '*origin'
        type: dns_sdlznode_t
      item_type: struct
      name: dns_sdlzallnodes
      pos:
        line_end: 126
        line_start: 121
        source_file: /src/bind9/lib/dns/sdlz.c
    - fields:
      - name: common
        type: dns_rdatasetiter_t
      - name: '*current'
        type: dns_rdatalist_t
      item_type: struct
      name: sdlz_rdatasetiter
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/bind9/lib/dns/sdlz.c
    typedefs:
    - item_type: typedef
      name: sdlz_dbiterator_t
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/bind9/lib/dns/sdlz.c
    union: []
- function_names:
  - VALID_ACLENV
  - dns_acl_create
  - dns_acl_anyornone
  - dns_acl_any
  - dns_acl_none
  - dns_acl_isanyornone
  - dns_acl_isany
  - dns_acl_isnone
  - dns_acl_match
  - dns_acl_match_port_transport
  - dns_acl_merge
  - dns_aclelement_match
  - dns__acl_destroy_port_transports
  - dns__acl_destroy
  - dns__acl_initialize
  - dns__acl_shutdown
  - is_insecure
  - dns_acl_isinsecure
  - dns_acl_allowed
  - dns_aclenv_create
  - dns_aclenv_set
  - dns_aclenv_copy
  - dns__aclenv_destroy
  - dns_acl_add_port_transports
  - dns_acl_merge_ports_transports
  source_file: /src/bind9/lib/dns/acl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_ACLENV_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/acl.c
      type_or_value: ISC_MAGIC('a', 'c', 'n', 'v')
    structs: []
    typedefs: []
    union: []
- function_names:
  - CCTX_VALID
  - dns_compress_init
  - dns_compress_invalidate
  - dns_compress_setmultiuse
  - dns_compress_getmultiuse
  - dns_compress_setpermitted
  - dns_compress_getpermitted
  - hash_label
  - match_wirename
  - match_suffix
  - probe_distance
  - slot_index
  - insert_label
  - insert
  - dns_compress_name
  - dns_compress_rollback
  source_file: /src/bind9/lib/dns/compress.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HASH_INIT_DJB2
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/dns/compress.c
      type_or_value: '5381'
    - item_type: preproc_def
      name: CCTX_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/compress.c
      type_or_value: ISC_MAGIC('C', 'C', 'T', 'X')
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_TRANSPORT
  - VALID_TRANSPORT_LIST
  - transport_match
  - list_add
  - dns_transport_get_type
  - dns_transport_get_certfile
  - dns_transport_get_keyfile
  - dns_transport_get_cafile
  - dns_transport_get_remote_hostname
  - dns_transport_get_endpoint
  - dns_transport_get_mode
  - dns_transport_new
  - dns_transport_set_certfile
  - dns_transport_set_keyfile
  - dns_transport_set_cafile
  - dns_transport_set_remote_hostname
  - dns_transport_set_endpoint
  - dns_transport_set_mode
  - dns_transport_set_tls_versions
  - dns_transport_get_tls_versions
  - dns_transport_set_ciphers
  - dns_transport_set_tlsname
  - dns_transport_get_ciphers
  - dns_transport_set_cipher_suites
  - dns_transport_get_cipher_suites
  - dns_transport_get_tlsname
  - dns_transport_set_prefer_server_ciphers
  - dns_transport_get_prefer_server_ciphers
  - dns_transport_set_always_verify_remote
  - dns_transport_get_always_verify_remote
  - dns_transport_get_tlsctx
  - transport_destroy
  - dns_transport_attach
  - dns_transport_detach
  - dns_transport_find
  - dns_transport_list_new
  - dns_transport_list_attach
  - transport_list_destroy
  - dns_transport_list_detach
  - dns_transport_totext
  source_file: /src/bind9/lib/dns/transport.c
  types:
    enum:
    - enumerators:
      - name: ter_none
        value: '0'
      - name: ter_true
        value: '1'
      - name: ter_false
        value: '2'
      item_type: enum
      name: ternary
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/dns/transport.c
    preproc_defs:
    - item_type: preproc_def
      name: TRANSPORT_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/transport.c
      type_or_value: ISC_MAGIC('T', 'r', 'n', 's')
    - item_type: preproc_def
      name: TRANSPORT_LIST_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/dns/transport.c
      type_or_value: ISC_MAGIC('T', 'r', 'L', 's')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: lock
        type: isc_rwlock_t
      - name: '*transports[DNS_TRANSPORT_COUNT]'
        type: isc_hashmap_t
      item_type: struct
      name: dns_transport_list
      pos:
        line_end: 41
        line_start: 35
        source_file: /src/bind9/lib/dns/transport.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: type
        type: dns_transport_type_t
      - name: fn
        type: dns_fixedname_t
      - name: '*name'
        type: dns_name_t
      - name: tls
        type: "struct {\n\t\tchar *tlsname;\n\t\tchar *certfile;\n\t\tchar *keyfile;\n\t\tchar
          *cafile;\n\t\tchar *remote_hostname;\n\t\tchar *ciphers;\n\t\tchar *cipher_suites;\n\t\tuint32_t
          protocol_versions;\n\t\tternary_t prefer_server_ciphers;\n\t\tbool always_verify_remote;\n\t}"
      - name: doh
        type: "struct {\n\t\tchar *endpoint;\n\t\tdns_http_mode_t mode;\n\t}"
      item_type: struct
      name: dns_transport
      pos:
        line_end: 68
        line_start: 45
        source_file: /src/bind9/lib/dns/transport.c
    typedefs:
    - item_type: typedef
      name: ternary_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/dns/transport.c
    union: []
- function_names:
  - dns__db_initialize
  - dns__db_shutdown
  - impfind
  - ISC_LIST_FOREACH
  - dns_db_create
  - dns__db_destroy
  - dns_db_iscache
  - dns_db_iszone
  - dns_db_isstub
  - dns_db_issecure
  - dns_db_ispersistent
  - dns_db_origin
  - dns_db_class
  - dns_db_beginload
  - dns_db_endload
  - dns_db_load
  - dns_db_currentversion
  - dns_db_newversion
  - dns_db_attachversion
  - dns__db_closeversion
  - dns__db_findnode
  - dns__db_findnodeext
  - dns__db_findnsec3node
  - dns__db_find
  - dns__db_findext
  - dns__db_findzonecut
  - dns__db_attachnode
  - dns__db_detachnode
  - dns_db_transfernode
  - dns_db_createiterator
  - dns__db_findrdataset
  - dns__db_allrdatasets
  - dns__db_addrdataset
  - dns__db_subtractrdataset
  - dns__db_deleterdataset
  - dns_db_getsoaserial
  - dns_db_nodecount
  - dns_db_hashsize
  - dns_db_setloop
  - dns_db_register
  - dns_db_unregister
  - dns__db_getoriginnode
  - dns_db_getrrsetstats
  - dns_db_setcachestats
  - dns_db_getnsec3parameters
  - dns_db_getsize
  - dns_db_setsigningtime
  - dns_db_getsigningtime
  - call_updatenotify
  - updatenotify_free
  - updatenotify_match
  - dns_db_updatenotify_register
  - dns_db_updatenotify_unregister
  - dns_db_setservestalettl
  - dns_db_getservestalettl
  - dns_db_setservestalerefresh
  - dns_db_getservestalerefresh
  - dns_db_setgluecachestats
  - dns_db_addglue
  - dns_db_locknode
  - dns_db_unlocknode
  - dns_db_expiredata
  - dns_db_deletedata
  - dns_db_nodefullname
  - dns_db_setmaxrrperset
  - dns_db_setmaxtypepername
  - dns__db_logtoomanyrecords
  - dns_db_getzoneversion
  source_file: /src/bind9/lib/dns/db.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: create
        type: dns_dbcreatefunc_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*driverarg'
        type: void
      - name: (dns_dbimplementation_t)
        type: ISC_LINK
      item_type: struct
      name: dns_dbimplementation
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/bind9/lib/dns/db.c
    typedefs: []
    union: []
- function_names:
  - VALID_NAMETREE
  - destroy_ntnode
  - dns_nametree_create
  - destroy_nametree
  - newnode
  - matchbit
  - dns_nametree_add
  - dns_nametree_delete
  - dns_nametree_find
  - dns_nametree_covered
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  source_file: /src/bind9/lib/dns/nametree.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NAMETREE_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/nametree.c
      type_or_value: ISC_MAGIC('N', 'T', 'r', 'e')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: type
        type: dns_nametree_type_t
      - name: '*table'
        type: dns_qpmulti_t
      - name: name[64]
        type: char
      item_type: struct
      name: dns_nametree
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/bind9/lib/dns/nametree.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: name
        type: dns_name_t
      - name: set
        type: bool
      - name: '*bits'
        type: uint8_t
      item_type: struct
      name: dns_ntnode
      pos:
        line_end: 46
        line_start: 40
        source_file: /src/bind9/lib/dns/nametree.c
    typedefs: []
    union: []
- function_names:
  - VALID_BADCACHE
  - dns_badcache_new
  - dns_badcache_destroy
  - bcentry_match
  - bcentry_hash
  - bcentry_lookup
  - bcentry_new
  - bcentry_destroy
  - bcentry_evict_async
  - bcentry_evict
  - bcentry_alive
  - cds_lfht_for_each_entry_next
  - bcentry_purge
  - cds_list_for_each_entry_rcu
  - dns_badcache_add
  - dns_badcache_find
  - dns_badcache_flush
  - dns_badcache_flushname
  - dns_badcache_flushtree
  - bcentry_print
  - dns_badcache_print
  source_file: /src/bind9/lib/dns/badcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: BADCACHE_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/badcache.c
      type_or_value: ISC_MAGIC('B', 'd', 'C', 'a')
    - item_type: preproc_def
      name: BADCACHE_INIT_SIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/badcache.c
      type_or_value: '(1 << 10) '
    - item_type: preproc_def
      name: BADCACHE_MIN_SIZE
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/badcache.c
      type_or_value: '(1 << 8)  '
    structs:
    - fields:
      - name: '*name'
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      item_type: struct
      name: dns_bckey
      pos:
        line_end: 45
        line_start: 42
        source_file: /src/bind9/lib/dns/badcache.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*ht'
        type: struct cds_lfht
      - name: '*lru'
        type: struct cds_list_head
      - name: nloops
        type: uint32_t
      item_type: struct
      name: dns_badcache
      pos:
        line_end: 53
        line_start: 47
        source_file: /src/bind9/lib/dns/badcache.c
    - fields:
      - name: '*loop'
        type: isc_loop_t
      - name: expire
        type: isc_stdtime_t
      - name: flags
        type: uint32_t
      - name: ht_node
        type: struct cds_lfht_node
      - name: rcu_head
        type: struct rcu_head
      - name: lru_head
        type: struct cds_list_head
      - name: name
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      item_type: struct
      name: dns_bcentry
      pos:
        line_end: 72
        line_start: 61
        source_file: /src/bind9/lib/dns/badcache.c
    typedefs: []
    union: []
- function_names:
  - atomic_getuint8
  - copy_rdataset
  - DNS_RDATASET_FOREACH
  - dns_ncache_add
  - dns_ncache_addoptout
  - addoptout
  - MSG_SECTION_FOREACH
  - dns_ncache_towire
  - DNS_RDATASET_FOREACH
  - rdataset_first
  - rdataset_next
  - rdataset_current
  - rdataset_clone
  - rdataset_count
  - rdataset_settrust
  - dns_ncache_getrdataset
  - (&rclone)
  - dns_ncache_getsigrdataset
  - (&rclone)
  - dns_ncache_current
  source_file: /src/bind9/lib/dns/ncache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NCACHE_RDATA
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/ncache.c
      type_or_value: 100U
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/zone_p.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*diff'
        type: dns_diff_t
      - name: offline
        type: bool
      item_type: struct
      name: dns__zonediff_t
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/bind9/lib/dns/zone_p.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/qpzone_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dst__openssl_toresult
  - dst__openssl_toresult2
  - dst__openssl_toresult3
  source_file: /src/bind9/lib/dns/dst_openssl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_RESPONSE
  - VALID_DISPATCH
  - VALID_DISPATCHMGR
  - dns_dispentry_ref
  - dns_dispentry_unref
  - dns_dispentry_attach
  - dns_dispentry_detach
  - socktype2str
  - state2str
  - mgr_log
  - inc_stats
  - dec_stats
  - dispatch_log
  - dispentry_log
  - setup_socket
  - qid_hash
  - qid_match
  - dispentry_destroy_rcu
  - dispentry_destroy
  - dispentry_runtime
  - udp_recv
  - tcp_recv_oldest
  - tcp_recv_success
  - tcp_recv_add
  - tcp_recv_shutdown
  - tcp_recv_processall
  - tcp_recv
  - create_default_portset
  - setavailports
  - dns_dispatchmgr_create
  - dns_dispatchmgr_setblackhole
  - dns_dispatchmgr_getblackhole
  - dns_dispatchmgr_setavailports
  - dispatchmgr_destroy
  - dns_dispatchmgr_setstats
  - dns_dispatchmgr_getnetmgr
  - dispatch_allocate
  - dispatch_hash
  - dispatch_match
  - dns_dispatch_createtcp
  - dns_dispatch_gettcp
  - dns_dispatch_createudp
  - dispatch_createudp
  - dispatch_destroy_rcu
  - dispatch_destroy
  - dns_dispatch_add
  - dns_dispatch_getnext
  - udp_dispentry_cancel
  - tcp_dispentry_cancel
  - dispentry_cancel
  - dns_dispatch_done
  - udp_startrecv
  - tcp_startrecv
  - resp_connected
  - tcp_connected
  - ISC_LIST_FOREACH
  - udp_connected
  - udp_dispatch_connect
  - get_tls_sni_hostname
  - tcp_dispatch_connect
  - dns_dispatch_connect
  - send_done
  - tcp_dispatch_getnext
  - udp_dispatch_getnext
  - dns_dispatch_resume
  - dns_dispatch_send
  - dns_dispatch_getlocaladdress
  - dns_dispentry_getlocaladdress
  - dns_dispatchset_get
  - dns_dispatchset_create
  - dns_dispatchset_destroy
  - dns_dispatch_checkperm
  source_file: /src/bind9/lib/dns/dispatch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RESPONSE_MAGIC
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: ISC_MAGIC('D', 'r', 's', 'p')
    - item_type: preproc_def
      name: DISPATCH_MAGIC
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: ISC_MAGIC('D', 'i', 's', 'p')
    - item_type: preproc_def
      name: DNS_DISPATCHMGR_MAGIC
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: ISC_MAGIC('D', 'M', 'g', 'r')
    - item_type: preproc_def
      name: QID_MAX_TRIES
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: '64'
    - item_type: preproc_def
      name: QIDS_INIT_SIZE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: '(1 << 4) '
    - item_type: preproc_def
      name: QIDS_MIN_SIZE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: '(1 << 4) '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*blackhole'
        type: dns_acl_t
      - name: '*stats'
        type: isc_stats_t
      - name: '*nm'
        type: isc_nm_t
      - name: nloops
        type: uint32_t
      - name: '**tcps'
        type: struct cds_lfht
      - name: '*qids'
        type: struct cds_lfht
      - name: '*v4ports'
        type: in_port_t
      - name: nv4ports
        type: unsigned int
      - name: '*v6ports'
        type: in_port_t
      - name: nv6ports
        type: unsigned int
      item_type: struct
      name: dns_dispatchmgr
      pos:
        line_end: 68
        line_start: 49
        source_file: /src/bind9/lib/dns/dispatch.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*disp'
        type: dns_dispatch_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: state
        type: dns_dispatchstate_t
      - name: '*transport'
        type: dns_transport_t
      - name: '*tlsctx_cache'
        type: isc_tlsctx_cache_t
      - name: retries
        type: unsigned int
      - name: connect_timeout
        type: unsigned int
      - name: timeout
        type: unsigned int
      - name: start
        type: isc_time_t
      - name: local
        type: isc_sockaddr_t
      - name: peer
        type: isc_sockaddr_t
      - name: port
        type: in_port_t
      - name: id
        type: dns_messageid_t
      - name: connected
        type: dispatch_cb_t
      - name: sent
        type: dispatch_cb_t
      - name: response
        type: dispatch_cb_t
      - name: '*arg'
        type: void
      - name: reading
        type: bool
      - name: result
        type: isc_result_t
      - name: (dns_dispentry_t)
        type: ISC_LINK
      - name: (dns_dispentry_t)
        type: ISC_LINK
      - name: (dns_dispentry_t)
        type: ISC_LINK
      - name: ht_node
        type: struct cds_lfht_node
      - name: rcu_head
        type: struct rcu_head
      item_type: struct
      name: dns_dispentry
      pos:
        line_end: 107
        line_start: 77
        source_file: /src/bind9/lib/dns/dispatch.c
    - fields:
      - name: magic
        type: unsigned int
      - name: tid
        type: isc_tid_t
      - name: socktype
        type: isc_socktype_t
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*mgr'
        type: dns_dispatchmgr_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: local
        type: isc_sockaddr_t
      - name: peer
        type: isc_sockaddr_t
      - name: '*transport'
        type: dns_transport_t
      - name: options
        type: dns_dispatchopt_t
      - name: state
        type: dns_dispatchstate_t
      - name: reading
        type: bool
      - name: pending
        type: dns_displist_t
      - name: active
        type: dns_displist_t
      - name: requests
        type: uint_fast32_t
      - name: timedout
        type: unsigned int
      - name: ht_node
        type: struct cds_lfht_node
      - name: rcu_head
        type: struct rcu_head
      item_type: struct
      name: dns_dispatch
      pos:
        line_end: 136
        line_start: 109
        source_file: /src/bind9/lib/dns/dispatch.c
    - fields:
      - name: '*local'
        type: isc_sockaddr_t
      - name: '*peer'
        type: isc_sockaddr_t
      - name: '*transport'
        type: dns_transport_t
      item_type: struct
      name: dispatch_key
      pos:
        line_end: 1141
        line_start: 1137
        source_file: /src/bind9/lib/dns/dispatch.c
    typedefs:
    - item_type: typedef
      name: (dns_dispentry_t)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bind9/lib/dns/dispatch.c
    - item_type: typedef
      name: dns_dispatchstate_t
      pos:
        line_end: 75
        line_start: 70
        source_file: /src/bind9/lib/dns/dispatch.c
    union: []
- function_names:
  - VALID_KEY
  - VALID_CTX
  source_file: /src/bind9/lib/dns/dst_internal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEY_MAGIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/dst_internal.h
      type_or_value: ISC_MAGIC('D', 'S', 'T', 'K')
    - item_type: preproc_def
      name: CTX_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/dst_internal.h
      type_or_value: ISC_MAGIC('D', 'S', 'T', 'C')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: refs
        type: isc_refcount_t
      - name: mdlock
        type: isc_mutex_t
      - name: '*key_name'
        type: dns_name_t
      - name: key_size
        type: unsigned int
      - name: key_proto
        type: unsigned int
      - name: key_alg
        type: unsigned int
      - name: key_flags
        type: uint32_t
      - name: key_id
        type: uint16_t
      - name: key_rid
        type: uint16_t
      - name: key_bits
        type: uint16_t
      - name: key_class
        type: dns_rdataclass_t
      - name: key_ttl
        type: dns_ttl_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*directory'
        type: char
      - name: '*label'
        type: char
      - name: keydata
        type: "union {\n\t\tvoid *generic;\n\t\tdns_gss_ctx_id_t gssctx;\n\t\tdst_hmac_key_t
          *hmac_key;\n\t\tstruct {\n\t\t\tEVP_PKEY *pub;\n\t\t\tEVP_PKEY *priv;\n\t\t}
          pkeypair;\n\t}"
      - name: times[DST_MAX_TIMES + 1]
        type: isc_stdtime_t
      - name: timeset[DST_MAX_TIMES + 1]
        type: bool
      - name: nums[DST_MAX_NUMERIC + 1]
        type: uint32_t
      - name: numset[DST_MAX_NUMERIC + 1]
        type: bool
      - name: bools[DST_MAX_BOOLEAN + 1]
        type: bool
      - name: boolset[DST_MAX_BOOLEAN + 1]
        type: bool
      - name: keystates[DST_MAX_KEYSTATES + 1]
        type: dst_key_state_t
      - name: keystateset[DST_MAX_KEYSTATES + 1]
        type: bool
      - name: kasp
        type: bool
      - name: inactive
        type: bool
      - name: external
        type: bool
      - name: modified
        type: bool
      - name: fmt_major
        type: int
      - name: fmt_minor
        type: int
      - name: '*func'
        type: dst_func_t
      - name: '*key_tkeytoken'
        type: isc_buffer_t
      item_type: struct
      name: dst_key
      pos:
        line_end: 131
        line_start: 73
        source_file: /src/bind9/lib/dns/dst_internal.h
    - fields:
      - name: magic
        type: unsigned int
      - name: use
        type: dst_use_t
      - name: '*key'
        type: dst_key_t
      - name: '*mctx'
        type: isc_mem_t
      - name: category
        type: isc_logcategory_t
      - name: ctxdata
        type: "union {\n\t\tvoid *generic;\n\t\tdst_gssapi_signverifyctx_t *gssctx;\n\t\tisc_hmac_t
          *hmac_ctx;\n\t\tEVP_MD_CTX *evp_md_ctx;\n\t}"
      item_type: struct
      name: dst_context
      pos:
        line_end: 145
        line_start: 133
        source_file: /src/bind9/lib/dns/dst_internal.h
    - fields:
      - name: (*createctx)(dst_key_t *key, dst_context_t *dctx)
        type: isc_result_t
      - name: (*destroyctx)(dst_context_t *dctx)
        type: void
      - name: (*adddata)(dst_context_t *dctx, const isc_region_t *data)
        type: isc_result_t
      - name: (*sign)(dst_context_t *dctx, isc_buffer_t *sig)
        type: isc_result_t
      - name: (*verify)(dst_context_t *dctx, const isc_region_t *sig)
        type: isc_result_t
      - name: (*compare)(const dst_key_t *key1, const dst_key_t *key2)
        type: bool
      - name: "(*generate)(dst_key_t *key, int parms,\n\t\t\t\t void (*callback)(int))"
        type: isc_result_t
      - name: (*isprivate)(const dst_key_t *key)
        type: bool
      - name: (*destroy)(dst_key_t *key)
        type: void
      - name: (*todns)(const dst_key_t *key, isc_buffer_t *data)
        type: isc_result_t
      - name: (*fromdns)(dst_key_t *key, isc_buffer_t *data)
        type: isc_result_t
      - name: (*tofile)(const dst_key_t *key, const char *directory)
        type: isc_result_t
      - name: (*parse)(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub)
        type: isc_result_t
      - name: "(*fromlabel)(dst_key_t *key, const char *label,\n\t\t\t\t  const char
          *pin)"
        type: isc_result_t
      - name: "(*dump)(dst_key_t *key, isc_mem_t *mctx, char **buffer,\n\t\t\t     int
          *length)"
        type: isc_result_t
      - name: (*restore)(dst_key_t *key, const char *keystr)
        type: isc_result_t
      item_type: struct
      name: dst_func
      pos:
        line_end: 177
        line_start: 147
        source_file: /src/bind9/lib/dns/dst_internal.h
    typedefs:
    - item_type: typedef
      name: dst_use_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/dns/dst_internal.h
    union: []
- function_names:
  - DST_RET
  - openssleddsa_alg_info
  - raw_key_to_ossl
  - openssleddsa_createctx
  - openssleddsa_destroyctx
  - openssleddsa_adddata
  - openssleddsa_sign
  - openssleddsa_verify
  - openssleddsa_generate
  - openssleddsa_todns
  - openssleddsa_fromdns
  - openssleddsa_tofile
  - openssleddsa_parse
  - openssleddsa_fromlabel
  - check_algorithm
  - dst__openssleddsa_init
  source_file: /src/bind9/lib/dns/openssleddsa_link.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: pkey_type
        type: int
      - name: key_size
        type: unsigned int
      item_type: struct
      name: eddsa_alginfo
      pos:
        line_end: 54
        line_start: 51
        source_file: /src/bind9/lib/dns/openssleddsa_link.c
    typedefs: []
    union: []
- function_names:
  - CHECK
  - NEXTTOKEN
  - BADTOKEN
  - STR
  - parse_rr
  - skrbundle_create
  - skrbundle_addtuple
  - dns_skrbundle_getsig
  - dns_skr_create
  - addbundle
  - dns_skr_read
  - dns_skr_lookup
  - dns_skr_attach
  - dns_skr_detach
  - dns_skr_destroy
  source_file: /src/bind9/lib/dns/skr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOKENSIZ
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/skr.c
      type_or_value: (8 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - dns__dyndb_initialize
  - dns__dyndb_shutdown
  - impfind
  - ISC_LIST_FOREACH
  - load_symbol
  - load_library
  - unload_library
  - dns_dyndb_load
  - dns_dyndb_cleanup
  - dns_dyndb_createctx
  - dns_dyndb_destroyctx
  source_file: /src/bind9/lib/dns/dyndb.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: handle
        type: uv_lib_t
      - name: '*register_func'
        type: dns_dyndb_register_t
      - name: '*destroy_func'
        type: dns_dyndb_destroy_t
      - name: '*name'
        type: char
      - name: '*inst'
        type: void
      - name: (dyndb_implementation_t)
        type: ISC_LINK
      item_type: struct
      name: dyndb_implementation
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/bind9/lib/dns/dyndb.c
    typedefs: []
    union: []
- function_names:
  - DNS_STATE_VALID
  - CHECK
  - FAIL
  - FAILC
  - FAILN
  - FAILNT
  - FAILS
  - update_log
  - do_one_tuple
  - update_one_rr
  - foreach_node_rr_action
  - DNS_RDATASET_FOREACH
  - foreach_rrset
  - DNS_RDATASETITER_FOREACH
  - foreach_node_rr
  - foreach_rr
  - (&rdataset)
  - rrset_exists_action
  - rrset_exists
  - rrset_visible
  - name_exists_action
  - name_exists
  - temp_order
  - true_p
  - rrsig_p
  - delete_if_action
  - delete_if
  - namelist_append_name
  - namelist_append_subdomain
  - is_non_nsec_action
  - non_nsec_rrset_exists
  - name_order
  - uniqify_name_list
  - is_active
  - next_active
  - add_nsec
  - add_placeholder_nsec
  - find_zone_keys
  - ISC_LIST_FOREACH
  - add_sigs
  - REVOKE
  - KSK
  - ID
  - ALG
  - del_keysigs
  - (&rdataset)
  - add_exposed_sigs
  - DNS_RDATASETITER_FOREACH
  - dns_update_signatures
  - dns__jitter_expire
  - dns_update_signaturesinc
  - epoch_to_yyyymmdd
  - dns__update_soaserial
  - dns_update_soaserial
  source_file: /src/bind9/lib/dns/update.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: STATE_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/update.c
      type_or_value: ISC_MAGIC('S', 'T', 'T', 'E')
    - item_type: preproc_def
      name: LOGLEVEL_PROTOCOL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/update.c
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: LOGLEVEL_DEBUG
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/update.c
      type_or_value: ISC_LOG_DEBUG(8)
    - item_type: preproc_def
      name: RETURN_EXISTENCE_FLAG
      pos:
        line_end: 505
        line_start: 499
        source_file: /src/bind9/lib/dns/update.c
      type_or_value: "return ((result == ISC_R_EXISTS)                              \\\n\t\t\t?
        (*exists = true, ISC_R_SUCCESS)             \\\n\t\t\t: ((result == ISC_R_SUCCESS)
        \                 \\\n\t\t\t\t   ? (*exists = false, ISC_R_SUCCESS) \\\n\t\t\t\t
        \  : result))"
    structs:
    - fields:
      - name: ttl
        type: uint32_t
      - name: rdata
        type: dns_rdata_t
      item_type: struct
      name: rr
      pos:
        line_end: 190
        line_start: 186
        source_file: /src/bind9/lib/dns/update.c
    - fields:
      - name: '*rr_action'
        type: rr_func
      - name: '*rr_action_data'
        type: void
      item_type: struct
      name: foreach_node_rr_ctx_t
      pos:
        line_end: 309
        line_start: 306
        source_file: /src/bind9/lib/dns/update.c
    - fields:
      - name: '*predicate'
        type: rr_predicate
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: '*diff'
        type: dns_diff_t
      - name: '*name'
        type: dns_name_t
      - name: '*update_rr'
        type: dns_rdata_t
      item_type: struct
      name: conditional_delete_ctx_t
      pos:
        line_end: 631
        line_start: 624
        source_file: /src/bind9/lib/dns/update.c
    - fields:
      - name: magic
        type: unsigned int
      - name: diffnames
        type: dns_diff_t
      - name: affected
        type: dns_diff_t
      - name: sig_diff
        type: dns_diff_t
      - name: nsec_diff
        type: dns_diff_t
      - name: nsec_mindiff
        type: dns_diff_t
      - name: work
        type: dns_diff_t
      - name: '*zone_keys[DNS_MAXZONEKEYS]'
        type: dst_key_t
      - name: nkeys
        type: unsigned int
      - name: now
        type: isc_stdtime_t
      - name: nsecttl
        type: dns_ttl_t
      - name: build_nsec3
        type: bool
      - name: state
        type: "enum {\n\t\tsign_updates,\n\t\tremove_orphaned,\n\t\tbuild_chain,\n\t\tprocess_nsec,\n\t\tsign_nsec,\n\t\tupdate_nsec3,\n\t\tprocess_nsec3,\n\t\tsign_nsec3\n\t}"
      item_type: struct
      name: dns_update_state
      pos:
        line_end: 1454
        line_start: 1431
        source_file: /src/bind9/lib/dns/update.c
    typedefs:
    - item_type: typedef
      name: rrset_func(void *data, dns_rdataset_t *rrset)
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/bind9/lib/dns/update.c
    - item_type: typedef
      name: rr_func(void *data, rr_t *rr)
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/bind9/lib/dns/update.c
    - item_type: typedef
      name: rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
      pos:
        line_end: 474
        line_start: 473
        source_file: /src/bind9/lib/dns/update.c
      type: bool
    union: []
- function_names:
  - VALID_VALIDATOR
  - NEEDNODATA
  - NEEDNOQNAME
  - NEEDNOWILDCARD
  - FOUNDNODATA
  - FOUNDNOQNAME
  - FOUNDNOWILDCARD
  - FOUNDCLOSEST
  - FOUNDOPTOUT
  - CANCELING
  - CANCELED
  - OFFLOADED
  - COMPLETE
  - NEGATIVE
  - NXDOMAIN
  - MAXVALIDATIONS
  - MAXVALIDATIONFAILS
  - expire_rdatasets
  - disassociate_rdatasets
  - markanswer
  - marksecure
  - validator_done
  - isdelegation
  - DNS_RDATASET_FOREACH
  - (&set)
  - resume_answer_with_key
  - resume_answer_with_key_done
  - fetch_callback_dnskey
  - fetch_callback_ds
  - validator_callback_dnskey
  - validator_callback_ds
  - validator_callback_cname
  - validator_callback_nsec
  - view_find
  - check_deadlock
  - create_fetch
  - create_validator
  - select_signing_key
  - seek_dnskey
  - compute_keytag
  - over_max_validations
  - consume_validation
  - over_max_fails
  - consume_validation_fail
  - selfsigned_dnskey
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - verify
  - validate_answer_iter_start
  - validate_answer_iter_next
  - validate_answer_signing_key
  - validate_answer_signing_key_done
  - validate_answer_process
  - validate_answer_finish
  - validate_answer_iter_done
  - resume_answer
  - validate_answer
  - validate_async_run
  - validate_helper_run
  - validate_async_done
  - check_signer
  - get_dsset
  - validate_dnskey_dsset_done
  - validate_dnskey_dsset
  - validate_dnskey_dsset_next
  - validate_dnskey_dsset_next_done
  - validate_dnskey_dsset_first
  - validate_dnskey
  - val_rdataset_first
  - val_rdataset_next
  - checkwildcard
  - findnsec3proofs
  - validate_neg_rrset
  - validate_authority
  - validate_ncache
  - validate_nx
  - check_ds_private
  - check_ds_algs
  - DNS_RDATASET_FOREACH
  - seek_ds
  - proveunsecure
  - validator_start
  - dns_validator_create
  - dns_validator_send
  - validator_cancel_finish
  - dns_validator_cancel
  - destroy_validator
  - dns_validator_shutdown
  - validator_logv
  - validator_log
  - validator_logcreate
  - validator_addede
  - validate_extendederror
  source_file: /src/bind9/lib/dns/validator.c
  types:
    enum:
    - enumerators:
      - name: VALATTR_CANCELED
        value: 1 << 1
      - name: VALATTR_INSECURITY
        value: 1 << 4
      - name: VALATTR_TRIEDVERIFY
        value: 1 << 2
      - name: VALATTR_MAXVALIDATIONS
        value: 1 << 5
      - name: VALATTR_COMPLETE
        value: 1 << 3
      - name: VALATTR_MAXVALIDATIONFAILS
        value: 1 << 6
      - name: VALATTR_OFFLOADED
        value: 1 << 7
      - name: VALATTR_NEEDNOQNAME
        value: 1 << 8
      - name: VALATTR_NEEDNOWILDCARD
        value: 1 << 9
      - name: VALATTR_NEEDNODATA
        value: 1 << 10
      - name: VALATTR_FOUNDOPTOUT
        value: 1 << 16
      - name: VALATTR_FOUNDNOWILDCARD
        value: 1 << 13
      - name: VALATTR_FOUNDCLOSEST
        value: 1 << 15
      - name: VALATTR_FOUNDUNKNOWN
        value: 1 << 17
      - name: VALATTR_FOUNDNODATA
        value: 1 << 14
      - name: VALATTR_FOUNDNOQNAME
        value: 1 << 12
      item_type: enum
      name: valattr
      pos:
        line_end: 101
        line_start: 73
        source_file: /src/bind9/lib/dns/validator.c
    preproc_defs:
    - item_type: preproc_def
      name: VALIDATOR_MAGIC
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/validator.c
      type_or_value: ISC_MAGIC('V', 'a', 'l', '?')
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/dlz_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CASESET
  - CASEFULLYLOWER
  - NONEXISTENT
  - NEGATIVE
  - peek_uint16
  - get_uint16
  - put_uint16
  - compare_rdata
  - makeslab
  - dns_rdataslab_fromrdataset
  - dns_rdataslab_size
  - dns_rdataslab_count
  - rdata_from_slabitem
  - rdata_to_slabitem
  - dns_rdataslab_merge
  - dns_rdataslab_subtract
  - dns_rdataslab_equal
  - dns_rdataslab_equalx
  - dns_slabheader_raw
  - dns_slabheader_setownercase
  - dns_slabheader_copycase
  - dns_slabheader_reset
  - dns_slabheader_new
  - dns_slabheader_destroy
  - dns_slabheader_freeproof
  - dns_slabheader_top
  - rdataset_first
  - rdataset_next
  - rdataset_current
  - rdataset_clone
  - rdataset_count
  - rdataset_getnoqname
  - rdataset_getclosest
  - rdataset_settrust
  - rdataset_clearprefetch
  - rdataset_setownercase
  - rdataset_getownercase
  - rdataset_getheader
  - rdataset_equals
  source_file: /src/bind9/lib/dns/rdataslab.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATASET_LENGTH
      pos:
        line_end: 966
        line_start: 965
        source_file: /src/bind9/lib/dns/rdataslab.c
      type_or_value: 2;
    structs:
    - fields:
      - name: '*pos'
        type: unsigned char
      - name: rdata
        type: dns_rdata_t
      - name: dup
        type: bool
      item_type: struct
      name: slabinfo
      pos:
        line_end: 442
        line_start: 438
        source_file: /src/bind9/lib/dns/rdataslab.c
    typedefs: []
    union: []
- function_names:
  - REGION_TO_GBUFFER
  - GBUFFER_TO_REGION
  - RETERR
  - name_to_gbuffer
  - log_cred
  - check_config
  - mech_oid_set_create
  - mech_oid_set_release
  - dst_gssapi_acquirecred
  - dst_gssapi_identitymatchesrealmkrb5
  - dst_gssapi_identitymatchesrealmms
  - dst_gssapi_releasecred
  - gss_err_message
  - dst_gssapi_initctx
  - dst_gssapi_acceptctx
  - dst_gssapi_deletectx
  - gss_error_tostring
  - dst_gssapi_acquirecred
  - dst_gssapi_identitymatchesrealmkrb5
  - dst_gssapi_identitymatchesrealmms
  - dst_gssapi_releasecred
  - dst_gssapi_initctx
  - dst_gssapi_acceptctx
  - dst_gssapi_deletectx
  - gss_error_tostring
  - gss_log
  source_file: /src/bind9/lib/dns/gssapictx.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GSS_KRB5_MECHANISM
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/gssapictx.c
      type_or_value: (&__gss_krb5_mechanism_oid_desc)
    - item_type: preproc_def
      name: GSS_SPNEGO_MECHANISM
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/dns/gssapictx.c
      type_or_value: (&__gss_spnego_mechanism_oid_desc)
    structs: []
    typedefs: []
    union: []
- function_names:
  - hash_divisor
  - delta_rrl_time
  - get_age
  - set_age
  - expand_entries
  - get_bin
  - free_old_hash
  - expand_rrl_hash
  - ref_entry
  - key_cmp
  - hash_key
  - make_key
  - get_rate
  - response_balance
  - get_entry
  - debit_log
  - debit_rrl_entry
  - get_qname
  - free_qname
  - add_log_str
  - ADD_LOG_CSTR
  - make_log_buf
  - log_end
  - log_stops
  - dns_rrl
  - dns_rrl_view_destroy
  - dns_rrl_init
  source_file: /src/bind9/lib/dns/rrl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - STRONG_RWLOCK_CHECK
  - NODE_INITLOCK
  - NODE_DESTROYLOCK
  - NODE_LOCK
  - NODE_UNLOCK
  - NODE_RDLOCK
  - NODE_WRLOCK
  - NODE_FORCEUPGRADE
  - TREE_INITLOCK
  - TREE_DESTROYLOCK
  - TREE_LOCK
  - TREE_UNLOCK
  - TREE_RDLOCK
  - TREE_WRLOCK
  - TREE_FORCEUPGRADE
  - IS_STUB
  - IS_CACHE
  - prio_type
  source_file: /src/bind9/lib/dns/db_p.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RDATATYPE_NCACHEANY
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/dns/db_p.h
      type_or_value: DNS_TYPEPAIR_VALUE(0, dns_rdatatype_any)
    structs:
    - fields:
      - name: '*next'
        type: struct dns_glue
      - name: name
        type: dns_name_t
      - name: rdataset_a
        type: dns_rdataset_t
      - name: sigrdataset_a
        type: dns_rdataset_t
      - name: rdataset_aaaa
        type: dns_rdataset_t
      - name: sigrdataset_aaaa
        type: dns_rdataset_t
      item_type: struct
      name: dns_glue
      pos:
        line_end: 95
        line_start: 88
        source_file: /src/bind9/lib/dns/db_p.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*version'
        type: dns_dbversion_t
      - name: '*header'
        type: dns_slabheader_t
      - name: '*glue'
        type: struct dns_glue
      - name: rcu_head
        type: struct rcu_head
      - name: wfs_node
        type: struct cds_wfs_node
      item_type: struct
      name: dns_gluelist
      pos:
        line_end: 107
        line_start: 97
        source_file: /src/bind9/lib/dns/db_p.h
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*version'
        type: dns_dbversion_t
      - name: '*node'
        type: dns_dbnode_t
      - name: '*glue'
        type: dns_glue_t
      item_type: struct
      name: dns_glue_additionaldata_ctx
      pos:
        line_end: 115
        line_start: 109
        source_file: /src/bind9/lib/dns/db_p.h
    typedefs: []
    union: []
- function_names:
  - dns_ds_fromkeyrdata
  - dns_ds_buildrdata
  source_file: /src/bind9/lib/dns/ds.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - VALID_XFRIN
  - VALID_XFRIN_WORK
  - axfr_init
  - axfr_putdata
  - axfr_apply
  - axfr_apply_done
  - axfr_commit
  - axfr_finalize
  - ixfr_init
  - ixfr_putdata
  - ixfr_begin_transaction
  - ixfr_end_transaction
  - ixfr_apply_one
  - ixfr_apply
  - ixfr_apply_done
  - ixfr_commit
  - xfr_rr
  - dns_xfrin_create
  - dns_xfrin_start
  - xfrin_timedout
  - xfrin_idledout
  - xfrin_minratecheck
  - dns_xfrin_getstarttime
  - dns_xfrin_getstate
  - dns_xfrin_getendserial
  - dns_xfrin_getstats
  - dns_xfrin_getsourceaddr
  - dns_xfrin_getprimaryaddr
  - dns_xfrin_gettransporttype
  - dns_xfrin_getsoatransporttype
  - dns_xfrin_gettsigkeyname
  - xfrin_shutdown
  - dns_xfrin_shutdown
  - xfrin_cancelio
  - xfrin_reset
  - xfrin_fail
  - xfrin_create
  - xfrin_start
  - render
  - xfrin_connect_done
  - tuple2msgname
  - request_type
  - add_opt
  - xfrin_send_request
  - xfrin_send_done
  - get_edns_expire
  - xfrin_end
  - xfrin_recv_done
  - MSG_SECTION_FOREACH
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - xfrin_destroy
  - xfrin_log
  source_file: /src/bind9/lib/dns/xfrin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XFRIN_MAGIC
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/bind9/lib/dns/xfrin.c
      type_or_value: ISC_MAGIC('X', 'f', 'r', 'I')
    - item_type: preproc_def
      name: XFRIN_WORK_MAGIC
      pos:
        line_end: 208
        line_start: 207
        source_file: /src/bind9/lib/dns/xfrin.c
      type_or_value: ISC_MAGIC('X', 'f', 'r', 'W')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*view'
        type: dns_view_t
      - name: references
        type: isc_refcount_t
      - name: shuttingdown
        type: atomic_bool
      - name: shutdown_result
        type: isc_result_t
      - name: name
        type: dns_name_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: id
        type: dns_messageid_t
      - name: reqtype
        type: dns_rdatatype_t
      - name: primaryaddr
        type: isc_sockaddr_t
      - name: sourceaddr
        type: isc_sockaddr_t
      - name: '*disp'
        type: dns_dispatch_t
      - name: '*dispentry'
        type: dns_dispentry_t
      - name: qbuffer
        type: isc_buffer_t
      - name: qbuffer_data[512]
        type: unsigned char
      - name: zone_had_db
        type: bool
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: diff
        type: dns_diff_t
      - name: diff_running
        type: bool
      - name: diff_head
        type: struct __cds_wfcq_head
      - name: diff_tail
        type: struct cds_wfcq_tail
      - name: state
        type: xfrin_state_t
      - name: expireopt
        type: uint32_t
      - name: edns
        type: bool
      - name: is_ixfr
        type: atomic_bool
      - name: nmsg
        type: atomic_uint
      - name: nrecs
        type: atomic_uint
      - name: nbytes
        type: atomic_uint_fast64_t
      - name: rate_bytes_per_second
        type: atomic_uint_fast64_t
      - name: end_serial
        type: atomic_uint_fast32_t
      - name: maxrecords
        type: unsigned int
      - name: nbytes_saved
        type: uint64_t
      - name: '*tsigkey'
        type: dns_tsigkey_t
      - name: '*lasttsig'
        type: isc_buffer_t
      - name: '*tsigctx'
        type: dst_context_t
      - name: sincetsig
        type: unsigned int
      - name: '*transport'
        type: dns_transport_t
      - name: done
        type: dns_xfrindone_t
      - name: axfr
        type: dns_rdatacallbacks_t
      - name: ixfr
        type: "struct {\n\t\tuint32_t diffs;\n\t\tuint32_t maxdiffs;\n\t\tuint32_t
          request_serial;\n\t\tuint32_t current_serial;\n\t\tdns_journal_t *journal;\n\t}"
      - name: firstsoa
        type: dns_rdata_t
      - name: '*firstsoa_data'
        type: unsigned char
      - name: '*tlsctx_cache'
        type: isc_tlsctx_cache_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*min_rate_timer'
        type: isc_timer_t
      - name: '*max_time_timer'
        type: isc_timer_t
      - name: '*max_idle_timer'
        type: isc_timer_t
      - name: info[DNS_NAME_MAXTEXT + 32]
        type: char
      item_type: struct
      name: dns_xfrin
      pos:
        line_end: 202
        line_start: 90
        source_file: /src/bind9/lib/dns/xfrin.c
    - fields:
      - name: magic
        type: unsigned int
      - name: result
        type: isc_result_t
      - name: '*xfr'
        type: dns_xfrin_t
      item_type: struct
      name: xfrin_work
      pos:
        line_end: 214
        line_start: 210
        source_file: /src/bind9/lib/dns/xfrin.c
    - fields:
      - name: diff
        type: dns_diff_t
      - name: wfcq_node
        type: struct cds_wfcq_node
      item_type: struct
      name: ixfr_apply_data
      pos:
        line_end: 450
        line_start: 447
        source_file: /src/bind9/lib/dns/xfrin.c
    typedefs:
    - item_type: typedef
      name: xfrin_state_t
      pos:
        line_end: 84
        line_start: 72
        source_file: /src/bind9/lib/dns/xfrin.c
    union: []
- function_names:
  - INSIST
  - STR_EXPAND
  - STR
  - HASH
  - start_directory
  - next_file
  - end_directory
  - upper
  - funname
  - doswitch
  - insert_into_typenames
  - add
  - sd
  - ttnam_cmp
  - main
  - PRINTCLASS
  source_file: /src/bind9/lib/dns/gen.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PATH_MAX
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: ULLONG_MAX
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: (~0ULL)
    - item_type: preproc_def
      name: FROMTEXTARGS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass, type, lexer, origin, options, target, callbacks"'
    - item_type: preproc_def
      name: FROMTEXTCLASS
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass"'
    - item_type: preproc_def
      name: FROMTEXTTYPE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"type"'
    - item_type: preproc_def
      name: FROMTEXTDEF
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"result = DNS_R_UNKNOWN"'
    - item_type: preproc_def
      name: TOTEXTARGS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata, tctx, target"'
    - item_type: preproc_def
      name: TOTEXTCLASS
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->rdclass"'
    - item_type: preproc_def
      name: TOTEXTTYPE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->type"'
    - item_type: preproc_def
      name: TOTEXTDEF
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: FROMWIREARGS
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass, type, source, dctx, target"'
    - item_type: preproc_def
      name: FROMWIRECLASS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass"'
    - item_type: preproc_def
      name: FROMWIRETYPE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"type"'
    - item_type: preproc_def
      name: FROMWIREDEF
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: TOWIREARGS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata, cctx, target"'
    - item_type: preproc_def
      name: TOWIRECLASS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->rdclass"'
    - item_type: preproc_def
      name: TOWIRETYPE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->type"'
    - item_type: preproc_def
      name: TOWIREDEF
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: FROMSTRUCTARGS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass, type, source, target"'
    - item_type: preproc_def
      name: FROMSTRUCTCLASS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass"'
    - item_type: preproc_def
      name: FROMSTRUCTTYPE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"type"'
    - item_type: preproc_def
      name: FROMSTRUCTDEF
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: TOSTRUCTARGS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata, target, mctx"'
    - item_type: preproc_def
      name: TOSTRUCTCLASS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->rdclass"'
    - item_type: preproc_def
      name: TOSTRUCTTYPE
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->type"'
    - item_type: preproc_def
      name: TOSTRUCTDEF
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: FREESTRUCTARGS
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"source"'
    - item_type: preproc_def
      name: FREESTRUCTCLASS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"common->rdclass"'
    - item_type: preproc_def
      name: FREESTRUCTTYPE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"common->rdtype"'
    - item_type: preproc_def
      name: FREESTRUCTDEF
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: COMPAREARGS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata1, rdata2"'
    - item_type: preproc_def
      name: COMPARECLASS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata1->rdclass"'
    - item_type: preproc_def
      name: COMPARETYPE
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata1->type"'
    - item_type: preproc_def
      name: COMPAREDEF
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: ADDITIONALDATAARGS
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata, owner, add, arg"'
    - item_type: preproc_def
      name: ADDITIONALDATACLASS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->rdclass"'
    - item_type: preproc_def
      name: ADDITIONALDATATYPE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->type"'
    - item_type: preproc_def
      name: ADDITIONALDATADEF
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: DIGESTARGS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata, digest, arg"'
    - item_type: preproc_def
      name: DIGESTCLASS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->rdclass"'
    - item_type: preproc_def
      name: DIGESTTYPE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->type"'
    - item_type: preproc_def
      name: DIGESTDEF
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"use_default = true"'
    - item_type: preproc_def
      name: CHECKOWNERARGS
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"name, rdclass, type, wildcard"'
    - item_type: preproc_def
      name: CHECKOWNERCLASS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdclass"'
    - item_type: preproc_def
      name: CHECKOWNERTYPE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"type"'
    - item_type: preproc_def
      name: CHECKOWNERDEF
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"result = true"'
    - item_type: preproc_def
      name: CHECKNAMESARGS
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata, owner, bad"'
    - item_type: preproc_def
      name: CHECKNAMESCLASS
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->rdclass"'
    - item_type: preproc_def
      name: CHECKNAMESTYPE
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"rdata->type"'
    - item_type: preproc_def
      name: CHECKNAMESDEF
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"result = true"'
    - item_type: preproc_def
      name: TYPENAMES
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '256'
    - item_type: preproc_def
      name: TYPECLASSLEN
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '20 '
    - item_type: preproc_def
      name: TYPECLASSBUF
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: (TYPECLASSLEN + 1)
    - item_type: preproc_def
      name: TYPECLASSFMT
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"%" STR(TYPECLASSLEN) "[-0-9a-z]_%u"'
    - item_type: preproc_def
      name: ATTRIBUTESIZE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '256'
    - item_type: preproc_def
      name: METANOTQUESTION
      pos:
        line_end: 803
        line_start: 800
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: "\"DNS_RDATATYPEATTR_META | \" \\\n\t\"DNS_RDATATYPEATTR_NOTQUESTION\""
    - item_type: preproc_def
      name: METAQUESTIONONLY
      pos:
        line_end: 806
        line_start: 803
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: "\"DNS_RDATATYPEATTR_META | \" \\\n\t\"DNS_RDATATYPEATTR_QUESTIONONLY\""
    - item_type: preproc_def
      name: RESERVEDNAME
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"0"'
    - item_type: preproc_def
      name: RESERVED
      pos:
        line_end: 808
        line_start: 807
        source_file: /src/bind9/lib/dns/gen.c
      type_or_value: '"DNS_RDATATYPEATTR_RESERVED"'
    structs:
    - fields:
      - name: '*next'
        type: struct cc
      - name: rdclass
        type: uint16_t
      - name: classbuf[TYPECLASSBUF]
        type: char
      item_type: struct
      name: cc
      pos:
        line_end: 139
        line_start: 135
        source_file: /src/bind9/lib/dns/gen.c
    - fields:
      - name: '*next'
        type: struct tt
      - name: rdclass
        type: uint16_t
      - name: type
        type: uint16_t
      - name: classbuf[TYPECLASSBUF]
        type: char
      - name: typebuf[TYPECLASSBUF]
        type: char
      - name: dirbuf[PATH_MAX - 30]
        type: char
      item_type: struct
      name: tt
      pos:
        line_end: 148
        line_start: 141
        source_file: /src/bind9/lib/dns/gen.c
    - fields:
      - name: typebuf[TYPECLASSBUF]
        type: char
      - name: macroname[TYPECLASSBUF]
        type: char
      - name: attr[ATTRIBUTESIZE]
        type: char
      - name: todo
        type: bool
      - name: hash
        type: uint8_t
      - name: type
        type: uint16_t
      item_type: struct
      name: ttnam
      pos:
        line_end: 157
        line_start: 150
        source_file: /src/bind9/lib/dns/gen.c
    - fields:
      - name: '*handle'
        type: DIR
      - name: '*filename'
        type: char
      item_type: struct
      name: isc_dir_t
      pos:
        line_end: 164
        line_start: 161
        source_file: /src/bind9/lib/dns/gen.c
    typedefs: []
    union: []
- function_names:
  - DST_AS_STR
  - NEXTTOKEN
  - NEXTTOKEN_OR_EOF
  - READLINE
  - BADTOKEN
  - RETERR
  - CHECKALG
  - dst__lib_initialize
  - dst__lib_shutdown
  - dst_algorithm_supported
  - dst_context_create
  - dst_context_destroy
  - dst_context_adddata
  - dst_context_sign
  - dst_context_verify
  - dst_key_tofile
  - dst_key_setexternal
  - dst_key_isexternal
  - dst_key_setmodified
  - dst_key_ismodified
  - dst_key_getfilename
  - dst_key_fromfile
  - dst_key_fromnamedfile
  - dst_key_todns
  - dst_key_fromdns
  - dst_key_frombuffer
  - dst_key_tobuffer
  - dst_key_getgssctx
  - dst_key_fromgssapi
  - dst_key_open
  - dst_key_close
  - dst_key_cleanup
  - dst_key_buildinternal
  - dst_key_fromlabel
  - dst_key_generate
  - dst_key_getbool
  - dst_key_setbool
  - dst_key_unsetbool
  - dst_key_getnum
  - dst_key_setnum
  - dst_key_unsetnum
  - dst_key_gettime
  - dst_key_settime
  - dst_key_unsettime
  - dst_key_getstate
  - dst_key_setstate
  - dst_key_unsetstate
  - dst_key_getprivateformat
  - dst_key_setprivateformat
  - comparekeys
  - pub_compare
  - dst_key_compare
  - dst_key_pubcompare
  - dst_key_attach
  - dst_key_free
  - dst_key_isprivate
  - dst_key_buildfilename
  - dst_key_sigsize
  - dst_key_setflags
  - dst_key_format
  - dst_key_dump
  - dst_key_restore
  - get_key_struct
  - dst_key_inactive
  - dst_key_setinactive
  - dst_key_read_public
  - find_metadata
  - find_numericdata
  - find_booleandata
  - find_timingdata
  - find_keystatedata
  - keystate_fromtext
  - dst_key_read_state
  - issymmetric
  - printbool
  - printnum
  - printtime
  - printstate
  - write_key_state
  - write_public_key
  - buildfilename
  - computeid
  - frombuffer
  - algorithm_status
  - addsuffix
  - dst_key_tkeytoken
  - dst_key_is_unused
  - dst_key_role
  - dst_key_is_published
  - dst_key_is_active
  - dst_key_is_signing
  - dst_key_is_revoked
  - dst_key_is_removed
  - dst_key_goal
  - dst_key_haskasp
  - dst_key_copy_metadata
  - dst_hmac_algorithm_totext
  - dst_algorithm_tosecalg
  - dst_algorithm_fromprivatedns
  - dst_algorithm_fromprivateoid
  - dst_algorithm_fromdata
  source_file: /src/bind9/lib/dns/dst_api.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NUMERIC_NTAGS
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: (DST_MAX_NUMERIC + 1)
    - item_type: preproc_def
      name: BOOLEAN_NTAGS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: (DST_MAX_BOOLEAN + 1)
    - item_type: preproc_def
      name: TIMING_NTAGS
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: (DST_MAX_TIMES + 1)
    - item_type: preproc_def
      name: KEYSTATES_NTAGS
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: (DST_MAX_KEYSTATES + 1)
    - item_type: preproc_def
      name: KEYSTATES_NVALUES
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: '4'
    - item_type: preproc_def
      name: STATE_ALGORITHM_STR
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: '"Algorithm:"'
    - item_type: preproc_def
      name: STATE_LENGTH_STR
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: '"Length:"'
    - item_type: preproc_def
      name: MAX_NTAGS
      pos:
        line_end: 139
        line_start: 137
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: (DST_MAX_NUMERIC + DST_MAX_BOOLEAN + DST_MAX_TIMES + DST_MAX_KEYSTATES)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns__rdatasetiter_current
  source_file: /src/bind9/lib/dns/rdatasetiter.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - NONEXISTENT
  - IGNORE
  - RESIGN
  - OPTOUT
  - STATCOUNT
  - HEADERNODE
  - QPDBITER_ORIGIN_NODE
  - QPDBITER_NSEC_ORIGIN_NODE
  - QPDBITER_NSEC3_ORIGIN_NODE
  - VALID_QPZONE
  - qpzonedb_ref
  - qpzonedb_unref
  - qpzonedb_attach
  - qpzonedb_detach
  - qpznode_ref
  - qpznode_unref
  - qpznode_attach
  - qpznode_detach
  - dns__qpzone_initialize
  - dns__qpzone_shutdown
  - qpzone_get_lock
  - qpzone_get_locknum
  - resign_sooner
  - set_index
  - free_glue
  - destroy_gluelist
  - free_gluelist_rcu
  - cleanup_gluelists
  - cds_wfs_for_each_blocking_safe
  - free_db_rcu
  - qpzone_destroy
  - qpdb_destroy
  - new_qpz_heap
  - get_heap_lock
  - qpz_heap_destroy
  - new_qpznode
  - allocate_version
  - dns__qpzone_create
  - qpznode_erefs_increment
  - qpznode_acquire
  - clean_zone_node
  - qpznode_erefs_decrement
  - qpznode_release
  - bindrdataset
  - setnsec3parameters
  - cleanup_nondirty
  - setsecure
  - currentversion
  - attachversion
  - newversion
  - resigninsert
  - resigndelete
  - make_least_version
  - rollback_node
  - closeversion
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - qpzone_findrdataset
  - delegating_type
  - loading_addnode
  - cname_and_other
  - add_changed
  - recordsize
  - maybe_update_recordsandsize
  - add
  - wildcardmagic
  - addwildcards
  - loading_addrdataset
  - loading_setup
  - loading_commit
  - beginload
  - endload
  - issecure
  - getnsec3parameters
  - getsize
  - setsigningtime
  - getsigningtime
  - setgluecachestats
  - findnodeintree
  - qpzone_findnode
  - qpzone_findnsec3node
  - matchparams
  - qpzone_setup_delegation
  - step
  - activeempty
  - wildcard_blocked
  - find_wildcard
  - previous_closest_nsec
  - find_closest_nsec
  - qpzone_check_zonecut
  - qpz_search_init
  - qpzone_find
  - qpzone_allrdatasets
  - qpzone_attachnode
  - qpzone_detachnode
  - nodecount
  - setloop
  - getoriginnode
  - rdatasetiter_current
  - dbiterator_seek
  - dbiterator_current
  - dbiterator_origin
  - qpzone_createiterator
  - qpzone_addrdataset
  - qpzone_subtractrdataset
  - qpzone_deleterdataset
  - nodefullname
  - new_glue
  - new_gluelist
  - glue_nsdname_cb
  - IS_REQUIRED_GLUE
  - addglue_to_message
  - create_gluelist
  - addglue
  - setmaxrrperset
  - setmaxtypepername
  - destroy_qpznode
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  source_file: /src/bind9/lib/dns/qpzone.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QPDB_ATTR_LOADED
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/qpzone.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: QPDB_ATTR_LOADING
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/qpzone.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: QPZONE_DB_MAGIC
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/bind9/lib/dns/qpzone.c
      type_or_value: ISC_MAGIC('Q', 'Z', 'D', 'B')
    structs:
    - fields:
      - name: lock
        type: isc_rwlock_t
      - name: "__padding[ISC_OS_CACHELINE_SIZE -\n\t\t\t  (sizeof(isc_rwlock_t)) %
          ISC_OS_CACHELINE_SIZE]"
        type: uint8_t
      item_type: struct
      name: qpzone_bucket
      pos:
        line_end: 118
        line_start: 111
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: '*node'
        type: qpznode_t
      - name: dirty
        type: bool
      item_type: struct
      name: qpz_changed
      pos:
        line_end: 126
        line_start: 122
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: serial
        type: uint32_t
      - name: '*qpdb'
        type: qpzonedb_t
      - name: references
        type: isc_refcount_t
      - name: writer
        type: bool
      - name: changed_list
        type: qpz_changedlist_t
      - name: resigned_list
        type: dns_slabheaderlist_t
      - name: (qpz_version_t)
        type: ISC_LINK
      - name: secure
        type: bool
      - name: havensec3
        type: bool
      - name: hash
        type: dns_hash_t
      - name: flags
        type: uint8_t
      - name: iterations
        type: uint16_t
      - name: salt_length
        type: uint8_t
      - name: salt[DNS_NSEC3_SALTSIZE]
        type: unsigned char
      - name: rwlock
        type: isc_rwlock_t
      - name: records
        type: uint64_t
      - name: xfrsize
        type: uint64_t
      - name: glue_stack
        type: struct cds_wfs_stack
      item_type: struct
      name: qpz_version
      pos:
        line_end: 158
        line_start: 131
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: lock
        type: isc_mutex_t
      - name: '*heap'
        type: isc_heap_t
      item_type: struct
      name: qpz_heap
      pos:
        line_end: 169
        line_start: 163
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: name
        type: dns_name_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*heap'
        type: qpz_heap_t
      - name: references
        type: isc_refcount_t
      - name: erefs
        type: isc_refcount_t
      - name: locknum
        type: uint16_t
      - name: havensec
        type: atomic_bool
      - name: wild
        type: atomic_bool
      - name: delegating
        type: atomic_bool
      - name: dirty
        type: atomic_bool
      - name: '*data'
        type: void
      item_type: struct
      name: qpznode
      pos:
        line_end: 211
        line_start: 173
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: common
        type: dns_db_t
      - name: lock
        type: isc_rwlock_t
      - name: references
        type: isc_refcount_t
      - name: '*origin'
        type: qpznode_t
      - name: '*nsec_origin'
        type: qpznode_t
      - name: '*nsec3_origin'
        type: qpznode_t
      - name: '*gluecachestats'
        type: isc_stats_t
      - name: attributes
        type: unsigned int
      - name: current_serial
        type: uint32_t
      - name: least_serial
        type: uint32_t
      - name: next_serial
        type: uint32_t
      - name: maxrrperset
        type: uint32_t
      - name: maxtypepername
        type: uint32_t
      - name: '*current_version'
        type: qpz_version_t
      - name: '*future_version'
        type: qpz_version_t
      - name: open_versions
        type: qpz_versionlist_t
      - name: '*loop'
        type: isc_loop_t
      - name: rcu_head
        type: struct rcu_head
      - name: '*heap'
        type: qpz_heap_t
      - name: '*tree'
        type: dns_qpmulti_t
      item_type: struct
      name: qpzonedb
      pos:
        line_end: 256
        line_start: 213
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: '*qpdb'
        type: qpzonedb_t
      - name: '*version'
        type: qpz_version_t
      - name: qpr
        type: dns_qpread_t
      - name: serial
        type: uint32_t
      - name: options
        type: unsigned int
      - name: chain
        type: dns_qpchain_t
      - name: iter
        type: dns_qpiter_t
      - name: copy_name
        type: bool
      - name: need_cleanup
        type: bool
      - name: wild
        type: bool
      - name: '*zonecut'
        type: qpznode_t
      - name: '*zonecut_header'
        type: dns_slabheader_t
      - name: '*zonecut_sigheader'
        type: dns_slabheader_t
      - name: zonecut_name
        type: dns_fixedname_t
      item_type: struct
      name: qpz_search_t
      pos:
        line_end: 288
        line_start: 273
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*tree'
        type: dns_qp_t
      item_type: struct
      name: qpz_load_t
      pos:
        line_end: 296
        line_start: 293
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: common
        type: dns_rdatasetiter_t
      - name: '*current'
        type: dns_slabheader_t
      item_type: struct
      name: qpdb_rdatasetiter
      pos:
        line_end: 346
        line_start: 343
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: common
        type: dns_dbiterator_t
      - name: result
        type: isc_result_t
      - name: '*snap'
        type: dns_qpsnap_t
      - name: iter
        type: dns_qpiter_t
      - name: '*node'
        type: qpznode_t
      - name: nsec3mode
        type: enum { full, nonsec3, nsec3only }
      item_type: struct
      name: qpdb_dbiterator
      pos:
        line_end: 389
        line_start: 382
        source_file: /src/bind9/lib/dns/qpzone.c
    typedefs:
    - item_type: typedef
      name: (qpz_changed_t)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/bind9/lib/dns/qpzone.c
    - item_type: typedef
      name: (qpz_version_t)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bind9/lib/dns/qpzone.c
    - item_type: typedef
      name: direction_t
      pos:
        line_end: 2717
        line_start: 2717
        source_file: /src/bind9/lib/dns/qpzone.c
    union: []
- function_names:
  - dns_byaddr_createptrname
  source_file: /src/bind9/lib/dns/byaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_keydata_todnskey
  - dns_keydata_fromdnskey
  source_file: /src/bind9/lib/dns/keydata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_ORDER_VALID
  - dns_order_create
  - dns_order_add
  - match
  - dns_order_find
  - dns_order_attach
  - dns_order_detach
  source_file: /src/bind9/lib/dns/order.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_ORDER_MAGIC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/order.c
      type_or_value: ISC_MAGIC('O', 'r', 'd', 'r')
    structs:
    - fields:
      - name: name
        type: dns_fixedname_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: rdtype
        type: dns_rdatatype_t
      - name: mode
        type: dns_orderopt_t
      - name: (dns_order_ent_t)
        type: ISC_LINK
      item_type: struct
      name: dns_order_ent
      pos:
        line_end: 36
        line_start: 30
        source_file: /src/bind9/lib/dns/order.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: (dns_order_ent_t)
        type: ISC_LIST
      - name: '*mctx'
        type: isc_mem_t
      item_type: struct
      name: dns_order
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/bind9/lib/dns/order.c
    typedefs: []
    union: []
- function_names:
  - dns_keystore_create
  - dns__keystore_destroy
  - dns_keystore_name
  - dns_keystore_directory
  - dns_keystore_setdirectory
  - dns_keystore_pkcs11uri
  - dns_keystore_setpkcs11uri
  - buildpkcs11label
  - dns_keystore_keygen
  - dns_keystorelist_find
  source_file: /src/bind9/lib/dns/keystore.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_CLIENT_VALID
  - RCTX_VALID
  - UCTX_VALID
  - CHECK
  - setsourceports
  - getudpdispatch
  - createview
  - dns_client_create
  - destroyclient
  - dns_client_detach
  - dns_client_setservers
  - dns_client_setmaxrestarts
  - dns_client_setmaxqueries
  - getrdataset
  - putrdataset
  - fetch_done
  - start_fetch
  - view_find
  - client_resfind
  - resolve_done
  - startresolve
  - dns_client_resolve
  - dns_client_freeresanswer
  - destroyrestrans
  - dns_client_addtrustedkey
  source_file: /src/bind9/lib/dns/client.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CLIENT_MAGIC
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'c')
    - item_type: preproc_def
      name: RCTX_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: ISC_MAGIC('R', 'c', 't', 'x')
    - item_type: preproc_def
      name: UCTX_MAGIC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: ISC_MAGIC('U', 'c', 't', 'x')
    - item_type: preproc_def
      name: DEF_FIND_TIMEOUT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DEF_FIND_UDPRETRIES
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DEF_MAX_RESTARTS
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DEF_MAX_QUERIES
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '200'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: attributes
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*nm'
        type: isc_nm_t
      - name: '*dispatchmgr'
        type: dns_dispatchmgr_t
      - name: '*dispatchv4'
        type: dns_dispatch_t
      - name: '*dispatchv6'
        type: dns_dispatch_t
      - name: find_timeout
        type: unsigned int
      - name: find_udpretries
        type: unsigned int
      - name: max_restarts
        type: uint8_t
      - name: max_queries
        type: uint8_t
      - name: references
        type: isc_refcount_t
      - name: '*view'
        type: dns_view_t
      item_type: struct
      name: dns_client
      pos:
        line_end: 90
        line_start: 71
        source_file: /src/bind9/lib/dns/client.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*client'
        type: dns_client_t
      - name: want_dnssec
        type: bool
      - name: want_validation
        type: bool
      - name: want_cdflag
        type: bool
      - name: want_tcp
        type: bool
      - name: '*view'
        type: dns_view_t
      - name: restarts
        type: unsigned int
      - name: name
        type: dns_fixedname_t
      - name: type
        type: dns_rdatatype_t
      - name: '*fetch'
        type: dns_fetch_t
      - name: namelist
        type: dns_namelist_t
      - name: result
        type: isc_result_t
      - name: '*qc'
        type: isc_counter_t
      - name: '*rev'
        type: dns_clientresume_t
      - name: '*rdataset'
        type: dns_rdataset_t
      - name: '*sigrdataset'
        type: dns_rdataset_t
      item_type: struct
      name: resctx
      pos:
        line_end: 120
        line_start: 100
        source_file: /src/bind9/lib/dns/client.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*client'
        type: dns_client_t
      - name: '*name'
        type: dns_name_t
      - name: result
        type: isc_result_t
      - name: vresult
        type: isc_result_t
      - name: '*namelist'
        type: dns_namelist_t
      - name: '*trans'
        type: dns_clientrestrans_t
      - name: resolve_cb
        type: dns_client_resolve_cb
      item_type: struct
      name: resarg
      pos:
        line_end: 135
        line_start: 125
        source_file: /src/bind9/lib/dns/client.c
    typedefs: []
    union: []
- function_names:
  - dns_iptable_create
  - dns_iptable_addprefix
  - dns_iptable_merge
  - dns__iptable_destroy
  source_file: /src/bind9/lib/dns/iptable.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - QP_GC_HEURISTIC
  - QP_NEEDGC
  - QP_AUTOGC
  - GROWTH_FACTOR
  - make_ref
  - ref_chunk
  - ref_cell
  - qpbase_unref
  - ref_ptr
  - QP_VALID
  - QPITER_VALID
  - QPCHAIN_VALID
  - QPMULTI_VALID
  - QPBASE_VALID
  - QPRCU_VALID
  - QP_INIT
  - node64
  - node32
  - make_node
  - node_pointer
  - node_tag
  - is_branch
  - leaf_pval
  - leaf_ival
  - make_leaf
  - branch_index
  - branch_twigs_ref
  - qpkey_bit
  - branch_key_offset
  - branch_keybit
  - branch_twigs
  - prefetch_twigs
  - get_root
  - MOVABLE_ROOT
  - branch_count_bitmap_before
  - branch_twigs_size
  - branch_twig_pos
  - branch_twig_ptr
  - branch_has_twig
  - move_twigs
  - zero_twigs
  - make_reader
  - reader_valid
  - unpack_reader
  - attach_leaf
  - detach_leaf
  - leaf_qpkey
  - triename
  - TRIENAME
  - qp_common_character
  source_file: /src/bind9/lib/dns/qp_p.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: QP_CHUNK_LOG_MIN
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '7'
    - item_type: preproc_def
      name: QP_CHUNK_LOG_MAX
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '7'
    - item_type: preproc_def
      name: QP_CHUNK_LOG_MIN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '3'
    - item_type: preproc_def
      name: QP_CHUNK_LOG_MAX
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '12'
    - item_type: preproc_def
      name: QP_CHUNK_SIZE
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: (1U << QP_CHUNK_LOG_MAX)
    - item_type: preproc_def
      name: QP_CHUNK_BYTES
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: (QP_CHUNK_SIZE * sizeof(dns_qpnode_t))
    - item_type: preproc_def
      name: QP_USAGE_BITS
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: (QP_CHUNK_LOG_MAX + 1)
    - item_type: preproc_def
      name: QP_MAX_FREE
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: (QP_CHUNK_SIZE / 8)
    - item_type: preproc_def
      name: QP_MIN_USED
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: (QP_CHUNK_SIZE - QP_MAX_FREE)
    - item_type: preproc_def
      name: INVALID_REF
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ((dns_qpref_t)~0UL)
    - item_type: preproc_def
      name: QP_MAGIC
      pos:
        line_end: 366
        line_start: 365
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('t', 'r', 'i', 'e')
    - item_type: preproc_def
      name: QPITER_MAGIC
      pos:
        line_end: 367
        line_start: 366
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('q', 'p', 'i', 't')
    - item_type: preproc_def
      name: QPCHAIN_MAGIC
      pos:
        line_end: 368
        line_start: 367
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('q', 'p', 'c', 'h')
    - item_type: preproc_def
      name: QPMULTI_MAGIC
      pos:
        line_end: 369
        line_start: 368
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('q', 'p', 'm', 'v')
    - item_type: preproc_def
      name: QPREADER_MAGIC
      pos:
        line_end: 370
        line_start: 369
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('q', 'p', 'r', 'x')
    - item_type: preproc_def
      name: QPBASE_MAGIC
      pos:
        line_end: 371
        line_start: 370
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('q', 'p', 'b', 'p')
    - item_type: preproc_def
      name: QPRCU_MAGIC
      pos:
        line_end: 372
        line_start: 371
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: ISC_MAGIC('q', 'p', 'c', 'b')
    - item_type: preproc_def
      name: READER_SIZE
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '2'
    structs:
    - fields: []
      item_type: struct
      name: dns_qpnode
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/bind9/lib/dns/qp_p.h
    - fields:
      - name: used
        type: dns_qpcell_t
      - name: capacity
        type: dns_qpcell_t
      - name: free
        type: dns_qpcell_t
      - name: exists
        type: bool
      - name: immutable
        type: bool
      - name: discounted
        type: bool
      - name: snapshot
        type: bool
      - name: snapfree
        type: bool
      - name: snapmark
        type: bool
      item_type: struct
      name: qp_usage
      pos:
        line_end: 295
        line_start: 276
        source_file: /src/bind9/lib/dns/qp_p.h
    - fields:
      - name: magic
        type: unsigned int
      - name: refcount
        type: isc_refcount_t
      - name: '*ptr[]'
        type: dns_qpnode_t
      item_type: struct
      name: dns_qpbase
      pos:
        line_end: 323
        line_start: 319
        source_file: /src/bind9/lib/dns/qp_p.h
    - fields:
      - name: magic
        type: unsigned int
      - name: rcu_head
        type: struct rcu_head
      - name: '*mctx'
        type: isc_mem_t
      - name: '*multi'
        type: dns_qpmulti_t
      - name: count
        type: dns_qpchunk_t
      - name: chunk[]
        type: dns_qpchunk_t
      item_type: struct
      name: qp_rcuctx
      pos:
        line_end: 338
        line_start: 330
        source_file: /src/bind9/lib/dns/qp_p.h
    - fields:
      - name: '*whence'
        type: dns_qpmulti_t
      - name: chunk_max
        type: uint32_t
      item_type: struct
      name: dns_qpsnap
      pos:
        line_end: 424
        line_start: 419
        source_file: /src/bind9/lib/dns/qp_p.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*usage'
        type: qp_usage_t
      - name: chunk_max
        type: dns_qpchunk_t
      - name: bump
        type: dns_qpchunk_t
      - name: fender
        type: dns_qpcell_t
      - name: leaf_count
        type: dns_qpcell_t
      - name: used_count
        type: dns_qpcell_t
      - name: hold_count
        type: dns_qpcell_t
      - name: chunk_capacity
        type: dns_qpcell_t
      - name: transaction_mode
        type: enum { QP_NONE, QP_WRITE, QP_UPDATE }
      - name: compact_all
        type: bool
      - name: write_protect
        type: bool
      item_type: struct
      name: dns_qp
      pos:
        line_end: 501
        line_start: 475
        source_file: /src/bind9/lib/dns/qp_p.h
    - fields:
      - name: magic
        type: uint32_t
      - name: '*reader'
        type: dns_qpnode_t
      - name: mutex
        type: isc_mutex_t
      - name: reader_ref
        type: dns_qpref_t
      - name: writer
        type: dns_qp_t
      - name: '*rollback'
        type: dns_qp_t
      - name: (dns_qpsnap_t)
        type: ISC_LIST
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_qpmulti
      pos:
        line_end: 541
        line_start: 525
        source_file: /src/bind9/lib/dns/qp_p.h
    typedefs: []
    union: []
- function_names:
  - DST_RET
  - opensslrsa_components_get
  - opensslrsa_components_free
  - opensslrsa_valid_key_alg
  - opensslrsa_createctx
  - opensslrsa_destroyctx
  - opensslrsa_adddata
  - opensslrsa_sign
  - opensslrsa_check_exponent_bits
  - opensslrsa_verify
  - progress_cb
  - opensslrsa_generate_pkey
  - opensslrsa_build_pkey
  - progress_cb
  - opensslrsa_generate_pkey_with_uri
  - opensslrsa_generate_pkey
  - opensslrsa_build_pkey
  - opensslrsa_generate
  - opensslrsa_todns
  - opensslrsa_fromdns
  - opensslrsa_tofile
  - opensslrsa_parse
  - opensslrsa_fromlabel
  - check_algorithm
  - dst__opensslrsa_init
  source_file: /src/bind9/lib/dns/opensslrsa_link.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: OPENSSLRSA_MAX_MODULUS_BITS
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/opensslrsa_link.c
      type_or_value: '4096'
    structs:
    - fields:
      - name: bnfree
        type: bool
      - name: '*e'
        type: BIGNUM
      item_type: struct
      name: rsa_components
      pos:
        line_end: 50
        line_start: 47
        source_file: /src/bind9/lib/dns/opensslrsa_link.c
    typedefs: []
    union: []
- function_names:
  - hmac_register_algorithm
  - getkeybits
  - hmac_createctx
  - hmac_destroyctx
  - hmac_adddata
  - hmac_sign
  - hmac_verify
  - hmac_compare
  - hmac_generate
  - hmac_isprivate
  - hmac_destroy
  - hmac_todns
  - hmac_fromdns
  - hmac__get_tag_key
  - hmac__get_tag_bits
  - hmac_tofile
  - hmac__to_dst_alg
  - hmac_parse
  source_file: /src/bind9/lib/dns/hmac_link.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_MD_md5
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/hmac_link.c
      type_or_value: ISC_MD_MD5
    - item_type: preproc_def
      name: ISC_MD_sha1
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/hmac_link.c
      type_or_value: ISC_MD_SHA1
    - item_type: preproc_def
      name: ISC_MD_sha224
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/hmac_link.c
      type_or_value: ISC_MD_SHA224
    - item_type: preproc_def
      name: ISC_MD_sha256
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/dns/hmac_link.c
      type_or_value: ISC_MD_SHA256
    - item_type: preproc_def
      name: ISC_MD_sha384
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/hmac_link.c
      type_or_value: ISC_MD_SHA384
    - item_type: preproc_def
      name: ISC_MD_sha512
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/hmac_link.c
      type_or_value: ISC_MD_SHA512
    structs:
    - fields:
      - name: key[ISC_MAX_BLOCK_SIZE]
        type: uint8_t
      item_type: struct
      name: dst_hmac_key
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/bind9/lib/dns/hmac_link.c
    typedefs: []
    union: []
- function_names:
  - dst_region_computeid
  - dst_region_computerid
  - dst_key_name
  - dst_key_size
  - dst_key_alg
  - dst_key_flags
  - dst_key_id
  - dst_key_rid
  - dst_key_class
  - dst_key_directory
  - dst_key_iszonekey
  - REVOKE
  - KSK
  - ID
  - ALG
  - dst_key_have_ksk_and_zsk
  - dst_key_setbits
  - dst_key_getbits
  - dst_key_setttl
  - dst_key_getttl
  - dst_key_setdirectory
  source_file: /src/bind9/lib/dns/key.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_ZONE_VALID
  - DNS_NOTIFY_VALID
  - DNS_CHECKDS_VALID
  - DNS_STUB_VALID
  - DNS_ZONEMGR_VALID
  - DNS_FORWARD_VALID
  - DNS_IO_VALID
  - DNS_KEYMGMT_VALID
  - DNS_KEYFILEIO_VALID
  - RANGE
  - NSEC3REMOVE
  - REVOKE
  - KSK
  - ID
  - ALG
  - KASP_LOCK
  - KASP_UNLOCK
  - LOCK_ZONE
  - UNLOCK_ZONE
  - LOCKED_ZONE
  - TRYLOCK_ZONE
  - LOCK_ZONE
  - UNLOCK_ZONE
  - LOCKED_ZONE
  - TRYLOCK_ZONE
  - ZONEDB_INITLOCK
  - ZONEDB_DESTROYLOCK
  - ZONEDB_LOCK
  - ZONEDB_UNLOCK
  - RETERR
  - free_rad_rcu
  - zonediff_init
  - DNS_ZONE_FLAG
  - DNS_ZONE_SETFLAG
  - DNS_ZONE_CLRFLAG
  - DNS_ZONE_OPTION
  - DNS_ZONE_SETOPTION
  - DNS_ZONE_CLROPTION
  - CHECK
  - DNS_ZONE_JITTER_ADD
  - DNS_ZONE_TIME_ADD
  - DNS_ZONE_TIME_SUBTRACT
  - inc_stats
  - dns_zone_create
  - clear_keylist
  - zone_free
  - inline_secure
  - inline_raw
  - dns_zone_setclass
  - dns_zone_getclass
  - dns_zone_setnotifytype
  - dns_zone_setcheckdstype
  - dns_zone_getserial
  - dns_zone_getzoneversion
  - dns_zone_settype
  - zone_freedbargs
  - dns_zone_getdbtype
  - dns_zone_setdbtype
  - dns_zone_setview_helper
  - dns_zone_setview
  - dns_zone_getview
  - dns_zone_setviewcommit
  - dns_zone_setviewrevert
  - dns_zone_setorigin
  - setstring
  - position_order
  - putmem
  - setfilename
  - dns_zone_setfile
  - dns_zone_getfile
  - dns_zone_setstream
  - dns_zone_getmaxttl
  - dns_zone_setmaxttl
  - default_journal
  - dns_zone_setjournal
  - dns_zone_getjournal
  - dns_zone_isdynamic
  - dns_zone_rpz_enable
  - dns_zone_get_rpz_num
  - dns_zone_rpz_enable_db
  - dns_zone_rpz_disable_db
  - dns_zone_catz_enable_db
  - dns_zone_catz_disable_db
  - zone_catz_enable
  - dns_zone_catz_enable
  - zone_catz_disable
  - dns_zone_catz_disable
  - dns_zone_catz_is_enabled
  - dns_zone_set_parentcatz
  - dns_zone_get_parentcatz
  - zone_touched
  - copy_initfile
  - zone_load
  - dns_zone_load
  - zone_asyncload
  - dns_zone_asyncload
  - dns__zone_loadpending
  - dns_zone_loadandthaw
  - get_primary_options
  - zone_registerinclude
  - get_raw_serial
  - zone_setrawdata
  - dns_zone_setrawdata
  - zone_startload
  - zone_check_mx
  - zone_check_srv
  - zone_check_glue
  - zone_rrset_check_dup
  - DNS_RDATASET_FOREACH
  - (&tmprdataset)
  - zone_check_dup
  - DNS_DBITERATOR_FOREACH
  - DNS_RDATASETITER_FOREACH
  - isspf
  - zone_is_served_by
  - integrity_checks
  - DNS_DBITERATOR_FOREACH
  - (&rdataset)
  - (&rdataset)
  - (&rdataset)
  - (&rdataset)
  - (&rdataset)
  - (&rdataset)
  - zone_check_dnskeys
  - (&rdataset)
  - resume_signingwithkey
  - (&rdataset)
  - zone_addnsec3chain
  - resume_addnsec3chain
  - (&rdataset)
  - set_resigntime
  - check_nsec3param
  - (&rdataset)
  - set_refreshkeytimer
  - create_keydata
  - delete_keydata
  - DNS_RDATASET_FOREACH
  - compute_tag
  - sfd_add
  - sfd_del
  - trust_key
  - fail_secure
  - load_secroots
  - DNS_RDATASET_FOREACH
  - do_one_tuple
  - update_one_rr
  - update_soa_serial
  - zone_journal
  - add_soa
  - addifmissing
  - sync_keyzone
  - DNS_RDATASET_FOREACH
  - dns_zone_synckeyzone
  - maybe_send_secure
  - zone_unchanged
  - process_zone_setnsec3param
  - check_reportchannel
  - zone_postload
  - exit_check
  - zone_check_ns
  - zone_count_ns_rr
  - (&rdataset)
  - SET_SOA_VALUES
  - CLR_SOA_VALUES
  - zone_load_soa_rr
  - (&rdataset)
  - zone_get_from_db
  - zone_destroy
  - dns_zone_iattach
  - zone_iattach
  - zone_idetach
  - dns_zone_idetach
  - dns_zone_getmctx
  - dns_zone_getmgr
  - dns_zone_setkasp
  - dns_zone_setdefaultkasp
  - dns_zone_getkasp
  - dns_zone_setskr
  - dns_zone_getskrbundle
  - dns_zone_setoption
  - dns_zone_getoptions
  - dns_zone_setxfrsource4
  - dns_zone_getxfrsource4
  - dns_zone_setxfrsource6
  - dns_zone_getxfrsource6
  - dns_zone_setparentalsrc4
  - dns_zone_getparentalsrc4
  - dns_zone_setparentalsrc6
  - dns_zone_getparentalsrc6
  - dns_zone_setnotifysrc4
  - dns_zone_getnotifysrc4
  - dns_zone_setnotifysrc6
  - dns_zone_getnotifysrc6
  - dns_zone_setalsonotify
  - has_pf
  - report_no_active_addresses
  - dns_zone_setprimaries
  - dns_zone_setparentals
  - dns_zone_getdb
  - dns_zone_setdb
  - was_dumping
  - keyfromfile
  - ISC_LIST_FOREACH
  - is_zone_key
  - findzonekeys
  - dns_zone_findkeys
  - dns_zone_prepare_shutdown
  - dns_zone_getdnsseckeys
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - offline
  - set_key_expiry_warning
  - delsig_ok
  - del_sigs
  - (&rdataset)
  - add_sigs
  - calculate_rrsig_validity
  - zone_resigninc
  - next_active
  - signed_with_good_key
  - (&rdataset)
  - ISC_LIST_FOREACH
  - add_nsec
  - check_if_bottom_of_zone
  - DNS_RDATASETITER_FOREACH
  - sign_a_node
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - updatesecure
  - updatesignwithkey
  - (&rdataset)
  - fixup_nsec3param
  - (&rdataset)
  - (&rdataset)
  - (&rdataset)
  - delete_nsec
  - (&rdataset)
  - deletematchingnsec3
  - (&rdataset)
  - need_nsec_chain
  - (&rdataset)
  - find_next_matching_tuple
  - move_matching_tuples
  - dns__zone_updatesigs
  - zone_nsec3chain
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - DNS_RDATASETITER_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH_REV
  - del_sig
  - DNS_RDATASETITER_FOREACH
  - (&rdataset)
  - (&rdataset)
  - dns_zone_check_dnskey_nsec3
  - zone_sign
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - normalize_key
  - matchkey
  - DNS_RDATASET_FOREACH
  - refresh_time
  - minimal_update
  - revocable
  - keyfetch_done
  - DNS_RDATASET_FOREACH
  - (&dsset)
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - retry_keyfetch
  - do_keyfetch
  - DNS_RDATASET_FOREACH
  - zone_maintenance
  - dns_zone_markdirty
  - dns_zone_expire
  - zone_expire
  - zone_refresh
  - zone_refresh_async
  - dns_zone_refresh
  - zone_journal_rollforward
  - zone_journal_compact
  - dns_zone_flush
  - dns_zone_dump
  - zone_needdump
  - dump_done
  - zone_dump
  - dumptostream
  - dns_zone_dumptostream
  - dns_zone_unload
  - notify_cancel
  - checkds_cancel
  - forward_cancel
  - zone_unload
  - dns_zone_setminrefreshtime
  - dns_zone_setmaxrefreshtime
  - dns_zone_setminretrytime
  - dns_zone_setmaxretrytime
  - dns_zone_getmaxrecords
  - dns_zone_setmaxrecords
  - dns_zone_setmaxrrperset
  - dns_zone_setmaxtypepername
  - notify_isqueued
  - notify_isself
  - notify_destroy
  - notify_create
  - process_notify_adb_event
  - notify_find_address
  - notify_send_queue
  - notify_send_toaddr
  - notify_send
  - dns_zone_notify
  - zone_notify
  - (&nsrdset)
  - create_query
  - add_opt
  - stub_finish_zone_update
  - stub_glue_response
  - stub_request_nameserver_address
  - save_nsrrset
  - DNS_RDATASET_FOREACH
  - ISC_LIST_FOREACH
  - stub_callback
  - get_edns_expire
  - setmodtime
  - refresh_callback
  - queue_soa_query
  - soa_query
  - ns_query
  - zone_shutdown
  - zone_timer
  - zone_timer_stop
  - zone_timer_set
  - zone__settimer
  - zone_settimer
  - cancel_refresh
  - notify_createmessage
  - dns_zone_notifyreceive
  - dns_zone_setnotifyacl
  - dns_zone_setqueryacl
  - dns_zone_setqueryonacl
  - dns_zone_setupdateacl
  - dns_zone_setforwardacl
  - dns_zone_setxfracl
  - dns_zone_getnotifyacl
  - dns_zone_getqueryacl
  - dns_zone_getqueryonacl
  - dns_zone_getupdateacl
  - dns_zone_getforwardacl
  - dns_zone_getxfracl
  - dns_zone_clearupdateacl
  - dns_zone_clearforwardacl
  - dns_zone_clearnotifyacl
  - dns_zone_clearqueryacl
  - dns_zone_clearqueryonacl
  - dns_zone_clearxfracl
  - dns_zone_getupdatedisabled
  - dns_zone_setupdatedisabled
  - dns_zone_getzeronosoattl
  - dns_zone_setzeronosoattl
  - dns_zone_setchecknames
  - dns_zone_getchecknames
  - dns_zone_setjournalsize
  - dns_zone_getjournalsize
  - zone_namerd_tostr
  - zone_name_tostr
  - zone_rdclass_tostr
  - zone_viewname_tostr
  - dns_zone_name
  - dns_zone_nameonly
  - dns_zone_logv
  - notify_log
  - dns_zone_logc
  - dns_zone_log
  - zone_debuglogc
  - zone_debuglog
  - dnssec_log
  - message_count
  - MSG_SECTION_FOREACH
  - dns_zone_setminxfrratein
  - dns_zone_getminxfrratebytesin
  - dns_zone_getminxfrratesecondsin
  - dns_zone_setmaxxfrin
  - dns_zone_getmaxxfrin
  - dns_zone_setmaxxfrout
  - dns_zone_getmaxxfrout
  - dns_zone_gettype
  - dns_zonetype_name
  - dns_zone_getredirecttype
  - dns_zone_getorigin
  - dns_zone_setidlein
  - dns_zone_getidlein
  - dns_zone_setidleout
  - dns_zone_getidleout
  - notify_done
  - update_log_cb
  - dnskey_inuse
  - cdnskey_inuse
  - cds_inuse
  - dns_zone_dnskey_inuse
  - ISC_LIST_FOREACH
  - sync_secure_journal
  - filter_keymaterial
  - sync_secure_db
  - receive_secure_serial
  - zone_send_secureserial
  - checkandaddsoa
  - save_nsec3param
  - (&rdataset)
  - (&prdataset)
  - restore_nsec3param
  - copy_non_dnssec_records
  - DNS_RDATASETITER_FOREACH
  - receive_secure_db
  - DNS_DBITERATOR_FOREACH
  - zone_send_securedb
  - dns_zone_replacedb
  - zone_replacedb
  - zone_attachdb
  - zone_detachdb
  - zone_xfrdone
  - zone_loaddone
  - dns_zone_getssutable
  - dns_zone_setssutable
  - dns_zone_setsigvalidityinterval
  - dns_zone_getsigvalidityinterval
  - dns_zone_setkeyvalidityinterval
  - dns_zone_getkeyvalidityinterval
  - dns_zone_setsigresigninginterval
  - dns_zone_getsigresigninginterval
  - dns_zone_getsourceaddr
  - dns_zone_getprimaryaddr
  - dns_zone_getxfrintime
  - queue_xfrin
  - get_request_transport_type
  - dns_zone_getrequesttransporttype
  - got_transfer_quota
  - forward_destroy
  - sendtoprimary
  - forward_callback
  - dns_zone_forwardupdate
  - dns_zone_next
  - dns_zone_first
  - zonemgr_keymgmt_init
  - zonemgr_keymgmt_destroy
  - kfio_match
  - zonemgr_keymgmt_add
  - match_ptr
  - zonemgr_keymgmt_delete
  - dns_zonemgr_create
  - dns_zonemgr_createzone
  - dns_zonemgr_managezone
  - dns_zonemgr_releasezone
  - dns_zonemgr_attach
  - dns_zonemgr_detach
  - dns_zonemgr_forcemaint
  - dns_zonemgr_shutdown
  - zonemgr_free
  - dns_zonemgr_settransfersin
  - dns_zonemgr_gettransfersin
  - dns_zonemgr_settransfersperns
  - dns_zonemgr_gettransfersperns
  - zmgr_resume_xfrs
  - zmgr_start_xfrin_ifquota
  - zone_saveunique
  - setrl
  - dns_zonemgr_setcheckdsrate
  - dns_zonemgr_setnotifyrate
  - dns_zonemgr_setstartupnotifyrate
  - dns_zonemgr_setserialqueryrate
  - dns_zonemgr_getnotifyrate
  - dns_zonemgr_getstartupnotifyrate
  - dns_zonemgr_getserialqueryrate
  - dns_zone_stopxfr
  - dns_zone_forcexfr
  - dns_zone_isforced
  - dns_zone_setstatistics
  - dns_zone_getstatscounters
  - dns_zone_setstats
  - dns_zone_setrequeststats
  - dns_zone_setrcvquerystats
  - dns_zone_setdnssecsignstats
  - dns_zone_getdnssecsignstats
  - dns_zone_getrequeststats
  - dns_zone_getrcvquerystats
  - dns_zone_setkeydirectory
  - dns_zone_getkeydirectory
  - dns_zone_setkeystores
  - dns_zone_getkeystores
  - dns_zonemgr_getcount
  - dns_zone_getxfr
  - dns_zone_lock_keyfiles
  - dns_zone_unlock_keyfiles
  - dns_zone_checknames
  - dns_zone_setcheckmx
  - dns_zone_setchecksrv
  - dns_zone_setcheckns
  - dns_zone_setcheckisservedby
  - dns_zone_setisself
  - dns_zone_setnotifydefer
  - dns_zone_setnotifydelay
  - dns_zone_signwithkey
  - dns_zone_addnsec3chain
  - dns_zone_setnodes
  - dns_zone_setsignatures
  - dns_zone_getsignatures
  - dns_zone_setprivatetype
  - dns_zone_getprivatetype
  - zone_signwithkey
  - next_keyevent
  - rr_exists
  - (&rdataset)
  - add_signing_records
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - tickle_apex_rrset
  - sign_apex
  - clean_nsec3param
  - signed_with_alg
  - DNS_RDATASET_FOREACH
  - add_chains
  - dnssec_report
  - checkds_destroy
  - make_dnskey
  - do_checkds
  - validate_ds
  - checkds_done
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - ISC_LIST_FOREACH
  - checkds_isqueued
  - checkds_create
  - checkds_createmessage
  - process_checkds_adb_event
  - checkds_find_address
  - checkds_send_toaddr
  - checkds_send_tons
  - checkds_send
  - nsfetch_done
  - DNS_RDATASET_FOREACH
  - do_nsfetch
  - update_ttl
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - zone_verifykeys
  - remove_rdataset
  - DNS_RDATASET_FOREACH
  - add_tuple
  - zone_apply_skrbundle
  - zone_rekey
  - (&cdsset)
  - (&cdnskeyset)
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - dns_zone_rekey
  - dns_zone_nscheck
  - dns_zone_cdscheck
  - (&cds)
  - (&dnskey)
  - (&cdnskey)
  - (&dnskey)
  - dns_zone_setautomatic
  - dns_zone_getautomatic
  - dns_zone_setadded
  - dns_zone_getadded
  - dns_zone_dlzpostload
  - dns_zone_setrefreshkeyinterval
  - dns_zone_setrequestixfr
  - dns_zone_getrequestixfr
  - dns_zone_setrequestixfrmaxdiffs
  - dns_zone_getrequestixfrmaxdiffs
  - dns_zone_setixfrratio
  - dns_zone_getixfrratio
  - dns_zone_setrequestexpire
  - dns_zone_getrequestexpire
  - dns_zone_setserialupdatemethod
  - dns_zone_getserialupdatemethod
  - dns_zone_link
  - dns_zone_getraw
  - dns_zone_israw
  - dns_zone_issecure
  - keydone
  - (&rdataset)
  - dns_zone_keydone
  - setnsec3param
  - salt2text
  - rss_post
  - (&prdataset)
  - (&nrdataset)
  - dns__zone_lookup_nsec3param
  - (&rdataset)
  - dns_zone_setnsec3param
  - dns_zone_getloadtime
  - dns_zone_getexpiretime
  - dns_zone_getrefreshtime
  - dns_zone_getrefreshkeytime
  - dns_zone_getincludes
  - dns_zone_setstatlevel
  - dns_zone_getstatlevel
  - setserial
  - dns_zone_setserial
  - dns_zone_getgluecachestats
  - dns_zone_isloaded
  - dns_zone_verifydb
  - zone_nsecttl
  - dns_zonemgr_set_tlsctx_cache
  - zmgr_tlsctx_attach
  - dns_zone_getmem
  - dns_zone_gettid
  - dns_zone_getloop
  - dns_zone_makedb
  - dns_zone_import_skr
  - dns_zone_getrad
  - dns_zone_setrad
  source_file: /src/bind9/lib/dns/zone.c
  types:
    enum:
    - enumerators:
      - name: DNS_NOTIFY_NOSOA
        value: 1 << 0
      - name: DNS_NOTIFY_STARTUP
        value: 1 << 1
      - name: DNS_NOTIFY_TCP
        value: 1 << 2
      item_type: enum
      name: dns_notify_flags
      pos:
        line_end: 672
        line_start: 668
        source_file: /src/bind9/lib/dns/zone.c
    preproc_defs:
    - item_type: preproc_def
      name: ZONE_MAGIC
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('Z', 'O', 'N', 'E')
    - item_type: preproc_def
      name: NOTIFY_MAGIC
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('N', 't', 'f', 'y')
    - item_type: preproc_def
      name: CHECKDS_MAGIC
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('C', 'h', 'D', 'S')
    - item_type: preproc_def
      name: STUB_MAGIC
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('S', 't', 'u', 'b')
    - item_type: preproc_def
      name: ZONEMGR_MAGIC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('Z', 'm', 'g', 'r')
    - item_type: preproc_def
      name: FORWARD_MAGIC
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('F', 'o', 'r', 'w')
    - item_type: preproc_def
      name: IO_MAGIC
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('Z', 'm', 'I', 'O')
    - item_type: preproc_def
      name: KEYMGMT_MAGIC
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('M', 'g', 'm', 't')
    - item_type: preproc_def
      name: KEYFILEIO_MAGIC
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: ISC_MAGIC('K', 'y', 'I', 'O')
    - item_type: preproc_def
      name: DNS_DEFAULT_IDLEIN
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '3600       '
    - item_type: preproc_def
      name: DNS_DEFAULT_IDLEOUT
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '3600       '
    - item_type: preproc_def
      name: MAX_XFER_TIME
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '(2 * 3600) '
    - item_type: preproc_def
      name: RESIGN_DELAY
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '3600       '
    - item_type: preproc_def
      name: UDP_REQUEST_TIMEOUT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: "5\t       "
    - item_type: preproc_def
      name: UDP_REQUEST_RETRIES
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TCP_REQUEST_TIMEOUT
      pos:
        line_end: 166
        line_start: 164
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (UDP_REQUEST_TIMEOUT * (UDP_REQUEST_RETRIES + 1) + 1)
    - item_type: preproc_def
      name: DNS_MAX_EXPIRE
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '14515200 '
    - item_type: preproc_def
      name: DNS_DUMP_DELAY
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '900 '
    - item_type: preproc_def
      name: DNS_KEYMGMT_HASH_BITS
      pos:
        line_end: 262
        line_start: 261
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '12'
    - item_type: preproc_def
      name: HOUR
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '3600'
    - item_type: preproc_def
      name: DAY
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (24 * HOUR)
    - item_type: preproc_def
      name: MONTH
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (30 * DAY)
    - item_type: preproc_def
      name: SEND_BUFFER_SIZE
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: ENTER
      pos:
        line_end: 1024
        line_start: 1023
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: zone_debuglog(zone, __func__, 1, "enter")
    - item_type: preproc_def
      name: OLD_SIGNING_RECORD_SIZE
      pos:
        line_end: 3771
        line_start: 3770
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SIGNING_RECORD_SIZE
      pos:
        line_end: 3772
        line_start: 3771
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PENDINGFLAGS
      pos:
        line_end: 23330
        line_start: 23329
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (DNS_NSEC3FLAG_CREATE | DNS_NSEC3FLAG_INITIAL)
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: lock
        type: isc_mutex_t
      - name: references
        type: isc_refcount_t
      - name: '*name'
        type: dns_name_t
      - name: fname
        type: dns_fixedname_t
      item_type: struct
      name: dns_keyfileio
      pos:
        line_end: 249
        line_start: 243
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: lock
        type: isc_rwlock_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*table'
        type: isc_hashmap_t
      item_type: struct
      name: dns_keymgmt
      pos:
        line_end: 256
        line_start: 251
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: rcu_head
        type: struct rcu_head
      - name: fname
        type: dns_fixedname_t
      item_type: struct
      name: dns_rad
      pos:
        line_end: 267
        line_start: 263
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: lock
        type: isc_mutex_t
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: dblock
        type: isc_rwlock_t
      - name: '*db'
        type: dns_db_t
      - name: tid
        type: isc_tid_t
      - name: '*zmgr'
        type: dns_zonemgr_t
      - name: (dns_zone_t)
        type: ISC_LINK
      - name: '*loop'
        type: isc_loop_t
      - name: '*timer'
        type: isc_timer_t
      - name: irefs
        type: isc_refcount_t
      - name: origin
        type: dns_name_t
      - name: '*rad'
        type: dns_rad_t
      - name: '*masterfile'
        type: char
      - name: '*initfile'
        type: char
      - name: '*stream'
        type: FILE
      - name: (dns_include_t)
        type: ISC_LIST
      - name: (dns_include_t)
        type: ISC_LIST
      - name: nincludes
        type: unsigned int
      - name: masterformat
        type: dns_masterformat_t
      - name: '*masterstyle'
        type: dns_master_style_t
      - name: '*journal'
        type: char
      - name: journalsize
        type: int32_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: type
        type: dns_zonetype_t
      - name: flags
        type: atomic_uint_fast64_t
      - name: options
        type: atomic_uint_fast64_t
      - name: db_argc
        type: unsigned int
      - name: '**db_argv'
        type: char
      - name: expiretime
        type: isc_time_t
      - name: refreshtime
        type: isc_time_t
      - name: dumptime
        type: isc_time_t
      - name: loadtime
        type: isc_time_t
      - name: notifytime
        type: isc_time_t
      - name: resigntime
        type: isc_time_t
      - name: keywarntime
        type: isc_time_t
      - name: signingtime
        type: isc_time_t
      - name: nsec3chaintime
        type: isc_time_t
      - name: refreshkeytime
        type: isc_time_t
      - name: xfrintime
        type: isc_time_t
      - name: refreshkeyinterval
        type: uint32_t
      - name: refreshkeycount
        type: uint32_t
      - name: refresh
        type: uint32_t
      - name: retry
        type: uint32_t
      - name: expire
        type: uint32_t
      - name: minimum
        type: uint32_t
      - name: key_expiry
        type: isc_stdtime_t
      - name: log_key_expired_timer
        type: isc_stdtime_t
      - name: '*keydirectory'
        type: char
      - name: '*kfio'
        type: dns_keyfileio_t
      - name: '*keystores'
        type: dns_keystorelist_t
      - name: '*xfr'
        type: dns_xfrin_t
      - name: maxrefresh
        type: uint32_t
      - name: minrefresh
        type: uint32_t
      - name: maxretry
        type: uint32_t
      - name: minretry
        type: uint32_t
      - name: maxrecords
        type: uint32_t
      - name: maxrrperset
        type: uint32_t
      - name: maxtypepername
        type: uint32_t
      - name: primaries
        type: dns_remote_t
      - name: parentals
        type: dns_remote_t
      - name: checkds_ok
        type: dns_dnsseckeylist_t
      - name: checkdstype
        type: dns_checkdstype_t
      - name: nsfetchcount
        type: uint32_t
      - name: parent_nscount
        type: uint32_t
      - name: notify
        type: dns_remote_t
      - name: notifytype
        type: dns_notifytype_t
      - name: notifyfrom
        type: isc_sockaddr_t
      - name: notifysrc4
        type: isc_sockaddr_t
      - name: notifysrc6
        type: isc_sockaddr_t
      - name: parentalsrc4
        type: isc_sockaddr_t
      - name: parentalsrc6
        type: isc_sockaddr_t
      - name: xfrsource4
        type: isc_sockaddr_t
      - name: xfrsource6
        type: isc_sockaddr_t
      - name: sourceaddr
        type: isc_sockaddr_t
      - name: '*tsigkey'
        type: dns_tsigkey_t
      - name: '*transport'
        type: dns_transport_t
      - name: '*update_acl'
        type: dns_acl_t
      - name: '*forward_acl'
        type: dns_acl_t
      - name: '*notify_acl'
        type: dns_acl_t
      - name: '*query_acl'
        type: dns_acl_t
      - name: '*queryon_acl'
        type: dns_acl_t
      - name: '*xfr_acl'
        type: dns_acl_t
      - name: update_disabled
        type: bool
      - name: zero_no_soa_ttl
        type: bool
      - name: check_names
        type: dns_severity_t
      - name: (dns_notify_t)
        type: ISC_LIST
      - name: (dns_checkds_t)
        type: ISC_LIST
      - name: '*request'
        type: dns_request_t
      - name: '*loadctx'
        type: dns_loadctx_t
      - name: '*dumpctx'
        type: dns_dumpctx_t
      - name: minxfrratebytesin
        type: uint32_t
      - name: minxfrratesecondsin
        type: uint32_t
      - name: maxxfrin
        type: uint32_t
      - name: maxxfrout
        type: uint32_t
      - name: idlein
        type: uint32_t
      - name: idleout
        type: uint32_t
      - name: '*ssutable'
        type: dns_ssutable_t
      - name: sigvalidityinterval
        type: uint32_t
      - name: keyvalidityinterval
        type: uint32_t
      - name: sigresigninginterval
        type: uint32_t
      - name: '*view'
        type: dns_view_t
      - name: '*prev_view'
        type: dns_view_t
      - name: '*kasp'
        type: dns_kasp_t
      - name: '*defaultkasp'
        type: dns_kasp_t
      - name: keyring
        type: dns_dnsseckeylist_t
      - name: checkmx
        type: dns_checkmxfunc_t
      - name: checksrv
        type: dns_checksrvfunc_t
      - name: checkns
        type: dns_checknsfunc_t
      - name: checkisservedby
        type: dns_checkisservedbyfunc_t
      - name: (dns_zone_t)
        type: ISC_LINK
      - name: '*statelist'
        type: dns_zonelist_t
      - name: '*stats'
        type: isc_stats_t
      - name: statlevel
        type: dns_zonestat_level_t
      - name: requeststats_on
        type: bool
      - name: '*requeststats'
        type: isc_stats_t
      - name: '*rcvquerystats'
        type: dns_stats_t
      - name: '*dnssecsignstats'
        type: dns_stats_t
      - name: notifydelay
        type: uint32_t
      - name: notifydefer
        type: uint32_t
      - name: isself
        type: dns_isselffunc_t
      - name: '*isselfarg'
        type: void
      - name: '*strnamerd'
        type: char
      - name: '*strname'
        type: char
      - name: '*strrdclass'
        type: char
      - name: '*strviewname'
        type: char
      - name: compact_serial
        type: uint32_t
      - name: signing
        type: dns_signinglist_t
      - name: nsec3chain
        type: dns_nsec3chainlist_t
      - name: signatures
        type: uint32_t
      - name: nodes
        type: uint32_t
      - name: privatetype
        type: dns_rdatatype_t
      - name: added
        type: bool
      - name: automatic
        type: bool
      - name: '*rpzs'
        type: dns_rpz_zones_t
      - name: rpz_num
        type: dns_rpz_num_t
      - name: '*catzs'
        type: dns_catz_zones_t
      - name: '*parentcatz'
        type: dns_catz_zone_t
      - name: updatemethod
        type: dns_updatemethod_t
      - name: requestixfr
        type: bool
      - name: requestixfr_maxdiffs
        type: uint32_t
      - name: ixfr_ratio
        type: uint32_t
      - name: requestexpire
        type: bool
      - name: forwards
        type: dns_forwardlist_t
      - name: '*raw'
        type: dns_zone_t
      - name: '*secure'
        type: dns_zone_t
      - name: sourceserialset
        type: bool
      - name: sourceserial
        type: uint32_t
      - name: soattl
        type: dns_ttl_t
      - name: maxttl
        type: dns_ttl_t
      - name: rss_diff
        type: dns_diff_t
      - name: '*rss_newver'
        type: dns_dbversion_t
      - name: '*rss_oldver'
        type: dns_dbversion_t
      - name: '*rss_db'
        type: dns_db_t
      - name: '*rss_raw'
        type: dns_zone_t
      - name: '*rss'
        type: struct rss
      - name: '*rss_state'
        type: dns_update_state_t
      - name: '*gluecachestats'
        type: isc_stats_t
      - name: '*skr'
        type: dns_skr_t
      - name: '*skrbundle'
        type: dns_skrbundle_t
      item_type: struct
      name: dns_zone
      pos:
        line_end: 533
        line_start: 277
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: refs
        type: isc_refcount_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*netmgr'
        type: isc_nm_t
      - name: workers
        type: uint32_t
      - name: '**mctxpool'
        type: isc_mem_t
      - name: '*checkdsrl'
        type: isc_ratelimiter_t
      - name: '*notifyrl'
        type: isc_ratelimiter_t
      - name: '*refreshrl'
        type: isc_ratelimiter_t
      - name: '*startupnotifyrl'
        type: isc_ratelimiter_t
      - name: '*startuprefreshrl'
        type: isc_ratelimiter_t
      - name: rwlock
        type: isc_rwlock_t
      - name: zones
        type: dns_zonelist_t
      - name: waiting_for_xfrin
        type: dns_zonelist_t
      - name: xfrin_in_progress
        type: dns_zonelist_t
      - name: transfersin
        type: uint32_t
      - name: transfersperns
        type: uint32_t
      - name: checkdsrate
        type: unsigned int
      - name: notifyrate
        type: unsigned int
      - name: startupnotifyrate
        type: unsigned int
      - name: serialqueryrate
        type: unsigned int
      - name: startupserialqueryrate
        type: unsigned int
      - name: '*keymgmt'
        type: dns_keymgmt_t
      - name: '*tlsctx_cache'
        type: isc_tlsctx_cache_t
      - name: tlsctx_cache_rwlock
        type: isc_rwlock_t
      item_type: struct
      name: dns_zonemgr
      pos:
        line_end: 647
        line_start: 614
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*find'
        type: dns_adbfind_t
      - name: '*request'
        type: dns_request_t
      - name: ns
        type: dns_name_t
      - name: src
        type: isc_sockaddr_t
      - name: dst
        type: isc_sockaddr_t
      - name: '*key'
        type: dns_tsigkey_t
      - name: '*transport'
        type: dns_transport_t
      - name: (dns_notify_t)
        type: ISC_LINK
      - name: '*rlevent'
        type: isc_rlevent_t
      item_type: struct
      name: dns_notify
      pos:
        line_end: 666
        line_start: 652
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: flags
        type: dns_notify_flags_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*find'
        type: dns_adbfind_t
      - name: '*request'
        type: dns_request_t
      - name: ns
        type: dns_name_t
      - name: src
        type: isc_sockaddr_t
      - name: dst
        type: isc_sockaddr_t
      - name: '*key'
        type: dns_tsigkey_t
      - name: '*transport'
        type: dns_transport_t
      - name: (dns_checkds_t)
        type: ISC_LINK
      - name: '*rlevent'
        type: isc_rlevent_t
      item_type: struct
      name: dns_checkds
      pos:
        line_end: 691
        line_start: 677
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*db'
        type: dns_db_t
      - name: '*version'
        type: dns_dbversion_t
      - name: pending_requests
        type: atomic_uint_fast32_t
      item_type: struct
      name: dns_stub
      pos:
        line_end: 706
        line_start: 699
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: '*db'
        type: dns_db_t
      - name: loadtime
        type: isc_time_t
      - name: callbacks
        type: dns_rdatacallbacks_t
      item_type: struct
      name: dns_load
      pos:
        line_end: 716
        line_start: 711
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*msgbuf'
        type: isc_buffer_t
      - name: '*request'
        type: dns_request_t
      - name: which
        type: uint32_t
      - name: addr
        type: isc_sockaddr_t
      - name: '*transport'
        type: dns_transport_t
      - name: callback
        type: dns_updatecallback_t
      - name: '*callback_arg'
        type: void
      - name: options
        type: unsigned int
      - name: (dns_forward_t)
        type: ISC_LINK
      item_type: struct
      name: dns_forward
      pos:
        line_end: 734
        line_start: 721
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*db'
        type: dns_db_t
      - name: '*dbiterator'
        type: dns_dbiterator_t
      - name: algorithm
        type: dst_algorithm_t
      - name: keyid
        type: uint16_t
      - name: deleteit
        type: bool
      - name: done
        type: bool
      - name: (dns_signing_t)
        type: ISC_LINK
      item_type: struct
      name: dns_signing
      pos:
        line_end: 749
        line_start: 740
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*db'
        type: dns_db_t
      - name: '*dbiterator'
        type: dns_dbiterator_t
      - name: nsec3param
        type: dns_rdata_nsec3param_t
      - name: salt[255]
        type: unsigned char
      - name: done
        type: bool
      - name: seen_nsec
        type: bool
      - name: delete_nsec
        type: bool
      - name: save_delete_nsec
        type: bool
      - name: (dns_nsec3chain_t)
        type: ISC_LINK
      item_type: struct
      name: dns_nsec3chain
      pos:
        line_end: 762
        line_start: 751
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: name
        type: dns_fixedname_t
      - name: keydataset
        type: dns_rdataset_t
      - name: dnskeyset
        type: dns_rdataset_t
      - name: dnskeysigset
        type: dns_rdataset_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*db'
        type: dns_db_t
      - name: '*fetch'
        type: dns_fetch_t
      item_type: struct
      name: dns_keyfetch
      pos:
        line_end: 795
        line_start: 786
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: name
        type: dns_fixedname_t
      - name: pname
        type: dns_name_t
      - name: nsrrset
        type: dns_rdataset_t
      - name: nssigset
        type: dns_rdataset_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*fetch'
        type: dns_fetch_t
      item_type: struct
      name: dns_nsfetch
      pos:
        line_end: 805
        line_start: 797
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: flags
        type: unsigned int
      - name: '*loaded'
        type: dns_zt_callback_t
      - name: '*loaded_arg'
        type: void
      item_type: struct
      name: dns_asyncload
      pos:
        line_end: 815
        line_start: 810
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*name'
        type: char
      - name: filetime
        type: isc_time_t
      - name: (dns_include_t)
        type: ISC_LINK
      item_type: struct
      name: dns_include
      pos:
        line_end: 824
        line_start: 820
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: now
        type: isc_time_t
      item_type: struct
      name: zone_settimer
      pos:
        line_end: 846
        line_start: 843
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: rdata
        type: dns_rdata_nsec3param_t
      - name: data[DNS_NSEC3PARAM_BUFFERSIZE + 1]
        type: unsigned char
      - name: length
        type: unsigned int
      - name: nsec
        type: bool
      - name: replace
        type: bool
      - name: resalt
        type: bool
      - name: lookup
        type: bool
      - name: (nsec3param_t)
        type: ISC_LINK
      item_type: struct
      name: nsec3param
      pos:
        line_end: 1081
        line_start: 1072
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: params
        type: nsec3param_t
      item_type: struct
      name: np3
      pos:
        line_end: 1088
        line_start: 1084
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: serial
        type: uint32_t
      item_type: struct
      name: setserial
      pos:
        line_end: 1093
        line_start: 1090
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*stub'
        type: dns_stub_t
      - name: '*tsig_key'
        type: dns_tsigkey_t
      - name: udpsize
        type: uint16_t
      - name: connect_timeout
        type: unsigned int
      - name: timeout
        type: unsigned int
      - name: reqnsid
        type: bool
      item_type: struct
      name: stub_cb_args
      pos:
        line_end: 1102
        line_start: 1095
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*request'
        type: dns_request_t
      - name: name
        type: dns_name_t
      - name: '*args'
        type: struct stub_cb_args
      - name: ipv4
        type: bool
      item_type: struct
      name: stub_glue_request
      pos:
        line_end: 1109
        line_start: 1104
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: '*diff'
        type: dns_diff_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*changed'
        type: bool
      - name: result
        type: isc_result_t
      item_type: struct
      name: addifmissing_arg
      pos:
        line_end: 4736
        line_start: 4729
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: '*rlevent'
        type: isc_rlevent_t
      item_type: struct
      name: soaquery
      pos:
        line_end: 14505
        line_start: 14502
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: '*db'
        type: dns_db_t
      - name: serial
        type: uint32_t
      item_type: struct
      name: rss
      pos:
        line_end: 16408
        line_start: 16403
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: all
        type: bool
      - name: data[SIGNING_RECORD_SIZE]
        type: unsigned char
      - name: '*zone'
        type: dns_zone_t
      item_type: struct
      name: keydone
      pos:
        line_end: 23327
        line_start: 23323
        source_file: /src/bind9/lib/dns/zone.c
    typedefs:
    - item_type: typedef
      name: (dns_forward_t)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bind9/lib/dns/zone.c
    - item_type: typedef
      name: (dns_signing_t)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bind9/lib/dns/zone.c
    - item_type: typedef
      name: (dns_nsec3chain_t)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/bind9/lib/dns/zone.c
    - item_type: typedef
      name: dns_zoneflg_t
      pos:
        line_end: 594
        line_start: 545
        source_file: /src/bind9/lib/dns/zone.c
    - item_type: typedef
      name: dns_zoneloadflag_t
      pos:
        line_end: 605
        line_start: 601
        source_file: /src/bind9/lib/dns/zone.c
    - item_type: typedef
      name: dns_notify_flags_t
      pos:
        line_end: 672
        line_start: 668
        source_file: /src/bind9/lib/dns/zone.c
    - item_type: typedef
      name: (nsec3param_t)
      pos:
        line_end: 1082
        line_start: 1082
        source_file: /src/bind9/lib/dns/zone.c
    union: []
- function_names:
  - VALID_DTENV
  - CHECK
  - dns_dt_create
  - dns_dt_setupfile
  - dns_dt_reopen
  - toregion
  - dns_dt_setidentity
  - dns_dt_setversion
  - set_dt_ioq
  - dt_queue
  - dns_dt_attach
  - dns_dt_getstats
  - destroy
  - dns_dt_detach
  - pack_dt
  - send_dt
  - init_msg
  - dnstap_type
  - cpbuf
  - setaddr
  - perform_reopen
  - check_file_size_and_maybe_reopen
  - dns_dt_send
  - putstr
  - putaddr
  - dnstap_file
  - dns_dt_open
  - dns_dt_getframe
  - dns_dt_close
  - dns_dt_parse
  - dns_dt_datatotext
  - dns_dtdata_free
  source_file: /src/bind9/lib/dns/dnstap.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DTENV_MAGIC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/dnstap.c
      type_or_value: ISC_MAGIC('D', 't', 'n', 'v')
    - item_type: preproc_def
      name: DNSTAP_CONTENT_TYPE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/dns/dnstap.c
      type_or_value: '"protobuf:dnstap.Dnstap"'
    - item_type: preproc_def
      name: DNSTAP_INITIAL_BUF_SIZE
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/dnstap.c
      type_or_value: '256'
    structs:
    - fields:
      - name: '*buf'
        type: void
      - name: len
        type: size_t
      - name: d
        type: Dnstap__Dnstap
      - name: m
        type: Dnstap__Message
      item_type: struct
      name: dns_dtmsg
      pos:
        line_end: 91
        line_start: 86
        source_file: /src/bind9/lib/dns/dnstap.c
    - fields:
      - name: mode
        type: dns_dtmode_t
      - name: '*reader'
        type: struct fstrm_reader
      - name: '*mctx'
        type: isc_mem_t
      item_type: struct
      name: dns_dthandle
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/bind9/lib/dns/dnstap.c
    - fields:
      - name: magic
        type: unsigned int
      - name: refcount
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loop'
        type: isc_loop_t
      - name: '*iothr'
        type: struct fstrm_iothr
      - name: '*fopt'
        type: struct fstrm_iothr_options
      - name: reopen_lock
        type: isc_mutex_t
      - name: reopen_queued
        type: bool
      - name: identity
        type: isc_region_t
      - name: version
        type: isc_region_t
      - name: '*path'
        type: char
      - name: mode
        type: dns_dtmode_t
      - name: max_size
        type: off_t
      - name: rolls
        type: int
      - name: suffix
        type: isc_log_rollsuffix_t
      - name: '*stats'
        type: isc_stats_t
      item_type: struct
      name: dns_dtenv
      pos:
        line_end: 120
        line_start: 99
        source_file: /src/bind9/lib/dns/dnstap.c
    - fields:
      - name: generation
        type: unsigned int
      - name: '*ioq'
        type: struct fstrm_iothr_queue
      item_type: struct
      name: ioq
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/bind9/lib/dns/dnstap.c
    typedefs: []
    union: []
- function_names:
  - ssu_e_log
  - ux_socket_connect
  - dns_ssu_external_match
  source_file: /src/bind9/lib/dns/ssu_external.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSU_EXTERNAL_VERSION
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/lib/dns/ssu_external.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - OPTOUT
  - CREATE
  - INITIAL
  - REMOVE
  - dns_nsec3_buildrdata
  - DNS_RDATASETITER_FOREACH
  - dns_nsec3_typepresent
  - dns_nsec3_generate_salt
  - dns_nsec3_hashname
  - dns_nsec3_hashlength
  - dns_nsec3_supportedhash
  - do_one_tuple
  - name_exists
  - match_nsec3param
  - delnsec3
  - (&rdataset)
  - better_param
  - (&rdataset)
  - find_nsec3
  - DNS_RDATASET_FOREACH
  - dns_nsec3_addnsec3
  - dns_nsec3_addnsec3s
  - (&rdataset)
  - dns_nsec3param_fromprivate
  - dns_nsec3param_toprivate
  - rr_exists
  - (&rdataset)
  - dns_nsec3param_salttotext
  - dns_nsec3param_deletechains
  - (&rdataset)
  - (&rdataset)
  - dns_nsec3_addnsec3sx
  - (&rdataset)
  - (&prdataset)
  - deleteit
  - dns_nsec3_delnsec3
  - dns_nsec3_delnsec3s
  - dns_nsec3_delnsec3sx
  - (&rdataset)
  - (&rdataset)
  - dns_nsec3_active
  - dns_nsec3_activex
  - (&rdataset)
  - (&rdataset)
  - dns_nsec3_maxiterations
  - dns_nsec3_noexistnodata
  source_file: /src/bind9/lib/dns/nsec3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - RETTOK
  - CHECK
  - CHECKTOK
  - DNS_AS_STR
  - locator_pton
  - name_duporclone
  - mem_maybedup
  - typemap_fromtext
  - typemap_totext
  - typemap_test
  - check_private
  - validate_dohpath
  - dns_rdata_init
  - dns_rdata_reset
  - dns_rdata_clone
  - dns_rdata_compare
  - if
  - dns_rdata_casecompare
  - if
  - dns_rdata_fromregion
  - dns_rdata_toregion
  - dns_rdata_fromwire
  - if
  - dns_rdata_towire
  - if
  - rdata_validate
  - unknown_fromtext
  - dns_rdata_fromtext
  - unknown_totext
  - rdata_totext
  - dns_rdata_totext
  - dns_rdata_tofmttext
  - dns_rdata_fromstruct
  - if
  - dns_rdata_tostruct
  - if
  - dns_rdata_freestruct
  - dns_rdata_additionaldata
  - if
  - dns_rdata_digest
  - if
  - dns_rdata_checkowner
  - dns_rdata_checknames
  - dns_rdatatype_attributes
  - dns_rdatatype_fromtext
  - dns_rdatatype_totext
  - dns_rdatatype_tounknowntext
  - dns_rdatatype_format
  - name_length
  - commatxt_totext
  - txt_totext
  - commatxt_fromtext
  - txt_fromtext
  - txt_fromwire
  - multitxt_totext
  - multitxt_fromtext
  - name_prefix
  - str_totext
  - inet_totext
  - buffer_empty
  - buffer_fromregion
  - uint32_tobuffer
  - uint16_tobuffer
  - uint8_tobuffer
  - name_tobuffer
  - uint32_fromregion
  - uint16_consume_fromregion
  - uint16_fromregion
  - uint8_fromregion
  - uint8_consume_fromregion
  - mem_tobuffer
  - hexvalue
  - decvalue
  - default_fromtext_callback
  - fromtext_warneof
  - warn_badmx
  - warn_badname
  - fromtext_error
  - dns_rdata_covers
  - dns_rdata_exists
  - dns_rdata_notexist
  - dns_rdata_deleterrset
  - dns_rdata_makedelete
  - dns_rdata_updateop
  - svcb_ishttp
  - svcb_hashttp
  - dns_rdata_checksvcb
  source_file: /src/bind9/lib/dns/rdata.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ARGS_FROMTEXT
      pos:
        line_end: 92
        line_start: 88
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: "int rdclass, dns_rdatatype_t type, isc_lex_t *lexer,    \\\n\t\tconst
        dns_name_t *origin, unsigned int options, \\\n\t\tisc_buffer_t *target, dns_rdatacallbacks_t
        *callbacks"
    - item_type: preproc_def
      name: CALL_FROMTEXT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdclass, type, lexer, origin, options, target, callbacks
    - item_type: preproc_def
      name: ARGS_TOTEXT
      pos:
        line_end: 97
        line_start: 95
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: dns_rdata_t *rdata, dns_rdata_textctx_t *tctx, isc_buffer_t *target
    - item_type: preproc_def
      name: CALL_TOTEXT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, tctx, target
    - item_type: preproc_def
      name: ARGS_FROMWIRE
      pos:
        line_end: 103
        line_start: 100
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: "int rdclass, dns_rdatatype_t type, isc_buffer_t *source, \\\n\t\tdns_decompress_t
        dctx, isc_buffer_t *target"
    - item_type: preproc_def
      name: CALL_FROMWIRE
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdclass, type, source, dctx, target
    - item_type: preproc_def
      name: ARGS_TOWIRE
      pos:
        line_end: 108
        line_start: 106
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: dns_rdata_t *rdata, dns_compress_t *cctx, isc_buffer_t *target
    - item_type: preproc_def
      name: CALL_TOWIRE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, cctx, target
    - item_type: preproc_def
      name: ARGS_COMPARE
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: const dns_rdata_t *rdata1, const dns_rdata_t *rdata2
    - item_type: preproc_def
      name: CALL_COMPARE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata1, rdata2
    - item_type: preproc_def
      name: ARGS_FROMSTRUCT
      pos:
        line_end: 117
        line_start: 115
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: int rdclass, dns_rdatatype_t type, void *source, isc_buffer_t
        *target
    - item_type: preproc_def
      name: CALL_FROMSTRUCT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdclass, type, source, target
    - item_type: preproc_def
      name: ARGS_TOSTRUCT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: const dns_rdata_t *rdata, void *target, isc_mem_t *mctx
    - item_type: preproc_def
      name: CALL_TOSTRUCT
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, target, mctx
    - item_type: preproc_def
      name: ARGS_FREESTRUCT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: void *source
    - item_type: preproc_def
      name: CALL_FREESTRUCT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: source
    - item_type: preproc_def
      name: ARGS_ADDLDATA
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: "dns_rdata_t *rdata, const dns_name_t *owner, \\\n\t\tdns_additionaldatafunc_t
        add, void *arg"
    - item_type: preproc_def
      name: CALL_ADDLDATA
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, owner, add, arg
    - item_type: preproc_def
      name: ARGS_DIGEST
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: dns_rdata_t *rdata, dns_digestfunc_t digest, void *arg
    - item_type: preproc_def
      name: CALL_DIGEST
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, digest, arg
    - item_type: preproc_def
      name: ARGS_CHECKOWNER
      pos:
        line_end: 141
        line_start: 138
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: "const dns_name_t *name, dns_rdataclass_t rdclass, \\\n\t\tdns_rdatatype_t
        type, bool wildcard"
    - item_type: preproc_def
      name: CALL_CHECKOWNER
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: name, rdclass, type, wildcard
    - item_type: preproc_def
      name: ARGS_CHECKNAMES
      pos:
        line_end: 146
        line_start: 144
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: dns_rdata_t *rdata, const dns_name_t *owner, dns_name_t *bad
    - item_type: preproc_def
      name: CALL_CHECKNAMES
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, owner, bad
    - item_type: preproc_def
      name: NS_INT16SZ
      pos:
        line_end: 338
        line_start: 337
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NS_LOCATORSZ
      pos:
        line_end: 340
        line_start: 339
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '8'
    - item_type: preproc_def
      name: META
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: RESERVED
      pos:
        line_end: 807
        line_start: 806
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '0x0002'
    structs:
    - fields:
      - name: '*origin'
        type: dns_name_t
      - name: flags
        type: dns_masterstyle_flags_t
      - name: width
        type: unsigned int
      - name: '*linebreak'
        type: char
      item_type: struct
      name: dns_rdata_textctx
      pos:
        line_end: 159
        line_start: 154
        source_file: /src/bind9/lib/dns/rdata.c
    - fields:
      - name: len
        type: size_t
      - name: '*value'
        type: char
      item_type: struct
      name: "http[] = { { 8, \"http/0.9\" }, { 8, \"http/1.0\" }, { 8, \"http/1.1\"
        },\n\t\t     { 2, \"h2\" },\t{ 3, \"h2c\" },\t   { 2, \"h3\" } }"
      pos:
        line_end: 2460
        line_start: 2457
        source_file: /src/bind9/lib/dns/rdata.c
    typedefs: []
    union: []
- function_names:
  - DNS_ADB_VALID
  - DNS_ADBNAME_VALID
  - DNS_ADBNAMEHOOK_VALID
  - DNS_ADBENTRY_VALID
  - DNS_ADBFETCH_VALID
  - DNS_ADBFETCH6_VALID
  - dns_adbname_ref
  - dns_adbname_unref
  - dns_adbname_attach
  - dns_adbname_detach
  - dns_adbentry_ref
  - dns_adbentry_unref
  - dns_adbentry_attach
  - dns_adbentry_detach
  - FIND_EVENTSENT
  - NAME_ALIAS
  - NAME_HAS_V4
  - NAME_HAS_V6
  - NAME_FETCH_A
  - NAME_FETCH_AAAA
  - NAME_FETCH
  - FIND_WANTEVENT
  - FIND_WANTEMPTYEVENT
  - FIND_AVOIDFETCHES
  - FIND_STARTATZONE
  - FIND_STATICSTUB
  - FIND_NOVALIDATE
  - FIND_HAS_ADDRS
  - FIND_NOFETCH
  - ADBNAME_TYPE
  - WANT_INET
  - WANT_INET6
  - EXPIRE_OK
  - NCACHE_RESULT
  - AUTH_NX
  - ADJUSTED_EXPIRE
  - DP
  - inc_resstats
  - set_adbstat
  - dec_adbstats
  - inc_adbstats
  - ttlclamp
  - import_rdataset
  - DNS_RDATASET_FOREACH
  - expire_name_async
  - expire_name
  - maybe_expire_namehooks
  - shutdown_names
  - shutdown_entries
  - clean_namehooks
  - clean_finds_at_name
  - new_adbname
  - destroy_adbname_rcu
  - destroy_adbname
  - new_adbnamehook
  - free_adbnamehook
  - new_adbentry
  - destroy_adbentry_rcu
  - destroy_adbentry
  - new_adbfind
  - free_adbfind
  - new_adbfetch
  - free_adbfetch
  - new_adbaddrinfo
  - free_adbaddrinfo
  - match_adbname
  - hash_adbname
  - get_attached_and_locked_name
  - match_adbentry
  - get_attached_and_locked_entry
  - log_quota
  - copy_namehook_lists
  - name_expired
  - maybe_expire_name
  - expire_entry_async
  - expire_entry
  - entry_expired
  - maybe_expire_entry
  - purge_names_overmem
  - cleanup_names
  - purge_entries_overmem
  - cleanup_entries
  - dns_adb_destroy
  - dns_adb_create
  - dns_adb_shutdown_async
  - dns_adb_shutdown
  - dns_adb_createfind
  - dns_adb_destroyfind
  - find_sendevent
  - dns_adb_cancelfind
  - dns_adb_findstatus
  - dns_adb_dump
  - dump_ttl
  - dump_adb
  - dump_entry
  - dumpfind
  - print_namehook_list
  - print_fetch
  - print_fetch_list
  - print_find_list
  - putstr
  - dns_adb_dumpquota
  - dbfind_name
  - fetch_callback
  - fetch_name
  - dns_adb_adjustsrtt
  - dns_adb_agesrtt
  - adjustsrtt
  - dns_adb_changeflags
  - maybe_adjust_quota
  - dns_adb_plainresponse
  - dns_adb_timeout
  - dns_adb_ednsto
  - dns_adb_setudpsize
  - dns_adb_getudpsize
  - dns_adb_setcookie
  - dns_adb_getcookie
  - dns_adb_findaddrinfo
  - dns_adb_freeaddrinfo
  - dns_adb_flush
  - dns_adb_flushname
  - dns_adb_flushnames
  - dns_adb_setadbsize
  - dns_adb_setquota
  - dns_adb_getquota
  - adbentry_overquota
  - dns_adb_beginudpfetch
  - dns_adb_endudpfetch
  - dns_adb_getstats
  source_file: /src/bind9/lib/dns/adb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_ADB_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_MAGIC('D', 'a', 'd', 'b')
    - item_type: preproc_def
      name: DNS_ADBNAME_MAGIC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_MAGIC('a', 'd', 'b', 'N')
    - item_type: preproc_def
      name: DNS_ADBNAMEHOOK_MAGIC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_MAGIC('a', 'd', 'N', 'H')
    - item_type: preproc_def
      name: DNS_ADBENTRY_MAGIC
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_MAGIC('a', 'd', 'b', 'E')
    - item_type: preproc_def
      name: DNS_ADBFETCH_MAGIC
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_MAGIC('a', 'd', 'F', '4')
    - item_type: preproc_def
      name: DNS_ADBFETCH6_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_MAGIC('a', 'd', 'F', '6')
    - item_type: preproc_def
      name: ADB_CACHE_MINIMUM
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: "10\t"
    - item_type: preproc_def
      name: ADB_CACHE_MAXIMUM
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: '86400 '
    - item_type: preproc_def
      name: ADB_ENTRY_WINDOW
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: "60\t"
    - item_type: preproc_def
      name: ADB_HASH_SIZE
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: ADB_STALE_MARGIN
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: '1800'
    - item_type: preproc_def
      name: DNS_ADB_MINADBSIZE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: '(1024U * 1024U) '
    - item_type: preproc_def
      name: ADBNAME_TYPE_MASK
      pos:
        line_end: 435
        line_start: 432
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: "(DNS_ADBFIND_STARTATZONE | DNS_ADBFIND_STATICSTUB | \\\n\t DNS_ADBFIND_NOVALIDATE)"
    - item_type: preproc_def
      name: ENTER_LEVEL
      pos:
        line_end: 448
        line_start: 447
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_LOG_DEBUG(50)
    - item_type: preproc_def
      name: CLEAN_LEVEL
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_LOG_DEBUG(100)
    - item_type: preproc_def
      name: DEF_LEVEL
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_LOG_DEBUG(5)
    - item_type: preproc_def
      name: NCACHE_LEVEL
      pos:
        line_end: 451
        line_start: 450
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: ISC_LOG_DEBUG(20)
    - item_type: preproc_def
      name: QUOTA_ADJ_SIZE
      pos:
        line_end: 2896
        line_start: 2895
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: (sizeof(quota_adj) / sizeof(quota_adj[0]))
    - item_type: preproc_def
      name: EDNSTOS
      pos:
        line_end: 2955
        line_start: 2954
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: 3U
    structs:
    - fields:
      - name: (dns_adbname_t)
        type: ISC_SIEVE
      - name: (dns_adbentry_t)
        type: ISC_SIEVE
      - name: "__padding[ISC_OS_CACHELINE_SIZE -\n\t\t\t  (sizeof(ISC_SIEVE(dns_adbname_t))
          +\n\t\t\t   sizeof(ISC_SIEVE(dns_adbentry_t))) %\n\t\t\t\t  ISC_OS_CACHELINE_SIZE]"
        type: uint8_t
      item_type: struct
      name: dns_adblru
      pos:
        line_end: 100
        line_start: 92
        source_file: /src/bind9/lib/dns/adb.c
    - fields:
      - name: magic
        type: unsigned int
      - name: nloops
        type: uint32_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: lock
        type: isc_mutex_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*hmctx'
        type: isc_mem_t
      - name: '*view'
        type: dns_view_t
      - name: '*res'
        type: dns_resolver_t
      - name: references
        type: isc_refcount_t
      - name: '*lru'
        type: dns_adblru_t
      - name: '*names_ht'
        type: struct cds_lfht
      - name: '*entries_ht'
        type: struct cds_lfht
      - name: '*stats'
        type: isc_stats_t
      - name: shuttingdown
        type: atomic_bool
      - name: quota
        type: uint32_t
      - name: atr_freq
        type: uint32_t
      - name: atr_low
        type: double
      - name: atr_high
        type: double
      - name: atr_discount
        type: double
      - name: rcu_head
        type: struct rcu_head
      item_type: struct
      name: dns_adb
      pos:
        line_end: 132
        line_start: 103
        source_file: /src/bind9/lib/dns/adb.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*adb'
        type: dns_adb_t
      - name: fname
        type: dns_fixedname_t
      - name: '*name'
        type: dns_name_t
      - name: partial_result
        type: unsigned int
      - name: flags
        type: unsigned int
      - name: type
        type: unsigned int
      - name: expire_v4
        type: isc_stdtime_t
      - name: expire_v6
        type: isc_stdtime_t
      - name: v4
        type: dns_adbnamehooklist_t
      - name: v6
        type: dns_adbnamehooklist_t
      - name: '*fetch_a'
        type: dns_adbfetch_t
      - name: '*fetch_aaaa'
        type: dns_adbfetch_t
      - name: fetch_err
        type: unsigned int
      - name: fetch6_err
        type: unsigned int
      - name: finds
        type: dns_adbfindlist_t
      - name: lock
        type: isc_mutex_t
      - name: ht_node
        type: struct cds_lfht_node
      - name: (dns_adbname_t)
        type: ISC_LINK
      - name: visited
        type: bool
      - name: '*loop'
        type: isc_loop_t
      - name: rcu_head
        type: struct rcu_head
      - name: lru_head
        type: struct cds_list_head
      item_type: struct
      name: dns_adbname
      pos:
        line_end: 173
        line_start: 143
        source_file: /src/bind9/lib/dns/adb.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*fetch'
        type: dns_fetch_t
      - name: rdataset
        type: dns_rdataset_t
      - name: depth
        type: unsigned int
      item_type: struct
      name: dns_adbfetch
      pos:
        line_end: 197
        line_start: 192
        source_file: /src/bind9/lib/dns/adb.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*entry'
        type: dns_adbentry_t
      - name: (dns_adbnamehook_t)
        type: ISC_LINK
      - name: (dns_adbnamehook_t)
        type: ISC_LINK
      item_type: struct
      name: dns_adbnamehook
      pos:
        line_end: 211
        line_start: 206
        source_file: /src/bind9/lib/dns/adb.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*adb'
        type: dns_adb_t
      - name: lock
        type: isc_mutex_t
      - name: references
        type: isc_refcount_t
      - name: nhs
        type: dns_adbnamehooklist_t
      - name: flags
        type: atomic_uint
      - name: srtt
        type: atomic_uint
      - name: completed
        type: unsigned int
      - name: timeouts
        type: unsigned int
      - name: plain
        type: unsigned char
      - name: plainto
        type: unsigned char
      - name: edns
        type: unsigned char
      - name: ednsto
        type: unsigned char
      - name: udpsize
        type: uint16_t
      - name: mode
        type: uint8_t
      - name: quota
        type: atomic_uint_fast32_t
      - name: active
        type: atomic_uint_fast32_t
      - name: atr
        type: double
      - name: sockaddr
        type: isc_sockaddr_t
      - name: '*cookie'
        type: unsigned char
      - name: cookielen
        type: uint16_t
      - name: expires
        type: isc_stdtime_t
      - name: ht_node
        type: struct cds_lfht_node
      - name: (dns_adbentry_t)
        type: ISC_LINK
      - name: visited
        type: bool
      - name: '*loop'
        type: isc_loop_t
      - name: rcu_head
        type: struct rcu_head
      - name: lru_head
        type: struct cds_list_head
      item_type: struct
      name: dns_adbentry
      pos:
        line_end: 271
        line_start: 224
        source_file: /src/bind9/lib/dns/adb.c
    typedefs:
    - item_type: typedef
      name: (dns_adbname_t)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bind9/lib/dns/adb.c
    - item_type: typedef
      name: (dns_adbnamehook_t)
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bind9/lib/dns/adb.c
    - item_type: typedef
      name: (dns_adbentry_t)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bind9/lib/dns/adb.c
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/acl_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RTRACE
  - RRTRACE
  - FCTXTRACE
  - FCTXTRACE2
  - FCTXTRACE3
  - FCTXTRACE4
  - FCTXTRACE5
  - FCTXTRACEN
  - FTRACE
  - QTRACE
  - RTRACE
  - RRTRACE
  - FCTXTRACE
  - FCTXTRACE2
  - FCTXTRACE3
  - FCTXTRACE4
  - FCTXTRACE5
  - FCTXTRACEN
  - FTRACE
  - QTRACE
  - resquery_ref
  - resquery_unref
  - resquery_attach
  - resquery_detach
  - VALID_QUERY
  - RESQUERY_CONNECTING
  - RESQUERY_CANCELED
  - RESQUERY_SENDING
  - VALID_FCTXCOUNT
  - VALID_FCTX
  - HAVE_ANSWER
  - GLUING
  - ADDRWAIT
  - SHUTTINGDOWN
  - WANTCACHE
  - WANTNCACHE
  - NEEDEDNS0
  - TRIEDFIND
  - TRIEDALT
  - FCTX_ATTR_SET
  - FCTX_ATTR_CLR
  - DNS_FETCH_VALID
  - VALID_RESOLVER
  - UNMARKED
  - ISFORWARDER
  - NOCOOKIE
  - EDNSOK
  - BADCOOKIE
  - ISDUALSTACK
  - NXDOMAIN
  - NEGATIVE
  - STATICSTUB
  - dns_resolver_setfuzzing
  - fctx_done_detach
  - fctx_done_unref
  - fetchctx_ref
  - fetchctx_unref
  - fetchctx_attach
  - fetchctx_detach
  - inc_stats
  - dec_stats
  - set_stats
  - valcreate
  - resquery_destroy
  - update_edns_stats
  - fctx_starttimer
  - fctx_stoptimer
  - fctx_cancelquery
  - fctx_cleanup
  - fctx_cancelqueries
  - ISC_LIST_FOREACH
  - fcount_logspill
  - fcount_match
  - fcount_incr
  - match_ptr
  - fcount_decr
  - fctx_sendevents
  - fctx_hash
  - fctx_match
  - fctx__done
  - resquery_senddone
  - fctx_addopt
  - fctx_setretryinterval
  - fctx_query
  - triededns
  - add_triededns
  - addr2buf
  - add_serveraddr
  - compute_cc
  - issecuredomain
  - resquery_send
  - resquery_connected
  - fctx_finddone
  - bad_server
  - mark_bad
  - add_bad
  - sort_adbfind
  - sort_finds
  - waiting_for
  - findname
  - isstrictsubdomain
  - fctx_getaddresses
  - possibly_mark
  - fctx_nextaddress
  - fctx_try
  - resume_qmin
  - fctx_destroy
  - fctx_expired
  - fctx_shutdown
  - fctx_start
  - fctx_add_event
  - fctx_join
  - log_ns_ttl
  - fctx_create
  - is_lame
  - MSG_SECTION_FOREACH
  - log_lame
  - log_formerr
  - same_question
  - clone_results
  - CACHE
  - ANSWER
  - ANSWERSIG
  - EXTERNAL
  - CHAINING
  - CHASE
  - CHECKNAMES
  - maybe_cancel_validators
  - is_minimal_nsec
  - (&rdataset)
  - check_soa_and_dnskey
  - (&rdataset)
  - has_000_label
  - (&rdataset)
  - validated
  - fctx_log
  - findnoqname
  - DNS_RDATASET_FOREACH
  - NXND
  - MSG_SECTION_FOREACH
  - cache_name
  - cache_message
  - MSG_SECTION_FOREACH
  - ncache_adderesult
  - ncache_message
  - MSG_SECTION_FOREACH
  - mark_related
  - name_external
  - check_section
  - check_related
  - check_answer
  - is_answeraddress_allowed
  - DNS_RDATASET_FOREACH
  - is_answertarget_allowed
  - trim_ns_ttl
  - validinanswer
  - resume_dslookup
  - checknamessection
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - checknames
  - make_hex
  - make_printable
  - log_nsid
  - log_zoneversion
  - betterreferral
  - MSG_SECTION_FOREACH
  - resquery_response
  - resquery_response_continue
  - rctx_respinit
  - rctx_answer_init
  - rctx_dispfail
  - rctx_timedout
  - rctx_parse
  - rctx_opt
  - rctx_edns
  - rctx_answer
  - rctx_answer_positive
  - rctx_answer_scan
  - MSG_SECTION_FOREACH
  - rctx_answer_any
  - rctx_answer_match
  - rctx_answer_cname
  - rctx_answer_dname
  - rctx_authority_positive
  - MSG_SECTION_FOREACH
  - rctx_answer_none
  - rctx_authority_negative
  - MSG_SECTION_FOREACH
  - rctx_ncache
  - rctx_authority_dnssec
  - MSG_SECTION_FOREACH
  - rctx_referral
  - rctx_additional
  - MSG_SECTION_FOREACH
  - rctx_nextserver
  - rctx_resend
  - rctx_next
  - rctx_chaseds
  - rctx_done
  - rctx_logpacket
  - rctx_badserver
  - rctx_lameserver
  - dns_resolver__destroy
  - spillattimer_countdown
  - dns_resolver_create
  - prime_done
  - dns_resolver_prime
  - dns_resolver_freeze
  - dns_resolver_shutdown
  - log_fetch
  - fctx_minimize_qname
  - get_attached_fctx
  - dns_resolver_createfetch
  - dns_resolver_cancelfetch
  - dns_resolver_destroyfetch
  - dns_resolver_logfetch
  - dns_resolver_dispatchv4
  - dns_resolver_dispatchv6
  - dns_resolver_addalternate
  - dns_resolver_disable_algorithm
  - dns_resolver_disable_ds_digest
  - dns_resolver_algorithm_supported
  - dns_resolver_ds_digest_supported
  - dns_resolver_getclientsperquery
  - dns_resolver_setclientsperquery
  - dns_resolver_setfetchesperzone
  - dns_resolver_getfetchesperzone
  - dns_resolver_getzeronosoattl
  - dns_resolver_setzeronosoattl
  - dns_resolver_getoptions
  - dns_resolver_gettimeout
  - dns_resolver_settimeout
  - dns_resolver_setmaxvalidations
  - dns_resolver_setmaxvalidationfails
  - dns_resolver_setmaxdepth
  - dns_resolver_getmaxdepth
  - dns_resolver_setmaxqueries
  - dns_resolver_getmaxqueries
  - dns_resolver_dumpfetches
  - dns_resolver_dumpquota
  - dns_resolver_setquotaresponse
  - dns_resolver_getquotaresponse
  - dns_resolver_setstats
  - dns_resolver_getstats
  - dns_resolver_incstats
  - dns_resolver_setquerystats
  - dns_resolver_getquerystats
  - dns_resolver_freefresp
  source_file: /src/bind9/lib/dns/resolver.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SINGLE_QUERY_TIMEOUT
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: 9000U
    - item_type: preproc_def
      name: MAX_SINGLE_QUERY_TIMEOUT_US
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: (MAX_SINGLE_QUERY_TIMEOUT * US_PER_MS)
    - item_type: preproc_def
      name: DEFAULT_MAX_VALIDATIONS
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DEFAULT_MAX_VALIDATION_FAILURES
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MINIMUM_QUERY_TIMEOUT
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: 301U
    - item_type: preproc_def
      name: DEFAULT_QUERY_TIMEOUT
      pos:
        line_end: 205
        line_start: 204
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: (MAX_SINGLE_QUERY_TIMEOUT + 1000U)
    - item_type: preproc_def
      name: MAXIMUM_QUERY_TIMEOUT
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '30000'
    - item_type: preproc_def
      name: DEFAULT_RECURSION_DEPTH
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DEFAULT_MAX_QUERIES
      pos:
        line_end: 220
        line_start: 219
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '50'
    - item_type: preproc_def
      name: NS_FAIL_LIMIT
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '4'
    - item_type: preproc_def
      name: NS_RR_LIMIT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NS_PROCESSING_LIMIT
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '20'
    - item_type: preproc_def
      name: RES_DOMAIN_HASH_BITS
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RECV_BUFFER_SIZE
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '4096 '
    - item_type: preproc_def
      name: MAX_EDNS0_TIMEOUTS
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '3'
    - item_type: preproc_def
      name: QUERY_MAGIC
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: ISC_MAGIC('Q', '!', '!', '!')
    - item_type: preproc_def
      name: RESQUERY_ATTR_CANCELED
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: FCTXCOUNT_MAGIC
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: ISC_MAGIC('F', 'C', 'n', 't')
    - item_type: preproc_def
      name: FCTX_MAGIC
      pos:
        line_end: 487
        line_start: 486
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: ISC_MAGIC('F', '!', '!', '!')
    - item_type: preproc_def
      name: FCTX_ATTR_HAVEANSWER
      pos:
        line_end: 490
        line_start: 489
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: FCTX_ATTR_GLUING
      pos:
        line_end: 491
        line_start: 490
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: FCTX_ATTR_ADDRWAIT
      pos:
        line_end: 492
        line_start: 491
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: FCTX_ATTR_WANTCACHE
      pos:
        line_end: 493
        line_start: 492
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: FCTX_ATTR_WANTNCACHE
      pos:
        line_end: 494
        line_start: 493
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: FCTX_ATTR_NEEDEDNS0
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: FCTX_ATTR_TRIEDFIND
      pos:
        line_end: 496
        line_start: 495
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: FCTX_ATTR_TRIEDALT
      pos:
        line_end: 497
        line_start: 496
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: DNS_FETCH_MAGIC
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: ISC_MAGIC('F', 't', 'c', 'h')
    - item_type: preproc_def
      name: RES_MAGIC
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: ISC_MAGIC('R', 'e', 's', '!')
    - item_type: preproc_def
      name: CLIENT_COOKIE_SIZE
      pos:
        line_end: 2221
        line_start: 2220
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: 8U
    - item_type: preproc_def
      name: COOKIE_BUFFER_SIZE
      pos:
        line_end: 2222
        line_start: 2221
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: (8U + 32U)
    - item_type: preproc_def
      name: CHECK_FOR_GLUE_IN_ANSWER
      pos:
        line_end: 6760
        line_start: 6759
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*fctx'
        type: fetchctx_t
      - name: '*rmessage'
        type: dns_message_t
      - name: '*dispatchmgr'
        type: dns_dispatchmgr_t
      - name: '*dispatch'
        type: dns_dispatch_t
      - name: '*addrinfo'
        type: dns_adbaddrinfo_t
      - name: start
        type: isc_time_t
      - name: id
        type: dns_messageid_t
      - name: '*dispentry'
        type: dns_dispentry_t
      - name: buffer
        type: isc_buffer_t
      - name: '*tsig'
        type: isc_buffer_t
      - name: '*tsigkey'
        type: dns_tsigkey_t
      - name: ednsversion
        type: int
      - name: options
        type: unsigned int
      - name: attributes
        type: unsigned int
      - name: udpsize
        type: unsigned int
      - name: data[512]
        type: unsigned char
      item_type: struct
      name: query
      pos:
        line_end: 282
        line_start: 261
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: addr
        type: isc_sockaddr_t
      - name: count
        type: unsigned int
      item_type: struct
      name: tried
      pos:
        line_end: 300
        line_start: 296
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: lock
        type: isc_mutex_t
      - name: dfname
        type: dns_fixedname_t
      - name: '*domain'
        type: dns_name_t
      - name: count
        type: uint_fast32_t
      - name: allowed
        type: uint_fast32_t
      - name: dropped
        type: uint_fast32_t
      - name: logged
        type: isc_stdtime_t
      item_type: struct
      name: fctxcount
      pos:
        line_end: 337
        line_start: 327
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*res'
        type: dns_resolver_t
      - name: fname
        type: dns_fixedname_t
      - name: '*name'
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      - name: options
        type: unsigned int
      - name: '*counter'
        type: fctxcount_t
      - name: '*info'
        type: char
      - name: '*mctx'
        type: isc_mem_t
      - name: now
        type: isc_stdtime_t
      - name: '*loop'
        type: isc_loop_t
      - name: tid
        type: isc_tid_t
      - name: edectx
        type: dns_edectx_t
      - name: references
        type: isc_refcount_t
      - name: lock
        type: isc_mutex_t
      - name: state
        type: fetchstate_t
      - name: cloned
        type: bool
      - name: spilled
        type: bool
      - name: allowed
        type: uint_fast32_t
      - name: dropped
        type: uint_fast32_t
      - name: (dns_fetchresponse_t)
        type: ISC_LIST
      - name: dfname
        type: dns_fixedname_t
      - name: '*domain'
        type: dns_name_t
      - name: nameservers
        type: dns_rdataset_t
      - name: attributes
        type: atomic_uint_fast32_t
      - name: '*timer'
        type: isc_timer_t
      - name: expires
        type: isc_time_t
      - name: interval
        type: isc_interval_t
      - name: '*qmessage'
        type: dns_message_t
      - name: (resquery_t)
        type: ISC_LIST
      - name: finds
        type: dns_adbfindlist_t
      - name: '*find'
        type: dns_adbfind_t
      - name: altfinds
        type: dns_adbfindlist_t
      - name: '*altfind'
        type: dns_adbfind_t
      - name: forwaddrs
        type: dns_adbaddrinfolist_t
      - name: altaddrs
        type: dns_adbaddrinfolist_t
      - name: forwarders
        type: dns_forwarderlist_t
      - name: fwdpolicy
        type: dns_fwdpolicy_t
      - name: bad
        type: isc_sockaddrlist_t
      - name: (dns_validator_t)
        type: ISC_LIST
      - name: '*cache'
        type: dns_db_t
      - name: '*adb'
        type: dns_adb_t
      - name: ns_ttl_ok
        type: bool
      - name: ns_ttl
        type: uint32_t
      - name: '*qc'
        type: isc_counter_t
      - name: '*gqc'
        type: isc_counter_t
      - name: minimized
        type: bool
      - name: qmin_labels
        type: unsigned int
      - name: qmin_warning
        type: isc_result_t
      - name: force_qmin_warning
        type: bool
      - name: ip6arpaskip
        type: bool
      - name: forwarding
        type: bool
      - name: qminfname
        type: dns_fixedname_t
      - name: '*qminname'
        type: dns_name_t
      - name: qmintype
        type: dns_rdatatype_t
      - name: '*qminfetch'
        type: dns_fetch_t
      - name: qminrrset
        type: dns_rdataset_t
      - name: qminsigrrset
        type: dns_rdataset_t
      - name: qmindcfname
        type: dns_fixedname_t
      - name: '*qmindcname'
        type: dns_name_t
      - name: fwdfname
        type: dns_fixedname_t
      - name: '*fwdname'
        type: dns_name_t
      - name: pending
        type: atomic_uint_fast32_t
      - name: restarts
        type: unsigned int
      - name: timeouts
        type: unsigned int
      - name: nsfname
        type: dns_fixedname_t
      - name: '*nsname'
        type: dns_name_t
      - name: '*nsfetch'
        type: dns_fetch_t
      - name: nsrrset
        type: dns_rdataset_t
      - name: nqueries
        type: atomic_uint_fast32_t
      - name: rand_buf
        type: uint32_t
      - name: rand_bits
        type: uint32_t
      - name: result
        type: isc_result_t
      - name: vresult
        type: isc_result_t
      - name: start
        type: isc_time_t
      - name: duration
        type: uint64_t
      - name: logged
        type: bool
      - name: querysent
        type: unsigned int
      - name: referrals
        type: unsigned int
      - name: lamecount
        type: unsigned int
      - name: quotacount
        type: unsigned int
      - name: neterr
        type: unsigned int
      - name: badresp
        type: unsigned int
      - name: adberr
        type: unsigned int
      - name: findfail
        type: unsigned int
      - name: valfail
        type: unsigned int
      - name: timeout
        type: bool
      - name: '*addrinfo'
        type: dns_adbaddrinfo_t
      - name: depth
        type: unsigned int
      - name: clientstr[ISC_SOCKADDR_FORMATSIZE]
        type: char
      - name: '*nvalidations'
        type: isc_counter_t
      - name: '*nfails'
        type: isc_counter_t
      item_type: struct
      name: fetchctx
      pos:
        line_end: 484
        line_start: 339
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: '*addrinfo'
        type: dns_adbaddrinfo_t
      - name: '*fctx'
        type: fetchctx_t
      item_type: struct
      name: dns_valarg_t
      pos:
        line_end: 522
        line_start: 519
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*res'
        type: dns_resolver_t
      - name: '*private'
        type: fetchctx_t
      item_type: struct
      name: dns_fetch
      pos:
        line_end: 529
        line_start: 524
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: isaddress
        type: bool
      - name: _u
        type: "union {\n\t\tisc_sockaddr_t addr;\n\t\tstruct {\n\t\t\tdns_name_t name;\n\t\t\tin_port_t
          port;\n\t\t} _n;\n\t}"
      item_type: struct
      name: alternate
      pos:
        line_end: 544
        line_start: 534
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: lock
        type: isc_mutex_t
      - name: primelock
        type: isc_mutex_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*nm'
        type: isc_nm_t
      - name: '*view'
        type: dns_view_t
      - name: frozen
        type: bool
      - name: options
        type: unsigned int
      - name: '*tlsctx_cache'
        type: isc_tlsctx_cache_t
      - name: '*dispatches4'
        type: dns_dispatchset_t
      - name: '*dispatches6'
        type: dns_dispatchset_t
      - name: '*fctxs'
        type: isc_hashmap_t
      - name: fctxs_lock
        type: isc_rwlock_t
      - name: '*counters'
        type: isc_hashmap_t
      - name: counters_lock
        type: isc_rwlock_t
      - name: lame_ttl
        type: uint32_t
      - name: (alternate_t)
        type: ISC_LIST
      - name: '*algorithms'
        type: dns_nametree_t
      - name: '*digests'
        type: dns_nametree_t
      - name: spillatmax
        type: unsigned int
      - name: spillatmin
        type: unsigned int
      - name: '*spillattimer'
        type: isc_timer_t
      - name: zero_no_soa_ttl
        type: bool
      - name: query_timeout
        type: unsigned int
      - name: maxdepth
        type: unsigned int
      - name: maxqueries
        type: unsigned int
      - name: quotaresp[2]
        type: isc_result_t
      - name: '*stats'
        type: isc_stats_t
      - name: '*querystats'
        type: dns_stats_t
      - name: retryinterval
        type: unsigned int
      - name: nonbackofftries
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: zspill
        type: atomic_uint_fast32_t
      - name: exiting
        type: atomic_bool
      - name: priming
        type: atomic_bool
      - name: maxvalidations
        type: atomic_uint_fast32_t
      - name: maxvalidationfails
        type: atomic_uint_fast32_t
      - name: spillat
        type: unsigned int
      - name: '*primefetch'
        type: dns_fetch_t
      - name: nloops
        type: uint32_t
      - name: '**namepools'
        type: isc_mempool_t
      - name: '**rdspools'
        type: isc_mempool_t
      item_type: struct
      name: dns_resolver
      pos:
        line_end: 606
        line_start: 546
        source_file: /src/bind9/lib/dns/resolver.c
    - fields:
      - name: '*query'
        type: resquery_t
      - name: '*fctx'
        type: fetchctx_t
      - name: '*mctx'
        type: isc_mem_t
      - name: result
        type: isc_result_t
      - name: buffer
        type: isc_buffer_t
      - name: retryopts
        type: unsigned int
      - name: type
        type: dns_rdatatype_t
      - name: aa
        type: bool
      - name: trust
        type: dns_trust_t
      - name: chaining
        type: bool
      - name: next_server
        type: bool
      - name: broken_type
        type: badnstype_t
      - name: broken_server
        type: isc_result_t
      - name: get_nameservers
        type: bool
      - name: resend
        type: bool
      - name: nextitem
        type: bool
      - name: truncated
        type: bool
      - name: no_response
        type: bool
      - name: negative
        type: bool
      - name: now
        type: isc_stdtime_t
      - name: tnow
        type: isc_time_t
      - name: '*finish'
        type: isc_time_t
      - name: dname_labels
        type: unsigned int
      - name: domain_labels
        type: unsigned int
      - name: '*aname'
        type: dns_name_t
      - name: '*ardataset'
        type: dns_rdataset_t
      - name: '*cname'
        type: dns_name_t
      - name: '*crdataset'
        type: dns_rdataset_t
      - name: '*dname'
        type: dns_name_t
      - name: '*drdataset'
        type: dns_rdataset_t
      - name: '*ns_name'
        type: dns_name_t
      - name: '*ns_rdataset'
        type: dns_rdataset_t
      - name: '*soa_name'
        type: dns_name_t
      - name: '*ds_name'
        type: dns_name_t
      - name: '*found_name'
        type: dns_name_t
      - name: found_type
        type: dns_rdatatype_t
      - name: '*opt'
        type: dns_rdataset_t
      item_type: struct
      name: respctx
      pos:
        line_end: 845
        line_start: 785
        source_file: /src/bind9/lib/dns/resolver.c
    typedefs:
    - item_type: typedef
      name: fetchstate_t
      pos:
        line_end: 314
        line_start: 311
        source_file: /src/bind9/lib/dns/resolver.c
    - item_type: typedef
      name: badnstype_t
      pos:
        line_end: 321
        line_start: 316
        source_file: /src/bind9/lib/dns/resolver.c
    union: []
- function_names:
  - VALID_TSIGKEYRING
  - VALID_TSIGKEY
  - is_response
  - dns__tsig_algvalid
  - tsig_log
  - tkey_match
  - match_ptr
  - rm_hashmap
  - rm_lru
  - adjust_lru
  - dns_tsigkey_createfromkey
  - destroyring
  - dns__tsig_algfromname
  - restore_key
  - dump_key
  - dns_tsigkeyring_dump
  - dns_tsigkey_identity
  - dns_tsigkey_create
  - destroy_tsigkey
  - dns_tsigkey_delete
  - dns_tsig_sign
  - dns_tsig_verify
  - tsig_verify_tcp
  - dns_tsigkey_find
  - dns_tsigkey_algorithm
  - dns_tsigkeyring_create
  - dns_tsigkeyring_add
  - dns_tsigkeyring_restore
  source_file: /src/bind9/lib/dns/tsig.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TSIGKEYRING_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/tsig.c
      type_or_value: ISC_MAGIC('T', 'K', 'R', 'g')
    - item_type: preproc_def
      name: TSIG_MAGIC
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/tsig.c
      type_or_value: ISC_MAGIC('T', 'S', 'I', 'G')
    - item_type: preproc_def
      name: BADTIMELEN
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/tsig.c
      type_or_value: '6'
    structs:
    - fields:
      - name: '*name'
        type: dns_name_t
      - name: dstalg
        type: unsigned int
      item_type: struct
      name: "known_algs[] = { { &hmacmd5, DST_ALG_HMACMD5 },\n\t\t   { &gsstsig, DST_ALG_GSSAPI
        },\n\t\t   { &hmacsha1, DST_ALG_HMACSHA1 },\n\t\t   { &hmacsha224, DST_ALG_HMACSHA224
        },\n\t\t   { &hmacsha256, DST_ALG_HMACSHA256 },\n\t\t   { &hmacsha384, DST_ALG_HMACSHA384
        },\n\t\t   { &hmacsha512, DST_ALG_HMACSHA512 } }"
      pos:
        line_end: 83
        line_start: 80
        source_file: /src/bind9/lib/dns/tsig.c
    typedefs: []
    union: []
- function_names:
  - decode_uint32
  - encode_uint32
  - soa_get
  - dns_soa_buildrdata
  - dns_soa_getserial
  - dns_soa_getrefresh
  - dns_soa_getretry
  - dns_soa_getexpire
  - dns_soa_getminimum
  - soa_set
  - dns_soa_setserial
  - dns_soa_setrefresh
  - dns_soa_setretry
  - dns_soa_setexpire
  - dns_soa_setminimum
  source_file: /src/bind9/lib/dns/soa.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_remote_addresses
  - dns_remote_sources
  - dns_remote_count
  - dns_remote_keynames
  - dns_remote_tlsnames
  - dns_remote_init
  - same_addrs
  - same_names
  - dns_remote_clear
  - dns_remote_equal
  - dns_remote_reset
  - dns_remote_curraddr
  - dns_remote_addr
  - dns_remote_sourceaddr
  - dns_remote_keyname
  - dns_remote_tlsname
  - dns_remote_next
  - dns_remote_done
  - dns_remote_mark
  source_file: /src/bind9/lib/dns/remote.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns__dbiterator_seek
  - dns__dbiterator_current
  - dns_dbiterator_pause
  - dns_dbiterator_origin
  source_file: /src/bind9/lib/dns/dbiterator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_peerlist_new
  - dns_peerlist_attach
  - dns_peerlist_detach
  - peerlist_delete
  - dns_peerlist_addpeer
  - dns_peerlist_peerbyaddr
  - dns_peerlist_currpeer
  - dns_peer_new
  - dns_peer_newprefix
  - dns_peer_attach
  - dns_peer_detach
  - peer_delete
  - ACCESS_OPTION
  - ACCESS_OPTIONMAX
  - ACCESS_OPTION_OVERWRITE
  - dns_peer_getkey
  - dns_peer_setkey
  - dns_peer_setkeybycharp
  source_file: /src/bind9/lib/dns/peer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: refs
        type: isc_refcount_t
      - name: '*mem'
        type: isc_mem_t
      - name: (dns_peer_t)
        type: ISC_LIST
      item_type: struct
      name: dns_peerlist
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/bind9/lib/dns/peer.c
    - fields:
      - name: magic
        type: unsigned int
      - name: refs
        type: isc_refcount_t
      - name: '*mem'
        type: isc_mem_t
      - name: address
        type: isc_netaddr_t
      - name: prefixlen
        type: unsigned int
      - name: bogus
        type: bool
      - name: transfer_format
        type: dns_transfer_format_t
      - name: transfers
        type: uint32_t
      - name: request_ixfr_maxdiffs
        type: uint32_t
      - name: support_ixfr
        type: bool
      - name: provide_ixfr
        type: bool
      - name: request_ixfr
        type: bool
      - name: support_edns
        type: bool
      - name: request_nsid
        type: bool
      - name: request_zoneversion
        type: bool
      - name: send_cookie
        type: bool
      - name: require_cookie
        type: bool
      - name: request_expire
        type: bool
      - name: force_tcp
        type: bool
      - name: tcp_keepalive
        type: bool
      - name: check_axfr_id
        type: bool
      - name: '*key'
        type: dns_name_t
      - name: '*transfer_source'
        type: isc_sockaddr_t
      - name: '*notify_source'
        type: isc_sockaddr_t
      - name: '*query_source'
        type: isc_sockaddr_t
      - name: udpsize
        type: uint16_t
      - name: maxudp
        type: uint16_t
      - name: padding
        type: uint16_t
      - name: ednsversion
        type: uint8_t
      - name: bitflags
        type: uint32_t
      - name: (dns_peer_t)
        type: ISC_LINK
      item_type: struct
      name: dns_peer
      pos:
        line_end: 78
        line_start: 42
        source_file: /src/bind9/lib/dns/peer.c
    typedefs: []
    union: []
- function_names:
  - dns_fixedname_init
  - dns_fixedname_invalidate
  - dns_fixedname_name
  - dns_fixedname_initname
  source_file: /src/bind9/lib/dns/fixedname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_SSUTABLE
  - VALID_SSURULE
  - dns_ssutable_create
  - destroy
  - dns_ssutable_attach
  - dns_ssutable_detach
  - mtypetostring
  - dns_ssutable_addrule
  - isusertype
  - reverse_from_address
  - stf_from_address
  - dns_ssutable_checkrules
  - dns_ssurule_isgrant
  - dns_ssurule_identity
  - dns_ssurule_matchtype
  - dns_ssurule_name
  - dns_ssurule_types
  - dns_ssurule_max
  - dns_ssutable_firstrule
  - dns_ssutable_nextrule
  - dns_ssutable_createdlz
  - dns_ssu_mtypefromstring
  source_file: /src/bind9/lib/dns/ssu.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SSUTABLEMAGIC
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/ssu.c
      type_or_value: ISC_MAGIC('S', 'S', 'U', 'T')
    - item_type: preproc_def
      name: SSURULEMAGIC
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/ssu.c
      type_or_value: ISC_MAGIC('S', 'S', 'U', 'R')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: grant
        type: bool
      - name: matchtype
        type: dns_ssumatchtype_t
      - name: '*identity'
        type: dns_name_t
      - name: '*name'
        type: dns_name_t
      - name: ntypes
        type: unsigned int
      - name: '*types'
        type: dns_ssuruletype_t
      - name: '*debug'
        type: char
      - name: (dns_ssurule_t)
        type: ISC_LINK
      item_type: struct
      name: dns_ssurule
      pos:
        line_end: 51
        line_start: 39
        source_file: /src/bind9/lib/dns/ssu.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*dlzdatabase'
        type: dns_dlzdb_t
      - name: (dns_ssurule_t)
        type: ISC_LIST
      item_type: struct
      name: dns_ssutable
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/bind9/lib/dns/ssu.c
    typedefs: []
    union: []
- function_names:
  - DNS_DCTX_VALID
  - RETERR
  - CHECK
  - STALE
  - ANCIENT
  - NXDOMAIN
  - indent
  - totext_ctx_init
  - INDENT_TO
  - str_totext
  - yaml_stringify
  - ncache_summary
  - (&rds)
  - rdataset_totext
  - DNS_RDATASET_FOREACH
  - question_totext
  - dns_rdataset_totext
  - dns_master_rdatasettotext
  - dns_master_questiontotext
  - dump_rdataset
  - dump_order
  - dump_order_compare
  - dump_rdatasets_text
  - dump_rdataset_raw
  - DNS_RDATASET_FOREACH
  - dump_rdatasets_raw
  - DNS_RDATASETITER_FOREACH
  - dumpctx_destroy
  - dns_dumpctx_attach
  - dns_dumpctx_detach
  - dns_dumpctx_version
  - dns_dumpctx_db
  - dns_dumpctx_cancel
  - flushandsync
  - closeandrename
  - master_dump_cb
  - master_dump_done_cb
  - dumpctx_create
  - writeheader
  - dumptostream
  - dns_master_dumptostreamasync
  - dns_master_dumptostream
  - opentmp
  - dns_master_dumpasync
  - dns_master_dump
  - dns_master_styleflags
  - dns_master_stylecreate
  - dns_master_styledestroy
  source_file: /src/bind9/lib/dns/masterdump.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DCTX_MAGIC
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: ISC_MAGIC('D', 'c', 't', 'x')
    - item_type: preproc_def
      name: DNS_TOTEXT_LINEBREAK_MAXLEN
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '100'
    - item_type: preproc_def
      name: N_SPACES
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '10'
    - item_type: preproc_def
      name: N_TABS
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '10'
    - item_type: preproc_def
      name: KEYDATA
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '"KEYDATA"'
    - item_type: preproc_def
      name: MAXSORT
      pos:
        line_end: 1084
        line_start: 1083
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '64'
    structs:
    - fields:
      - name: flags
        type: dns_masterstyle_flags_t
      - name: ttl_column
        type: unsigned int
      - name: class_column
        type: unsigned int
      - name: type_column
        type: unsigned int
      - name: rdata_column
        type: unsigned int
      - name: line_length
        type: unsigned int
      - name: tab_width
        type: unsigned int
      - name: split_width
        type: unsigned int
      item_type: struct
      name: dns_master_style
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/bind9/lib/dns/masterdump.c
    - fields:
      - name: style
        type: dns_master_style_t
      - name: class_printed
        type: bool
      - name: '*linebreak'
        type: char
      - name: linebreak_buf[DNS_TOTEXT_LINEBREAK_MAXLEN]
        type: char
      - name: '*origin'
        type: dns_name_t
      - name: '*neworigin'
        type: dns_name_t
      - name: origin_fixname
        type: dns_fixedname_t
      - name: current_ttl
        type: uint32_t
      - name: current_ttl_valid
        type: bool
      - name: serve_stale_ttl
        type: dns_ttl_t
      - name: indent
        type: dns_indent_t
      item_type: struct
      name: dns_totext_ctx
      pos:
        line_end: 104
        line_start: 92
        source_file: /src/bind9/lib/dns/masterdump.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: lock
        type: isc_mutex_t
      - name: references
        type: isc_refcount_t
      - name: canceled
        type: atomic_bool
      - name: do_date
        type: bool
      - name: now
        type: isc_stdtime_t
      - name: '*f'
        type: FILE
      - name: '*db'
        type: dns_db_t
      - name: '*version'
        type: dns_dbversion_t
      - name: '*dbiter'
        type: dns_dbiterator_t
      - name: tctx
        type: dns_totext_ctx_t
      - name: done
        type: dns_dumpdonefunc_t
      - name: '*done_arg'
        type: void
      - name: result
        type: isc_result_t
      - name: '*file'
        type: char
      - name: '*tmpfile'
        type: char
      - name: format
        type: dns_masterformat_t
      - name: header
        type: dns_masterrawheader_t
      - name: "(*dumpsets)(isc_mem_t *mctx, const dns_name_t *name,\n\t\t\t\t dns_rdatasetiter_t
          *rdsiter,\n\t\t\t\t dns_totext_ctx_t *ctx, isc_buffer_t *buffer,\n\t\t\t\t
          FILE *f)"
        type: isc_result_t
      item_type: struct
      name: dns_dumpctx
      pos:
        line_end: 271
        line_start: 246
        source_file: /src/bind9/lib/dns/masterdump.c
    typedefs: []
    union: []
- function_names:
  - VALID_ZT
  - ztqpattach
  - ztqpdetach
  - ztqpmakekey
  - ztqptriename
  - dns_zt_create
  - dns_zt_compact
  - dns_zt_mount
  - dns_zt_unmount
  - dns_zt_find
  - dns_zt_attach
  - flush
  - zt_destroy
  - dns_zt_detach
  - dns_zt_flush
  - load
  - dns_zt_load
  - loaded_all
  - loaded_one
  - asyncload
  - dns_zt_asyncload
  - freezezones
  - dns_zt_freezezones
  - setview
  - dns_zt_setviewcommit
  - dns_zt_setviewrevert
  - dns_zt_apply
  source_file: /src/bind9/lib/dns/zt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZTMAGIC
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/zt.c
      type_or_value: ISC_MAGIC('Z', 'T', 'b', 'l')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*multi'
        type: dns_qpmulti_t
      - name: flush
        type: atomic_bool
      - name: references
        type: isc_refcount_t
      - name: loads_pending
        type: isc_refcount_t
      item_type: struct
      name: dns_zt
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/bind9/lib/dns/zt.c
    - fields:
      - name: '*zt'
        type: dns_zt_t
      - name: '*loaddone'
        type: dns_zt_callback_t
      - name: '*loaddone_arg'
        type: void
      - name: newonly
        type: bool
      item_type: struct
      name: zt_load_params
      pos:
        line_end: 53
        line_start: 48
        source_file: /src/bind9/lib/dns/zt.c
    - fields:
      - name: '*view'
        type: dns_view_t
      - name: freeze
        type: bool
      item_type: struct
      name: zt_freeze_params
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/bind9/lib/dns/zt.c
    typedefs:
    - item_type: typedef
      name: setview_cb(dns_zone_t *zone)
      pos:
        line_end: 495
        line_start: 494
        source_file: /src/bind9/lib/dns/zt.c
      type: void
    union: []
- function_names:
  - dns_name_isvalid
  - dns_name_hasbuffer
  - dns_name_isabsolute
  - hyphenchar
  - asterchar
  - alphachar
  - digitchar
  - borderchar
  - middlechar
  - domainchar
  - dns_name_ismailbox
  - dns_name_ishostname
  - dns_name_iswildcard
  - dns_name_internalwildcard
  - dns_name_hash
  - dns_name_fullcompare
  - dns_name_compare
  - dns_name_equal
  - dns_name_caseequal
  - dns_name_rdatacompare
  - dns_name_issubdomain
  - dns_name_matcheswildcard
  - dns_name_getlabel
  - dns_name_getlabelsequence
  - dns_name_clone
  - dns_name_fromregion
  - convert_text
  - dns_name_wirefromtext
  - dns_name_fromtext
  - dns_name_totext
  - dns_name_tofilenametext
  - dns_name_downcase
  - dns_name_fromwire
  - dns_name_towire
  - dns_name_concatenate
  - dns_name_dup
  - dns_name_free
  - dns_name_size
  - dns_name_digest
  - dns_name_dynamic
  - dns_name_print
  - dns_name_settotextfilter
  - dns_name_format
  - dns_name_tostring
  - dns_name_fromstring
  - dns_name_copy
  - dns_name_isdnssd
  - dns_name_isrfc1918
  - dns_name_isula
  - dns_name_istat
  - dns_name_isdnssvcb
  - dns_name_israd
  - dns_name_offsets
  source_file: /src/bind9/lib/dns/name.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: ft_state
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/bind9/lib/dns/name.c
    union: []
- function_names:
  - DST_RET
  - opensslecdsa_set_deterministic
  - opensslecdsa_valid_key_alg
  - opensslecdsa_key_alg_to_group_nid
  - opensslecdsa_key_alg_to_publickey_size
  - opensslecdsa_generate_public_key
  - BN_bn2bin_fixed
  - opensslecdsa_key_alg_to_group_name
  - opensslecdsa_create_pkey_params
  - opensslecdsa_extract_public_key_params
  - opensslecdsa_create_pkey_legacy
  - opensslecdsa_extract_public_key_legacy
  - opensslecdsa_extract_public_key
  - opensslecdsa_create_pkey
  - opensslecdsa_generate_pkey_with_uri
  - opensslecdsa_generate_pkey
  - opensslecdsa_validate_pkey_group
  - opensslecdsa_extract_private_key
  - opensslecdsa_generate_pkey
  - opensslecdsa_validate_pkey_group
  - opensslecdsa_extract_private_key
  - opensslecdsa_createctx
  - opensslecdsa_destroyctx
  - opensslecdsa_adddata
  - opensslecdsa_sign
  - opensslecdsa_verify
  - opensslecdsa_generate
  - opensslecdsa_todns
  - opensslecdsa_fromdns
  - opensslecdsa_tofile
  - opensslecdsa_parse
  - opensslecdsa_fromlabel
  - dst__opensslecdsa_init
  source_file: /src/bind9/lib/dns/opensslecdsa_link.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PUBKEY_SIZE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/opensslecdsa_link.c
      type_or_value: DNS_KEY_ECDSA384SIZE
    - item_type: preproc_def
      name: MAX_PRIVKEY_SIZE
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/dns/opensslecdsa_link.c
      type_or_value: (MAX_PUBKEY_SIZE / 2)
    structs: []
    typedefs: []
    union: []
- function_names:
  - chain_length
  - zoneverify_log_error
  - is_delegation
  - has_dname
  - goodsig
  - nsec_bitmap_equal
  - verifynsec
  - check_no_rrsig
  - DNS_RDATASETITER_FOREACH
  - chain_compare
  - chain_equal
  - record_nsec3
  - find_nsec3_match
  - DNS_RDATASET_FOREACH
  - match_nsec3
  - innsec3params
  - DNS_RDATASET_FOREACH
  - record_found
  - (&rdataset)
  - isoptout
  - verifynsec3
  - verifynsec3s
  - DNS_RDATASET_FOREACH
  - verifyset
  - DNS_RDATASETITER_FOREACH
  - (&sigrdataset)
  - verifynode
  - DNS_RDATASETITER_FOREACH
  - is_empty
  - check_no_nsec
  - free_element
  - free_element_heap
  - _checknext
  - checknext
  - checklast
  - verify_nsec3_chains
  - verifyemptynodes
  - vctx_init
  - vctx_destroy
  - check_apex_rrsets
  - check_dnskey_sigs
  - (&dsset)
  - check_dnskey
  - determine_active_algorithms
  - verify_nodes
  - DNS_DBITERATOR_FOREACH
  - check_bad_algorithms
  - print_summary
  - dns_zoneverify_dnssec
  source_file: /src/bind9/lib/dns/zoneverify.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: '*origin'
        type: dns_name_t
      - name: '*secroots'
        type: dns_keytable_t
      - name: goodksk
        type: bool
      - name: goodzsk
        type: bool
      - name: keyset
        type: dns_rdataset_t
      - name: keysigs
        type: dns_rdataset_t
      - name: soaset
        type: dns_rdataset_t
      - name: soasigs
        type: dns_rdataset_t
      - name: nsecset
        type: dns_rdataset_t
      - name: nsecsigs
        type: dns_rdataset_t
      - name: nsec3paramset
        type: dns_rdataset_t
      - name: nsec3paramsigs
        type: dns_rdataset_t
      - name: revoked_ksk[DST_MAX_ALGS]
        type: unsigned char
      - name: revoked_zsk[DST_MAX_ALGS]
        type: unsigned char
      - name: standby_ksk[DST_MAX_ALGS]
        type: unsigned char
      - name: standby_zsk[DST_MAX_ALGS]
        type: unsigned char
      - name: ksk_algorithms[DST_MAX_ALGS]
        type: unsigned char
      - name: zsk_algorithms[DST_MAX_ALGS]
        type: unsigned char
      - name: bad_algorithms[DST_MAX_ALGS]
        type: unsigned char
      - name: act_algorithms[DST_MAX_ALGS]
        type: unsigned char
      - name: '*expected_chains'
        type: isc_heap_t
      - name: '*found_chains'
        type: isc_heap_t
      item_type: struct
      name: vctx
      pos:
        line_end: 80
        line_start: 53
        source_file: /src/bind9/lib/dns/zoneverify.c
    - fields:
      - name: hash
        type: uint8_t
      - name: salt_length
        type: uint8_t
      - name: next_length
        type: uint8_t
      - name: iterations
        type: uint16_t
      item_type: struct
      name: nsec3_chain_fixed
      pos:
        line_end: 95
        line_start: 82
        source_file: /src/bind9/lib/dns/zoneverify.c
    typedefs: []
    union: []
- function_names:
  - hexdump
  - VALID_NAMED_SECTION
  - VALID_SECTION
  - ADD_STRING
  - PUT_YAMLSTR
  - VALID_NAMED_PSEUDOSECTION
  - VALID_PSEUDOSECTION
  - OPTOUT
  - msgblock_get
  - msgblock_allocate
  - msgblock_internalget
  - msgblock_reset
  - msgblock_free
  - newbuffer
  - currentbuffer
  - releaserdata
  - newrdata
  - releaserdatalist
  - newrdatalist
  - msginitheader
  - msginitprivate
  - msginittsig
  - msginit
  - msgresetname
  - msgresetnames
  - msgresetopt
  - msgresetsigs
  - msgreset
  - spacefortsig
  - dns_message_create
  - dns_message_reset
  - dns__message_destroy
  - name_match
  - findname
  - rds_hash
  - rds_match
  - dns_message_findtype
  - getname
  - getrdata
  - DO_ERROR
  - cleanup_name_hashmaps
  - getquestions
  - update
  - getsection
  - early_sanity_check
  - dns_message_parse
  - dns_message_renderbegin
  - dns_message_renderchangebuffer
  - dns_message_renderrelease
  - dns_message_renderreserve
  - wrong_priority
  - renderset
  - maybe_clear_ad
  - update_min_section_ttl
  - dns_message_rendersection
  - dns_message_renderheader
  - dns_message_renderend
  - dns_message_renderreset
  - MSG_SECTION_FOREACH
  - dns_message_firstname
  - dns_message_nextname
  - dns_message_currentname
  - dns_message_findname
  - dns_message_addname
  - dns_message_removename
  - dns_message_gettempname
  - dns_message_gettemprdata
  - dns_message_gettemprdataset
  - dns_message_gettemprdatalist
  - dns_message_puttempname
  - dns_message_puttemprdata
  - dns__message_putassociatedrdataset
  - dns_message_puttemprdataset
  - dns_message_puttemprdatalist
  - dns_message_peekheader
  - dns_message_reply
  - dns_message_getopt
  - dns_message_setopt
  - dns_message_gettsig
  - dns_message_settsigkey
  - dns_message_gettsigkey
  - dns_message_setquerytsig
  - dns_message_getquerytsig
  - dns_message_getsig0
  - dns_message_setsig0key
  - dns_message_getsig0key
  - dns_message_takebuffer
  - dns_message_signer
  - dns_message_resetsig
  - dns_message_dumpsig
  - checksig_run
  - checksig_done
  - dns_message_checksig_async
  - dns_message_checksig
  - INDENT
  - dns_message_sectiontotext
  - MSG_SECTION_FOREACH
  - render_ecs
  - render_llq
  - put_yamlstr
  - render_nameopt
  - render_zoneversion
  - dns_message_pseudosectiontoyaml
  - dns_message_pseudosectiontotext
  - dns_message_headertotext
  - dns_message_totext
  - dns_message_getrawmessage
  - dns_message_settimeadjust
  - dns_message_gettimeadjust
  - dns_opcode_totext
  - dns_message_logpacketfrom
  - dns_message_logpacketfromto
  - logfmtpacket
  - dns_message_buildopt
  - dns_message_setclass
  - dns_message_setpadding
  - dns_message_clonebuffer
  - rdataset_soa_min
  - DNS_RDATASET_FOREACH
  - message_authority_soa_min
  - MSG_SECTION_FOREACH
  - dns_message_minttl
  - dns_message_response_minttl
  - dns_message_createpools
  - dns_message_destroypools
  source_file: /src/bind9/lib/dns/message.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_MESSAGE_OPCODE_MASK
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 0x7800U
    - item_type: preproc_def
      name: DNS_MESSAGE_OPCODE_SHIFT
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DNS_MESSAGE_RCODE_MASK
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 0x000fU
    - item_type: preproc_def
      name: DNS_MESSAGE_FLAG_MASK
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 0x8ff0U
    - item_type: preproc_def
      name: DNS_MESSAGE_EDNSRCODE_MASK
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 0xff000000U
    - item_type: preproc_def
      name: DNS_MESSAGE_EDNSRCODE_SHIFT
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '24'
    - item_type: preproc_def
      name: DNS_MESSAGE_EDNSVERSION_MASK
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 0x00ff0000U
    - item_type: preproc_def
      name: DNS_MESSAGE_EDNSVERSION_SHIFT
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '16'
    - item_type: preproc_def
      name: SCRATCHPAD_SIZE
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '1232'
    - item_type: preproc_def
      name: NAME_FILLCOUNT
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: NAME_FREEMAX
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 8 * NAME_FILLCOUNT
    - item_type: preproc_def
      name: OFFSET_COUNT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '4'
    - item_type: preproc_def
      name: RDATA_COUNT
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RDATALIST_COUNT
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '8'
    - item_type: preproc_def
      name: RDATASET_FILLCOUNT
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: RDATASET_FREEMAX
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/bind9/lib/dns/message.c
      type_or_value: 8 * RDATASET_FILLCOUNT
    structs:
    - fields:
      - name: count
        type: unsigned int
      - name: remaining
        type: unsigned int
      - name: (dns_msgblock_t)
        type: ISC_LINK
      item_type: struct
      name: dns_msgblock
      pos:
        line_end: 184
        line_start: 180
        source_file: /src/bind9/lib/dns/message.c
    - fields:
      - name: '*loop'
        type: isc_loop_t
      - name: '*msg'
        type: dns_message_t
      - name: '*view'
        type: dns_view_t
      - name: cb
        type: dns_message_cb_t
      - name: '*cbarg'
        type: void
      - name: result
        type: isc_result_t
      item_type: struct
      name: checksig_ctx
      pos:
        line_end: 203
        line_start: 196
        source_file: /src/bind9/lib/dns/message.c
    typedefs: []
    union: []
- function_names:
  - dns_ipkeylist_init
  - dns_ipkeylist_clear
  - dns_ipkeylist_copy
  - dns_ipkeylist_resize
  source_file: /src/bind9/lib/dns/ipkeylist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DST_RET
  - dst__openssl_fromlabel_provider
  - dst__openssl_fromlabel
  - dst__openssl_keypair_compare
  - dst__openssl_keypair_isprivate
  - dst__openssl_keypair_destroy
  source_file: /src/bind9/lib/dns/openssl_link.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - EXISTS
  - NXDOMAIN
  - STALE
  - STALE_WINDOW
  - OPTOUT
  - NEGATIVE
  - PREFETCH
  - ZEROTTL
  - ANCIENT
  - STATCOUNT
  - STALE_TTL
  - ACTIVE
  - EXPIREDOK
  - STALEOK
  - KEEPSTALE
  - VALID_QPDB
  - HEADERNODE
  - qpcache_ref
  - qpcache_unref
  - qpcache_attach
  - qpcache_detach
  - qpcnode_ref
  - qpcnode_unref
  - qpcnode_attach
  - qpcnode_detach
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  - rdataset_size
  - expire_lru_headers
  - qpcache_miss
  - clean_stale_headers
  - clean_cache_node
  - delete_node
  - qpcnode_erefs_increment
  - qpcnode_acquire
  - qpcnode_erefs_decrement
  - qpcnode_release
  - update_rrsetstats
  - mark
  - setttl
  - mark_ancient
  - expireheader
  - update_cachestats
  - bindrdataset
  - bindrdatasets
  - setup_delegation
  - check_stale_header
  - related_headers
  - both_headers
  - check_zonecut
  - find_deepest_zonecut
  - find_coveringnsec
  - MISSING_ANSWER
  - qpc_search_init
  - qpcache_find
  - seek_ns_headers
  - qpcache_findzonecut
  - qpcache_findrdataset
  - setcachestats
  - getrrsetstats
  - setservestalettl
  - getservestalettl
  - setservestalerefresh
  - getservestalerefresh
  - expiredata
  - ttl_sooner
  - set_index
  - qpcache__destroy
  - qpcache_destroy
  - cleanup_deadnodes
  - cleanup_deadnodes_cb
  - reactivate_node
  - new_qpcnode
  - qpcache_findnode
  - qpcache_attachnode
  - qpcache_detachnode
  - qpcache_createiterator
  - qpcache_allrdatasets
  - overmaxtype
  - prio_header
  - add
  - addnoqname
  - addclosest
  - qpcache_addrdataset
  - qpcache_deleterdataset
  - nodecount
  - locknode
  - unlocknode
  - dns__qpcache_create
  - iterator_active
  - rdatasetiter_current
  - resume_iteration
  - dbiterator_seek
  - dbiterator_current
  - dbiterator_pause
  - dbiterator_origin
  - expire_ttl_headers
  - setmaxrrperset
  - setmaxtypepername
  - qpcnode_destroy
  source_file: /src/bind9/lib/dns/qpcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_QPCACHE_LOG_STATS_LEVEL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/qpcache.c
      type_or_value: '3'
    - item_type: preproc_def
      name: QPDB_MAGIC
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/bind9/lib/dns/qpcache.c
      type_or_value: ISC_MAGIC('Q', 'P', 'D', '4')
    - item_type: preproc_def
      name: QPDB_VIRTUAL
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/bind9/lib/dns/qpcache.c
      type_or_value: '10'
    - item_type: preproc_def
      name: DNS_QPDB_EXPIRE_TTL_COUNT
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/bind9/lib/dns/qpcache.c
      type_or_value: '10'
    structs:
    - fields:
      - name: name
        type: dns_name_t
      - name: '*mctx'
        type: isc_mem_t
      - name: delegating
        type: unsigned int
      - name: nspace
        type: unsigned int
      - name: havensec
        type: unsigned int
      - name: locknum
        type: uint16_t
      - name: references
        type: isc_refcount_t
      - name: erefs
        type: isc_refcount_t
      - name: '*data'
        type: void
      - name: dirty
        type: uint8_t
      - name: deadlink
        type: isc_queue_node_t
      item_type: struct
      name: qpcnode
      pos:
        line_end: 201
        line_start: 146
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: deadnodes
        type: isc_queue_t
      - name: lock
        type: isc_rwlock_t
      - name: '*heap'
        type: isc_heap_t
      - name: (dns_slabheader_t)
        type: ISC_SIEVE
      - name: "__padding[ISC_OS_CACHELINE_SIZE -\n\t\t\t  (sizeof(isc_queue_t) + sizeof(isc_rwlock_t)
          +\n\t\t\t   sizeof(isc_heap_t *) +\n\t\t\t   sizeof(ISC_SIEVE(dns_slabheader_t)))
          %\n\t\t\t\t  ISC_OS_CACHELINE_SIZE]"
        type: uint8_t
      item_type: struct
      name: qpcache_bucket
      pos:
        line_end: 235
        line_start: 208
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: common
        type: dns_db_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: lock
        type: isc_rwlock_t
      - name: tree_lock
        type: isc_rwlock_t
      - name: references
        type: isc_refcount_t
      - name: '*rrsetstats'
        type: dns_stats_t
      - name: '*cachestats'
        type: isc_stats_t
      - name: maxrrperset
        type: uint32_t
      - name: maxtypepername
        type: uint32_t
      - name: serve_stale_refresh
        type: uint32_t
      - name: '*tree'
        type: dns_qp_t
      - name: '*nsec'
        type: dns_qp_t
      - name: '*hmctx'
        type: isc_mem_t
      - name: buckets_count
        type: size_t
      - name: buckets[]
        type: qpcache_bucket_t
      item_type: struct
      name: qpcache
      pos:
        line_end: 286
        line_start: 238
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: '*qpdb'
        type: qpcache_t
      - name: options
        type: unsigned int
      - name: chain
        type: dns_qpchain_t
      - name: iter
        type: dns_qpiter_t
      - name: need_cleanup
        type: bool
      - name: '*zonecut'
        type: qpcnode_t
      - name: '*zonecut_header'
        type: dns_slabheader_t
      - name: '*zonecut_sigheader'
        type: dns_slabheader_t
      - name: now
        type: isc_stdtime_t
      item_type: struct
      name: qpc_search_t
      pos:
        line_end: 312
        line_start: 302
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: common
        type: dns_rdatasetiter_t
      - name: '*current'
        type: dns_slabheader_t
      item_type: struct
      name: qpc_rditer
      pos:
        line_end: 386
        line_start: 383
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: common
        type: dns_dbiterator_t
      - name: paused
        type: bool
      - name: tree_locked
        type: isc_rwlocktype_t
      - name: result
        type: isc_result_t
      - name: fixed
        type: dns_fixedname_t
      - name: '*name'
        type: dns_name_t
      - name: iter
        type: dns_qpiter_t
      - name: '*node'
        type: qpcnode_t
      item_type: struct
      name: qpc_dbit
      pos:
        line_end: 432
        line_start: 423
        source_file: /src/bind9/lib/dns/qpcache.c
    typedefs: []
    union: []
- function_names:
  - dns_trust_totext
  - dns_rdataset_init
  - dns_rdataset_invalidate
  - dns_rdataset_isassociated
  - question_clone
  - dns_rdataset_makequestion
  - dns_rdataset_count
  - dns__rdataset_clone
  - dns_rdataset_first
  - dns_rdataset_next
  - dns_rdataset_current
  - WANT_RANDOM
  - WANT_CYCLIC
  - swap_rdata
  - towire
  - dns_rdataset_towirepartial
  - dns_rdataset_towire
  - dns_rdataset_additionaldata
  - DNS_RDATASET_FOREACH
  - dns_rdataset_addnoqname
  - dns__rdataset_getnoqname
  - dns_rdataset_addclosest
  - dns__rdataset_getclosest
  - dns_rdataset_settrust
  - dns_rdataset_clearprefetch
  - dns_rdataset_setownercase
  - dns_rdataset_getownercase
  - dns_rdataset_trimttl
  - dns_rdataset_getheader
  - dns_rdataset_equals
  source_file: /src/bind9/lib/dns/rdataset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SHUFFLE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/bind9/lib/dns/rdataset.c
      type_or_value: '32'
    structs:
    - fields:
      - name: key
        type: int
      - name: '*rdata'
        type: dns_rdata_t
      item_type: struct
      name: towire_sort
      pos:
        line_end: 217
        line_start: 214
        source_file: /src/bind9/lib/dns/rdataset.c
    typedefs: []
    union: []
- function_names:
  - dns__dlz_initialize
  - dns__dlz_shutdown
  - dlz_impfind
  - ISC_LIST_FOREACH
  - dns_dlzallowzonexfr
  - dns_dlzcreate
  - dns_dlzdestroy
  - dns_dlzregister
  - dns_dlzstrtoargv
  - dns_dlzunregister
  - dns_dlz_writeablezone
  - dns_dlzconfigure
  - dns_dlz_ssumatch
  source_file: /src/bind9/lib/dns/dlz.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/openssl_shim.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RSA_MAX_PUBEXP_BITS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/openssl_shim.h
      type_or_value: '35'
    - item_type: preproc_def
      name: EVP_PKEY_eq
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/openssl_shim.h
      type_or_value: EVP_PKEY_cmp
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns__lib_initialize
  - dns__lib_shutdown
  source_file: /src/bind9/lib/dns/lib.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/dyndb_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_nsec_setbit
  - dns_nsec_isset
  - dns_nsec_compressbitmap
  - dns_nsec_buildrdata
  - DNS_RDATASETITER_FOREACH
  - dns_nsec_build
  - dns_nsec_typepresent
  - dns_nsec_nseconly
  - (&rdataset)
  - dns_nsec_noexistnodata
  - dns_nsec_requiredtypespresent
  - (&rdataset)
  source_file: /src/bind9/lib/dns/nsec.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - set_state
  - get_entry_for
  - fix_subtype
  - geoip2_database
  - match_string
  - match_int
  - dns_geoip_match
  source_file: /src/bind9/lib/dns/geoip2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: subtype
        type: uint16_t
      - name: '*db'
        type: MMDB_s
      - name: addr
        type: isc_netaddr_t
      - name: mmresult
        type: MMDB_lookup_result_s
      - name: entry
        type: MMDB_entry_s
      item_type: struct
      name: geoip_state
      pos:
        line_end: 65
        line_start: 59
        source_file: /src/bind9/lib/dns/geoip2.c
    typedefs: []
    union: []
- function_names:
  - VALID_UNREACHCACHE
  - dns_unreachcache_new
  - dns_unreachcache_destroy
  - ucentry_match
  - ucentry_hash
  - ucentry_lookup
  - ucentry_new
  - ucentry_destroy
  - ucentry_evict_async
  - ucentry_evict
  - ucentry_alive
  - ucentry_purge
  - cds_list_for_each_entry_rcu
  - ucentry_backoff
  - dns_unreachcache_add
  - dns_unreachcache_find
  - dns_unreachcache_remove
  - dns_unreachcache_flush
  source_file: /src/bind9/lib/dns/unreachcache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: UNREACHCACHE_MAGIC
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/unreachcache.c
      type_or_value: ISC_MAGIC('U', 'R', 'C', 'a')
    - item_type: preproc_def
      name: UNREACHCACHE_INIT_SIZE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/unreachcache.c
      type_or_value: '(1 << 4) '
    - item_type: preproc_def
      name: UNREACHCACHE_MIN_SIZE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/unreachcache.c
      type_or_value: '(1 << 5) '
    structs:
    - fields:
      - name: '*remote'
        type: isc_sockaddr_t
      - name: '*local'
        type: isc_sockaddr_t
      item_type: struct
      name: dns_uckey
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/bind9/lib/dns/unreachcache.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: expire_min_s
        type: uint16_t
      - name: expire_max_s
        type: uint16_t
      - name: backoff_eligible_s
        type: uint16_t
      - name: '*ht'
        type: struct cds_lfht
      - name: '*lru'
        type: struct cds_list_head
      - name: nloops
        type: uint32_t
      item_type: struct
      name: dns_unreachcache
      pos:
        line_end: 57
        line_start: 48
        source_file: /src/bind9/lib/dns/unreachcache.c
    - fields:
      - name: '*loop'
        type: isc_loop_t
      - name: expire
        type: isc_stdtime_t
      - name: exp_backoff_n
        type: unsigned int
      - name: wait_time
        type: uint16_t
      - name: confirmed
        type: bool
      - name: ht_node
        type: struct cds_lfht_node
      - name: rcu_head
        type: struct rcu_head
      - name: lru_head
        type: struct cds_list_head
      - name: remote
        type: isc_sockaddr_t
      - name: local
        type: isc_sockaddr_t
      item_type: struct
      name: dns_ucentry
      pos:
        line_end: 78
        line_start: 65
        source_file: /src/bind9/lib/dns/unreachcache.c
    typedefs: []
    union: []
- function_names:
  - VALID_NTA
  - dns__nta_destroy
  - dns_ntatable_create
  - dns__ntatable_destroy
  - fetch_done
  - checkbogus
  - settimer
  - nta_create
  - dns_ntatable_add
  - dns_ntatable_delete
  - delete_expired
  - dns_ntatable_covered
  - putstr
  - dns_ntatable_totext
  - dns_ntatable_save
  - dns__nta_shutdown_cb
  - dns__nta_shutdown
  - dns_ntatable_shutdown
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  source_file: /src/bind9/lib/dns/nta.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTA_MAGIC
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/nta.c
      type_or_value: ISC_MAGIC('N', 'T', 'A', 'n')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*view'
        type: dns_view_t
      - name: rwlock
        type: isc_rwlock_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: references
        type: isc_refcount_t
      - name: '*table'
        type: dns_qpmulti_t
      - name: shuttingdown
        type: atomic_bool
      item_type: struct
      name: dns_ntatable
      pos:
        line_end: 48
        line_start: 39
        source_file: /src/bind9/lib/dns/nta.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loop'
        type: isc_loop_t
      - name: references
        type: isc_refcount_t
      - name: '*ntatable'
        type: dns_ntatable_t
      - name: forced
        type: bool
      - name: '*timer'
        type: isc_timer_t
      - name: '*fetch'
        type: dns_fetch_t
      - name: rdataset
        type: dns_rdataset_t
      - name: sigrdataset
        type: dns_rdataset_t
      - name: name
        type: dns_name_t
      - name: expiry
        type: isc_stdtime_t
      - name: shuttingdown
        type: bool
      item_type: struct
      name: dns__nta
      pos:
        line_end: 64
        line_start: 50
        source_file: /src/bind9/lib/dns/nta.c
    typedefs: []
    union: []
- function_names:
  - TAG_ALG
  - TAG
  source_file: /src/bind9/lib/dns/dst_parse.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAXFIELDSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '512'
    - item_type: preproc_def
      name: MAXFIELDS
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: 12 + 6
    - item_type: preproc_def
      name: TAG_SHIFT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RSA_NTAGS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '11'
    - item_type: preproc_def
      name: TAG_RSA_MODULUS
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_RSA_PUBLICEXPONENT
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: TAG_RSA_PRIVATEEXPONENT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 2)
    - item_type: preproc_def
      name: TAG_RSA_PRIME1
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 3)
    - item_type: preproc_def
      name: TAG_RSA_PRIME2
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 4)
    - item_type: preproc_def
      name: TAG_RSA_EXPONENT1
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 5)
    - item_type: preproc_def
      name: TAG_RSA_EXPONENT2
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 6)
    - item_type: preproc_def
      name: TAG_RSA_COEFFICIENT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 7)
    - item_type: preproc_def
      name: TAG_RSA_ENGINE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 8)
    - item_type: preproc_def
      name: TAG_RSA_LABEL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_RSA << TAG_SHIFT) + 9)
    - item_type: preproc_def
      name: ECDSA_NTAGS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TAG_ECDSA_PRIVATEKEY
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_ECDSA256 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_ECDSA_ENGINE
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_ECDSA256 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: TAG_ECDSA_LABEL
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_ECDSA256 << TAG_SHIFT) + 2)
    - item_type: preproc_def
      name: EDDSA_NTAGS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '4'
    - item_type: preproc_def
      name: TAG_EDDSA_PRIVATEKEY
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_ED25519 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_EDDSA_ENGINE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_ED25519 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: TAG_EDDSA_LABEL
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_ED25519 << TAG_SHIFT) + 2)
    - item_type: preproc_def
      name: OLD_HMACMD5_NTAGS
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '1'
    - item_type: preproc_def
      name: HMACMD5_NTAGS
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TAG_HMACMD5_KEY
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACMD5 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_HMACMD5_BITS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACMD5 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: HMACSHA1_NTAGS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TAG_HMACSHA1_KEY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA1 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_HMACSHA1_BITS
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA1 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: HMACSHA224_NTAGS
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TAG_HMACSHA224_KEY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA224 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_HMACSHA224_BITS
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA224 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: HMACSHA256_NTAGS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TAG_HMACSHA256_KEY
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA256 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_HMACSHA256_BITS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA256 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: HMACSHA384_NTAGS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TAG_HMACSHA384_KEY
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA384 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_HMACSHA384_BITS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA384 << TAG_SHIFT) + 1)
    - item_type: preproc_def
      name: HMACSHA512_NTAGS
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TAG_HMACSHA512_KEY
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA512 << TAG_SHIFT) + 0)
    - item_type: preproc_def
      name: TAG_HMACSHA512_BITS
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/lib/dns/dst_parse.h
      type_or_value: ((DST_ALG_HMACSHA512 << TAG_SHIFT) + 1)
    structs:
    - fields:
      - name: tag
        type: unsigned short
      - name: length
        type: unsigned short
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dst_private_element
      pos:
        line_end: 98
        line_start: 94
        source_file: /src/bind9/lib/dns/dst_parse.h
    - fields:
      - name: nelements
        type: unsigned short
      - name: elements[MAXFIELDS]
        type: dst_private_element_t
      item_type: struct
      name: dst_private
      pos:
        line_end: 105
        line_start: 102
        source_file: /src/bind9/lib/dns/dst_parse.h
    typedefs: []
    union: []
- function_names:
  - dns_time64_totext
  - is_leap
  - year_secs
  - month_secs
  - dns_time64_from32
  - dns_time32_totext
  - dns_time64_fromtext
  - RANGE
  - dns_time32_fromtext
  source_file: /src/bind9/lib/dns/time.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  - rdata_covers
  - dns_difftuple_create
  - dns_difftuple_free
  - dns_difftuple_copy
  - dns_diff_init
  - dns_diff_clear
  - dns_diff_append
  - dns_diff_is_boundary
  - dns_diff_size
  - dns_diff_appendminimal
  - setresign
  - getownercase
  - setownercase
  - optotext
  - diff_apply
  - dns_diff_apply
  - dns_diff_applysilently
  - dns_diff_load
  - dns_diff_sort
  - diff_tuple_tordataset
  - dns_diff_print
  source_file: /src/bind9/lib/dns/diff.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - ttlfmt
  - dns_ttl_totext
  - dns_counter_fromtext
  - dns_ttl_fromtext
  - bind_ttl
  source_file: /src/bind9/lib/dns/ttl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - tkey_log
  - dns_tkeyctx_create
  - dns_tkeyctx_destroy
  - add_rdata_to_list
  - free_namelist
  - process_gsstkey
  - process_deletetkey
  - dns_tkey_processquery
  - ISC_LIST_FOREACH
  - buildquery
  - dns_tkey_buildgssquery
  - find_tkey
  - MSG_SECTION_FOREACH
  - dns_tkey_gssnegotiate
  source_file: /src/bind9/lib/dns/tkey.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEMP_BUFFER_SZ
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/tkey.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: TKEY_RANDOM_AMOUNT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/tkey.c
      type_or_value: '16'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_kasp_create
  - dns_kasp_attach
  - destroy
  - dns_kasp_detach
  - dns_kasp_getname
  - dns_kasp_freeze
  - dns_kasp_thaw
  - dns_kasp_signdelay
  - dns_kasp_sigjitter
  - dns_kasp_setsigjitter
  - dns_kasp_sigrefresh
  - dns_kasp_setsigrefresh
  - dns_kasp_sigvalidity
  - dns_kasp_setsigvalidity
  - dns_kasp_sigvalidity_dnskey
  - dns_kasp_setsigvalidity_dnskey
  - dns_kasp_dnskeyttl
  - dns_kasp_setdnskeyttl
  - dns_kasp_purgekeys
  - dns_kasp_setpurgekeys
  - dns_kasp_publishsafety
  - dns_kasp_setpublishsafety
  - dns_kasp_retiresafety
  - dns_kasp_setretiresafety
  - dns_kasp_inlinesigning
  - dns_kasp_setinlinesigning
  - dns_kasp_zonemaxttl
  - dns_kasp_setzonemaxttl
  - dns_kasp_zonepropagationdelay
  - dns_kasp_setzonepropagationdelay
  - dns_kasp_dsttl
  - dns_kasp_setdsttl
  - dns_kasp_parentpropagationdelay
  - dns_kasp_setparentpropagationdelay
  - dns_kasplist_find
  - dns_kasp_keys
  - dns_kasp_keylist_empty
  - dns_kasp_addkey
  - dns_kasp_key_create
  - dns_kasp_key_destroy
  - dns_kasp_key_algorithm
  - dns_kasp_key_size
  - dns_kasp_key_lifetime
  - dns_kasp_key_keystore
  - dns_kasp_key_ksk
  - dns_kasp_key_zsk
  - dns_kasp_key_tagmin
  - dns_kasp_key_tagmax
  - dns_kasp_key_match
  - dns_kasp_nsec3iter
  - dns_kasp_nsec3flags
  - dns_kasp_nsec3saltlen
  - dns_kasp_nsec3
  - dns_kasp_setnsec3
  - dns_kasp_setnsec3param
  - dns_kasp_offlineksk
  - dns_kasp_setofflineksk
  - dns_kasp_cdnskey
  - dns_kasp_setcdnskey
  - dns_kasp_digests
  - dns_kasp_adddigest
  source_file: /src/bind9/lib/dns/kasp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_TTLSIG
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/kasp.c
      type_or_value: '604800 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - RETERR
  - INITIALIZE_STATE
  - log_key_overflow
  - keymgr_keyrole
  - keymgr_settime_remove
  - dns_keymgr_settime_syncpublish
  - keymgr_prepublication_time
  - keymgr_key_retire
  - keymgr_key_update_lifetime
  - keymgr_keyid_conflict
  - keymgr_createkey
  - keymgr_desiredstate
  - keymgr_key_match_state
  - keymgr_direct_dep
  - keymgr_dep
  - keymgr_key_is_successor
  - keymgr_key_exists_with_state
  - keymgr_key_has_successor
  - keymgr_ds_hidden_or_chained
  - keymgr_dnskey_hidden_or_chained
  - keymgr_have_ds
  - keymgr_have_dnskey
  - keymgr_have_rrsig
  - keymgr_policy_approval
  - keymgr_transition_allowed
  - keymgr_transition_time
  - keymgr_update
  - keymgr_key_init
  - keymgr_key_rollover
  - dns_keymgr_key_may_be_purged
  - keymgr_purge_keyfile
  - dst_key_doublematch
  - ISC_LIST_FOREACH
  - dns_keymgr_run
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - keymgr_checkds
  - dns_keymgr_checkds
  - dns_keymgr_checkds_id
  - keytime_status
  - rollover_status
  - keystate_status
  - dns_keymgr_status
  - dns_keymgr_rollover
  - dns_keymgr_offline
  source_file: /src/bind9/lib/dns/keymgr.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HIDDEN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_HIDDEN
    - item_type: preproc_def
      name: RUMOURED
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_RUMOURED
    - item_type: preproc_def
      name: OMNIPRESENT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_OMNIPRESENT
    - item_type: preproc_def
      name: UNRETENTIVE
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_UNRETENTIVE
    - item_type: preproc_def
      name: NA
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_NA
    - item_type: preproc_def
      name: NUM_KEYSTATES
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: (DST_MAX_KEYSTATES)
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_result_torcode
  - dns_result_fromrcode
  source_file: /src/bind9/lib/dns/result.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_clientinfomethods_init
  - dns_clientinfo_init
  - dns_clientinfo_setecs
  source_file: /src/bind9/lib/dns/clientinfo.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_rriterator_init
  - dns_rriterator_first
  - dns_rriterator_nextrrset
  - dns_rriterator_next
  - dns_rriterator_pause
  - dns_rriterator_destroy
  - dns_rriterator_current
  source_file: /src/bind9/lib/dns/rriterator.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_CACHE
  - cache_create_db
  - cache_destroy
  - dns_cache_create
  - cache_cleanup
  - dns_cache_attachdb
  - dns_cache_getname
  - updatewater
  - dns_cache_setcachesize
  - dns_cache_getcachesize
  - dns_cache_setservestalettl
  - dns_cache_getservestalettl
  - dns_cache_setservestalerefresh
  - dns_cache_getservestalerefresh
  - dns_cache_flush
  - clearnode
  - DNS_RDATASETITER_FOREACH
  - cleartree
  - dns_cache_flushname
  - dns_cache_flushnode
  - dns_cache_getstats
  - dns_cache_updatestats
  - dns_cache_setmaxrrperset
  - dns_cache_setmaxtypepername
  - getcounter
  - getcounters
  - dns_cache_dumpstats
  - TRY0
  - renderstat
  - dns_cache_renderxml
  - CHECKMEM
  - dns_cache_renderjson
  source_file: /src/bind9/lib/dns/cache.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_XMLCHAR
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/cache.c
      type_or_value: (const xmlChar *)
    - item_type: preproc_def
      name: CACHE_MAGIC
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/cache.c
      type_or_value: ISC_MAGIC('$', '$', '$', '$')
    - item_type: preproc_def
      name: DNS_CACHE_MINSIZE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/cache.c
      type_or_value: '2097152U '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: lock
        type: isc_mutex_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*hmctx'
        type: isc_mem_t
      - name: '*tmctx'
        type: isc_mem_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*name'
        type: char
      - name: references
        type: isc_refcount_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: '*db'
        type: dns_db_t
      - name: size
        type: size_t
      - name: serve_stale_ttl
        type: dns_ttl_t
      - name: serve_stale_refresh
        type: dns_ttl_t
      - name: '*stats'
        type: isc_stats_t
      - name: maxrrperset
        type: uint32_t
      - name: maxtypepername
        type: uint32_t
      item_type: struct
      name: dns_cache
      pos:
        line_end: 84
        line_start: 64
        source_file: /src/bind9/lib/dns/cache.c
    - fields:
      - name: type
        type: isc_statsformat_t
      - name: '*arg'
        type: void
      - name: ncounters
        type: int
      - name: '*counterindices'
        type: int
      - name: '*countervalues'
        type: uint64_t
      - name: result
        type: isc_result_t
      item_type: struct
      name: cache_dumparg
      pos:
        line_end: 575
        line_start: 568
        source_file: /src/bind9/lib/dns/cache.c
    typedefs: []
    union: []
- function_names:
  - VALID_KEYTABLE
  - VALID_KEYNODE
  - destroy_keynode
  - dns_keytable_create
  - destroy_keytable
  - add_ds
  - delete_ds
  - new_keynode
  - insert
  - dns_keytable_add
  - dns_keytable_marksecure
  - dns_keytable_delete
  - dns_keytable_deletekey
  - dns_keytable_find
  - dns_keytable_finddeepestmatch
  - dns_keytable_issecuredomain
  - putstr
  - dns_keytable_dump
  - keynode_dslist_totext
  - (&dsset)
  - dns_keytable_totext
  - dns_keytable_forall
  - dns_keynode_dsset
  - dns_keynode_managed
  - dns_keynode_initial
  - dns_keynode_trust
  - keynode_first
  - keynode_next
  - keynode_current
  - keynode_clone
  - qp_attach
  - qp_detach
  - qp_makekey
  - qp_triename
  source_file: /src/bind9/lib/dns/keytable.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: KEYTABLE_MAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/keytable.c
      type_or_value: ISC_MAGIC('K', 'T', 'b', 'l')
    - item_type: preproc_def
      name: KEYNODE_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/keytable.c
      type_or_value: ISC_MAGIC('K', 'N', 'o', 'd')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: rwlock
        type: isc_rwlock_t
      - name: '*table'
        type: dns_qpmulti_t
      item_type: struct
      name: dns_keytable
      pos:
        line_end: 46
        line_start: 40
        source_file: /src/bind9/lib/dns/keytable.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: rwlock
        type: isc_rwlock_t
      - name: name
        type: dns_name_t
      - name: '*dslist'
        type: dns_rdatalist_t
      - name: dsset
        type: dns_rdataset_t
      - name: managed
        type: bool
      - name: initial
        type: bool
      item_type: struct
      name: dns_keynode
      pos:
        line_end: 58
        line_start: 48
        source_file: /src/bind9/lib/dns/keytable.c
    typedefs: []
    union: []
- function_names:
  - DNS_CATZ_ZONE_VALID
  - DNS_CATZ_ZONES_VALID
  - DNS_CATZ_ENTRY_VALID
  - DNS_CATZ_COO_VALID
  - dns_catz_options_init
  - dns_catz_options_free
  - dns_catz_options_copy
  - dns_catz_options_setdefault
  - catz_coo_new
  - catz_coo_detach
  - catz_coo_add
  - dns_catz_entry_new
  - dns_catz_entry_getname
  - dns_catz_entry_copy
  - dns_catz_entry_attach
  - dns_catz_entry_detach
  - dns_catz_entry_validate
  - dns_catz_entry_cmp
  - dns_catz_zone_getname
  - dns_catz_zone_getdefoptions
  - dns_catz_zone_resetdefoptions
  - dns__catz_zones_merge
  - dns_catz_zones_new
  - dns_catz_zones_get_udata
  - dns_catz_catzs_set_view
  - dns_catz_zone_new
  - dns__catz_timer_start
  - dns__catz_timer_stop
  - dns_catz_zone_add
  - dns_catz_zone_get
  - dns__catz_zone_shutdown
  - dns__catz_zone_destroy
  - dns__catz_zones_destroy
  - dns_catz_zones_shutdown
  - catz_opt_cmp
  - catz_get_option
  - catz_process_zones
  - catz_process_coo
  - catz_process_zones_entry
  - catz_process_version
  - catz_process_primaries
  - DNS_RDATASET_FOREACH
  - catz_process_apl
  - catz_process_zones_suboption
  - catz_entry_add_or_mod
  - catz_process_value
  - dns__catz_update_process
  - digest2hex
  - dns_catz_generate_masterfilename
  - dns_catz_generate_zonecfg
  - dns__catz_timer_cb
  - dns_catz_dbupdate_callback
  - dns_catz_dbupdate_unregister
  - dns_catz_dbupdate_register
  - catz_rdatatype_is_processable
  - dns__catz_update_cb
  - DNS_RDATASETITER_FOREACH
  - dns__catz_done_cb
  - dns_catz_prereconfig
  - dns_catz_postreconfig
  - dns_catz_zone_for_each_entry2
  source_file: /src/bind9/lib/dns/catz.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CATZ_ZONE_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/dns/catz.c
      type_or_value: ISC_MAGIC('c', 'a', 't', 'z')
    - item_type: preproc_def
      name: DNS_CATZ_ZONES_MAGIC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/dns/catz.c
      type_or_value: ISC_MAGIC('c', 'a', 't', 's')
    - item_type: preproc_def
      name: DNS_CATZ_ENTRY_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/catz.c
      type_or_value: ISC_MAGIC('c', 'a', 't', 'e')
    - item_type: preproc_def
      name: DNS_CATZ_COO_MAGIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/catz.c
      type_or_value: ISC_MAGIC('c', 'a', 't', 'c')
    - item_type: preproc_def
      name: DNS_CATZ_VERSION_UNDEFINED
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/catz.c
      type_or_value: ((uint32_t)(-1))
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: name
        type: dns_name_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_catz_coo
      pos:
        line_end: 58
        line_start: 54
        source_file: /src/bind9/lib/dns/catz.c
    - fields:
      - name: magic
        type: unsigned int
      - name: name
        type: dns_name_t
      - name: opts
        type: dns_catz_options_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_catz_entry
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/bind9/lib/dns/catz.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*loop'
        type: isc_loop_t
      - name: name
        type: dns_name_t
      - name: '*catzs'
        type: dns_catz_zones_t
      - name: soa
        type: dns_rdata_t
      - name: version
        type: uint32_t
      - name: '*entries'
        type: isc_ht_t
      - name: '*coos'
        type: isc_ht_t
      - name: defoptions
        type: dns_catz_options_t
      - name: zoneoptions
        type: dns_catz_options_t
      - name: lastupdated
        type: isc_time_t
      - name: updatepending
        type: bool
      - name: updaterunning
        type: bool
      - name: updateresult
        type: isc_result_t
      - name: '*db'
        type: dns_db_t
      - name: '*dbversion'
        type: dns_dbversion_t
      - name: '*updb'
        type: dns_db_t
      - name: '*updbversion'
        type: dns_dbversion_t
      - name: '*updatetimer'
        type: isc_timer_t
      - name: active
        type: bool
      - name: broken
        type: bool
      - name: references
        type: isc_refcount_t
      - name: lock
        type: isc_mutex_t
      item_type: struct
      name: dns_catz_zone
      pos:
        line_end: 108
        line_start: 73
        source_file: /src/bind9/lib/dns/catz.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*zones'
        type: isc_ht_t
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: lock
        type: isc_mutex_t
      - name: '*zmm'
        type: dns_catz_zonemodmethods_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*view'
        type: dns_view_t
      - name: shuttingdown
        type: atomic_bool
      item_type: struct
      name: dns_catz_zones
      pos:
        line_end: 147
        line_start: 137
        source_file: /src/bind9/lib/dns/catz.c
    typedefs:
    - item_type: typedef
      name: catz_opt_t
      pos:
        line_end: 1109
        line_start: 1099
        source_file: /src/bind9/lib/dns/catz.c
    union: []
- function_names:
  - DST_AS_STR
  - find_value
  - find_tag
  - find_metadata
  - find_timedata
  - find_numericdata
  - check_rsa
  - check_ecdsa
  - check_eddsa
  - check_hmac_md5
  - check_hmac_sha
  - check_data
  - dst__privstruct_free
  - dst__privstruct_parse
  - NEXTTOKEN
  - READLINE
  - dst__privstruct_writefile
  source_file: /src/bind9/lib/dns/dst_parse.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PRIVATE_KEY_STR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/dst_parse.c
      type_or_value: '"Private-key-format:"'
    - item_type: preproc_def
      name: ALGORITHM_STR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/dst_parse.c
      type_or_value: '"Algorithm:"'
    - item_type: preproc_def
      name: TIMING_NTAGS
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/dst_parse.c
      type_or_value: (DST_MAX_TIMES + 1)
    - item_type: preproc_def
      name: NUMERIC_NTAGS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/dst_parse.c
      type_or_value: (DST_MAX_NUMERIC + 1)
    structs:
    - fields:
      - name: value
        type: int
      - name: '*tag'
        type: char
      item_type: struct
      name: parse_map
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/bind9/lib/dns/dst_parse.c
    typedefs: []
    union: []
- function_names:
  - VALID_REQUESTMGR
  - VALID_REQUEST
  - DNS_REQUEST_CONNECTING
  - DNS_REQUEST_SENDING
  - DNS_REQUEST_COMPLETE
  - dns_requestmgr_create
  - requests_cancel
  - dns_requestmgr_shutdown
  - requestmgr_destroy
  - req_send
  - new_request
  - isblackholed
  - tcp_dispatch
  - udp_dispatch
  - get_dispatch
  - dns_request_createraw
  - dns_request_create
  - req_render
  - request_cancel
  - req_cancel_cb
  - dns_request_cancel
  - dns_request_getresponse
  - dns_request_getanswer
  - dns_request_usedtcp
  - dns_request_destroy
  - req_connected
  - req_senddone
  - req_response
  - req_sendevent_cb
  - req_cleanup
  - req_sendevent
  - req_destroy
  - dns_request_getarg
  - dns_request_getresult
  - req_log
  source_file: /src/bind9/lib/dns/request.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REQUESTMGR_MAGIC
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/dns/request.c
      type_or_value: ISC_MAGIC('R', 'q', 'u', 'M')
    - item_type: preproc_def
      name: REQUEST_MAGIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/request.c
      type_or_value: ISC_MAGIC('R', 'q', 'u', '!')
    - item_type: preproc_def
      name: DNS_REQUEST_F_CONNECTING
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/request.c
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: DNS_REQUEST_F_SENDING
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/request.c
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: DNS_REQUEST_F_COMPLETE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/lib/dns/request.c
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: DNS_REQUEST_F_TCP
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/request.c
      type_or_value: (1 << 3)
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: shuttingdown
        type: atomic_bool
      - name: '*dispatchmgr'
        type: dns_dispatchmgr_t
      - name: '*dispatches4'
        type: dns_dispatchset_t
      - name: '*dispatches6'
        type: dns_dispatchset_t
      - name: '*requests'
        type: dns_requestlist_t
      item_type: struct
      name: dns_requestmgr
      pos:
        line_end: 59
        line_start: 47
        source_file: /src/bind9/lib/dns/request.c
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: flags
        type: int32_t
      - name: '*loop'
        type: isc_loop_t
      - name: tid
        type: isc_tid_t
      - name: result
        type: isc_result_t
      - name: cb
        type: isc_job_cb
      - name: '*arg'
        type: void
      - name: (dns_request_t)
        type: ISC_LINK
      - name: '*query'
        type: isc_buffer_t
      - name: '*answer'
        type: isc_buffer_t
      - name: '*dispatch'
        type: dns_dispatch_t
      - name: '*dispentry'
        type: dns_dispentry_t
      - name: '*requestmgr'
        type: dns_requestmgr_t
      - name: '*tsig'
        type: isc_buffer_t
      - name: '*tsigkey'
        type: dns_tsigkey_t
      - name: destaddr
        type: isc_sockaddr_t
      - name: connect_timeout
        type: unsigned int
      - name: timeout
        type: unsigned int
      - name: udpcount
        type: unsigned int
      item_type: struct
      name: dns_request
      pos:
        line_end: 86
        line_start: 61
        source_file: /src/bind9/lib/dns/request.c
    typedefs:
    - item_type: typedef
      name: (dns_request_t)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bind9/lib/dns/request.c
    union: []
- function_names:
  - stdio_error_warn_callback
  - isclog_error_callback
  - isclog_warn_callback
  - dns_rdatacallbacks_initcommon
  - dns_rdatacallbacks_init
  - dns_rdatacallbacks_init_stdio
  source_file: /src/bind9/lib/dns/callbacks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_RDATACOMMON_INIT
  source_file: /src/bind9/lib/dns/rdata/rdatastructpre.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rdclass
        type: dns_rdataclass_t
      - name: rdtype
        type: dns_rdatatype_t
      item_type: struct
      name: dns_rdatacommon
      pos:
        line_end: 24
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/rdatastructpre.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/rdatastructsuf.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/hs_4/a_1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: in_addr
        type: struct in_addr
      item_type: struct
      name: dns_rdata_hs_a
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/hs_4/a_1.h
    typedefs: []
    union: []
- function_names:
  - fromtext_hs_a
  - totext_hs_a
  - fromwire_hs_a
  - towire_hs_a
  - compare_hs_a
  - fromstruct_hs_a
  - tostruct_hs_a
  - freestruct_hs_a
  - additionaldata_hs_a
  - digest_hs_a
  - checkowner_hs_a
  - checknames_hs_a
  - casecompare_hs_a
  source_file: /src/bind9/lib/dns/rdata/hs_4/a_1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_A_ATTRIBUTES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/hs_4/a_1.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/ch_3/a_1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: ch_addr_dom
        type: dns_name_t
      - name: ch_addr
        type: ch_addr_t
      item_type: struct
      name: dns_rdata_ch_a
      pos:
        line_end: 27
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/ch_3/a_1.h
    typedefs:
    - item_type: typedef
      name: ch_addr_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/ch_3/a_1.h
      type: uint16_t
    union: []
- function_names:
  - fromtext_ch_a
  - totext_ch_a
  - fromwire_ch_a
  - towire_ch_a
  - compare_ch_a
  - fromstruct_ch_a
  - tostruct_ch_a
  - freestruct_ch_a
  - additionaldata_ch_a
  - digest_ch_a
  - checkowner_ch_a
  - checknames_ch_a
  - casecompare_ch_a
  source_file: /src/bind9/lib/dns/rdata/ch_3/a_1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_A_ATTRIBUTES
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/dns/rdata/ch_3/a_1.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_any_tsig
  - totext_any_tsig
  - fromwire_any_tsig
  - towire_any_tsig
  - compare_any_tsig
  - fromstruct_any_tsig
  - tostruct_any_tsig
  - freestruct_any_tsig
  - additionaldata_any_tsig
  - digest_any_tsig
  - checkowner_any_tsig
  - checknames_any_tsig
  - casecompare_any_tsig
  source_file: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_TSIG_ATTRIBUTES
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
      type_or_value: (DNS_RDATATYPEATTR_META | DNS_RDATATYPEATTR_NOTQUESTION)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/any_255/tsig_250.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: algorithm
        type: dns_name_t
      - name: timesigned
        type: uint64_t
      - name: fudge
        type: uint16_t
      - name: siglen
        type: uint16_t
      - name: '*signature'
        type: unsigned char
      - name: originalid
        type: uint16_t
      - name: error
        type: uint16_t
      - name: otherlen
        type: uint16_t
      - name: '*other'
        type: unsigned char
      item_type: struct
      name: dns_rdata_any_tsig
      pos:
        line_end: 28
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/any_255/tsig_250.h
    typedefs: []
    union: []
- function_names:
  - fromtext_in_https
  - totext_in_https
  - fromwire_in_https
  - towire_in_https
  - compare_in_https
  - fromstruct_in_https
  - tostruct_in_https
  - freestruct_in_https
  - additionaldata_in_https
  - digest_in_https
  - checkowner_in_https
  - checknames_in_https
  - casecompare_in_https
  - dns_rdata_in_https_first
  - dns_rdata_in_https_next
  - dns_rdata_in_https_current
  source_file: /src/bind9/lib/dns/rdata/in_1/https_65.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_HTTPS_ATTRIBUTES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/in_1/https_65.c
      type_or_value: (DNS_RDATATYPEATTR_FOLLOWADDITIONAL)
    structs: []
    typedefs: []
    union: []
- function_names:
  - alpn_fromtxt
  - svckeycmp
  - svcsortkeylist
  - svcb_validate
  - svc_keyfromregion
  - svc_fromtext
  - svcparamkey
  - svcsortkeys
  - generic_fromtext_in_svcb
  - fromtext_in_svcb
  - generic_totext_in_svcb
  - totext_in_svcb
  - generic_fromwire_in_svcb
  - fromwire_in_svcb
  - generic_towire_in_svcb
  - towire_in_svcb
  - compare_in_svcb
  - generic_fromstruct_in_svcb
  - fromstruct_in_svcb
  - generic_tostruct_in_svcb
  - tostruct_in_svcb
  - generic_freestruct_in_svcb
  - freestruct_in_svcb
  - generic_additionaldata_in_svcb
  - additionaldata_in_svcb
  - digest_in_svcb
  - checkowner_in_svcb
  - generic_checknames_in_svcb
  - checknames_in_svcb
  - casecompare_in_svcb
  - generic_rdata_in_svcb_first
  - generic_rdata_in_svcb_next
  - generic_rdata_in_svcb_current
  - dns_rdata_in_svcb_first
  - dns_rdata_in_svcb_next
  - dns_rdata_in_svcb_current
  source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
  types:
    enum:
    - enumerators:
      - name: sbpr_text
      - name: sbpr_base64
      - name: sbpr_ipv4s
      - name: sbpr_ipv6s
      - name: sbpr_port
      - name: sbpr_empty
      - name: sbpr_alpn
      - name: sbpr_keylist
      - name: sbpr_dohpath
      item_type: enum
      name: encoding
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SVCB_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
      type_or_value: (DNS_RDATATYPEATTR_FOLLOWADDITIONAL)
    - item_type: preproc_def
      name: SVCB_MAN_KEY
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SVCB_ALPN_KEY
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SVCB_NO_DEFAULT_ALPN_KEY
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SVCB_DOHPATH_KEY
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MAX_CNAMES
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
      type_or_value: '16 '
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: value
        type: unsigned int
      - name: encoding
        type: enum encoding
      - name: initial
        type: bool
      item_type: struct
      name: "sbpr[] = {\n\t{ \"mandatory\", 0, sbpr_keylist, true },\n\t{ \"alpn\",
        1, sbpr_alpn, true },\n\t{ \"no-default-alpn\", 2, sbpr_empty, true },\n\t{
        \"port\", 3, sbpr_port, true },\n\t{ \"ipv4hint\", 4, sbpr_ipv4s, true },\n\t{
        \"ech\", 5, sbpr_base64, true },\n\t{ \"ipv6hint\", 6, sbpr_ipv6s, true },\n\t{
        \"dohpath\", 7, sbpr_dohpath, false },\n}"
      pos:
        line_end: 45
        line_start: 40
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    typedefs: []
    union: []
- function_names:
  - fromtext_in_nimloc
  - totext_in_nimloc
  - fromwire_in_nimloc
  - towire_in_nimloc
  - compare_in_nimloc
  - fromstruct_in_nimloc
  - tostruct_in_nimloc
  - freestruct_in_nimloc
  - additionaldata_in_nimloc
  - digest_in_nimloc
  - checkowner_in_nimloc
  - checknames_in_nimloc
  - casecompare_in_nimloc
  source_file: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NIMLOC_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_nsap_ptr
  - totext_in_nsap_ptr
  - fromwire_in_nsap_ptr
  - towire_in_nsap_ptr
  - compare_in_nsap_ptr
  - fromstruct_in_nsap_ptr
  - tostruct_in_nsap_ptr
  - freestruct_in_nsap_ptr
  - additionaldata_in_nsap_ptr
  - digest_in_nsap_ptr
  - checkowner_in_nsap_ptr
  - checknames_in_nsap_ptr
  - casecompare_in_nsap_ptr
  source_file: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NSAP_PTR_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/kx_36.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: preference
        type: uint16_t
      - name: exchange
        type: dns_name_t
      item_type: struct
      name: dns_rdata_in_kx
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/kx_36.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/px_26.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: preference
        type: uint16_t
      - name: map822
        type: dns_name_t
      - name: mapx400
        type: dns_name_t
      item_type: struct
      name: dns_rdata_in_px
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/px_26.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/https_65.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/atma_34.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: format
        type: unsigned char
      - name: '*atma'
        type: unsigned char
      - name: atma_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_atma
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/atma_34.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/nimloc_32.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*nimloc'
        type: unsigned char
      - name: nimloc_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_nimloc
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/bind9/lib/dns/rdata/in_1/nimloc_32.h
    typedefs: []
    union: []
- function_names:
  - init_lock
  - mygetprotobyname
  - mygetservbyname
  - fromtext_in_wks
  - totext_in_wks
  - fromwire_in_wks
  - towire_in_wks
  - compare_in_wks
  - fromstruct_in_wks
  - tostruct_in_wks
  - freestruct_in_wks
  - additionaldata_in_wks
  - digest_in_wks
  - checkowner_in_wks
  - checknames_in_wks
  - casecompare_in_wks
  source_file: /src/bind9/lib/dns/rdata/in_1/wks_11.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_WKS_ATTRIBUTES
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/rdata/in_1/wks_11.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_nsap
  - totext_in_nsap
  - fromwire_in_nsap
  - towire_in_nsap
  - compare_in_nsap
  - fromstruct_in_nsap
  - tostruct_in_nsap
  - freestruct_in_nsap
  - additionaldata_in_nsap
  - digest_in_nsap
  - checkowner_in_nsap
  - checknames_in_nsap
  - casecompare_in_nsap
  source_file: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NSAP_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/nsap_22.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*nsap'
        type: unsigned char
      - name: nsap_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_nsap
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/nsap_22.h
    typedefs: []
    union: []
- function_names:
  - fromtext_in_kx
  - totext_in_kx
  - fromwire_in_kx
  - towire_in_kx
  - compare_in_kx
  - fromstruct_in_kx
  - tostruct_in_kx
  - freestruct_in_kx
  - additionaldata_in_kx
  - digest_in_kx
  - checkowner_in_kx
  - checknames_in_kx
  - casecompare_in_kx
  source_file: /src/bind9/lib/dns/rdata/in_1/kx_36.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_KX_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/kx_36.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/a_1.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: in_addr
        type: struct in_addr
      item_type: struct
      name: dns_rdata_in_a
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/in_1/a_1.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/a6_38.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: prefix
        type: dns_name_t
      - name: prefixlen
        type: uint8_t
      - name: in6_addr
        type: struct in6_addr
      item_type: struct
      name: dns_rdata_in_a6
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/a6_38.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/srv_33.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: priority
        type: uint16_t
      - name: weight
        type: uint16_t
      - name: port
        type: uint16_t
      - name: target
        type: dns_name_t
      item_type: struct
      name: dns_rdata_in_srv
      pos:
        line_end: 25
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/srv_33.h
    typedefs: []
    union: []
- function_names:
  - fromtext_in_apl
  - totext_in_apl
  - fromwire_in_apl
  - towire_in_apl
  - compare_in_apl
  - fromstruct_in_apl
  - tostruct_in_apl
  - freestruct_in_apl
  - dns_rdata_apl_first
  - dns_rdata_apl_next
  - dns_rdata_apl_current
  - dns_rdata_apl_count
  - additionaldata_in_apl
  - digest_in_apl
  - checkowner_in_apl
  - checknames_in_apl
  - casecompare_in_apl
  source_file: /src/bind9/lib/dns/rdata/in_1/apl_42.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_APL_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/apl_42.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/dhcid_49.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*dhcid'
        type: unsigned char
      - name: length
        type: unsigned int
      item_type: struct
      name: dns_rdata_in_dhcid
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/in_1/dhcid_49.h
    typedefs: []
    union: []
- function_names:
  - fromtext_in_atma
  - totext_in_atma
  - fromwire_in_atma
  - towire_in_atma
  - compare_in_atma
  - fromstruct_in_atma
  - tostruct_in_atma
  - freestruct_in_atma
  - additionaldata_in_atma
  - digest_in_atma
  - checkowner_in_atma
  - checknames_in_atma
  - casecompare_in_atma
  source_file: /src/bind9/lib/dns/rdata/in_1/atma_34.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_ATMA_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/atma_34.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_a6
  - totext_in_a6
  - fromwire_in_a6
  - towire_in_a6
  - compare_in_a6
  - fromstruct_in_a6
  - tostruct_in_a6
  - freestruct_in_a6
  - additionaldata_in_a6
  - digest_in_a6
  - checkowner_in_a6
  - checknames_in_a6
  - casecompare_in_a6
  source_file: /src/bind9/lib/dns/rdata/in_1/a6_38.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_A6_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/in_1/a6_38.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/apl_42.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: negative
        type: bool
      - name: family
        type: uint16_t
      - name: prefix
        type: uint8_t
      - name: length
        type: uint8_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_apl_ent
      pos:
        line_end: 22
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/in_1/apl_42.h
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*apl'
        type: unsigned char
      - name: apl_len
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_apl
      pos:
        line_end: 32
        line_start: 24
        source_file: /src/bind9/lib/dns/rdata/in_1/apl_42.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/eid_31.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*eid'
        type: unsigned char
      - name: eid_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_eid
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/bind9/lib/dns/rdata/in_1/eid_31.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: owner
        type: dns_name_t
      item_type: struct
      name: dns_rdata_in_nsap_ptr
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.h
    typedefs: []
    union: []
- function_names:
  - fromtext_in_srv
  - totext_in_srv
  - fromwire_in_srv
  - towire_in_srv
  - compare_in_srv
  - fromstruct_in_srv
  - tostruct_in_srv
  - freestruct_in_srv
  - additionaldata_in_srv
  - digest_in_srv
  - checkowner_in_srv
  - checknames_in_srv
  - casecompare_in_srv
  source_file: /src/bind9/lib/dns/rdata/in_1/srv_33.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SRV_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/srv_33.c
      type_or_value: (DNS_RDATATYPEATTR_FOLLOWADDITIONAL)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_px
  - totext_in_px
  - fromwire_in_px
  - towire_in_px
  - compare_in_px
  - fromstruct_in_px
  - tostruct_in_px
  - freestruct_in_px
  - additionaldata_in_px
  - digest_in_px
  - checkowner_in_px
  - checknames_in_px
  - casecompare_in_px
  source_file: /src/bind9/lib/dns/rdata/in_1/px_26.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_PX_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/px_26.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_eid
  - totext_in_eid
  - fromwire_in_eid
  - towire_in_eid
  - compare_in_eid
  - fromstruct_in_eid
  - tostruct_in_eid
  - freestruct_in_eid
  - additionaldata_in_eid
  - digest_in_eid
  - checkowner_in_eid
  - checknames_in_eid
  - casecompare_in_eid
  source_file: /src/bind9/lib/dns/rdata/in_1/eid_31.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_EID_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/eid_31.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: priority
        type: uint16_t
      - name: svcdomain
        type: dns_name_t
      - name: '*svc'
        type: unsigned char
      - name: svclen
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_svcb
      pos:
        line_end: 27
        line_start: 19
        source_file: /src/bind9/lib/dns/rdata/in_1/svcb_64.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/aaaa_28.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: in6_addr
        type: struct in6_addr
      item_type: struct
      name: dns_rdata_in_aaaa
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/aaaa_28.h
    typedefs: []
    union: []
- function_names:
  - fromtext_in_a
  - totext_in_a
  - fromwire_in_a
  - towire_in_a
  - compare_in_a
  - fromstruct_in_a
  - tostruct_in_a
  - freestruct_in_a
  - additionaldata_in_a
  - digest_in_a
  - checkowner_in_a
  - checknames_in_a
  - casecompare_in_a
  source_file: /src/bind9/lib/dns/rdata/in_1/a_1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_A_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/in_1/a_1.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_dhcid
  - totext_in_dhcid
  - fromwire_in_dhcid
  - towire_in_dhcid
  - compare_in_dhcid
  - fromstruct_in_dhcid
  - tostruct_in_dhcid
  - freestruct_in_dhcid
  - additionaldata_in_dhcid
  - digest_in_dhcid
  - checkowner_in_dhcid
  - checknames_in_dhcid
  - casecompare_in_dhcid
  source_file: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RDATA_IN_1_DHCID_49_C
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RRTYPE_DHCID_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_in_aaaa
  - totext_in_aaaa
  - fromwire_in_aaaa
  - towire_in_aaaa
  - compare_in_aaaa
  - fromstruct_in_aaaa
  - tostruct_in_aaaa
  - freestruct_in_aaaa
  - additionaldata_in_aaaa
  - digest_in_aaaa
  - checkowner_in_aaaa
  - checknames_in_aaaa
  - casecompare_in_aaaa
  source_file: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_AAAA_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/in_1/wks_11.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: in_addr
        type: struct in_addr
      - name: protocol
        type: uint16_t
      - name: '*map'
        type: unsigned char
      - name: map_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_in_wks
      pos:
        line_end: 22
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/in_1/wks_11.h
    typedefs: []
    union: []
- function_names:
  - txt_valid_regex
  - fromtext_naptr
  - totext_naptr
  - fromwire_naptr
  - towire_naptr
  - compare_naptr
  - fromstruct_naptr
  - tostruct_naptr
  - freestruct_naptr
  - additionaldata_naptr
  - digest_naptr
  - checkowner_naptr
  - checknames_naptr
  - casecompare_naptr
  source_file: /src/bind9/lib/dns/rdata/generic/naptr_35.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NAPTR_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/naptr_35.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_wallet
  - totext_wallet
  - fromwire_wallet
  - towire_wallet
  - compare_wallet
  - fromstruct_wallet
  - tostruct_wallet
  - freestruct_wallet
  - additionaldata_wallet
  - digest_wallet
  - checkowner_wallet
  - checknames_wallet
  - casecompare_wallet
  - dns_rdata_wallet_first
  - dns_rdata_wallet_next
  - dns_rdata_wallet_current
  source_file: /src/bind9/lib/dns/rdata/generic/wallet_262.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_WALLET_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/wallet_262.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_mb
  - totext_mb
  - fromwire_mb
  - towire_mb
  - compare_mb
  - fromstruct_mb
  - tostruct_mb
  - freestruct_mb
  - additionaldata_mb
  - digest_mb
  - checkowner_mb
  - checknames_mb
  - casecompare_mb
  source_file: /src/bind9/lib/dns/rdata/generic/mb_7.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MB_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mb_7.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_ptr
  - totext_ptr
  - fromwire_ptr
  - towire_ptr
  - compare_ptr
  - fromstruct_ptr
  - tostruct_ptr
  - freestruct_ptr
  - additionaldata_ptr
  - digest_ptr
  - checkowner_ptr
  - checknames_ptr
  - casecompare_ptr
  source_file: /src/bind9/lib/dns/rdata/generic/ptr_12.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_PTR_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/ptr_12.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_soa
  - totext_soa
  - fromwire_soa
  - towire_soa
  - compare_soa
  - fromstruct_soa
  - tostruct_soa
  - freestruct_soa
  - additionaldata_soa
  - digest_soa
  - checkowner_soa
  - checknames_soa
  - casecompare_soa
  source_file: /src/bind9/lib/dns/rdata/generic/soa_6.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SOA_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/soa_6.c
      type_or_value: (DNS_RDATATYPEATTR_SINGLETON)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_mf
  - totext_mf
  - fromwire_mf
  - towire_mf
  - compare_mf
  - fromstruct_mf
  - tostruct_mf
  - freestruct_mf
  - additionaldata_mf
  - digest_mf
  - checkowner_mf
  - checknames_mf
  - casecompare_mf
  source_file: /src/bind9/lib/dns/rdata/generic/mf_4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MF_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mf_4.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_nid
  - totext_nid
  - fromwire_nid
  - towire_nid
  - compare_nid
  - fromstruct_nid
  - tostruct_nid
  - freestruct_nid
  - additionaldata_nid
  - digest_nid
  - checkowner_nid
  - checknames_nid
  - casecompare_nid
  source_file: /src/bind9/lib/dns/rdata/generic/nid_104.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NID_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/nid_104.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_mg
  - totext_mg
  - fromwire_mg
  - towire_mg
  - compare_mg
  - fromstruct_mg
  - tostruct_mg
  - freestruct_mg
  - additionaldata_mg
  - digest_mg
  - checkowner_mg
  - checknames_mg
  - casecompare_mg
  source_file: /src/bind9/lib/dns/rdata/generic/mg_8.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MG_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mg_8.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_ninfo
  - totext_ninfo
  - fromwire_ninfo
  - towire_ninfo
  - compare_ninfo
  - fromstruct_ninfo
  - tostruct_ninfo
  - freestruct_ninfo
  - additionaldata_ninfo
  - digest_ninfo
  - checkowner_ninfo
  - checknames_ninfo
  - casecompare_ninfo
  - dns_rdata_ninfo_first
  - dns_rdata_ninfo_next
  - dns_rdata_ninfo_current
  source_file: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NINFO_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/nxt_30.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: next
        type: dns_name_t
      - name: '*typebits'
        type: unsigned char
      - name: len
        type: uint16_t
      item_type: struct
      name: dns_rdata_nxt
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/nxt_30.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/null_10.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: length
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_null
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/null_10.h
    typedefs: []
    union: []
- function_names:
  - fromtext_dlv
  - totext_dlv
  - fromwire_dlv
  - towire_dlv
  - compare_dlv
  - fromstruct_dlv
  - tostruct_dlv
  - freestruct_dlv
  - additionaldata_dlv
  - digest_dlv
  - checkowner_dlv
  - checknames_dlv
  - casecompare_dlv
  source_file: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_DLV_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - generic_fromtext_txt
  - generic_totext_txt
  - generic_fromwire_txt
  - fromtext_txt
  - totext_txt
  - fromwire_txt
  - towire_txt
  - compare_txt
  - generic_fromstruct_txt
  - generic_tostruct_txt
  - generic_freestruct_txt
  - fromstruct_txt
  - tostruct_txt
  - freestruct_txt
  - additionaldata_txt
  - digest_txt
  - checkowner_txt
  - checknames_txt
  - casecompare_txt
  - generic_txt_first
  - generic_txt_next
  - generic_txt_current
  - dns_rdata_txt_first
  - dns_rdata_txt_next
  - dns_rdata_txt_current
  source_file: /src/bind9/lib/dns/rdata/generic/txt_16.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_TXT_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/txt_16.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_doa
  - totext_doa
  - fromwire_doa
  - towire_doa
  - compare_doa
  - fromstruct_doa
  - tostruct_doa
  - freestruct_doa
  - additionaldata_doa
  - digest_doa
  - checkowner_doa
  - checknames_doa
  - casecompare_doa
  source_file: /src/bind9/lib/dns/rdata/generic/doa_259.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_DOA_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/doa_259.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/cds_59.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/spf_99.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint8_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_spf_string
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/spf_99.h
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*txt'
        type: unsigned char
      - name: txt_len
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_spf
      pos:
        line_end: 27
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/spf_99.h
    typedefs: []
    union: []
- function_names:
  - fromtext_hinfo
  - totext_hinfo
  - fromwire_hinfo
  - towire_hinfo
  - compare_hinfo
  - fromstruct_hinfo
  - tostruct_hinfo
  - freestruct_hinfo
  - additionaldata_hinfo
  - digest_hinfo
  - checkowner_hinfo
  - checknames_hinfo
  - casecompare_hinfo
  source_file: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_HINFO_ATTRIBUTES
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/hinfo_13.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*cpu'
        type: char
      - name: '*os'
        type: char
      - name: cpu_len
        type: uint8_t
      - name: os_len
        type: uint8_t
      item_type: struct
      name: dns_rdata_hinfo
      pos:
        line_end: 22
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/hinfo_13.h
    typedefs: []
    union: []
- function_names:
  - fromtext_tkey
  - totext_tkey
  - fromwire_tkey
  - towire_tkey
  - compare_tkey
  - fromstruct_tkey
  - tostruct_tkey
  - freestruct_tkey
  - additionaldata_tkey
  - digest_tkey
  - checkowner_tkey
  - checknames_tkey
  - casecompare_tkey
  source_file: /src/bind9/lib/dns/rdata/generic/tkey_249.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_TKEY_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/tkey_249.c
      type_or_value: (DNS_RDATATYPEATTR_META)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/eui64_109.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: eui64[8]
        type: unsigned char
      item_type: struct
      name: dns_rdata_eui64
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/eui64_109.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/doa_259.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*mediatype'
        type: unsigned char
      - name: '*data'
        type: unsigned char
      - name: enterprise
        type: uint32_t
      - name: type
        type: uint32_t
      - name: data_len
        type: uint16_t
      - name: location
        type: uint8_t
      - name: mediatype_len
        type: uint8_t
      item_type: struct
      name: dns_rdata_doa
      pos:
        line_end: 25
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/doa_259.h
    typedefs: []
    union: []
- function_names:
  - fromtext_csync
  - totext_csync
  - fromwire_csync
  - towire_csync
  - compare_csync
  - fromstruct_csync
  - tostruct_csync
  - freestruct_csync
  - additionaldata_csync
  - digest_csync
  - checkowner_csync
  - checknames_csync
  - casecompare_csync
  source_file: /src/bind9/lib/dns/rdata/generic/csync_62.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_CSYNC_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/csync_62.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_sshfp
  - totext_sshfp
  - fromwire_sshfp
  - towire_sshfp
  - compare_sshfp
  - fromstruct_sshfp
  - tostruct_sshfp
  - freestruct_sshfp
  - additionaldata_sshfp
  - digest_sshfp
  - checkowner_sshfp
  - checknames_sshfp
  - casecompare_sshfp
  source_file: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SSHFP_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_dnskey
  - totext_dnskey
  - fromwire_dnskey
  - towire_dnskey
  - compare_dnskey
  - fromstruct_dnskey
  - tostruct_dnskey
  - freestruct_dnskey
  - additionaldata_dnskey
  - digest_dnskey
  - checkowner_dnskey
  - checknames_dnskey
  - casecompare_dnskey
  source_file: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_DNSKEY_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
      type_or_value: (DNS_RDATATYPEATTR_DNSSEC)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/rkey_57.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/l64_106.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: pref
        type: uint16_t
      - name: l64[8]
        type: unsigned char
      item_type: struct
      name: dns_rdata_l64
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/l64_106.h
    typedefs: []
    union: []
- function_names:
  - fromtext_gpos
  - totext_gpos
  - fromwire_gpos
  - towire_gpos
  - compare_gpos
  - fromstruct_gpos
  - tostruct_gpos
  - freestruct_gpos
  - additionaldata_gpos
  - digest_gpos
  - checkowner_gpos
  - checknames_gpos
  - casecompare_gpos
  source_file: /src/bind9/lib/dns/rdata/generic/gpos_27.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_GPOS_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/gpos_27.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/mx_15.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: pref
        type: uint16_t
      - name: mx
        type: dns_name_t
      item_type: struct
      name: dns_rdata_mx
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mx_15.h
    typedefs: []
    union: []
- function_names:
  - fromtext_l64
  - totext_l64
  - fromwire_l64
  - towire_l64
  - compare_l64
  - fromstruct_l64
  - tostruct_l64
  - freestruct_l64
  - additionaldata_l64
  - digest_l64
  - checkowner_l64
  - checknames_l64
  - casecompare_l64
  source_file: /src/bind9/lib/dns/rdata/generic/l64_106.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_L64_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/l64_106.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_rt
  - totext_rt
  - fromwire_rt
  - towire_rt
  - compare_rt
  - fromstruct_rt
  - tostruct_rt
  - freestruct_rt
  - additionaldata_rt
  - digest_rt
  - checkowner_rt
  - checknames_rt
  - casecompare_rt
  source_file: /src/bind9/lib/dns/rdata/generic/rt_21.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_RT_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/rt_21.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_minfo
  - totext_minfo
  - fromwire_minfo
  - towire_minfo
  - compare_minfo
  - fromstruct_minfo
  - tostruct_minfo
  - freestruct_minfo
  - additionaldata_minfo
  - digest_minfo
  - checkowner_minfo
  - checknames_minfo
  - casecompare_minfo
  source_file: /src/bind9/lib/dns/rdata/generic/minfo_14.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MINFO_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/minfo_14.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_lp
  - totext_lp
  - fromwire_lp
  - towire_lp
  - compare_lp
  - fromstruct_lp
  - tostruct_lp
  - freestruct_lp
  - additionaldata_lp
  - digest_lp
  - checkowner_lp
  - checknames_lp
  - casecompare_lp
  source_file: /src/bind9/lib/dns/rdata/generic/lp_107.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_LP_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/lp_107.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_afsdb
  - totext_afsdb
  - fromwire_afsdb
  - towire_afsdb
  - compare_afsdb
  - fromstruct_afsdb
  - tostruct_afsdb
  - freestruct_afsdb
  - additionaldata_afsdb
  - digest_afsdb
  - checkowner_afsdb
  - checknames_afsdb
  - casecompare_afsdb
  source_file: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_AFSDB_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/caa_257.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: flags
        type: uint8_t
      - name: '*tag'
        type: unsigned char
      - name: tag_len
        type: uint8_t
      - name: '*value'
        type: unsigned char
      - name: value_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_caa
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/caa_257.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/rrsig_46.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: covered
        type: dns_rdatatype_t
      - name: algorithm
        type: dns_secalg_t
      - name: labels
        type: uint8_t
      - name: originalttl
        type: uint32_t
      - name: timeexpire
        type: uint32_t
      - name: timesigned
        type: uint32_t
      - name: keyid
        type: uint16_t
      - name: signer
        type: dns_name_t
      - name: siglen
        type: uint16_t
      - name: '*signature'
        type: unsigned char
      item_type: struct
      name: dns_rdata_rrsig
      pos:
        line_end: 30
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/generic/rrsig_46.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/proforma.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      item_type: struct
      name: dns_rdata_
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/proforma.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/rt_21.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: preference
        type: uint16_t
      - name: host
        type: dns_name_t
      item_type: struct
      name: dns_rdata_rt
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/rt_21.h
    typedefs: []
    union: []
- function_names:
  - fromtext_sink
  - totext_sink
  - fromwire_sink
  - towire_sink
  - compare_sink
  - fromstruct_sink
  - tostruct_sink
  - freestruct_sink
  - additionaldata_sink
  - digest_sink
  - checkowner_sink
  - checknames_sink
  - casecompare_sink
  source_file: /src/bind9/lib/dns/rdata/generic/sink_40.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SINK_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/sink_40.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/naptr_35.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: order
        type: uint16_t
      - name: preference
        type: uint16_t
      - name: '*flags'
        type: char
      - name: flags_len
        type: uint8_t
      - name: '*service'
        type: char
      - name: service_len
        type: uint8_t
      - name: '*regexp'
        type: char
      - name: regexp_len
        type: uint8_t
      - name: replacement
        type: dns_name_t
      item_type: struct
      name: dns_rdata_naptr
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/naptr_35.h
    typedefs: []
    union: []
- function_names:
  - fromtext_cname
  - totext_cname
  - fromwire_cname
  - towire_cname
  - compare_cname
  - fromstruct_cname
  - tostruct_cname
  - freestruct_cname
  - additionaldata_cname
  - digest_cname
  - checkowner_cname
  - checknames_cname
  - casecompare_cname
  source_file: /src/bind9/lib/dns/rdata/generic/cname_5.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_CNAME_ATTRIBUTES
      pos:
        line_end: 18
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/cname_5.c
      type_or_value: (DNS_RDATATYPEATTR_EXCLUSIVE | DNS_RDATATYPEATTR_SINGLETON)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_md
  - totext_md
  - fromwire_md
  - towire_md
  - compare_md
  - fromstruct_md
  - tostruct_md
  - freestruct_md
  - additionaldata_md
  - digest_md
  - checkowner_md
  - checknames_md
  - casecompare_md
  source_file: /src/bind9/lib/dns/rdata/generic/md_3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MD_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/md_3.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_rkey
  - totext_rkey
  - fromwire_rkey
  - towire_rkey
  - compare_rkey
  - fromstruct_rkey
  - tostruct_rkey
  - freestruct_rkey
  - additionaldata_rkey
  - digest_rkey
  - checkowner_rkey
  - checknames_rkey
  - casecompare_rkey
  source_file: /src/bind9/lib/dns/rdata/generic/rkey_57.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_RKEY_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/rkey_57.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/tlsa_52.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: usage
        type: uint8_t
      - name: selector
        type: uint8_t
      - name: match
        type: uint8_t
      - name: length
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_tlsa
      pos:
        line_end: 26
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/tlsa_52.h
    typedefs: []
    union: []
- function_names:
  - fromtext_nsec
  - totext_nsec
  - fromwire_nsec
  - towire_nsec
  - compare_nsec
  - fromstruct_nsec
  - tostruct_nsec
  - freestruct_nsec
  - additionaldata_nsec
  - digest_nsec
  - checkowner_nsec
  - checknames_nsec
  - casecompare_nsec
  source_file: /src/bind9/lib/dns/rdata/generic/nsec_47.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NSEC_ATTRIBUTES
      pos:
        line_end: 25
        line_start: 22
        source_file: /src/bind9/lib/dns/rdata/generic/nsec_47.c
      type_or_value: "(DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH |
        \\\n\t DNS_RDATATYPEATTR_ATCNAME)"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/opt_41.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: opcode
        type: uint16_t
      - name: length
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_opt_opcode
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/opt_41.h
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*options'
        type: unsigned char
      - name: length
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_opt
      pos:
        line_end: 31
        line_start: 24
        source_file: /src/bind9/lib/dns/rdata/generic/opt_41.h
    typedefs: []
    union: []
- function_names:
  - fromtext_cdnskey
  - totext_cdnskey
  - fromwire_cdnskey
  - towire_cdnskey
  - compare_cdnskey
  - fromstruct_cdnskey
  - tostruct_cdnskey
  - freestruct_cdnskey
  - additionaldata_cdnskey
  - digest_cdnskey
  - checkowner_cdnskey
  - checknames_cdnskey
  - casecompare_cdnskey
  source_file: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_CDNSKEY_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_eui64
  - totext_eui64
  - fromwire_eui64
  - towire_eui64
  - compare_eui64
  - fromstruct_eui64
  - tostruct_eui64
  - freestruct_eui64
  - additionaldata_eui64
  - digest_eui64
  - checkowner_eui64
  - checknames_eui64
  - casecompare_eui64
  source_file: /src/bind9/lib/dns/rdata/generic/eui64_109.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_EUI64_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/eui64_109.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/nid_104.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: pref
        type: uint16_t
      - name: nid[8]
        type: unsigned char
      item_type: struct
      name: dns_rdata_nid
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/nid_104.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/mb_7.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: mb
        type: dns_name_t
      item_type: struct
      name: dns_rdata_mb
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mb_7.h
    typedefs: []
    union: []
- function_names:
  - generic_fromtext_ds
  - fromtext_ds
  - generic_totext_ds
  - totext_ds
  - generic_fromwire_ds
  - fromwire_ds
  - towire_ds
  - compare_ds
  - generic_fromstruct_ds
  - fromstruct_ds
  - generic_tostruct_ds
  - tostruct_ds
  - freestruct_ds
  - additionaldata_ds
  - digest_ds
  - checkowner_ds
  - checknames_ds
  - casecompare_ds
  source_file: /src/bind9/lib/dns/rdata/generic/ds_43.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_DS_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/ds_43.c
      type_or_value: "(DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH |
        \\\n\t DNS_RDATATYPEATTR_ATPARENT)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_mx
  - fromtext_mx
  - totext_mx
  - fromwire_mx
  - towire_mx
  - compare_mx
  - fromstruct_mx
  - tostruct_mx
  - freestruct_mx
  - additionaldata_mx
  - digest_mx
  - checkowner_mx
  - checknames_mx
  - casecompare_mx
  source_file: /src/bind9/lib/dns/rdata/generic/mx_15.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MX_ATTRIBUTES
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/dns/rdata/generic/mx_15.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/wallet_262.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - generic_fromtext_tlsa
  - generic_totext_tlsa
  - generic_fromwire_tlsa
  - fromtext_tlsa
  - totext_tlsa
  - fromwire_tlsa
  - towire_tlsa
  - compare_tlsa
  - generic_fromstruct_tlsa
  - generic_tostruct_tlsa
  - generic_freestruct_tlsa
  - fromstruct_tlsa
  - tostruct_tlsa
  - freestruct_tlsa
  - additionaldata_tlsa
  - digest_tlsa
  - checkowner_tlsa
  - checknames_tlsa
  - casecompare_tlsa
  source_file: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_TLSA_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_zonemd
  - totext_zonemd
  - fromwire_zonemd
  - towire_zonemd
  - compare_zonemd
  - fromstruct_zonemd
  - tostruct_zonemd
  - freestruct_zonemd
  - additionaldata_zonemd
  - digest_zonemd
  - checkowner_zonemd
  - checknames_zonemd
  - casecompare_zonemd
  source_file: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_ZONEMD_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_l32
  - totext_l32
  - fromwire_l32
  - towire_l32
  - compare_l32
  - fromstruct_l32
  - tostruct_l32
  - freestruct_l32
  - additionaldata_l32
  - digest_l32
  - checkowner_l32
  - checknames_l32
  - casecompare_l32
  source_file: /src/bind9/lib/dns/rdata/generic/l32_105.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_L32_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/l32_105.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/csync_62.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: serial
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: '*typebits'
        type: unsigned char
      - name: len
        type: uint16_t
      item_type: struct
      name: dns_rdata_csync
      pos:
        line_end: 26
        line_start: 19
        source_file: /src/bind9/lib/dns/rdata/generic/csync_62.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/hip_55.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*hit'
        type: unsigned char
      - name: '*key'
        type: unsigned char
      - name: '*servers'
        type: unsigned char
      - name: algorithm
        type: uint8_t
      - name: hit_len
        type: uint8_t
      - name: key_len
        type: uint16_t
      - name: servers_len
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_hip
      pos:
        line_end: 29
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/generic/hip_55.h
    typedefs: []
    union: []
- function_names:
  - fromtext_resinfo
  - totext_resinfo
  - fromwire_resinfo
  - towire_resinfo
  - compare_resinfo
  - fromstruct_resinfo
  - tostruct_resinfo
  - freestruct_resinfo
  - additionaldata_resinfo
  - digest_resinfo
  - checkowner_resinfo
  - checknames_resinfo
  - casecompare_resinfo
  source_file: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_RESINFO_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
      type_or_value: (DNS_RDATATYPEATTR_SINGLETON)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_null
  - totext_null
  - fromwire_null
  - towire_null
  - compare_null
  - fromstruct_null
  - tostruct_null
  - freestruct_null
  - additionaldata_null
  - digest_null
  - checkowner_null
  - checknames_null
  - casecompare_null
  source_file: /src/bind9/lib/dns/rdata/generic/null_10.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NULL_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/null_10.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - ARGS_FROMTEXT
  - ARGS_TOTEXT
  - ARGS_FROMWIRE
  - ARGS_TOWIRE
  - ARGS_COMPARE
  - ARGS_TOSTRUCT
  - additionaldata_
  - ARGS_DIGEST
  - ARGS_CHECKOWNER
  - ARGS_CHECKNAMES
  - casecompare_
  source_file: /src/bind9/lib/dns/rdata/generic/proforma.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RDATA_GENERIC_
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/bind9/lib/dns/rdata/generic/proforma.c
      type_or_value: '#_ #_C'
    - item_type: preproc_def
      name: RRTYPE_
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/proforma.c
      type_or_value: '#_ATTRIBUTES(0)'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/nsec3param_51.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: hash
        type: dns_hash_t
      - name: flags
        type: unsigned char
      - name: iterations
        type: dns_iterations_t
      - name: salt_length
        type: unsigned char
      - name: '*salt'
        type: unsigned char
      item_type: struct
      name: dns_rdata_nsec3param
      pos:
        line_end: 28
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3param_51.h
    typedefs: []
    union: []
- function_names:
  - fromtext_spf
  - totext_spf
  - fromwire_spf
  - towire_spf
  - compare_spf
  - fromstruct_spf
  - tostruct_spf
  - freestruct_spf
  - additionaldata_spf
  - digest_spf
  - checkowner_spf
  - checknames_spf
  - casecompare_spf
  source_file: /src/bind9/lib/dns/rdata/generic/spf_99.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SPF_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/spf_99.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: length
        type: uint16_t
      - name: '*keyring'
        type: unsigned char
      item_type: struct
      name: dns_rdata_openpgpkey
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.h
    typedefs: []
    union: []
- function_names:
  - fromtext_nsec3
  - totext_nsec3
  - fromwire_nsec3
  - towire_nsec3
  - compare_nsec3
  - fromstruct_nsec3
  - tostruct_nsec3
  - freestruct_nsec3
  - additionaldata_nsec3
  - digest_nsec3
  - checkowner_nsec3
  - checknames_nsec3
  - casecompare_nsec3
  source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NSEC3_ATTRIBUTES
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
      type_or_value: DNS_RDATATYPEATTR_DNSSEC
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_hip
  - totext_hip
  - fromwire_hip
  - towire_hip
  - compare_hip
  - fromstruct_hip
  - tostruct_hip
  - freestruct_hip
  - additionaldata_hip
  - digest_hip
  - checkowner_hip
  - checknames_hip
  - dns_rdata_hip_first
  - dns_rdata_hip_next
  - dns_rdata_hip_current
  - casecompare_hip
  source_file: /src/bind9/lib/dns/rdata/generic/hip_55.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_HIP_ATTRIBUTES
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/generic/hip_55.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/afsdb_18.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: subtype
        type: uint16_t
      - name: server
        type: dns_name_t
      item_type: struct
      name: dns_rdata_afsdb
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/afsdb_18.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/dnskey_48.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_ipseckey
  - totext_ipseckey
  - fromwire_ipseckey
  - towire_ipseckey
  - compare_ipseckey
  - fromstruct_ipseckey
  - tostruct_ipseckey
  - freestruct_ipseckey
  - additionaldata_ipseckey
  - digest_ipseckey
  - checkowner_ipseckey
  - checknames_ipseckey
  - casecompare_ipseckey
  source_file: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_IPSECKEY_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/minfo_14.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: rmailbox
        type: dns_name_t
      - name: emailbox
        type: dns_name_t
      item_type: struct
      name: dns_rdata_minfo
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/minfo_14.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/mg_8.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: mg
        type: dns_name_t
      item_type: struct
      name: dns_rdata_mg
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mg_8.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/keydata_65533.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: refresh
        type: uint32_t
      - name: addhd
        type: uint32_t
      - name: removehd
        type: uint32_t
      - name: flags
        type: uint16_t
      - name: protocol
        type: dns_secproto_t
      - name: algorithm
        type: dns_secalg_t
      - name: datalen
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_keydata
      pos:
        line_end: 26
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/keydata_65533.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/ds_43.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: key_tag
        type: uint16_t
      - name: algorithm
        type: dns_secalg_t
      - name: digest_type
        type: dns_dsdigest_t
      - name: length
        type: uint16_t
      - name: '*digest'
        type: unsigned char
      item_type: struct
      name: dns_rdata_ds
      pos:
        line_end: 25
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/generic/ds_43.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/sink_40.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: meaning
        type: uint8_t
      - name: coding
        type: uint8_t
      - name: subcoding
        type: uint8_t
      - name: datalen
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_sink_t
      pos:
        line_end: 23
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/sink_40.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/eui48_108.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: eui48[6]
        type: unsigned char
      item_type: struct
      name: dns_rdata_eui48
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/eui48_108.h
    typedefs: []
    union: []
- function_names:
  - fromtext_dname
  - totext_dname
  - fromwire_dname
  - towire_dname
  - compare_dname
  - fromstruct_dname
  - tostruct_dname
  - freestruct_dname
  - additionaldata_dname
  - digest_dname
  - checkowner_dname
  - checknames_dname
  - casecompare_dname
  source_file: /src/bind9/lib/dns/rdata/generic/dname_39.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_DNAME_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/dname_39.c
      type_or_value: (DNS_RDATATYPEATTR_SINGLETON)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/ninfo_56.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/cdnskey_60.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_openpgpkey
  - totext_openpgpkey
  - fromwire_openpgpkey
  - towire_openpgpkey
  - compare_openpgpkey
  - fromstruct_openpgpkey
  - tostruct_openpgpkey
  - freestruct_openpgpkey
  - additionaldata_openpgpkey
  - digest_openpgpkey
  - checkowner_openpgpkey
  - checknames_openpgpkey
  - casecompare_openpgpkey
  source_file: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_OPENPGPKEY_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_ta
  - totext_ta
  - fromwire_ta
  - towire_ta
  - compare_ta
  - fromstruct_ta
  - tostruct_ta
  - freestruct_ta
  - additionaldata_ta
  - digest_ta
  - checkowner_ta
  - checknames_ta
  - casecompare_ta
  source_file: /src/bind9/lib/dns/rdata/generic/ta_32768.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_TA_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/ta_32768.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_isdn
  - totext_isdn
  - fromwire_isdn
  - towire_isdn
  - compare_isdn
  - fromstruct_isdn
  - tostruct_isdn
  - freestruct_isdn
  - additionaldata_isdn
  - digest_isdn
  - checkowner_isdn
  - checknames_isdn
  - casecompare_isdn
  source_file: /src/bind9/lib/dns/rdata/generic/isdn_20.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_ISDN_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/isdn_20.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/talink_58.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: prev
        type: dns_name_t
      - name: next
        type: dns_name_t
      item_type: struct
      name: dns_rdata_talink
      pos:
        line_end: 24
        line_start: 19
        source_file: /src/bind9/lib/dns/rdata/generic/talink_58.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/avc_258.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*data'
        type: unsigned char
      - name: length
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_avc
      pos:
        line_end: 24
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/generic/avc_258.h
    typedefs:
    - item_type: typedef
      name: dns_rdata_avc_string_t
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/avc_258.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/zonemd_63.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_ZONEMD_DIGEST_SHA384
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/zonemd_63.h
      type_or_value: (1)
    - item_type: preproc_def
      name: DNS_ZONEMD_DIGEST_SHA512
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/bind9/lib/dns/rdata/generic/zonemd_63.h
      type_or_value: (2)
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: serial
        type: uint32_t
      - name: scheme
        type: uint8_t
      - name: digest_type
        type: uint8_t
      - name: '*digest'
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: dns_rdata_zonemd
      pos:
        line_end: 30
        line_start: 22
        source_file: /src/bind9/lib/dns/rdata/generic/zonemd_63.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/tkey_249.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: algorithm
        type: dns_name_t
      - name: inception
        type: uint32_t
      - name: expire
        type: uint32_t
      - name: mode
        type: uint16_t
      - name: error
        type: uint16_t
      - name: keylen
        type: uint16_t
      - name: '*key'
        type: unsigned char
      - name: otherlen
        type: uint16_t
      - name: '*other'
        type: unsigned char
      item_type: struct
      name: dns_rdata_tkey
      pos:
        line_end: 30
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/tkey_249.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/ipseckey_45.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: precedence
        type: uint8_t
      - name: gateway_type
        type: uint8_t
      - name: algorithm
        type: uint8_t
      - name: in_addr
        type: struct in_addr
      - name: in6_addr
        type: struct in6_addr
      - name: gateway
        type: dns_name_t
      - name: '*key'
        type: unsigned char
      - name: keylength
        type: uint16_t
      item_type: struct
      name: dns_rdata_ipseckey
      pos:
        line_end: 26
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/ipseckey_45.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/lp_107.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: pref
        type: uint16_t
      - name: lp
        type: dns_name_t
      item_type: struct
      name: dns_rdata_lp
      pos:
        line_end: 21
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/lp_107.h
    typedefs: []
    union: []
- function_names:
  - fromtext_amtrelay
  - totext_amtrelay
  - fromwire_amtrelay
  - towire_amtrelay
  - compare_amtrelay
  - fromstruct_amtrelay
  - tostruct_amtrelay
  - freestruct_amtrelay
  - additionaldata_amtrelay
  - digest_amtrelay
  - checkowner_amtrelay
  - checknames_amtrelay
  - casecompare_amtrelay
  source_file: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_AMTRELAY_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/dname_39.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: dname
        type: dns_name_t
      item_type: struct
      name: dns_rdata_dname
      pos:
        line_end: 22
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/dname_39.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/txt_16.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint8_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_txt_string
      pos:
        line_end: 19
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/txt_16.h
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*txt'
        type: unsigned char
      - name: txt_len
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_txt
      pos:
        line_end: 28
        line_start: 21
        source_file: /src/bind9/lib/dns/rdata/generic/txt_16.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/amtrelay_260.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: precedence
        type: uint8_t
      - name: discovery
        type: bool
      - name: gateway_type
        type: uint8_t
      - name: in_addr
        type: struct in_addr
      - name: in6_addr
        type: struct in6_addr
      - name: gateway
        type: dns_name_t
      - name: '*data'
        type: unsigned char
      - name: length
        type: uint16_t
      item_type: struct
      name: dns_rdata_amtrelay
      pos:
        line_end: 26
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/amtrelay_260.h
    typedefs: []
    union: []
- function_names:
  - fromtext_talink
  - totext_talink
  - fromwire_talink
  - towire_talink
  - compare_talink
  - fromstruct_talink
  - tostruct_talink
  - freestruct_talink
  - additionaldata_talink
  - digest_talink
  - checkowner_talink
  - checknames_talink
  - casecompare_talink
  source_file: /src/bind9/lib/dns/rdata/generic/talink_58.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_TALINK_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/talink_58.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/cert_37.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: type
        type: uint16_t
      - name: key_tag
        type: uint16_t
      - name: algorithm
        type: uint8_t
      - name: length
        type: uint16_t
      - name: '*certificate'
        type: unsigned char
      item_type: struct
      name: dns_rdata_cert
      pos:
        line_end: 24
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/cert_37.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/sshfp_44.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: algorithm
        type: uint8_t
      - name: digest_type
        type: uint8_t
      - name: length
        type: uint16_t
      - name: '*digest'
        type: unsigned char
      item_type: struct
      name: dns_rdata_sshfp
      pos:
        line_end: 25
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/sshfp_44.h
    typedefs: []
    union: []
- function_names:
  - fromtext_rrsig
  - totext_rrsig
  - fromwire_rrsig
  - towire_rrsig
  - compare_rrsig
  - fromstruct_rrsig
  - tostruct_rrsig
  - freestruct_rrsig
  - additionaldata_rrsig
  - digest_rrsig
  - covers_rrsig
  - checkowner_rrsig
  - checknames_rrsig
  - casecompare_rrsig
  source_file: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_RRSIG_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
      type_or_value: "(DNS_RDATATYPEATTR_DNSSEC | DNS_RDATATYPEATTR_ZONECUTAUTH |
        \\\n\t DNS_RDATATYPEATTR_ATCNAME)"
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_cert
  - totext_cert
  - fromwire_cert
  - towire_cert
  - compare_cert
  - fromstruct_cert
  - tostruct_cert
  - freestruct_cert
  - additionaldata_cert
  - digest_cert
  - checkowner_cert
  - checknames_cert
  - casecompare_cert
  source_file: /src/bind9/lib/dns/rdata/generic/cert_37.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_CERT_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/cert_37.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/x25_19.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*x25'
        type: unsigned char
      - name: x25_len
        type: uint8_t
      item_type: struct
      name: dns_rdata_x25
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/x25_19.h
    typedefs: []
    union: []
- function_names:
  - fromtext_smimea
  - totext_smimea
  - fromwire_smimea
  - towire_smimea
  - compare_smimea
  - fromstruct_smimea
  - tostruct_smimea
  - freestruct_smimea
  - additionaldata_smimea
  - digest_smimea
  - checkowner_smimea
  - checknames_smimea
  - casecompare_smimea
  source_file: /src/bind9/lib/dns/rdata/generic/smimea_53.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SMIMEA_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/smimea_53.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_cds
  - totext_cds
  - fromwire_cds
  - towire_cds
  - compare_cds
  - fromstruct_cds
  - tostruct_cds
  - freestruct_cds
  - additionaldata_cds
  - digest_cds
  - checkowner_cds
  - checknames_cds
  - casecompare_cds
  source_file: /src/bind9/lib/dns/rdata/generic/cds_59.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_CDS_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/cds_59.c
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/ptr_12.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: ptr
        type: dns_name_t
      item_type: struct
      name: dns_rdata_ptr
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/ptr_12.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/loc_29.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: version
        type: uint8_t
      - name: size
        type: uint8_t
      - name: horizontal
        type: uint8_t
      - name: vertical
        type: uint8_t
      - name: latitude
        type: uint32_t
      - name: longitude
        type: uint32_t
      - name: altitude
        type: uint32_t
      item_type: struct
      name: dns_rdata_loc_0
      pos:
        line_end: 26
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/loc_29.h
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: v
        type: "union {\n\t\tdns_rdata_loc_0_t v0;\n\t}"
      item_type: struct
      name: dns_rdata_loc
      pos:
        line_end: 33
        line_start: 28
        source_file: /src/bind9/lib/dns/rdata/generic/loc_29.h
    typedefs: []
    union: []
- function_names:
  - loc_getdecimal
  - loc_getprecision
  - get_degrees
  - check_coordinate
  - get_minutes
  - get_seconds
  - get_direction
  - loc_getcoordinate
  - loc_getlatitude
  - loc_getlongitude
  - loc_getaltitude
  - loc_getoptionalprecision
  - loc_getsize
  - loc_gethorizontalprecision
  - loc_getverticalprecision
  - fromtext_loc
  - totext_loc
  - fromwire_loc
  - towire_loc
  - compare_loc
  - fromstruct_loc
  - tostruct_loc
  - freestruct_loc
  - additionaldata_loc
  - digest_loc
  - checkowner_loc
  - checknames_loc
  - casecompare_loc
  source_file: /src/bind9/lib/dns/rdata/generic/loc_29.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_LOC_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/loc_29.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_nxt
  - totext_nxt
  - fromwire_nxt
  - towire_nxt
  - compare_nxt
  - fromstruct_nxt
  - tostruct_nxt
  - freestruct_nxt
  - additionaldata_nxt
  - digest_nxt
  - checkowner_nxt
  - checknames_nxt
  - casecompare_nxt
  source_file: /src/bind9/lib/dns/rdata/generic/nxt_30.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NXT_ATTRIBUTES
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/dns/rdata/generic/nxt_30.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/sig_24.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: covered
        type: dns_rdatatype_t
      - name: algorithm
        type: dns_secalg_t
      - name: labels
        type: uint8_t
      - name: originalttl
        type: uint32_t
      - name: timeexpire
        type: uint32_t
      - name: timesigned
        type: uint32_t
      - name: keyid
        type: uint16_t
      - name: signer
        type: dns_name_t
      - name: siglen
        type: uint16_t
      - name: '*signature'
        type: unsigned char
      item_type: struct
      name: dns_rdata_sig_t
      pos:
        line_end: 31
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/sig_24.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/resinfo_261.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: length
        type: uint8_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_resinfo_string
      pos:
        line_end: 18
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/resinfo_261.h
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*txt'
        type: unsigned char
      - name: txt_len
        type: uint16_t
      - name: offset
        type: uint16_t
      item_type: struct
      name: dns_rdata_resinfo
      pos:
        line_end: 27
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/resinfo_261.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NSEC3FLAG_OPTOUT
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
      type_or_value: 0x01U
    - item_type: preproc_def
      name: DNS_NSEC3FLAG_CREATE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: DNS_NSEC3FLAG_REMOVE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
      type_or_value: 0x40U
    - item_type: preproc_def
      name: DNS_NSEC3FLAG_INITIAL
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: DNS_NSEC3FLAG_NONSEC
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
      type_or_value: 0x10U
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: hash
        type: dns_hash_t
      - name: flags
        type: unsigned char
      - name: iterations
        type: dns_iterations_t
      - name: salt_length
        type: unsigned char
      - name: next_length
        type: unsigned char
      - name: len
        type: uint16_t
      - name: '*salt'
        type: unsigned char
      - name: '*next'
        type: unsigned char
      - name: '*typebits'
        type: unsigned char
      item_type: struct
      name: dns_rdata_nsec3
      pos:
        line_end: 32
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3_50.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/rp_17.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: mail
        type: dns_name_t
      - name: text
        type: dns_name_t
      item_type: struct
      name: dns_rdata_rp
      pos:
        line_end: 23
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/rp_17.h
    typedefs: []
    union: []
- function_names:
  - fromtext_uri
  - totext_uri
  - fromwire_uri
  - towire_uri
  - compare_uri
  - fromstruct_uri
  - tostruct_uri
  - freestruct_uri
  - additionaldata_uri
  - digest_uri
  - checkowner_uri
  - checknames_uri
  - casecompare_uri
  source_file: /src/bind9/lib/dns/rdata/generic/uri_256.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GENERIC_URI_256_C
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/bind9/lib/dns/rdata/generic/uri_256.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RRTYPE_URI_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/uri_256.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/gpos_27.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*longitude'
        type: char
      - name: '*latitude'
        type: char
      - name: '*altitude'
        type: char
      - name: long_len
        type: uint8_t
      - name: lat_len
        type: uint8_t
      - name: alt_len
        type: uint8_t
      item_type: struct
      name: dns_rdata_gpos
      pos:
        line_end: 27
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/gpos_27.h
    typedefs: []
    union: []
- function_names:
  - fromtext_avc
  - totext_avc
  - fromwire_avc
  - towire_avc
  - compare_avc
  - fromstruct_avc
  - tostruct_avc
  - freestruct_avc
  - additionaldata_avc
  - digest_avc
  - checkowner_avc
  - checknames_avc
  - casecompare_avc
  source_file: /src/bind9/lib/dns/rdata/generic/avc_258.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_AVC_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/avc_258.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_nsec3param
  - totext_nsec3param
  - fromwire_nsec3param
  - towire_nsec3param
  - compare_nsec3param
  - fromstruct_nsec3param
  - tostruct_nsec3param
  - freestruct_nsec3param
  - additionaldata_nsec3param
  - digest_nsec3param
  - checkowner_nsec3param
  - checknames_nsec3param
  - casecompare_nsec3param
  source_file: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NSEC3PARAM_ATTRIBUTES
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
      type_or_value: (DNS_RDATATYPEATTR_DNSSEC)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/dlv_32769.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_x25
  - totext_x25
  - fromwire_x25
  - towire_x25
  - compare_x25
  - fromstruct_x25
  - tostruct_x25
  - freestruct_x25
  - additionaldata_x25
  - digest_x25
  - checkowner_x25
  - checknames_x25
  - casecompare_x25
  source_file: /src/bind9/lib/dns/rdata/generic/x25_19.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_X25_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/x25_19.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_keydata
  - totext_keydata
  - fromwire_keydata
  - towire_keydata
  - compare_keydata
  - fromstruct_keydata
  - tostruct_keydata
  - freestruct_keydata
  - additionaldata_keydata
  - digest_keydata
  - checkowner_keydata
  - checknames_keydata
  - casecompare_keydata
  source_file: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GENERIC_KEYDATA_65533_C
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RRTYPE_KEYDATA_ATTRIBUTES
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/isdn_20.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*isdn'
        type: char
      - name: '*subaddress'
        type: char
      - name: isdn_len
        type: uint8_t
      - name: subaddress_len
        type: uint8_t
      item_type: struct
      name: dns_rdata_isdn
      pos:
        line_end: 25
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/isdn_20.h
    typedefs: []
    union: []
- function_names:
  - fromtext_eui48
  - totext_eui48
  - fromwire_eui48
  - towire_eui48
  - compare_eui48
  - fromstruct_eui48
  - tostruct_eui48
  - freestruct_eui48
  - additionaldata_eui48
  - digest_eui48
  - checkowner_eui48
  - checknames_eui48
  - casecompare_eui48
  source_file: /src/bind9/lib/dns/rdata/generic/eui48_108.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_EUI48_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/eui48_108.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_rp
  - totext_rp
  - fromwire_rp
  - towire_rp
  - compare_rp
  - fromstruct_rp
  - tostruct_rp
  - freestruct_rp
  - additionaldata_rp
  - digest_rp
  - checkowner_rp
  - checknames_rp
  - casecompare_rp
  source_file: /src/bind9/lib/dns/rdata/generic/rp_17.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_RP_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/rp_17.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_opt
  - totext_opt
  - fromwire_opt
  - towire_opt
  - compare_opt
  - fromstruct_opt
  - tostruct_opt
  - freestruct_opt
  - additionaldata_opt
  - digest_opt
  - checkowner_opt
  - checknames_opt
  - casecompare_opt
  - dns_rdata_opt_first
  - dns_rdata_opt_next
  - dns_rdata_opt_current
  source_file: /src/bind9/lib/dns/rdata/generic/opt_41.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_OPT_ATTRIBUTES
      pos:
        line_end: 21
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/opt_41.c
      type_or_value: "(DNS_RDATATYPEATTR_SINGLETON | DNS_RDATATYPEATTR_META | \\\n\t
        DNS_RDATATYPEATTR_NOTQUESTION)"
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/ns_2.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: name
        type: dns_name_t
      item_type: struct
      name: dns_rdata_ns
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/ns_2.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/cname_5.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: cname
        type: dns_name_t
      item_type: struct
      name: dns_rdata_cname
      pos:
        line_end: 19
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/cname_5.h
    typedefs: []
    union: []
- function_names:
  - fromtext_mr
  - totext_mr
  - fromwire_mr
  - towire_mr
  - compare_mr
  - fromstruct_mr
  - tostruct_mr
  - freestruct_mr
  - additionaldata_mr
  - digest_mr
  - checkowner_mr
  - checknames_mr
  - casecompare_mr
  source_file: /src/bind9/lib/dns/rdata/generic/mr_9.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_MR_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mr_9.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/smimea_53.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/l32_105.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: pref
        type: uint16_t
      - name: l32
        type: struct in_addr
      item_type: struct
      name: dns_rdata_l32
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/l32_105.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/uri_256.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: priority
        type: uint16_t
      - name: weight
        type: uint16_t
      - name: '*target'
        type: unsigned char
      - name: tgt_len
        type: uint16_t
      item_type: struct
      name: dns_rdata_uri
      pos:
        line_end: 22
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/uri_256.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/nsec_47.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: next
        type: dns_name_t
      - name: '*typebits'
        type: unsigned char
      - name: len
        type: uint16_t
      item_type: struct
      name: dns_rdata_nsec
      pos:
        line_end: 24
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/nsec_47.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/soa_6.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: origin
        type: dns_name_t
      - name: contact
        type: dns_name_t
      - name: serial
        type: uint32_t
      - name: refresh
        type: uint32_t
      - name: retry
        type: uint32_t
      - name: expire
        type: uint32_t
      - name: minimum
        type: uint32_t
      item_type: struct
      name: dns_rdata_soa
      pos:
        line_end: 26
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/soa_6.h
    typedefs: []
    union: []
- function_names:
  - fromtext_ns
  - totext_ns
  - fromwire_ns
  - towire_ns
  - compare_ns
  - fromstruct_ns
  - tostruct_ns
  - freestruct_ns
  - additionaldata_ns
  - digest_ns
  - checkowner_ns
  - checknames_ns
  - casecompare_ns
  source_file: /src/bind9/lib/dns/rdata/generic/ns_2.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_NS_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/ns_2.c
      type_or_value: (DNS_RDATATYPEATTR_ZONECUTAUTH)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/md_3.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: md
        type: dns_name_t
      item_type: struct
      name: dns_rdata_md
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/md_3.h
    typedefs: []
    union: []
- function_names:
  - generic_key_nokey
  - generic_fromtext_key
  - generic_totext_key
  - generic_fromwire_key
  - fromtext_key
  - totext_key
  - fromwire_key
  - towire_key
  - compare_key
  - generic_fromstruct_key
  - generic_tostruct_key
  - generic_freestruct_key
  - fromstruct_key
  - tostruct_key
  - freestruct_key
  - additionaldata_key
  - digest_key
  - checkowner_key
  - checknames_key
  - casecompare_key
  source_file: /src/bind9/lib/dns/rdata/generic/key_25.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_KEY_ATTRIBUTES
      pos:
        line_end: 22
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/key_25.c
      type_or_value: (DNS_RDATATYPEATTR_ATCNAME | DNS_RDATATYPEATTR_ZONECUTAUTH)
    structs: []
    typedefs: []
    union: []
- function_names:
  - fromtext_caa
  - totext_caa
  - fromwire_caa
  - towire_caa
  - compare_caa
  - fromstruct_caa
  - tostruct_caa
  - freestruct_caa
  - additionaldata_caa
  - digest_caa
  - checkowner_caa
  - checknames_caa
  - casecompare_caa
  source_file: /src/bind9/lib/dns/rdata/generic/caa_257.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GENERIC_CAA_257_C
      pos:
        line_end: 15
        line_start: 14
        source_file: /src/bind9/lib/dns/rdata/generic/caa_257.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RRTYPE_CAA_ATTRIBUTES
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/caa_257.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/mf_4.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: mf
        type: dns_name_t
      item_type: struct
      name: dns_rdata_mf
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mf_4.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/ta_32768.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/mr_9.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: mr
        type: dns_name_t
      item_type: struct
      name: dns_rdata_mr
      pos:
        line_end: 20
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/mr_9.h
    typedefs: []
    union: []
- function_names:
  - fromtext_sig
  - totext_sig
  - fromwire_sig
  - towire_sig
  - compare_sig
  - fromstruct_sig
  - tostruct_sig
  - freestruct_sig
  - additionaldata_sig
  - digest_sig
  - covers_sig
  - checkowner_sig
  - checknames_sig
  - casecompare_sig
  source_file: /src/bind9/lib/dns/rdata/generic/sig_24.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_SIG_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/sig_24.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/key_25.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: flags
        type: uint16_t
      - name: protocol
        type: dns_secproto_t
      - name: algorithm
        type: dns_secalg_t
      - name: datalen
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_key
      pos:
        line_end: 26
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/key_25.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/result.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_RRITERATOR
  source_file: /src/bind9/lib/dns/include/dns/rriterator.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRITERATOR_MAGIC
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/rriterator.h
      type_or_value: ISC_MAGIC('R', 'R', 'I', 't')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: result
        type: isc_result_t
      - name: '*db'
        type: dns_db_t
      - name: '*dbit'
        type: dns_dbiterator_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: now
        type: isc_stdtime_t
      - name: '*node'
        type: dns_dbnode_t
      - name: fixedname
        type: dns_fixedname_t
      - name: '*rdatasetit'
        type: dns_rdatasetiter_t
      - name: rdataset
        type: dns_rdataset_t
      - name: rdata
        type: dns_rdata_t
      item_type: struct
      name: dns_rriterator
      pos:
        line_end: 63
        line_start: 51
        source_file: /src/bind9/lib/dns/include/dns/rriterator.h
    typedefs: []
    union: []
- function_names:
  - DNS_KEYSTORE_VALID
  - dns_keystore_attach
  - dns_keystore_detach
  - dns_keystore_ref
  - dns_keystore_unref
  source_file: /src/bind9/lib/dns/include/dns/keystore.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_KEYSTORE_MAGIC
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/keystore.h
      type_or_value: ISC_MAGIC('K', 'E', 'Y', 'S')
    - item_type: preproc_def
      name: DNS_KEYSTORE_KEYDIRECTORY
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/keystore.h
      type_or_value: '"key-directory"'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*name'
        type: char
      - name: lock
        type: isc_mutex_t
      - name: references
        type: isc_refcount_t
      - name: '*directory'
        type: char
      - name: '*pkcs11uri'
        type: char
      item_type: struct
      name: dns_keystore
      pos:
        line_end: 54
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/keystore.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ede.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_EDE_OTHER
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "0\t"
    - item_type: preproc_def
      name: DNS_EDE_DNSKEYALG
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "1\t"
    - item_type: preproc_def
      name: DNS_EDE_DSDIGESTTYPE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "2\t"
    - item_type: preproc_def
      name: DNS_EDE_STALEANSWER
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "3\t"
    - item_type: preproc_def
      name: DNS_EDE_FORGEDANSWER
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "4\t"
    - item_type: preproc_def
      name: DNS_EDE_DNSSECINDETERMINATE
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "5\t"
    - item_type: preproc_def
      name: DNS_EDE_DNSSECBOGUS
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "6\t"
    - item_type: preproc_def
      name: DNS_EDE_SIGNATUREEXPIRED
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "7\t"
    - item_type: preproc_def
      name: DNS_EDE_SIGNATURENOTYETVALID
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "8\t"
    - item_type: preproc_def
      name: DNS_EDE_DNSKEYMISSING
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: "9\t"
    - item_type: preproc_def
      name: DNS_EDE_RRSIGSMISSING
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: DNS_EDE_NOZONEKEYBITSET
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: DNS_EDE_NSECMISSING
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '12 '
    - item_type: preproc_def
      name: DNS_EDE_CACHEDERROR
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '13 '
    - item_type: preproc_def
      name: DNS_EDE_NOTREADY
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: DNS_EDE_BLOCKED
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '15 '
    - item_type: preproc_def
      name: DNS_EDE_CENSORED
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '16 '
    - item_type: preproc_def
      name: DNS_EDE_FILTERED
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '17 '
    - item_type: preproc_def
      name: DNS_EDE_PROHIBITED
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '18 '
    - item_type: preproc_def
      name: DNS_EDE_STALENXANSWER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '19 '
    - item_type: preproc_def
      name: DNS_EDE_NOTAUTH
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '20 '
    - item_type: preproc_def
      name: DNS_EDE_NOTSUPPORTED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '21 '
    - item_type: preproc_def
      name: DNS_EDE_NOREACHABLEAUTH
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '22 '
    - item_type: preproc_def
      name: DNS_EDE_NETWORKERROR
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '23 '
    - item_type: preproc_def
      name: DNS_EDE_INVALIDDATA
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '24 '
    - item_type: preproc_def
      name: DNS_EDE_MAX_CODE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: DNS_EDE_INVALIDDATA
    - item_type: preproc_def
      name: DNS_EDE_EXTRATEXT_LEN
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_EDE_MAX_ERRORS
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '3'
    structs:
    - fields:
      - name: magic
        type: int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*ede[DNS_EDE_MAX_ERRORS]'
        type: dns_ednsopt_t
      - name: edeused
        type: uint32_t
      - name: nextede
        type: size_t
      item_type: struct
      name: dns_edectx
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/ede.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/badcache.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/master.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_MASTER_AGETTL
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000001 '
    - item_type: preproc_def
      name: DNS_MASTER_MANYERRORS
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: "0x00000002\t\t\t"
    - item_type: preproc_def
      name: DNS_MASTER_NOINCLUDE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000004 '
    - item_type: preproc_def
      name: DNS_MASTER_ZONE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000008 '
    - item_type: preproc_def
      name: DNS_MASTER_HINT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000010 '
    - item_type: preproc_def
      name: DNS_MASTER_SECONDARY
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000020 '
    - item_type: preproc_def
      name: DNS_MASTER_CHECKNS
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000040 '
    - item_type: preproc_def
      name: DNS_MASTER_FATALNS
      pos:
        line_end: 47
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000080 '
    - item_type: preproc_def
      name: DNS_MASTER_CHECKNAMES
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000100'
    - item_type: preproc_def
      name: DNS_MASTER_CHECKNAMESFAIL
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000200'
    - item_type: preproc_def
      name: DNS_MASTER_CHECKWILDCARD
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000400 '
    - item_type: preproc_def
      name: DNS_MASTER_CHECKMX
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: DNS_MASTER_CHECKMXFAIL
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: DNS_MASTER_RESIGN
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: DNS_MASTER_KEY
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00004000 '
    - item_type: preproc_def
      name: DNS_MASTER_NOTTL
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00008000 '
    - item_type: preproc_def
      name: DNS_MASTER_CHECKTTL
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00010000 '
    - item_type: preproc_def
      name: DNS_MASTER_CHECKSVCB
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x00020000 '
    - item_type: preproc_def
      name: DNS_RAWFORMAT_VERSION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_MASTERRAW_COMPAT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_MASTERRAW_SOURCESERIALSET
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_MASTERRAW_LASTXFRINSET
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type_or_value: '0x04'
    structs:
    - fields:
      - name: format
        type: uint32_t
      - name: version
        type: uint32_t
      - name: dumptime
        type: uint32_t
      - name: flags
        type: uint32_t
      - name: sourceserial
        type: uint32_t
      - name: lastxfrin
        type: uint32_t
      item_type: struct
      name: dns_masterrawheader
      pos:
        line_end: 89
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/master.h
    - fields:
      - name: totallen
        type: uint32_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: type
        type: dns_rdatatype_t
      - name: covers
        type: dns_rdatatype_t
      - name: ttl
        type: dns_ttl_t
      - name: nrdata
        type: uint32_t
      item_type: struct
      name: dns_masterrawrdataset_t
      pos:
        line_end: 102
        line_start: 92
        source_file: /src/bind9/lib/dns/include/dns/master.h
    typedefs:
    - item_type: typedef
      name: (*dns_masterincludecb_t)(const char *file, void *arg)
      pos:
        line_end: 108
        line_start: 108
        source_file: /src/bind9/lib/dns/include/dns/master.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/zt.h
  types:
    enum:
    - enumerators:
      - name: DNS_ZTFIND_EXACT
        value: 1 << 0
      - name: DNS_ZTFIND_NOEXACT
        value: 1 << 1
      - name: DNS_ZTFIND_MIRROR
        value: 1 << 2
      item_type: enum
      name: dns_ztfind
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/bind9/lib/dns/include/dns/zt.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dns_ztfind_t
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/bind9/lib/dns/include/dns/zt.h
    - item_type: typedef
      name: dns_zt_callback_t(void *arg)
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/zt.h
    union: []
- function_names:
  - DNS_MESSAGE_VALID
  - MSG_SECTION_FOREACH
  - dns_message_ref
  - dns_message_unref
  - dns_message_attach
  - dns_message_detach
  source_file: /src/bind9/lib/dns/include/dns/message.h
  types:
    enum:
    - enumerators:
      - name: DNS_MESSAGE_INTENTUNKNOWN
        value: '0'
      - name: DNS_MESSAGE_INTENTPARSE
        value: '1'
      - name: DNS_MESSAGE_INTENTRENDER
        value: '2'
      item_type: enum
      name: dns_message_intent
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/bind9/lib/dns/include/dns/message.h
    preproc_defs:
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_QR
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x8000U
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_AA
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x0400U
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_TC
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x0200U
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_RD
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x0100U
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_RA
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x0080U
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_AD
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x0020U
    - item_type: preproc_def
      name: DNS_MESSAGEFLAG_CD
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 0x0010U
    - item_type: preproc_def
      name: DNS_MESSAGEEXTFLAG_DO
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x8000U '
    - item_type: preproc_def
      name: DNS_MESSAGEEXTFLAG_CO
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x4000U '
    - item_type: preproc_def
      name: DNS_OPT_LLQ
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '1  '
    - item_type: preproc_def
      name: DNS_OPT_UL
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '2  '
    - item_type: preproc_def
      name: DNS_OPT_NSID
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '3  '
    - item_type: preproc_def
      name: DNS_OPT_DAU
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '5  '
    - item_type: preproc_def
      name: DNS_OPT_DHU
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '6  '
    - item_type: preproc_def
      name: DNS_OPT_N3U
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '7  '
    - item_type: preproc_def
      name: DNS_OPT_CLIENT_SUBNET
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '8  '
    - item_type: preproc_def
      name: DNS_OPT_EXPIRE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '9  '
    - item_type: preproc_def
      name: DNS_OPT_COOKIE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '10 '
    - item_type: preproc_def
      name: DNS_OPT_TCP_KEEPALIVE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '11 '
    - item_type: preproc_def
      name: DNS_OPT_PAD
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '12 '
    - item_type: preproc_def
      name: DNS_OPT_CHAIN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '13 '
    - item_type: preproc_def
      name: DNS_OPT_KEY_TAG
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '14 '
    - item_type: preproc_def
      name: DNS_OPT_EDE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '15 '
    - item_type: preproc_def
      name: DNS_OPT_CLIENT_TAG
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '16 '
    - item_type: preproc_def
      name: DNS_OPT_SERVER_TAG
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '17 '
    - item_type: preproc_def
      name: DNS_OPT_REPORT_CHANNEL
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '18 '
    - item_type: preproc_def
      name: DNS_OPT_ZONEVERSION
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '19 '
    - item_type: preproc_def
      name: DNS_EDNSOPTIONS
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: 9 + DNS_EDE_MAX_ERRORS
    - item_type: preproc_def
      name: DNS_MESSAGE_REPLYPRESERVE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: (DNS_MESSAGEFLAG_RD | DNS_MESSAGEFLAG_CD)
    - item_type: preproc_def
      name: DNS_MESSAGEEXTFLAG_REPLYPRESERVE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: (DNS_MESSAGEEXTFLAG_DO)
    - item_type: preproc_def
      name: DNS_MESSAGE_HEADERLEN
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '12 '
    - item_type: preproc_def
      name: DNS_MESSAGE_MAGIC
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: ISC_MAGIC('M', 'S', 'G', '@')
    - item_type: preproc_def
      name: DNS_SECTION_ANY
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: DNS_SECTION_QUESTION
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_SECTION_ANSWER
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_SECTION_AUTHORITY
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_SECTION_ADDITIONAL
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_SECTION_MAX
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DNS_PSEUDOSECTION_ANY
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: DNS_PSEUDOSECTION_OPT
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_PSEUDOSECTION_TSIG
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_PSEUDOSECTION_SIG0
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_PSEUDOSECTION_MAX
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_MESSAGETEXTFLAG_NOCOMMENTS
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_MESSAGETEXTFLAG_NOHEADERS
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: DNS_MESSAGETEXTFLAG_ONESOA
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: DNS_MESSAGETEXTFLAG_OMITSOA
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: DNS_SECTION_ZONE
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: DNS_SECTION_QUESTION
    - item_type: preproc_def
      name: DNS_SECTION_PREREQUISITE
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: DNS_SECTION_ANSWER
    - item_type: preproc_def
      name: DNS_SECTION_UPDATE
      pos:
        line_end: 172
        line_start: 171
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: DNS_SECTION_AUTHORITY
    - item_type: preproc_def
      name: DNS_MESSAGEPARSE_PRESERVEORDER
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: DNS_MESSAGEPARSE_BESTEFFORT
      pos:
        line_end: 190
        line_start: 186
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: DNS_MESSAGEPARSE_CLONEBUFFER
      pos:
        line_end: 193
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: DNS_MESSAGEPARSE_IGNORETRUNCATION
      pos:
        line_end: 196
        line_start: 193
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: DNS_MESSAGERENDER_ORDERED
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: DNS_MESSAGERENDER_PARTIAL
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: DNS_MESSAGERENDER_OMITDNSSEC
      pos:
        line_end: 203
        line_start: 202
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: DNS_MESSAGERENDER_PREFER_A
      pos:
        line_end: 206
        line_start: 203
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: DNS_MESSAGERENDER_PREFER_AAAA
      pos:
        line_end: 209
        line_start: 206
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '0x0010 '
    structs:
    - fields:
      - name: is_set
        type: bool
      - name: ttl
        type: dns_ttl_t
      item_type: struct
      name: dns_minttl
      pos:
        line_end: 223
        line_start: 220
        source_file: /src/bind9/lib/dns/include/dns/message.h
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: id
        type: dns_messageid_t
      - name: flags
        type: unsigned int
      - name: rcode
        type: dns_rcode_t
      - name: opcode
        type: dns_opcode_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: counts[DNS_SECTION_MAX]
        type: unsigned int
      - name: sections[DNS_SECTION_MAX]
        type: dns_namelist_t
      - name: '*cursors[DNS_SECTION_MAX]'
        type: dns_name_t
      - name: '*opt'
        type: dns_rdataset_t
      - name: '*sig0'
        type: dns_rdataset_t
      - name: '*tsig'
        type: dns_rdataset_t
      - name: state
        type: int
      - name: from_to_wire
        type: dns_message_intent_t
      - name: header_ok
        type: unsigned int
      - name: question_ok
        type: unsigned int
      - name: tcp_continuation
        type: unsigned int
      - name: verified_sig
        type: unsigned int
      - name: verify_attempted
        type: unsigned int
      - name: free_query
        type: unsigned int
      - name: free_saved
        type: unsigned int
      - name: cc_ok
        type: unsigned int
      - name: cc_bad
        type: unsigned int
      - name: cc_echoed
        type: unsigned int
      - name: tkey
        type: unsigned int
      - name: rdclass_set
        type: unsigned int
      - name: fuzzing
        type: unsigned int
      - name: free_pools
        type: unsigned int
      - name: opt_reserved
        type: unsigned int
      - name: sig_reserved
        type: unsigned int
      - name: reserved
        type: unsigned int
      - name: padding
        type: uint16_t
      - name: padding_off
        type: unsigned int
      - name: '*buffer'
        type: isc_buffer_t
      - name: '*cctx'
        type: dns_compress_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*namepool'
        type: isc_mempool_t
      - name: '*rdspool'
        type: isc_mempool_t
      - name: scratchpad
        type: isc_bufferlist_t
      - name: cleanup
        type: isc_bufferlist_t
      - name: (dns_msgblock_t)
        type: ISC_LIST
      - name: (dns_msgblock_t)
        type: ISC_LIST
      - name: (dns_rdata_t)
        type: ISC_LIST
      - name: (dns_rdatalist_t)
        type: ISC_LIST
      - name: tsigstatus
        type: dns_rcode_t
      - name: querytsigstatus
        type: dns_rcode_t
      - name: '*tsigname'
        type: dns_name_t
      - name: '*querytsig'
        type: dns_rdataset_t
      - name: '*tsigkey'
        type: dns_tsigkey_t
      - name: '*tsigctx'
        type: dst_context_t
      - name: sigstart
        type: int
      - name: timeadjust
        type: int
      - name: '*sig0name'
        type: dns_name_t
      - name: '*sig0key'
        type: dst_key_t
      - name: sig0status
        type: dns_rcode_t
      - name: query
        type: isc_region_t
      - name: saved
        type: isc_region_t
      - name: fuzztime
        type: isc_stdtime_t
      - name: indent
        type: dns_indent_t
      - name: minttl[DNS_SECTION_MAX]
        type: dns_minttl_t
      item_type: struct
      name: dns_message
      pos:
        line_end: 311
        line_start: 225
        source_file: /src/bind9/lib/dns/include/dns/message.h
    - fields:
      - name: code
        type: uint16_t
      - name: length
        type: uint16_t
      - name: '*value'
        type: uint8_t
      item_type: struct
      name: dns_ednsopt
      pos:
        line_end: 317
        line_start: 313
        source_file: /src/bind9/lib/dns/include/dns/message.h
    typedefs:
    - item_type: typedef
      name: dns_section_t
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type: int
    - item_type: typedef
      name: dns_pseudosection_t
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type: int
    - item_type: typedef
      name: dns_messagetextflag_t
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type: int
    - item_type: typedef
      name: dns_message_intent_t
      pos:
        line_end: 180
        line_start: 176
        source_file: /src/bind9/lib/dns/include/dns/message.h
    - item_type: typedef
      name: (*dns_message_cb_t)(void *arg, isc_result_t result)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type: void
    union: []
- function_names:
  - DNS_RPZ_ZBIT
  - DNS_RPZ_ZMASK
  - dns_rpz_zones_detach
  - dns_rpz_zones_attach
  - dns_rpz_zones_ref
  - dns_rpz_zones_unref
  source_file: /src/bind9/lib/dns/include/dns/rpz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RPZ_PREFIX
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '"rpz-"'
    - item_type: preproc_def
      name: DNS_RPZ_CLIENT_IP_ZONE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "client-ip"
    - item_type: preproc_def
      name: DNS_RPZ_IP_ZONE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "ip"
    - item_type: preproc_def
      name: DNS_RPZ_NSIP_ZONE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "nsip"
    - item_type: preproc_def
      name: DNS_RPZ_NSDNAME_ZONE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "nsdname"
    - item_type: preproc_def
      name: DNS_RPZ_PASSTHRU_NAME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "passthru"
    - item_type: preproc_def
      name: DNS_RPZ_DROP_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "drop"
    - item_type: preproc_def
      name: DNS_RPZ_TCP_ONLY_NAME
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_PREFIX "tcp-only"
    - item_type: preproc_def
      name: DNS_RPZ_MAX_ZONES
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_RPZ_ALL_ZBITS
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: ((dns_rpz_zbits_t) - 1)
    - item_type: preproc_def
      name: DNS_RPZ_INVALID_NUM
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_MAX_ZONES
    - item_type: preproc_def
      name: DNS_RPZ_REWRITTEN
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_RPZ_DONE_CLIENT_IP
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: DNS_RPZ_DONE_QNAME
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: DNS_RPZ_DONE_QNAME_IP
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: DNS_RPZ_DONE_NSDNAME
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: DNS_RPZ_DONE_IPv4
      pos:
        line_end: 279
        line_start: 278
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: DNS_RPZ_RECURSING
      pos:
        line_end: 280
        line_start: 279
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: DNS_RPZ_ACTIVE
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: DNS_RPZ_TTL_DEFAULT
      pos:
        line_end: 348
        line_start: 347
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DNS_RPZ_MAX_TTL_DEFAULT
      pos:
        line_end: 349
        line_start: 348
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: DNS_RPZ_TTL_DEFAULT
    - item_type: preproc_def
      name: DNS_RPZ_MINUPDATEINTERVAL_DEFAULT
      pos:
        line_end: 350
        line_start: 349
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: '60'
    - item_type: preproc_def
      name: DNS_RPZ_ERROR_LEVEL
      pos:
        line_end: 355
        line_start: 354
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: ISC_LOG_WARNING
    - item_type: preproc_def
      name: DNS_RPZ_INFO_LEVEL
      pos:
        line_end: 356
        line_start: 355
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: DNS_RPZ_DEBUG_LEVEL1
      pos:
        line_end: 357
        line_start: 356
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: ISC_LOG_DEBUG(1)
    - item_type: preproc_def
      name: DNS_RPZ_DEBUG_LEVEL2
      pos:
        line_end: 358
        line_start: 357
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: ISC_LOG_DEBUG(2)
    - item_type: preproc_def
      name: DNS_RPZ_DEBUG_LEVEL3
      pos:
        line_end: 359
        line_start: 358
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: ISC_LOG_DEBUG(3)
    - item_type: preproc_def
      name: DNS_RPZ_DEBUG_QUIET
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type_or_value: (DNS_RPZ_DEBUG_LEVEL3 + 1)
    structs:
    - fields:
      - name: client_ipv4
        type: dns_rpz_trigger_counter_t
      - name: client_ipv6
        type: dns_rpz_trigger_counter_t
      - name: qname
        type: dns_rpz_trigger_counter_t
      - name: ipv4
        type: dns_rpz_trigger_counter_t
      - name: ipv6
        type: dns_rpz_trigger_counter_t
      - name: nsdname
        type: dns_rpz_trigger_counter_t
      - name: nsipv4
        type: dns_rpz_trigger_counter_t
      - name: nsipv6
        type: dns_rpz_trigger_counter_t
      item_type: struct
      name: dns_rpz_triggers
      pos:
        line_end: 121
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*loop'
        type: isc_loop_t
      - name: num
        type: dns_rpz_num_t
      - name: origin
        type: dns_name_t
      - name: client_ip
        type: dns_name_t
      - name: ip
        type: dns_name_t
      - name: nsdname
        type: dns_name_t
      - name: nsip
        type: dns_name_t
      - name: passthru
        type: dns_name_t
      - name: drop
        type: dns_name_t
      - name: tcp_only
        type: dns_name_t
      - name: cname
        type: dns_name_t
      - name: max_policy_ttl
        type: dns_ttl_t
      - name: policy
        type: dns_rpz_policy_t
      - name: ede
        type: uint16_t
      - name: min_update_interval
        type: uint32_t
      - name: '*nodes'
        type: isc_ht_t
      - name: '*rpzs'
        type: dns_rpz_zones_t
      - name: lastupdated
        type: isc_time_t
      - name: updatepending
        type: bool
      - name: updaterunning
        type: bool
      - name: updateresult
        type: isc_result_t
      - name: '*db'
        type: dns_db_t
      - name: '*dbversion'
        type: dns_dbversion_t
      - name: '*updb'
        type: dns_db_t
      - name: '*updbversion'
        type: dns_dbversion_t
      - name: addsoa
        type: bool
      - name: '*updatetimer'
        type: isc_timer_t
      item_type: struct
      name: dns_rpz_zone
      pos:
        line_end: 163
        line_start: 129
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - fields:
      - name: client_ipv4
        type: dns_rpz_zbits_t
      - name: client_ipv6
        type: dns_rpz_zbits_t
      - name: client_ip
        type: dns_rpz_zbits_t
      - name: qname
        type: dns_rpz_zbits_t
      - name: ipv4
        type: dns_rpz_zbits_t
      - name: ipv6
        type: dns_rpz_zbits_t
      - name: ip
        type: dns_rpz_zbits_t
      - name: nsdname
        type: dns_rpz_zbits_t
      - name: nsipv4
        type: dns_rpz_zbits_t
      - name: nsipv6
        type: dns_rpz_zbits_t
      - name: nsip
        type: dns_rpz_zbits_t
      - name: qname_skip_recurse
        type: dns_rpz_zbits_t
      item_type: struct
      name: dns_rpz_have
      pos:
        line_end: 188
        line_start: 175
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - fields:
      - name: no_rd_ok
        type: dns_rpz_zbits_t
      - name: no_log
        type: dns_rpz_zbits_t
      - name: nsip_on
        type: dns_rpz_zbits_t
      - name: nsdname_on
        type: dns_rpz_zbits_t
      - name: break_dnssec
        type: bool
      - name: qname_wait_recurse
        type: bool
      - name: nsip_wait_recurse
        type: bool
      - name: nsdname_wait_recurse
        type: bool
      - name: min_ns_labels
        type: unsigned int
      - name: num_zones
        type: dns_rpz_num_t
      item_type: struct
      name: dns_rpz_popt
      pos:
        line_end: 205
        line_start: 194
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - fields:
      - name: magic
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: p
        type: dns_rpz_popt_t
      - name: '*zones[DNS_RPZ_MAX_ZONES]'
        type: dns_rpz_zone_t
      - name: triggers[DNS_RPZ_MAX_ZONES]
        type: dns_rpz_triggers_t
      - name: rpz_ver
        type: int
      - name: defined
        type: dns_rpz_zbits_t
      - name: load_begun
        type: dns_rpz_zbits_t
      - name: have
        type: dns_rpz_have_t
      - name: total_triggers
        type: dns_rpz_triggers_t
      - name: search_lock
        type: isc_rwlock_t
      - name: maint_lock
        type: isc_mutex_t
      - name: shuttingdown
        type: bool
      - name: '*cidr'
        type: dns_rpz_cidr_node_t
      - name: '*table'
        type: dns_qpmulti_t
      item_type: struct
      name: dns_rpz_zones
      pos:
        line_end: 266
        line_start: 210
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - fields:
      - name: state
        type: unsigned int
      - name: m
        type: "struct {\n\t\tdns_rpz_type_t\t type;\n\t\tdns_rpz_zone_t\t*rpz;\n\t\tdns_rpz_prefix_t
          prefix;\n\t\tdns_rpz_policy_t policy;\n\t\tdns_ttl_t\t ttl;\n\t\tisc_result_t\t
          result;\n\t\tdns_zone_t\t*zone;\n\t\tdns_db_t\t*db;\n\t\tdns_dbversion_t
          *version;\n\t\tdns_dbnode_t\t*node;\n\t\tdns_rdataset_t\t*rdataset;\n\t}"
      - name: r
        type: "struct {\n\t\tunsigned int\tlabel;\n\t\tdns_db_t       *db;\n\t\tdns_rdataset_t
          *ns_rdataset;\n\t\tdns_rdatatype_t r_type;\n\t\tisc_result_t\tr_result;\n\t\tdns_rdataset_t
          *r_rdataset;\n\t}"
      - name: q
        type: "struct {\n\t\tisc_result_t\tresult;\n\t\tbool\t\tis_zone;\n\t\tbool\t\tauthoritative;\n\t\tdns_zone_t
          \    *zone;\n\t\tdns_db_t       *db;\n\t\tdns_dbnode_t   *node;\n\t\tdns_rdataset_t
          *rdataset;\n\t\tdns_rdataset_t *sigrdataset;\n\t\tdns_rdatatype_t qtype;\n\t}"
      - name: have
        type: dns_rpz_have_t
      - name: popt
        type: dns_rpz_popt_t
      - name: rpz_ver
        type: int
      - name: '*p_name'
        type: dns_name_t
      - name: '*r_name'
        type: dns_name_t
      - name: '*fname'
        type: dns_name_t
      - name: _p_namef
        type: dns_fixedname_t
      - name: _r_namef
        type: dns_fixedname_t
      - name: _fnamef
        type: dns_fixedname_t
      item_type: struct
      name: dns_rpz_st_t
      pos:
        line_end: 345
        line_start: 271
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    typedefs:
    - item_type: typedef
      name: dns_rpz_prefix_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: uint8_t
    - item_type: typedef
      name: dns_rpz_type_t
      pos:
        line_end: 55
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - item_type: typedef
      name: dns_rpz_policy_t
      pos:
        line_end: 76
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    - item_type: typedef
      name: dns_rpz_num_t
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: uint8_t
    - item_type: typedef
      name: dns_rpz_zbits_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: uint64_t
    - item_type: typedef
      name: dns_rpz_trigger_counter_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: size_t
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ssu.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: dns_rdatatype_t
      - name: max
        type: unsigned int
      item_type: struct
      name: dns_ssuruletype
      pos:
        line_end: 51
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/ssu.h
    typedefs:
    - item_type: typedef
      name: dns_ssumatchtype_t
      pos:
        line_end: 46
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/ssu.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ds.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DSDIGEST_SHA1
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (1)
    - item_type: preproc_def
      name: DNS_DSDIGEST_SHA256
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (2)
    - item_type: preproc_def
      name: DNS_DSDIGEST_GOST
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (3)
    - item_type: preproc_def
      name: DNS_DSDIGEST_SHA384
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (4)
    - item_type: preproc_def
      name: DNS_DSDIGEST_GOST2012
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (5)
    - item_type: preproc_def
      name: DNS_DSDIGEST_SM3
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (6)
    - item_type: preproc_def
      name: DNS_DSDIGEST_SHA256PRIVATE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (7)
    - item_type: preproc_def
      name: DNS_DSDIGEST_SHA384PRIVATE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (8)
    - item_type: preproc_def
      name: DNS_DSDIGEST_SM3PRIVATE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (9)
    - item_type: preproc_def
      name: DNS_DS_BUFFERSIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (52 + 255)
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_PEERLIST_VALID
  - DNS_PEER_VALID
  source_file: /src/bind9/lib/dns/include/dns/peer.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_PEERLIST_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/peer.h
      type_or_value: ISC_MAGIC('s', 'e', 'R', 'L')
    - item_type: preproc_def
      name: DNS_PEER_MAGIC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/peer.h
      type_or_value: ISC_MAGIC('S', 'E', 'r', 'v')
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/keymgr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/edns.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_EDNS_VERSION
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/include/dns/edns.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_EDNS_VERSION
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/edns.h
      type_or_value: '1 '
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/nsec3.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NSEC3_SALTSIZE
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/dns/include/dns/nsec3.h
      type_or_value: '255'
    - item_type: preproc_def
      name: DNS_NSEC3_MAXITERATIONS
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/nsec3.h
      type_or_value: 50U
    - item_type: preproc_def
      name: DNS_NSEC3_BUFFERSIZE
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/nsec3.h
      type_or_value: (6 + 255 + 255 + 8192 + 512)
    - item_type: preproc_def
      name: DNS_NSEC3PARAM_BUFFERSIZE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/nsec3.h
      type_or_value: (5 + 255)
    - item_type: preproc_def
      name: DNS_NSEC3_UNKNOWNALG
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/nsec3.h
      type_or_value: ((dns_hash_t)245U)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/sdlz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_SDLZFLAG_THREADSAFE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type_or_value: 0x00000001U
    - item_type: preproc_def
      name: DNS_SDLZFLAG_RELATIVEOWNER
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type_or_value: 0x00000002U
    - item_type: preproc_def
      name: DNS_SDLZFLAG_RELATIVERDATA
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type_or_value: 0x00000004U
    structs:
    - fields:
      - name: create
        type: dns_sdlzcreate_t
      - name: destroy
        type: dns_sdlzdestroy_t
      - name: findzone
        type: dns_sdlzfindzone_t
      - name: lookup
        type: dns_sdlzlookupfunc_t
      - name: authority
        type: dns_sdlzauthorityfunc_t
      - name: allnodes
        type: dns_sdlzallnodesfunc_t
      - name: allowzonexfr
        type: dns_sdlzallowzonexfr_t
      - name: newversion
        type: dns_sdlznewversion_t
      - name: closeversion
        type: dns_sdlzcloseversion_t
      - name: configure
        type: dns_sdlzconfigure_t
      - name: ssumatch
        type: dns_sdlzssumatch_t
      - name: addrdataset
        type: dns_sdlzmodrdataset_t
      - name: subtractrdataset
        type: dns_sdlzmodrdataset_t
      - name: delrdataset
        type: dns_sdlzdelrdataset_t
      item_type: struct
      name: dns_sdlzmethods
      pos:
        line_end: 287
        line_start: 272
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    typedefs:
    - item_type: typedef
      name: "(*dns_sdlzallnodesfunc_t)(const char *zone,\n\t\t\t\t\t       void *driverarg,
        void *dbdata,\n\t\t\t\t\t       dns_sdlzallnodes_t *allnodes)"
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzallowzonexfr_t)(void *driverarg, void *dbdata,\n\t\t\t\t\t
        \      const char *name,\n\t\t\t\t\t       const char *client)"
      pos:
        line_end: 89
        line_start: 87
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzauthorityfunc_t)(const char *zone,\n\t\t\t\t\t\tvoid *driverarg,
        void *dbdata,\n\t\t\t\t\t\tdns_sdlzlookup_t *lookup)"
      pos:
        line_end: 114
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzcreate_t)(const char *dlzname, unsigned int argc,\n\t\t\t\t\t
        char *argv[], void *driverarg,\n\t\t\t\t\t void **dbdata)"
      pos:
        line_end: 128
        line_start: 126
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: (*dns_sdlzdestroy_t)(void *driverarg, void *dbdata)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type: void
    - item_type: typedef
      name: "(*dns_sdlzfindzone_t)(void *driverarg, void *dbdata,\n\t\t\t\t\t   const
        char\t\t   *name,\n\t\t\t\t\t   dns_clientinfomethods_t *methods,\n\t\t\t\t\t
        \  dns_clientinfo_t\t   *clientinfo)"
      pos:
        line_end: 149
        line_start: 146
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzlookupfunc_t)(const char *zone, const char *name,\n\t\t\t\t\t
        \    void *driverarg, void *dbdata,\n\t\t\t\t\t     dns_sdlzlookup_t\t     *lookup,\n\t\t\t\t\t
        \    dns_clientinfomethods_t *methods,\n\t\t\t\t\t     dns_clientinfo_t *clientinfo)"
      pos:
        line_end: 181
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlznewversion_t)(const char *zone, void *driverarg,\n\t\t\t\t\t
        \    void *dbdata, void **versionp)"
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzcloseversion_t)(const char *zone, bool commit,\n\t\t\t\t       void
        *driverarg, void *dbdata,\n\t\t\t\t       void **versionp)"
      pos:
        line_end: 212
        line_start: 210
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type: void
    - item_type: typedef
      name: "(*dns_sdlzconfigure_t)(dns_view_t\t*view,\n\t\t\t\t\t    dns_dlzdb_t
        *dlzdb, void *driverarg,\n\t\t\t\t\t    void *dbdata)"
      pos:
        line_end: 224
        line_start: 222
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzssumatch_t)(const char *signer, const char *name,\n\t\t\t\t
        \  const char *tcpaddr, const char *type,\n\t\t\t\t   const char *key, uint32_t
        keydatalen,\n\t\t\t\t   unsigned char *keydata, void *driverarg,\n\t\t\t\t
        \  void *dbdata)"
      pos:
        line_end: 236
        line_start: 232
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type: bool
    - item_type: typedef
      name: "(*dns_sdlzmodrdataset_t)(const char *name,\n\t\t\t\t\t      const char
        *rdatastr,\n\t\t\t\t\t      void *driverarg, void *dbdata,\n\t\t\t\t\t      void
        *version)"
      pos:
        line_end: 249
        line_start: 246
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "(*dns_sdlzdelrdataset_t)(const char *name,\n\t\t\t\t\t      const char
        *type, void *driverarg,\n\t\t\t\t\t      void *dbdata, void *version)"
      pos:
        line_end: 263
        line_start: 261
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "dns_sdlz_putnamedrr_t(dns_sdlzallnodes_t *allnodes, const char *name,\n\t\t
        \     const char *type, dns_ttl_t ttl, const char *data)"
      pos:
        line_end: 314
        line_start: 312
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "dns_sdlz_putrr_t(dns_sdlzlookup_t *lookup, const char *type, dns_ttl_t
        ttl,\n\t\t const char *data)"
      pos:
        line_end: 324
        line_start: 322
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "dns_sdlz_putsoa_t(dns_sdlzlookup_t *lookup, const char *mname,\n\t\t\t\t
        \   const char *rname, uint32_t serial)"
      pos:
        line_end: 333
        line_start: 331
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    - item_type: typedef
      name: "dns_sdlz_setdb_t(dns_dlzdb_t *dlzdatabase, dns_rdataclass_t rdclass,\n\t\t
        const dns_name_t *name, dns_db_t **dbp)"
      pos:
        line_end: 347
        line_start: 345
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/rrl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RRL_LOG_FAIL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: ISC_LOG_WARNING
    - item_type: preproc_def
      name: DNS_RRL_LOG_DROP
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: DNS_RRL_LOG_DEBUG1
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: ISC_LOG_DEBUG(3)
    - item_type: preproc_def
      name: DNS_RRL_LOG_DEBUG2
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: ISC_LOG_DEBUG(4)
    - item_type: preproc_def
      name: DNS_RRL_LOG_DEBUG3
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: ISC_LOG_DEBUG(9)
    - item_type: preproc_def
      name: DNS_RRL_LOG_ERR_LEN
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_RRL_LOG_BUF_LEN
      pos:
        line_end: 56
        line_start: 51
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: "(sizeof(\"would continue limiting\") + DNS_RRL_LOG_ERR_LEN +
        \\\n\t sizeof(\" responses to \") + ISC_NETADDR_FORMATSIZE +       \\\n\t
        sizeof(\"/128 for IN \") + DNS_RDATATYPE_FORMATSIZE +       \\\n\t DNS_NAME_FORMATSIZE)"
    - item_type: preproc_def
      name: DNS_RRL_MAX_PREFIX
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_RRL_RESPONSE_BITS
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '24'
    - item_type: preproc_def
      name: DNS_RRL_QNAMES_BITS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DNS_RRL_TS_GEN_BITS
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_RRL_HASH_GEN_BITS
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_RRL_LOG_BITS
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '11'
    - item_type: preproc_def
      name: DNS_RRL_TS_BITS
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DNS_RRL_MAX_SLIP
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DNS_RRL_MAX_TIME_TRAVEL
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DNS_RRL_FOREVER
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: (1 << DNS_RRL_TS_BITS)
    - item_type: preproc_def
      name: DNS_RRL_MAX_TS
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: (DNS_RRL_FOREVER - 1)
    - item_type: preproc_def
      name: DNS_RRL_MAX_RESPONSES
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: ((1 << (DNS_RRL_RESPONSE_BITS - 1)) - 1)
    - item_type: preproc_def
      name: DNS_RRL_MAX_WINDOW
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '3600'
    - item_type: preproc_def
      name: DNS_RRL_MAX_RATE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: DNS_RRL_MAX_LOG_SECS
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '1800'
    - item_type: preproc_def
      name: DNS_RRL_STOP_LOG_SECS
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: '60'
    - item_type: preproc_def
      name: DNS_RRL_TS_BASES
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: (1 << DNS_RRL_TS_GEN_BITS)
    - item_type: preproc_def
      name: DNS_RRL_QNAMES
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type_or_value: (1 << DNS_RRL_QNAMES_BITS)
    structs:
    - fields:
      - name: ip[DNS_RRL_MAX_PREFIX / 32]
        type: uint32_t
      - name: qname_hash
        type: uint32_t
      - name: qtype
        type: dns_rdatatype_t
      - name: qclass
        type: uint8_t
      - name: rtype
        type: unsigned int
      - name: ipv6
        type: unsigned int
      item_type: struct
      name: dns__rrl_key
      pos:
        line_end: 91
        line_start: 84
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - fields:
      - name: (dns_rrl_entry_t)
        type: ISC_LINK
      - name: (dns_rrl_entry_t)
        type: ISC_LINK
      - name: key
        type: dns_rrl_key_t
      - name: responses
        type: signed int
      - name: log_qname
        type: unsigned int
      - name: ts_gen
        type: unsigned int
      - name: ts_valid
        type: unsigned int
      - name: hash_gen
        type: unsigned int
      - name: logged
        type: unsigned int
      - name: log_secs
        type: unsigned int
      - name: ts
        type: unsigned int
      - name: slip_cnt
        type: unsigned int
      item_type: struct
      name: dns_rrl_entry
      pos:
        line_end: 126
        line_start: 103
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - fields:
      - name: check_time
        type: isc_stdtime_t
      - name: gen
        type: unsigned int
      - name: length
        type: int
      - name: ISC_ATTR_COUNTED_BY(length)
        type: dns_rrl_bin_t
      item_type: struct
      name: dns_rrl_hash
      pos:
        line_end: 163
        line_start: 158
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - fields:
      - name: (dns_rrl_block_t)
        type: ISC_LINK
      - name: count
        type: uint32_t
      - name: ISC_ATTR_COUNTED_BY(count)
        type: dns_rrl_entry_t
      item_type: struct
      name: dns_rrl_block
      pos:
        line_end: 173
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - fields:
      - name: (dns_rrl_qname_buf_t)
        type: ISC_LINK
      - name: '*e'
        type: dns_rrl_entry_t
      - name: index
        type: unsigned int
      - name: qname
        type: dns_fixedname_t
      item_type: struct
      name: dns_rrl_qname_buf
      pos:
        line_end: 184
        line_start: 179
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - fields:
      - name: r
        type: int
      - name: scaled
        type: int
      - name: '*str'
        type: char
      item_type: struct
      name: dns_rrl_rate
      pos:
        line_end: 191
        line_start: 187
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - fields:
      - name: lock
        type: isc_mutex_t
      - name: '*mctx'
        type: isc_mem_t
      - name: log_only
        type: bool
      - name: responses_per_second
        type: dns_rrl_rate_t
      - name: referrals_per_second
        type: dns_rrl_rate_t
      - name: nodata_per_second
        type: dns_rrl_rate_t
      - name: nxdomains_per_second
        type: dns_rrl_rate_t
      - name: errors_per_second
        type: dns_rrl_rate_t
      - name: all_per_second
        type: dns_rrl_rate_t
      - name: slip
        type: dns_rrl_rate_t
      - name: window
        type: int
      - name: qps_scale
        type: double
      - name: max_entries
        type: int
      - name: '*exempt'
        type: dns_acl_t
      - name: num_entries
        type: int
      - name: qps_responses
        type: int
      - name: qps_time
        type: isc_stdtime_t
      - name: qps
        type: double
      - name: probes
        type: unsigned int
      - name: searches
        type: unsigned int
      - name: (dns_rrl_block_t)
        type: ISC_LIST
      - name: (dns_rrl_entry_t)
        type: ISC_LIST
      - name: '*hash'
        type: dns_rrl_hash_t
      - name: '*old_hash'
        type: dns_rrl_hash_t
      - name: hash_gen
        type: unsigned int
      - name: ts_gen
        type: unsigned int
      - name: ts_bases[DNS_RRL_TS_BASES]
        type: isc_stdtime_t
      - name: ipv4_prefixlen
        type: int
      - name: ipv4_mask
        type: uint32_t
      - name: ipv6_prefixlen
        type: int
      - name: ipv6_mask[4]
        type: uint32_t
      - name: log_stops_time
        type: isc_stdtime_t
      - name: '*last_logged'
        type: dns_rrl_entry_t
      - name: num_logged
        type: int
      - name: num_qnames
        type: int
      - name: (dns_rrl_qname_buf_t)
        type: ISC_LIST
      - name: '*qnames[DNS_RRL_QNAMES]'
        type: dns_rrl_qname_buf_t
      item_type: struct
      name: dns_rrl
      pos:
        line_end: 247
        line_start: 197
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    typedefs:
    - item_type: typedef
      name: dns_rrl_rtype_t
      pos:
        line_end: 71
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - item_type: typedef
      name: (dns_rrl_entry_t)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    - item_type: typedef
      name: dns_rrl_result_t
      pos:
        line_end: 253
        line_start: 249
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
    union:
    - fields:
      - name: s
        type: struct dns__rrl_key
      - name: w[sizeof(struct dns__rrl_key) / sizeof(uint16_t)]
        type: uint16_t
      item_type: union
      name: dns_rrl_key
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ecs.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ECS_MAX_V4_SCOPE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/ecs.h
      type_or_value: '24'
    - item_type: preproc_def
      name: ECS_MAX_V6_SCOPE
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/include/dns/ecs.h
      type_or_value: '56'
    - item_type: preproc_def
      name: DNS_ECS_FORMATSIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/include/dns/ecs.h
      type_or_value: (ISC_NETADDR_FORMATSIZE + 9)
    structs:
    - fields:
      - name: addr
        type: isc_netaddr_t
      - name: source
        type: uint8_t
      - name: scope
        type: uint8_t
      item_type: struct
      name: dns_ecs
      pos:
        line_end: 42
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/ecs.h
    typedefs: []
    union: []
- function_names:
  - DNS_SERIAL_GT
  - DNS_SERIAL_GE
  source_file: /src/bind9/lib/dns/include/dns/journal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_JOURNALOPT_RESIGN
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: DNS_JOURNAL_READ
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x00000000 '
    - item_type: preproc_def
      name: DNS_JOURNAL_CREATE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x00000001 '
    - item_type: preproc_def
      name: DNS_JOURNAL_WRITE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: DNS_JOURNAL_SIZE_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: INT32_MAX
    - item_type: preproc_def
      name: DNS_JOURNAL_SIZE_MIN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: DNS_JOURNAL_PRINTXHDR
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_JOURNAL_COMPACTALL
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_JOURNAL_VERSION1
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type_or_value: '0x0002'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/keyflags.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_RDATASETITER_VALID
  - DNS__RDATASETITER_CONNECT
  - DNS__RDATASETITER_CONCAT
  - DNS_RDATASETITER_FOREACH_RES
  - DNS_RDATASETITER_FOREACH
  - dns_rdatasetiter_destroy
  - dns_rdatasetiter_first
  - dns_rdatasetiter_next
  - dns_rdatasetiter_current
  source_file: /src/bind9/lib/dns/include/dns/rdatasetiter.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATASETITER_MAGIC
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/bind9/lib/dns/include/dns/rdatasetiter.h
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'i')
    structs:
    - fields:
      - name: (*destroy)(dns_rdatasetiter_t **iteratorp DNS__DB_FLARG)
        type: void
      - name: (*first)(dns_rdatasetiter_t *iterator DNS__DB_FLARG)
        type: isc_result_t
      - name: (*next)(dns_rdatasetiter_t *iterator DNS__DB_FLARG)
        type: isc_result_t
      - name: "(*current)(dns_rdatasetiter_t\t*iterator,\n\t\t\tdns_rdataset_t *rdataset
          DNS__DB_FLARG)"
        type: void
      item_type: struct
      name: dns_rdatasetitermethods
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*methods'
        type: dns_rdatasetitermethods_t
      - name: '*db'
        type: dns_db_t
      - name: '*node'
        type: dns_dbnode_t
      - name: '*version'
        type: dns_dbversion_t
      - name: now
        type: isc_stdtime_t
      - name: options
        type: unsigned int
      item_type: struct
      name: dns_rdatasetiter
      pos:
        line_end: 94
        line_start: 85
        source_file: /src/bind9/lib/dns/include/dns/rdatasetiter.h
    typedefs: []
    union: []
- function_names:
  - DNS_SLABHEADER_GETATTR
  - DNS_SLABHEADER_SETATTR
  - DNS_SLABHEADER_CLRATTR
  source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATASLAB_FORCE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: DNS_RDATASLAB_EXACT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: DNS_RDATASLAB_OFFLINE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
      type_or_value: '0x01 '
    structs:
    - fields:
      - name: name
        type: dns_name_t
      - name: '*neg'
        type: void
      - name: '*negsig'
        type: void
      - name: type
        type: dns_rdatatype_t
      item_type: struct
      name: dns_slabheader_proof
      pos:
        line_end: 64
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
    - fields:
      - name: trust
        type: dns_trust_t
      - name: serial
        type: uint32_t
      - name: type
        type: dns_typepair_t
      - name: resign_lsb
        type: uint16_t
      - name: resign
        type: isc_stdtime_t
      - name: '*heap'
        type: isc_heap_t
      - name: heap_index
        type: unsigned int
      - name: '*noqname'
        type: dns_slabheader_proof_t
      - name: '*closest'
        type: dns_slabheader_proof_t
      - name: '*down'
        type: struct dns_slabheader
      - name: '*db'
        type: dns_db_t
      - name: '*node'
        type: dns_dbnode_t
      - name: '*gluelist'
        type: dns_gluelist_t
      - name: visited
        type: bool
      - name: upper[32]
        type: unsigned char
      item_type: struct
      name: dns_slabheader
      pos:
        line_end: 141
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
    typedefs: []
    union: []
- function_names:
  - DNS_RDATASET_VALID
  - DNS__RDATASET_CONNECT
  - DNS__RDATASET_CONCAT
  - DNS_RDATASET_FOREACH_RES
  - DNS_RDATASET_FOREACH
  - dns_rdataset_disassociate
  - dns_rdataset_clone
  - dns_rdataset_getnoqname
  - dns_rdataset_getclosest
  - dns_rdataset_expire
  source_file: /src/bind9/lib/dns/include/dns/rdataset.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATASET_MAXADDITIONAL
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DNS_RDATASET_LENGTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: 2;
    - item_type: preproc_def
      name: DNS_RDATASET_MAGIC
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'R')
    - item_type: preproc_def
      name: DNS_RDATASET_COUNT_UNDEFINED
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: UINT32_MAX
    - item_type: preproc_def
      name: DNS_RDATASET_INIT
      pos:
        line_end: 241
        line_start: 237
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: "{ .magic = DNS_RDATASET_MAGIC,  \\\n\t  .link = ISC_LINK_INITIALIZER,
        \\\n\t  .count = DNS_RDATASET_COUNT_UNDEFINED }"
    - item_type: preproc_def
      name: DNS_RDATASETTOWIRE_OMITDNSSEC
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: '0x0001'
    structs:
    - fields:
      - name: (*disassociate)(dns_rdataset_t *rdataset DNS__DB_FLARG)
        type: void
      - name: (*first)(dns_rdataset_t *rdataset)
        type: isc_result_t
      - name: (*next)(dns_rdataset_t *rdataset)
        type: isc_result_t
      - name: (*current)(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
        type: void
      - name: "(*clone)(dns_rdataset_t\t    *source,\n\t\t      dns_rdataset_t *target
          DNS__DB_FLARG)"
        type: void
      - name: (*count)(dns_rdataset_t *rdataset)
        type: unsigned int
      - name: (*addnoqname)(dns_rdataset_t *rdataset, dns_name_t *name)
        type: isc_result_t
      - name: "(*getnoqname)(dns_rdataset_t *rdataset, dns_name_t *name,\n\t\t\t\t
          \  dns_rdataset_t\t *neg,\n\t\t\t\t   dns_rdataset_t *negsig DNS__DB_FLARG)"
        type: isc_result_t
      - name: (*addclosest)(dns_rdataset_t *rdataset, dns_name_t *name)
        type: isc_result_t
      - name: "(*getclosest)(dns_rdataset_t *rdataset, dns_name_t *name,\n\t\t\t\t
          \  dns_rdataset_t\t *neg,\n\t\t\t\t   dns_rdataset_t *negsig DNS__DB_FLARG)"
        type: isc_result_t
      - name: (*settrust)(dns_rdataset_t *rdataset, dns_trust_t trust)
        type: void
      - name: (*expire)(dns_rdataset_t *rdataset DNS__DB_FLARG)
        type: void
      - name: (*clearprefetch)(dns_rdataset_t *rdataset)
        type: void
      - name: (*setownercase)(dns_rdataset_t *rdataset, const dns_name_t *name)
        type: void
      - name: (*getownercase)(const dns_rdataset_t *rdataset, dns_name_t *name)
        type: void
      - name: "(*addglue)(dns_rdataset_t\t*rdataset,\n\t\t\t\tdns_dbversion_t *version,
          dns_message_t *msg)"
        type: isc_result_t
      - name: '*(*getheader)(const dns_rdataset_t *rdataset)'
        type: dns_slabheader_t
      - name: "(*equals)(const dns_rdataset_t *rdataset1,\n\t\t       const dns_rdataset_t
          *rdataset2)"
        type: bool
      item_type: struct
      name: dns_rdatasetmethods
      pos:
        line_end: 91
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*methods'
        type: dns_rdatasetmethods_t
      - name: (dns_rdataset_t)
        type: ISC_LINK
      - name: rdclass
        type: dns_rdataclass_t
      - name: type
        type: dns_rdatatype_t
      - name: ttl
        type: dns_ttl_t
      - name: trust
        type: dns_trust_t
      - name: covers
        type: dns_rdatatype_t
      - name: attributes
        type: "struct {\n\t\tbool question\t : 1;\n\t\tbool rendered\t : 1;  /*%<
          message.c: was rendered */\n\t\tbool answered\t : 1;  /*%< server. */\n\t\tbool
          cache\t : 1;  /*%< resolver. */\n\t\tbool answer\t : 1;  /*%< resolver.
          */\n\t\tbool answersig\t : 1;  /*%< resolver. */\n\t\tbool external\t :
          1;  /*%< resolver. */\n\t\tbool ncache\t : 1;  /*%< resolver. */\n\t\tbool
          chaining\t : 1;  /*%< resolver. */\n\t\tbool ttladjusted : 1;  /*%< message.c:
          data had differing TTL\n\t\t\tvalues, and the rdataset->ttl holds the smallest
          */\n\t\tbool chase\t  : 1; /*%< Used by resolver. */\n\t\tbool nxdomain\t
          \ : 1;\n\t\tbool noqname\t  : 1;\n\t\tbool checknames\t  : 1; /*%< Used
          by resolver. */\n\t\tbool required\t  : 1;\n\t\tbool resign\t  : 1;\n\t\tbool
          closest\t  : 1;\n\t\tbool optout\t  : 1; /*%< OPTOUT proof */\n\t\tbool
          negative\t  : 1;\n\t\tbool prefetch\t  : 1;\n\t\tbool stale\t  : 1;\n\t\tbool
          ancient\t  : 1;\n\t\tbool stale_window : 1;\n\t\tbool stale_added  : 1;
          /*%< Added during a\n\t\t\tstale-answer-client-timeout lookup. In other
          words, the\n\t\t\tRRset was added during a lookup of stale data and does\n\t\t\tnot
          necessarily mean that the rdataset itself is stale.\n\t\t      */\n\t\tbool\t
          \      keepcase\t  : 1;\n\t\tbool\t       staticstub : 1;\n\t\tdns_orderopt_t
          order\t  : 2;\n\t}"
      - name: count
        type: uint32_t
      item_type: struct
      name: dns_rdataset
      pos:
        line_end: 233
        line_start: 102
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
    typedefs:
    - item_type: typedef
      name: dns_rdatasetadditional_t
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/soa.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_SOA_BUFFERSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/soa.h
      type_or_value: ((2 * DNS_NAME_MAXWIRE) + (4 * 5))
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_NAME_VALID
  - DNS_NAME_BINDABLE
  - DNS_NAME_INITNONABSOLUTE
  - DNS_NAME_INITABSOLUTE
  - dns_name_init
  - dns_name_reset
  - dns_name_invalidate
  - dns_name_setbuffer
  - dns_name_countlabels
  - dns_name_toregion
  - dns_name_split
  source_file: /src/bind9/lib/dns/include/dns/name.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NAME_MAGIC
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'n')
    - item_type: preproc_def
      name: DNS_NAME_DOWNCASE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_NAME_CHECKNAMES
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: DNS_NAME_CHECKNAMESFAIL
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x0004 '
    - item_type: preproc_def
      name: DNS_NAME_CHECKREVERSE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x0008 '
    - item_type: preproc_def
      name: DNS_NAME_CHECKMX
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x0010 '
    - item_type: preproc_def
      name: DNS_NAME_CHECKMXFAIL
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x0020 '
    - item_type: preproc_def
      name: DNS_NAME_INITEMPTY
      pos:
        line_end: 182
        line_start: 178
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: "{ .magic = DNS_NAME_MAGIC,      \\\n\t  .link = ISC_LINK_INITIALIZER,
        \\\n\t  .list = ISC_LIST_INITIALIZER }"
    - item_type: preproc_def
      name: DNS_NAME_MAXWIRE
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '255'
    - item_type: preproc_def
      name: DNS_NAME_MAXLABELS
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '128'
    - item_type: preproc_def
      name: DNS_NAME_LABELLEN
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '63'
    - item_type: preproc_def
      name: DNS_NAME_OMITFINALDOT
      pos:
        line_end: 880
        line_start: 879
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: 0x01U
    - item_type: preproc_def
      name: DNS_NAME_PRINCIPAL
      pos:
        line_end: 881
        line_start: 880
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '0x02U '
    - item_type: preproc_def
      name: DNS_NAME_MAXTEXT
      pos:
        line_end: 921
        line_start: 920
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: '1023'
    - item_type: preproc_def
      name: DNS_NAME_FORMATSIZE
      pos:
        line_end: 1261
        line_start: 1260
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type_or_value: (DNS_NAME_MAXTEXT + 1)
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: length
        type: uint8_t
      - name: attributes
        type: "struct dns_name_attrs {\n\t\tbool absolute\t  : 1; /*%< Used by name.c
          */\n\t\tbool readonly\t  : 1; /*%< Used by name.c */\n\t\tbool dynamic\t
          \ : 1; /*%< Used by name.c */\n\t\tbool nocompress\t  : 1; /*%< Used by
          name.c */\n\t\tbool cache\t  : 1; /*%< Used by resolver. */\n\t\tbool answer\t
          \ : 1; /*%< Used by resolver. */\n\t\tbool ncache\t  : 1; /*%< Used by resolver.
          */\n\t\tbool chaining\t  : 1; /*%< Used by resolver. */\n\t\tbool chase\t
          \ : 1; /*%< Used by resolver. */\n\t\tbool wildcard\t  : 1; /*%< Used by
          server. */\n\t\tbool prerequisite : 1; /*%< Used by client. */\n\t\tbool
          update\t  : 1; /*%< Used by client. */\n\t\tbool hasupdaterec : 1; /*%<
          Used by client. */\n\t}"
      - name: '*ndata'
        type: unsigned char
      - name: '*buffer'
        type: isc_buffer_t
      - name: (dns_name_t)
        type: ISC_LINK
      - name: (dns_rdataset_t)
        type: ISC_LIST
      - name: '*hashmap'
        type: isc_hashmap_t
      item_type: struct
      name: dns_name
      pos:
        line_end: 118
        line_start: 95
        source_file: /src/bind9/lib/dns/include/dns/name.h
    - fields:
      - name: absolute
        type: bool
      - name: readonly
        type: bool
      - name: dynamic
        type: bool
      - name: nocompress
        type: bool
      - name: cache
        type: bool
      - name: answer
        type: bool
      - name: ncache
        type: bool
      - name: chaining
        type: bool
      - name: chase
        type: bool
      - name: wildcard
        type: bool
      - name: prerequisite
        type: bool
      - name: update
        type: bool
      - name: hasupdaterec
        type: bool
      item_type: struct
      name: dns_name_attrs
      pos:
        line_end: 112
        line_start: 98
        source_file: /src/bind9/lib/dns/include/dns/name.h
    typedefs:
    - item_type: typedef
      name: dns_offsets_t[DNS_NAME_MAXLABELS]
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type: uint8_t
    - item_type: typedef
      name: "(dns_name_totextfilter_t)(isc_buffer_t *target,\n\t\t\t\t\t      unsigned
        int  used_org)"
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/bind9/lib/dns/include/dns/name.h
    union: []
- function_names:
  - dns_zone_ref
  - dns_zone_unref
  - dns_zone_attach
  - dns_zone_detach
  source_file: /src/bind9/lib/dns/include/dns/zone.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: dns_zone_master
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: dns_zone_primary
    - item_type: preproc_def
      name: dns_zone_slave
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: dns_zone_secondary
    - item_type: preproc_def
      name: DNS_ZONE_MINREFRESH
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '300 '
    - item_type: preproc_def
      name: DNS_ZONE_MAXREFRESH
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '2419200 '
    - item_type: preproc_def
      name: DNS_ZONE_DEFAULTREFRESH
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '3600 '
    - item_type: preproc_def
      name: DNS_ZONE_MINRETRY
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '300 '
    - item_type: preproc_def
      name: DNS_ZONE_MAXRETRY
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '1209600 '
    - item_type: preproc_def
      name: DNS_ZONE_DEFAULTRETRY
      pos:
        line_end: 140
        line_start: 137
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '60 '
    structs: []
    typedefs:
    - item_type: typedef
      name: dns_zonetype_t
      pos:
        line_end: 52
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/zone.h
    - item_type: typedef
      name: dns_zonestat_level_t
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/zone.h
    - item_type: typedef
      name: dns_zoneopt_t
      pos:
        line_end: 107
        line_start: 68
        source_file: /src/bind9/lib/dns/include/dns/zone.h
    - item_type: typedef
      name: dns_zonestate_t
      pos:
        line_end: 119
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/zone.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/geoip.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: subtype
        type: dns_geoip_subtype_t
      - name: '*db'
        type: void
      item_type: struct
      name: dns_geoip_elem
      pos:
        line_end: 86
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/geoip.h
    - fields:
      - name: '*country'
        type: void
      - name: '*city'
        type: void
      - name: '*domain'
        type: void
      - name: '*isp'
        type: void
      - name: '*as'
        type: void
      item_type: struct
      name: dns_geoip_databases
      pos:
        line_end: 94
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/geoip.h
    typedefs:
    - item_type: typedef
      name: dns_geoip_subtype_t
      pos:
        line_end: 77
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/geoip.h
    union: []
- function_names:
  - DNS_DIFFTUPLE_VALID
  - DNS_DIFF_VALID
  source_file: /src/bind9/lib/dns/include/dns/diff.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DIFFTUPLE_MAGIC
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/diff.h
      type_or_value: ISC_MAGIC('D', 'I', 'F', 'T')
    - item_type: preproc_def
      name: DNS_DIFF_MAGIC
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/bind9/lib/dns/include/dns/diff.h
      type_or_value: ISC_MAGIC('D', 'I', 'F', 'F')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: op
        type: dns_diffop_t
      - name: name
        type: dns_name_t
      - name: ttl
        type: dns_ttl_t
      - name: rdata
        type: dns_rdata_t
      - name: (dns_difftuple_t)
        type: ISC_LINK
      item_type: struct
      name: dns_difftuple
      pos:
        line_end: 84
        line_start: 75
        source_file: /src/bind9/lib/dns/include/dns/diff.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: tuples
        type: dns_difftuplelist_t
      - name: size
        type: size_t
      item_type: struct
      name: dns_diff
      pos:
        line_end: 101
        line_start: 96
        source_file: /src/bind9/lib/dns/include/dns/diff.h
    typedefs:
    - item_type: typedef
      name: dns_diffop_t
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/diff.h
    - item_type: typedef
      name: (dns_difftuple_t)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/diff.h
    - item_type: typedef
      name: dns_diff_compare_func(const void *, const void *)
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/bind9/lib/dns/include/dns/diff.h
      type: int
    union: []
- function_names:
  - dns_tsigkey_ref
  - dns_tsigkey_unref
  - dns_tsigkey_attach
  - dns_tsigkey_detach
  - dns_tsigkeyring_ref
  - dns_tsigkeyring_unref
  - dns_tsigkeyring_attach
  - dns_tsigkeyring_detach
  source_file: /src/bind9/lib/dns/include/dns/tsig.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_TSIG_HMACMD5_NAME
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_hmacmd5_name
    - item_type: preproc_def
      name: DNS_TSIG_GSSAPI_NAME
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_gssapi_name
    - item_type: preproc_def
      name: DNS_TSIG_HMACSHA1_NAME
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_hmacsha1_name
    - item_type: preproc_def
      name: DNS_TSIG_HMACSHA224_NAME
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_hmacsha224_name
    - item_type: preproc_def
      name: DNS_TSIG_HMACSHA256_NAME
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_hmacsha256_name
    - item_type: preproc_def
      name: DNS_TSIG_HMACSHA384_NAME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_hmacsha384_name
    - item_type: preproc_def
      name: DNS_TSIG_HMACSHA512_NAME
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: dns_tsig_hmacsha512_name
    - item_type: preproc_def
      name: DNS_TSIG_FUDGE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: '300'
    - item_type: preproc_def
      name: DNS_TSIG_MAXGENERATEDKEYS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
      type_or_value: '4096'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*keys'
        type: isc_hashmap_t
      - name: writecount
        type: unsigned int
      - name: lock
        type: isc_rwlock_t
      - name: '*mctx'
        type: isc_mem_t
      - name: generated
        type: unsigned int
      - name: (dns_tsigkey_t)
        type: ISC_LIST
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_tsigkeyring
      pos:
        line_end: 76
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*key'
        type: dst_key_t
      - name: fn
        type: dns_fixedname_t
      - name: '*name'
        type: dns_name_t
      - name: alg
        type: dst_algorithm_t
      - name: algname
        type: dns_name_t
      - name: '*creator'
        type: dns_name_t
      - name: generated
        type: bool
      - name: restored
        type: bool
      - name: inception
        type: isc_stdtime_t
      - name: expire
        type: isc_stdtime_t
      - name: '*ring'
        type: dns_tsigkeyring_t
      - name: references
        type: isc_refcount_t
      - name: (dns_tsigkey_t)
        type: ISC_LINK
      item_type: struct
      name: dns_tsigkey
      pos:
        line_end: 96
        line_start: 78
        source_file: /src/bind9/lib/dns/include/dns/tsig.h
    typedefs: []
    union: []
- function_names:
  - dns_requestmgr_ref
  - dns_requestmgr_unref
  - dns_requestmgr_attach
  - dns_requestmgr_detach
  - dns_request_ref
  - dns_request_unref
  - dns_request_attach
  - dns_request_detach
  source_file: /src/bind9/lib/dns/include/dns/request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_REQUESTOPT_TCP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/include/dns/request.h
      type_or_value: 0x00000001U
    - item_type: preproc_def
      name: DNS_REQUESTOPT_CASE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/include/dns/request.h
      type_or_value: 0x00000002U
    - item_type: preproc_def
      name: DNS_REQUESTOPT_FIXEDID
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/request.h
      type_or_value: 0x00000004U
    - item_type: preproc_def
      name: DNS_REQUESTOPT_LARGE
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/request.h
      type_or_value: 0x00000008U
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/zoneverify.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DLZ_DLOPEN_VERSION
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DLZ_DLOPEN_AGE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: dlz_dlopen_version_t(unsigned int *flags)
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
      type: int
    - item_type: typedef
      name: "dlz_dlopen_create_t(const char *dlzname, unsigned int argc, char *argv[],\n\t\t
        \   void **dbdata, ...)"
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: dlz_dlopen_destroy_t(void *dbdata)
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
      type: void
    - item_type: typedef
      name: "dlz_dlopen_findzonedb_t(void *dbdata, const char *name,\n\t\t\tdns_clientinfomethods_t
        *methods,\n\t\t\tdns_clientinfo_t\t*clientinfo)"
      pos:
        line_end: 57
        line_start: 54
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_lookup_t(const char *zone, const char *name, void *dbdata,\n\t\t
        \   dns_sdlzlookup_t *lookup, dns_clientinfomethods_t *methods,\n\t\t    dns_clientinfo_t
        *clientinfo)"
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_authority_t(const char *zone, void *dbdata,\n\t\t       dns_sdlzlookup_t
        *lookup)"
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: dlz_dlopen_allowzonexfr_t(void *dbdata, const char *name, const char *client)
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_allnodes_t(const char *zone, void *dbdata,\n\t\t      dns_sdlzallnodes_t
        *allnodes)"
      pos:
        line_end: 88
        line_start: 86
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: dlz_dlopen_newversion_t(const char *zone, void *dbdata, void **versionp)
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_closeversion_t(const char *zone, bool commit, void *dbdata,\n\t\t\t
        \ void **versionp)"
      pos:
        line_end: 103
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
      type: void
    - item_type: typedef
      name: dlz_dlopen_configure_t(dns_view_t *view, dns_dlzdb_t *dlzdb, void *dbdata)
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: dlz_dlopen_setclientcallback_t(dns_view_t *view, void *dbdata)
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_ssumatch_t(const char *signer, const char *name, const char
        *tcpaddr,\n\t\t      const char *type, const char *key, uint32_t keydatalen,\n\t\t
        \     unsigned char *keydata, void *dbdata)"
      pos:
        line_end: 127
        line_start: 124
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
      type: bool
    - item_type: typedef
      name: "dlz_dlopen_addrdataset_t(const char *name, const char *rdatastr, void
        *dbdata,\n\t\t\t void *version)"
      pos:
        line_end: 135
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_subrdataset_t(const char *name, const char *rdatastr, void
        *dbdata,\n\t\t\t void *version)"
      pos:
        line_end: 143
        line_start: 141
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    - item_type: typedef
      name: "dlz_dlopen_delrdataset_t(const char *name, const char *type, void *dbdata,\n\t\t\t
        void *version)"
      pos:
        line_end: 151
        line_start: 149
        source_file: /src/bind9/lib/dns/include/dns/dlz_dlopen.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/keydata.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_ADBFIND_VALID
  - DNS_ADBADDRINFO_VALID
  - dns_adb_ref
  - dns_adb_unref
  - dns_adb_attach
  - dns_adb_detach
  source_file: /src/bind9/lib/dns/include/dns/adb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_ADBFIND_MAGIC
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: ISC_MAGIC('a', 'd', 'b', 'H')
    - item_type: preproc_def
      name: DNS_ADBADDRINFO_MAGIC
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: ISC_MAGIC('a', 'd', 'A', 'I')
    - item_type: preproc_def
      name: DNS_ADBFIND_INET
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000001'
    - item_type: preproc_def
      name: DNS_ADBFIND_INET6
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000002'
    - item_type: preproc_def
      name: DNS_ADBFIND_ADDRESSMASK
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000003'
    - item_type: preproc_def
      name: DNS_ADBFIND_EMPTYEVENT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000004'
    - item_type: preproc_def
      name: DNS_ADBFIND_WANTEVENT
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000008'
    - item_type: preproc_def
      name: DNS_ADBFIND_AVOIDFETCHES
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000010'
    - item_type: preproc_def
      name: DNS_ADBFIND_STARTATZONE
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000020'
    - item_type: preproc_def
      name: DNS_ADBFIND_QUOTAEXEMPT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000040'
    - item_type: preproc_def
      name: DNS_ADBFIND_OVERQUOTA
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000400'
    - item_type: preproc_def
      name: DNS_ADBFIND_NOFETCH
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00000800'
    - item_type: preproc_def
      name: DNS_ADBFIND_STATICSTUB
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00001000'
    - item_type: preproc_def
      name: DNS_ADBFIND_NOVALIDATE
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: DNS_ADB_RTTADJDEFAULT
      pos:
        line_end: 436
        line_start: 435
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: "7\t "
    - item_type: preproc_def
      name: DNS_ADB_RTTADJREPLACE
      pos:
        line_end: 437
        line_start: 436
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: "0\t "
    - item_type: preproc_def
      name: DNS_ADB_RTTADJAGE
      pos:
        line_end: 438
        line_start: 437
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '10 '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: list
        type: dns_adbaddrinfolist_t
      - name: query_pending
        type: unsigned int
      - name: partial_result
        type: unsigned int
      - name: options
        type: unsigned int
      - name: result_v4
        type: isc_result_t
      - name: result_v6
        type: isc_result_t
      - name: (dns_adbfind_t)
        type: ISC_LINK
      - name: lock
        type: isc_mutex_t
      - name: port
        type: in_port_t
      - name: flags
        type: unsigned int
      - name: '*adbname'
        type: dns_adbname_t
      - name: '*adb'
        type: dns_adb_t
      - name: '*loop'
        type: isc_loop_t
      - name: cb
        type: isc_job_cb
      - name: '*cbarg'
        type: void
      - name: (dns_adbfind_t)
        type: ISC_LINK
      item_type: struct
      name: dns_adbfind
      pos:
        line_end: 130
        line_start: 108
        source_file: /src/bind9/lib/dns/include/dns/adb.h
    - fields:
      - name: magic
        type: unsigned int
      - name: sockaddr
        type: isc_sockaddr_t
      - name: srtt
        type: unsigned int
      - name: '*transport'
        type: dns_transport_t
      - name: flags
        type: unsigned int
      - name: '*entry'
        type: dns_adbentry_t
      - name: (dns_adbaddrinfo_t)
        type: ISC_LINK
      item_type: struct
      name: dns_adbaddrinfo
      pos:
        line_end: 210
        line_start: 200
        source_file: /src/bind9/lib/dns/include/dns/adb.h
    typedefs:
    - item_type: typedef
      name: dns_adbstatus_t
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/bind9/lib/dns/include/dns/adb.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/cert.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_validator_ref
  - dns_validator_unref
  - dns_validator_attach
  - dns_validator_detach
  source_file: /src/bind9/lib/dns/include/dns/validator.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_VALIDATOR_NOQNAMEPROOF
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DNS_VALIDATOR_NODATAPROOF
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_VALIDATOR_NOWILDCARDPROOF
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_VALIDATOR_CLOSESTENCLOSER
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_VALIDATOR_DEFER
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: 0x0002U
    - item_type: preproc_def
      name: DNS_VALIDATOR_NOCDFLAG
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: 0x0004U
    - item_type: preproc_def
      name: DNS_VALIDATOR_NONTA
      pos:
        line_end: 171
        line_start: 170
        source_file: /src/bind9/lib/dns/include/dns/validator.h
      type_or_value: '0x0008U '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*view'
        type: dns_view_t
      - name: '*loop'
        type: isc_loop_t
      - name: tid
        type: isc_tid_t
      - name: references
        type: isc_refcount_t
      - name: '*name'
        type: dns_name_t
      - name: type
        type: dns_rdatatype_t
      - name: cb
        type: isc_job_cb
      - name: '*arg'
        type: void
      - name: options
        type: unsigned int
      - name: result
        type: isc_result_t
      - name: '*rdataset'
        type: dns_rdataset_t
      - name: '*sigrdataset'
        type: dns_rdataset_t
      - name: '*message'
        type: dns_message_t
      - name: '*proofs[4]'
        type: dns_name_t
      - name: optout
        type: bool
      - name: secure
        type: bool
      - name: canceling
        type: atomic_bool
      - name: attributes
        type: unsigned int
      - name: '*fetch'
        type: dns_fetch_t
      - name: '*subvalidator'
        type: dns_validator_t
      - name: '*parent'
        type: dns_validator_t
      - name: '*keytable'
        type: dns_keytable_t
      - name: '*key'
        type: dst_key_t
      - name: '*siginfo'
        type: dns_rdata_rrsig_t
      - name: labels
        type: unsigned int
      - name: '*nxset'
        type: dns_rdataset_t
      - name: '*keyset'
        type: dns_rdataset_t
      - name: '*dsset'
        type: dns_rdataset_t
      - name: fdsset
        type: dns_rdataset_t
      - name: frdataset
        type: dns_rdataset_t
      - name: fsigrdataset
        type: dns_rdataset_t
      - name: dsrdataset
        type: dns_rdataset_t
      - name: fname
        type: dns_fixedname_t
      - name: wild
        type: dns_fixedname_t
      - name: closest
        type: dns_fixedname_t
      - name: (dns_validator_t)
        type: ISC_LINK
      - name: depth
        type: unsigned int
      - name: authcount
        type: unsigned int
      - name: authfail
        type: unsigned int
      - name: start
        type: isc_stdtime_t
      - name: digest_sha1
        type: bool
      - name: unsupported_algorithm
        type: uint8_t
      - name: unsupported_digest
        type: uint8_t
      - name: rdata
        type: dns_rdata_t
      - name: resume
        type: bool
      - name: '*nvalidations'
        type: isc_counter_t
      - name: '*nfails'
        type: isc_counter_t
      - name: '*qc'
        type: isc_counter_t
      - name: '*gqc'
        type: isc_counter_t
      - name: edectx
        type: dns_edectx_t
      - name: '*cb_edectx'
        type: dns_edectx_t
      item_type: struct
      name: dns_validator
      pos:
        line_end: 162
        line_start: 74
        source_file: /src/bind9/lib/dns/include/dns/validator.h
    typedefs: []
    union: []
- function_names:
  - dns_cache_ref
  - dns_cache_unref
  - dns_cache_attach
  - dns_cache_detach
  source_file: /src/bind9/lib/dns/include/dns/cache.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_BIT_SET
  - DNS_BIT_CLEAR
  - DNS_BIT_CHECK
  source_file: /src/bind9/lib/dns/include/dns/bit.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dns_bitset_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bind9/lib/dns/include/dns/bit.h
      type: uint64_t
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ipkeylist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*addrs'
        type: isc_sockaddr_t
      - name: '*sources'
        type: isc_sockaddr_t
      - name: '**keys'
        type: dns_name_t
      - name: '**tlss'
        type: dns_name_t
      - name: '**labels'
        type: dns_name_t
      - name: count
        type: uint32_t
      - name: allocated
        type: uint32_t
      item_type: struct
      name: dns_ipkeylist
      pos:
        line_end: 33
        line_start: 25
        source_file: /src/bind9/lib/dns/include/dns/ipkeylist.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/dns64.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DNS64_RECURSIVE_ONLY
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/bind9/lib/dns/include/dns/dns64.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: DNS_DNS64_BREAK_DNSSEC
      pos:
        line_end: 33
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/dns64.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: DNS_DNS64_RECURSIVE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/dns64.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: DNS_DNS64_DNSSEC
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/dns64.h
      type_or_value: '0x02 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_qpreader
  source_file: /src/bind9/lib/dns/include/dns/qp.h
  types:
    enum:
    - enumerators:
      - name: DNS_QPGC_MAYBE
      - name: DNS_QPGC_NOW
      - name: DNS_QPGC_ALL
      item_type: enum
      name: dns_qpgc
      pos:
        line_end: 330
        line_start: 326
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    preproc_defs:
    - item_type: preproc_def
      name: QP_SAFETY_MARGIN
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type_or_value: ((1ul << 12ul) * 12)
    - item_type: preproc_def
      name: DNS_QPREADER_FIELDS
      pos:
        line_end: 129
        line_start: 123
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type_or_value: "uint32_t\t\t    magic;    \\\n\tdns_qpref_t\t\t    root_ref;
        \\\n\tdns_qpbase_t\t\t   *base;     \\\n\tvoid\t\t\t   *uctx;     \\\n\tconst
        struct dns_qpmethods *methods"
    - item_type: preproc_def
      name: DNS_QP_MAXKEY
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type_or_value: '512'
    - item_type: preproc_def
      name: DNS_QP_TRIENAME_MAX
      pos:
        line_end: 306
        line_start: 305
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type_or_value: '300'
    structs:
    - fields: []
      item_type: struct
      name: dns_qpreader
      pos:
        line_end: 140
        line_start: 138
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    - fields:
      - name: tid
        type: isc_tid_t
      item_type: struct
      name: dns_qpread
      pos:
        line_end: 154
        line_start: 151
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*qp'
        type: dns_qpreader_t
      - name: sp
        type: uint16_t
      - name: '*stack[DNS_QP_MAXKEY]'
        type: dns_qpnode_t
      item_type: struct
      name: dns_qpiter
      pos:
        line_end: 243
        line_start: 238
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*qp'
        type: dns_qpreader_t
      - name: len
        type: uint8_t
      - name: chain[DNS_NAME_MAXLABELS]
        type: "struct {\n\t\tdns_qpnode_t *node;\n\t\tsize_t\t      offset;\n\t}"
      item_type: struct
      name: dns_qpchain
      pos:
        line_end: 260
        line_start: 252
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    - fields:
      - name: (*attach)(void *uctx, void *pval, uint32_t ival)
        type: void
      - name: (*detach)(void *uctx, void *pval, uint32_t ival)
        type: void
      - name: "(*makekey)(dns_qpkey_t key, void *uctx, void *pval,\n\t\t\t  uint32_t
          ival)"
        type: size_t
      - name: (*triename)(void *uctx, char *buf, size_t size)
        type: void
      item_type: struct
      name: dns_qpmethods
      pos:
        line_end: 299
        line_start: 293
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    - fields:
      - name: '*uctx'
        type: void
      - name: leaves
        type: size_t
      - name: live
        type: size_t
      - name: used
        type: size_t
      - name: hold
        type: size_t
      - name: free
        type: size_t
      - name: node_size
        type: size_t
      - name: chunk_count
        type: size_t
      - name: bytes
        type: size_t
      - name: fragmented
        type: bool
      item_type: struct
      name: dns_qp_memusage
      pos:
        line_end: 321
        line_start: 310
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    typedefs:
    - item_type: typedef
      name: dns_qpref_t
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: uint32_t
    - item_type: typedef
      name: dns_qpshift_t
      pos:
        line_end: 205
        line_start: 205
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: uint8_t
    - item_type: typedef
      name: dns_qpweight_t
      pos:
        line_end: 213
        line_start: 213
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: uint8_t
    - item_type: typedef
      name: dns_qpchunk_t
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: uint32_t
    - item_type: typedef
      name: dns_qpcell_t
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: uint32_t
    - item_type: typedef
      name: dns_qpkey_t[DNS_QP_MAXKEY]
      pos:
        line_end: 229
        line_start: 229
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    - item_type: typedef
      name: dns_qpgc_t
      pos:
        line_end: 330
        line_start: 326
        source_file: /src/bind9/lib/dns/include/dns/qp.h
    union:
    - fields:
      - name: '*qp'
        type: dns_qpreader_t
      - name: '*qpr'
        type: dns_qpread_t
      - name: '*qps'
        type: dns_qpsnap_t
      - name: '*qpt'
        type: dns_qp_t
      item_type: union
      name: dns_qpreadable
      pos:
        line_end: 174
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dns/qp.h
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/rdataclass.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATACLASS_FORMATSIZE
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/dns/include/dns/rdataclass.h
      type_or_value: sizeof("CLASS65535")
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/private.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/update.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: "(*func)(void *arg, dns_zone_t *zone, int level,\n\t\t     const char
          *message)"
        type: void
      - name: '*arg'
        type: void
      item_type: struct
      name: dns_update_log_t
      pos:
        line_end: 30
        line_start: 26
        source_file: /src/bind9/lib/dns/include/dns/update.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/masterdump.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_STYLEFLAG_OMIT_OWNER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000010000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_OMIT_TTL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000020000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_OMIT_CLASS
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000040000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_TTL
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000080000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_REL_OWNER
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000100000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_REL_DATA
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000200000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_TRUST
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000400000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_NCACHE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x000800000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_NO_TTL
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x001000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_NO_CLASS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x002000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_RESIGN
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x004000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_NOCRYPTO
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x008000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_COMMENTDATA
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x010000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_TTL_UNITS
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x020000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_INDENT
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x040000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_YAML
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x080000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_ECSCACHE
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x100000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_EXPIRED
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x200000000ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_CLASS_PERNAME
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type_or_value: 0x400000000ULL
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_SKR_VALID
  - DNS_SKRBUNDLE_VALID
  source_file: /src/bind9/lib/dns/include/dns/skr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_SKR_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/skr.h
      type_or_value: ISC_MAGIC('S', 'K', 'R', '-')
    - item_type: preproc_def
      name: DNS_SKRBUNDLE_MAGIC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/include/dns/skr.h
      type_or_value: ISC_MAGIC('S', 'K', 'R', 'B')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*filename'
        type: char
      - name: loadtime
        type: isc_time_t
      - name: bundles
        type: dns_skrbundlelist_t
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: dns_skr
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/skr.h
    - fields:
      - name: magic
        type: unsigned int
      - name: inception
        type: isc_stdtime_t
      - name: diff
        type: dns_diff_t
      - name: (dns_skrbundle_t)
        type: ISC_LINK
      item_type: struct
      name: dns_skrbundle
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/skr.h
    typedefs:
    - item_type: typedef
      name: (dns_skrbundle_t)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/skr.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/opcode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/transport.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dns_transport_type_t
      pos:
        line_end: 26
        line_start: 19
        source_file: /src/bind9/lib/dns/include/dns/transport.h
    - item_type: typedef
      name: dns_http_mode_t
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/transport.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_KEYFLAG_OWNERMASK
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: (DNS_KEYOWNER_ENTITY | DNS_KEYOWNER_ZONE)
    - item_type: preproc_def
      name: DNS_KEYFLAG_TYPEMASK
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: (DNS_KEYTYPE_NOAUTH | DNS_KEYTYPE_NOCONF)
    - item_type: preproc_def
      name: DNS_KEYTYPE_NOKEY
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: DNS_KEYFLAG_TYPEMASK
    - item_type: preproc_def
      name: DNS_KEY_ECDSA256SIZE
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_SIG_ECDSA256SIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_KEY_ECDSA384SIZE
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '96'
    - item_type: preproc_def
      name: DNS_SIG_ECDSA384SIZE
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '96'
    - item_type: preproc_def
      name: DNS_KEY_ED25519SIZE
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '32'
    - item_type: preproc_def
      name: DNS_SIG_ED25519SIZE
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DNS_KEY_ED448SIZE
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '57'
    - item_type: preproc_def
      name: DNS_SIG_ED448SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
      type_or_value: '114'
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_NTATABLE
  - dns_ntatable_ref
  - dns_ntatable_unref
  - dns_ntatable_attach
  - dns_ntatable_detach
  - dns__nta_ref
  - dns__nta_unref
  - dns__nta_attach
  - dns__nta_detach
  source_file: /src/bind9/lib/dns/include/dns/nta.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NTATABLE_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/nta.h
      type_or_value: ISC_MAGIC('N', 'T', 'A', 't')
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_DB_VALID
  - dns_db_ref
  - dns_db_unref
  - dns_db_attach
  - dns_db_detach
  - dns_db_closeversion
  - dns_db_findnode
  - dns_db_findnodeext
  - dns_db_find
  - dns_db_findext
  - dns_db_findzonecut
  - dns_db_attachnode
  - dns_db_detachnode
  - dns_db_findrdataset
  - dns_db_allrdatasets
  - dns_db_addrdataset
  - dns_db_subtractrdataset
  - dns_db_deleterdataset
  - dns_db_getoriginnode
  - dns_db_findnsec3node
  source_file: /src/bind9/lib/dns/include/dns/db.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DB_MAGIC
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'D')
    - item_type: preproc_def
      name: DNS_DBFIND_STALEOK
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: DNS_DBFIND_STALEENABLED
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: DNS_DBFIND_STALETIMEOUT
      pos:
        line_end: 285
        line_start: 284
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: DNS_DBFIND_STALESTART
      pos:
        line_end: 291
        line_start: 290
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: DNS_DBADD_MERGE
      pos:
        line_end: 298
        line_start: 297
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_DBADD_FORCE
      pos:
        line_end: 299
        line_start: 298
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_DBADD_EXACT
      pos:
        line_end: 300
        line_start: 299
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: DNS_DBADD_EXACTTTL
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: DNS_DBADD_PREFETCH
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: DNS_DBSUB_EXACT
      pos:
        line_end: 308
        line_start: 307
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_DBSUB_WANTOLD
      pos:
        line_end: 309
        line_start: 308
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_DB_RELATIVENAMES
      pos:
        line_end: 315
        line_start: 314
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: DNS_DB_NSEC3ONLY
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: DNS_DB_NONSEC3
      pos:
        line_end: 317
        line_start: 316
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: DNS_DB_STALEOK
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_DB_EXPIREDOK
      pos:
        line_end: 321
        line_start: 320
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x02'
    structs:
    - fields:
      - name: (*destroy)(dns_db_t *db)
        type: void
      - name: "(*beginload)(dns_db_t\t       *db,\n\t\t\t\t  dns_rdatacallbacks_t
          *callbacks)"
        type: isc_result_t
      - name: (*endload)(dns_db_t *db, dns_rdatacallbacks_t *callbacks)
        type: isc_result_t
      - name: (*currentversion)(dns_db_t *db, dns_dbversion_t **versionp)
        type: void
      - name: (*newversion)(dns_db_t *db, dns_dbversion_t **versionp)
        type: isc_result_t
      - name: "(*attachversion)(dns_db_t *db, dns_dbversion_t *source,\n\t\t\t      dns_dbversion_t
          **targetp)"
        type: void
      - name: "(*closeversion)(dns_db_t *db, dns_dbversion_t **versionp,\n\t\t\t     bool
          commit DNS__DB_FLARG)"
        type: void
      - name: "(*findnode)(dns_db_t *db, const dns_name_t *name,\n\t\t\t\t bool\t\t
          \     create,\n\t\t\t\t dns_dbnode_t **nodep DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*find)(dns_db_t *db, const dns_name_t *name,\n\t\t\t     dns_dbversion_t
          *version, dns_rdatatype_t type,\n\t\t\t     unsigned int options, isc_stdtime_t
          now,\n\t\t\t     dns_dbnode_t **nodep, dns_name_t *foundname,\n\t\t\t     dns_rdataset_t\t\t*rdataset,\n\t\t\t
          \    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*findzonecut)(dns_db_t *db, const dns_name_t *name,\n\t\t\t\t    unsigned
          int options, isc_stdtime_t now,\n\t\t\t\t    dns_dbnode_t **nodep, dns_name_t
          *foundname,\n\t\t\t\t    dns_name_t\t\t       *dcname,\n\t\t\t\t    dns_rdataset_t\t
          \      *rdataset,\n\t\t\t\t    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*attachnode)(dns_db_t *db, dns_dbnode_t *source,\n\t\t\t   dns_dbnode_t
          **targetp DNS__DB_FLARG)"
        type: void
      - name: (*detachnode)(dns_db_t *db, dns_dbnode_t **targetp DNS__DB_FLARG)
        type: void
      - name: "(*createiterator)(dns_db_t *db, unsigned int options,\n\t\t\t\t       dns_dbiterator_t
          **iteratorp)"
        type: isc_result_t
      - name: "(*findrdataset)(dns_db_t *db, dns_dbnode_t *node,\n\t\t\t\t     dns_dbversion_t
          *version,\n\t\t\t\t     dns_rdatatype_t  type,\n\t\t\t\t     dns_rdatatype_t
          covers, isc_stdtime_t now,\n\t\t\t\t     dns_rdataset_t\t\t*rdataset,\n\t\t\t\t
          \    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*allrdatasets)(\n\t\tdns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
          *version,\n\t\tunsigned int options, isc_stdtime_t now,\n\t\tdns_rdatasetiter_t
          **iteratorp DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*addrdataset)(dns_db_t *db, dns_dbnode_t *node,\n\t\t\t\t    dns_dbversion_t
          *version, isc_stdtime_t now,\n\t\t\t\t    dns_rdataset_t *rdataset,\n\t\t\t\t
          \   unsigned int    options,\n\t\t\t\t    dns_rdataset_t *addedrdataset
          DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*subtractrdataset)(\n\t\tdns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
          *version,\n\t\tdns_rdataset_t *rdataset, unsigned int options,\n\t\tdns_rdataset_t
          *newrdataset DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*deleterdataset)(dns_db_t *db, dns_dbnode_t *node,\n\t\t\t\t       dns_dbversion_t\t
          \    *version,\n\t\t\t\t       dns_rdatatype_t\t      type,\n\t\t\t\t       dns_rdatatype_t
          covers DNS__DB_FLARG)"
        type: isc_result_t
      - name: (*issecure)(dns_db_t *db)
        type: bool
      - name: (*nodecount)(dns_db_t *db, dns_dbtree_t)
        type: unsigned int
      - name: (*setloop)(dns_db_t *db, isc_loop_t *)
        type: void
      - name: "(*getoriginnode)(dns_db_t\t\t  *db,\n\t\t\t\t      dns_dbnode_t **nodep
          DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*getnsec3parameters)(dns_db_t\t   *db,\n\t\t\t\t\t   dns_dbversion_t
          *version,\n\t\t\t\t\t   dns_hash_t *hash, uint8_t *flags,\n\t\t\t\t\t   uint16_t\t
          *iterations,\n\t\t\t\t\t   unsigned char *salt,\n\t\t\t\t\t   size_t\t *salt_len)"
        type: isc_result_t
      - name: "(*findnsec3node)(dns_db_t *db, const dns_name_t *name,\n\t\t\t\t      bool\t\t
          \  create,\n\t\t\t\t      dns_dbnode_t **nodep DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*setsigningtime)(dns_db_t *db, dns_rdataset_t *rdataset,\n\t\t\t\t
          \      isc_stdtime_t resign)"
        type: isc_result_t
      - name: "(*getsigningtime)(dns_db_t *db, isc_stdtime_t *resign,\n\t\t\t\t       dns_name_t
          \    *name,\n\t\t\t\t       dns_typepair_t *typepair)"
        type: isc_result_t
      - name: '*(*getrrsetstats)(dns_db_t *db)'
        type: dns_stats_t
      - name: "(*findnodeext)(dns_db_t *db, const dns_name_t *name,\n\t\t\t\t    bool\t\t
          \    create,\n\t\t\t\t    dns_clientinfomethods_t *methods,\n\t\t\t\t    dns_clientinfo_t\t
          \   *clientinfo,\n\t\t\t\t    dns_dbnode_t **nodep     DNS__DB_FLARG)"
        type: isc_result_t
      - name: "(*findext)(dns_db_t *db, const dns_name_t *name,\n\t\t\t\tdns_dbversion_t
          *version, dns_rdatatype_t type,\n\t\t\t\tunsigned int options, isc_stdtime_t
          now,\n\t\t\t\tdns_dbnode_t **nodep, dns_name_t *foundname,\n\t\t\t\tdns_clientinfomethods_t\t
          \  *methods,\n\t\t\t\tdns_clientinfo_t\t   *clientinfo,\n\t\t\t\tdns_rdataset_t\t\t
          \  *rdataset,\n\t\t\t\tdns_rdataset_t *sigrdataset DNS__DB_FLARG)"
        type: isc_result_t
      - name: (*setcachestats)(dns_db_t *db, isc_stats_t *stats)
        type: isc_result_t
      - name: (*hashsize)(dns_db_t *db)
        type: size_t
      - name: "(*getsize)(dns_db_t *db, dns_dbversion_t *version,\n\t\t\t\tuint64_t
          *records, uint64_t *bytes)"
        type: isc_result_t
      - name: (*setservestalettl)(dns_db_t *db, dns_ttl_t ttl)
        type: isc_result_t
      - name: (*getservestalettl)(dns_db_t *db, dns_ttl_t *ttl)
        type: isc_result_t
      - name: (*setservestalerefresh)(dns_db_t *db, uint32_t interval)
        type: isc_result_t
      - name: (*getservestalerefresh)(dns_db_t *db, uint32_t *interval)
        type: isc_result_t
      - name: (*setgluecachestats)(dns_db_t *db, isc_stats_t *stats)
        type: isc_result_t
      - name: (*locknode)(dns_db_t *db, dns_dbnode_t *node, isc_rwlocktype_t t)
        type: void
      - name: "(*unlocknode)(dns_db_t *db, dns_dbnode_t *node,\n\t\t\t   isc_rwlocktype_t
          t)"
        type: void
      - name: "(*addglue)(dns_db_t *db, dns_dbversion_t *version,\n\t\t\tdns_rdataset_t
          *rdataset, dns_message_t *msg)"
        type: void
      - name: (*expiredata)(dns_db_t *db, dns_dbnode_t *node, void *data)
        type: void
      - name: (*deletedata)(dns_db_t *db, dns_dbnode_t *node, void *data)
        type: void
      - name: "(*nodefullname)(dns_db_t *db, dns_dbnode_t *node,\n\t\t\t\t     dns_name_t
          *name)"
        type: isc_result_t
      - name: (*setmaxrrperset)(dns_db_t *db, uint32_t value)
        type: void
      - name: (*setmaxtypepername)(dns_db_t *db, uint32_t value)
        type: void
      - name: (*getzoneversion)(dns_db_t *db, isc_buffer_t *b)
        type: isc_result_t
      item_type: struct
      name: dns_dbmethods
      pos:
        line_end: 185
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/db.h
    - fields:
      - name: magic
        type: unsigned int
      - name: impmagic
        type: unsigned int
      - name: '*methods'
        type: dns_dbmethods_t
      - name: attributes
        type: uint16_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: origin
        type: dns_name_t
      - name: serve_stale_ttl
        type: dns_ttl_t
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*update_listeners'
        type: struct cds_lfht
      item_type: struct
      name: dns_db
      pos:
        line_end: 219
        line_start: 208
        source_file: /src/bind9/lib/dns/include/dns/db.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: onupdate
        type: dns_dbupdate_callback_t
      - name: '*onupdate_arg'
        type: void
      - name: ht_node
        type: struct cds_lfht_node
      - name: rcu_head
        type: struct rcu_head
      item_type: struct
      name: dns_dbonupdatelistener
      pos:
        line_end: 232
        line_start: 226
        source_file: /src/bind9/lib/dns/include/dns/db.h
    typedefs:
    - item_type: typedef
      name: "(*dns_dbcreatefunc_t)(isc_mem_t\t    *mctx,\n\t\t\t\t\t   const dns_name_t
        *name,\n\t\t\t\t\t   dns_dbtype_t\t     type,\n\t\t\t\t\t   dns_rdataclass_t
        \ rdclass,\n\t\t\t\t\t   unsigned int argc, char *argv[],\n\t\t\t\t\t   void
        *driverarg, dns_db_t **dbp)"
      pos:
        line_end: 192
        line_start: 187
        source_file: /src/bind9/lib/dns/include/dns/db.h
    - item_type: typedef
      name: (*dns_dbupdate_callback_t)(dns_db_t *db, void *fn_arg)
      pos:
        line_end: 194
        line_start: 194
        source_file: /src/bind9/lib/dns/include/dns/db.h
    - item_type: typedef
      name: dns_namespace_t
      pos:
        line_end: 243
        line_start: 239
        source_file: /src/bind9/lib/dns/include/dns/db.h
    union: []
- function_names:
  - dns_acl_node_count
  - DNS_ACL_VALID
  - dns_acl_ref
  - dns_acl_unref
  - dns_acl_attach
  - dns_acl_detach
  - dns_aclenv_ref
  - dns_aclenv_unref
  - dns_aclenv_attach
  - dns_aclenv_detach
  source_file: /src/bind9/lib/dns/include/dns/acl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_ACL_MAGIC
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/acl.h
      type_or_value: ISC_MAGIC('D', 'a', 'c', 'l')
    structs:
    - fields:
      - name: port
        type: in_port_t
      - name: transports
        type: uint32_t
      - name: encrypted
        type: bool
      - name: negative
        type: bool
      item_type: struct
      name: dns_acl_port_transports
      pos:
        line_end: 61
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/acl.h
    - fields:
      - name: address
        type: isc_netaddr_t
      - name: prefixlen
        type: unsigned int
      item_type: struct
      name: dns_aclipprefix
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/acl.h
    - fields:
      - name: type
        type: dns_aclelementtype_t
      - name: negative
        type: bool
      - name: keyname
        type: dns_name_t
      - name: '*nestedacl'
        type: dns_acl_t
      - name: node_num
        type: int
      item_type: struct
      name: dns_aclelement
      pos:
        line_end: 79
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/acl.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*iptable'
        type: dns_iptable_t
      - name: '*elements'
        type: dns_aclelement_t
      - name: has_negatives
        type: bool
      - name: alloc
        type: unsigned int
      - name: length
        type: unsigned int
      - name: '*name'
        type: char
      - name: (dns_acl_t)
        type: ISC_LINK
      - name: (dns_acl_port_transports_t)
        type: ISC_LIST
      - name: port_proto_entries
        type: size_t
      item_type: struct
      name: dns_acl
      pos:
        line_end: 96
        line_start: 83
        source_file: /src/bind9/lib/dns/include/dns/acl.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*localhost'
        type: dns_acl_t
      - name: '*localnets'
        type: dns_acl_t
      - name: match_mapped
        type: bool
      item_type: struct
      name: dns_aclenv
      pos:
        line_end: 110
        line_start: 98
        source_file: /src/bind9/lib/dns/include/dns/acl.h
    typedefs:
    - item_type: typedef
      name: dns_aclelementtype_t
      pos:
        line_end: 53
        line_start: 45
        source_file: /src/bind9/lib/dns/include/dns/acl.h
    union: []
- function_names:
  - DNS_DYNDBCTX_VALID
  source_file: /src/bind9/lib/dns/include/dns/dyndb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DYNDBCTX_MAGIC
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
      type_or_value: ISC_MAGIC('D', 'd', 'b', 'c')
    - item_type: preproc_def
      name: DNS_DYNDB_VERSION
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_DYNDB_AGE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
      type_or_value: '0'
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*hashinit'
        type: void
      - name: '*mctx'
        type: isc_mem_t
      - name: '*view'
        type: dns_view_t
      - name: '*zmgr'
        type: dns_zonemgr_t
      - name: '*loopmgr'
        type: isc_loopmgr_t
      - name: '*refvar'
        type: bool
      item_type: struct
      name: dns_dyndbctx
      pos:
        line_end: 40
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
    typedefs:
    - item_type: typedef
      name: "dns_dyndb_register_t(isc_mem_t *mctx, const char *name, const char *parameters,\n\t\t
        \    const char *file, unsigned long line,\n\t\t     const dns_dyndbctx_t
        *dctx, void **instp)"
      pos:
        line_end: 61
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
    - item_type: typedef
      name: dns_dyndb_destroy_t(void **instp)
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
      type: void
    - item_type: typedef
      name: dns_dyndb_version_t(unsigned int *flags)
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
      type: int
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/fixedname.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: name
        type: dns_name_t
      - name: buffer
        type: isc_buffer_t
      - name: data[DNS_NAME_MAXWIRE]
        type: unsigned char
      item_type: struct
      name: dns_fixedname
      pos:
        line_end: 63
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/fixedname.h
    typedefs: []
    union: []
- function_names:
  - DNS_CALLBACK_VALID
  source_file: /src/bind9/lib/dns/include/dns/callbacks.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CALLBACK_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/callbacks.h
      type_or_value: ISC_MAGIC('C', 'L', 'L', 'B')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: add
        type: dns_addrdatasetfunc_t
      - name: setup
        type: dns_transactionfunc_t
      - name: commit
        type: dns_transactionfunc_t
      - name: rawdata
        type: dns_rawdatafunc_t
      - name: '*zone'
        type: dns_zone_t
      - name: (*error)(struct dns_rdatacallbacks *, const char *, ...)
        type: void
      - name: (*warn)(struct dns_rdatacallbacks *, const char *, ...)
        type: void
      - name: '*add_private'
        type: void
      - name: '*error_private'
        type: void
      - name: '*warn_private'
        type: void
      item_type: struct
      name: dns_rdatacallbacks
      pos:
        line_end: 72
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/callbacks.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/rcode.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/dnssec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_MAXZONEKEYS
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/include/dns/dnssec.h
      type_or_value: '32'
    structs:
    - fields:
      - name: '*key'
        type: dst_key_t
      - name: hint_publish
        type: bool
      - name: force_publish
        type: bool
      - name: hint_sign
        type: bool
      - name: force_sign
        type: bool
      - name: hint_revoke
        type: bool
      - name: hint_remove
        type: bool
      - name: is_active
        type: bool
      - name: first_sign
        type: bool
      - name: purge
        type: bool
      - name: prepublish
        type: unsigned int
      - name: source
        type: dns_keysource_t
      - name: ksk
        type: bool
      - name: zsk
        type: bool
      - name: legacy
        type: bool
      - name: pubkey
        type: bool
      - name: index
        type: unsigned int
      - name: (dns_dnsseckey_t)
        type: ISC_LINK
      item_type: struct
      name: dns_dnsseckey
      pos:
        line_end: 73
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/dnssec.h
    typedefs:
    - item_type: typedef
      name: dns_keysource_t
      pos:
        line_end: 42
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/dnssec.h
    union: []
- function_names:
  - DNS_RDATA_INITIALIZED
  - DNS_RDATA_INITIALIZED
  - DNS_RDATA_INITIALIZED
  - DNS_RDATA_VALIDFLAGS
  - dns_rdatatype_ismeta
  - dns_rdatatype_issingleton
  - dns_rdatatype_notquestion
  - dns_rdatatype_questiononly
  - dns_rdatatype_atcname
  - dns_rdatatype_atparent
  - dns_rdatatype_followadditional
  - dns_rdatatype_isdnssec
  - dns_rdatatype_iskeymaterial
  - dns_rdatatype_iszonecutauth
  - dns_rdatatype_isknown
  - dns_rdatatype_ismulti
  - dns_rdatatype_issig
  - dns_rdatatype_isaddr
  - dns_rdatatype_isalias
  - dns_rdataclass_ismeta
  source_file: /src/bind9/lib/dns/include/dns/rdata.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATA_INIT
      pos:
        line_end: 150
        line_start: 145
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: "{                                     \\\n\t\t.data = NULL,
        \                \\\n\t\t.link = ISC_LINK_INITIALIZER, \\\n\t}"
    - item_type: preproc_def
      name: DNS_RDATA_UPDATE
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: DNS_RDATA_OFFLINE
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: '0x0002 '
    - item_type: preproc_def
      name: DNS_RDATA_MAXLENGTH
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 65512U
    - item_type: preproc_def
      name: DNS_STYLEFLAG_MULTILINE
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000001ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_COMMENT
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000002ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_RRCOMMENT
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000004ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_KEYDATA
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000008ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_UNKNOWNFORMAT
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000010ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_EXPANDAAAA
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000020ULL
    - item_type: preproc_def
      name: DNS_STYLEFLAG_SVCPARAMKEYCOMPAT
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: 0x00000040ULL
    - item_type: preproc_def
      name: DNS_RDATA_DOWNCASE
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: DNS_NAME_DOWNCASE
    - item_type: preproc_def
      name: DNS_RDATA_CHECKNAMES
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: DNS_NAME_CHECKNAMES
    - item_type: preproc_def
      name: DNS_RDATA_CHECKNAMESFAIL
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: DNS_NAME_CHECKNAMESFAIL
    - item_type: preproc_def
      name: DNS_RDATA_CHECKREVERSE
      pos:
        line_end: 212
        line_start: 211
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: DNS_NAME_CHECKREVERSE
    - item_type: preproc_def
      name: DNS_RDATA_CHECKMX
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: DNS_NAME_CHECKMX
    - item_type: preproc_def
      name: DNS_RDATA_CHECKMXFAIL
      pos:
        line_end: 214
        line_start: 213
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: DNS_NAME_CHECKMXFAIL
    - item_type: preproc_def
      name: DNS_RDATA_UNKNOWNESCAPE
      pos:
        line_end: 215
        line_start: 214
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
      type_or_value: '0x80000000'
    structs:
    - fields:
      - name: '*data'
        type: unsigned char
      - name: rdclass
        type: dns_rdataclass_t
      - name: type
        type: dns_rdatatype_t
      - name: length
        type: uint16_t
      - name: flags
        type: uint16_t
      - name: (dns_rdata_t)
        type: ISC_LINK
      item_type: struct
      name: dns_rdata
      pos:
        line_end: 113
        line_start: 106
        source_file: /src/bind9/lib/dns/include/dns/rdata.h
    typedefs: []
    union: []
- function_names:
  - dns_lib_initialize
  - dns_lib_shutdown
  source_file: /src/bind9/lib/dns/include/dns/lib.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/rootns.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/byaddr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/client.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CLIENTRESOPT_NODNSSEC
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_CLIENTRESOPT_RESERVED
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_CLIENTRESOPT_NOVALIDATE
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: DNS_CLIENTRESOPT_NOCDFLAG
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type_or_value: '0x08'
    - item_type: preproc_def
      name: DNS_CLIENTRESOPT_TCP
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: DNS_CLIENTVIEW_NAME
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type_or_value: '"_dnsclient"'
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: result
        type: isc_result_t
      - name: vresult
        type: isc_result_t
      - name: answerlist
        type: dns_namelist_t
      - name: cb
        type: isc_job_cb
      - name: '*arg'
        type: void
      item_type: struct
      name: dns_clientresume
      pos:
        line_end: 94
        line_start: 87
        source_file: /src/bind9/lib/dns/include/dns/client.h
    typedefs:
    - item_type: typedef
      name: "(*dns_client_resolve_cb)(dns_client_t     *client,\n\t\t\t\t      const
        dns_name_t *name,\n\t\t\t\t      dns_namelist_t   *namelist,\n\t\t\t\t      isc_result_t\tresult)"
      pos:
        line_end: 203
        line_start: 200
        source_file: /src/bind9/lib/dns/include/dns/client.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/tkey.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_TKEYMODE_SERVERASSIGNED
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/dns/include/dns/tkey.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DNS_TKEYMODE_DIFFIEHELLMAN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/tkey.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_TKEYMODE_GSSAPI
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/tkey.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_TKEYMODE_RESOLVERASSIGNED
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/tkey.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DNS_TKEYMODE_DELETE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/dns/include/dns/tkey.h
      type_or_value: '5'
    structs:
    - fields:
      - name: '*domain'
        type: dns_name_t
      - name: gsscred
        type: dns_gss_cred_id_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*gssapi_keytab'
        type: char
      item_type: struct
      name: dns_tkeyctx
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/tkey.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ttl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/secalg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_SECALG_FORMATSIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/secalg.h
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_dispatchmgr_ref
  - dns_dispatchmgr_unref
  - dns_dispatchmgr_attach
  - dns_dispatchmgr_detach
  - dns_dispatch_ref
  - dns_dispatch_unref
  - dns_dispatch_attach
  - dns_dispatch_detach
  source_file: /src/bind9/lib/dns/include/dns/dispatch.h
  types:
    enum:
    - enumerators:
      - name: DNS_DISPATCHOPT_FIXEDID
        value: 1 << 0
      - name: DNS_DISPATCHOPT_UNSHARED
        value: 1 << 1
      item_type: enum
      name: dns_dispatchopt
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/dispatch.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '**dispatches'
        type: dns_dispatch_t
      - name: ndisp
        type: uint32_t
      item_type: struct
      name: dns_dispatchset
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/dispatch.h
    typedefs:
    - item_type: typedef
      name: dns_dispatchopt_t
      pos:
        line_end: 74
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/dispatch.h
    - item_type: typedef
      name: "(*dispatch_cb_t)(isc_result_t eresult, isc_region_t *region,\n\t\t\t
        \     void *cbarg)"
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/bind9/lib/dns/include/dns/dispatch.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/rdatalist.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rdclass
        type: dns_rdataclass_t
      - name: type
        type: dns_rdatatype_t
      - name: covers
        type: dns_rdatatype_t
      - name: ttl
        type: dns_ttl_t
      - name: (dns_rdata_t)
        type: ISC_LIST
      - name: (dns_rdatalist_t)
        type: ISC_LINK
      - name: upper[32]
        type: unsigned char
      item_type: struct
      name: dns_rdatalist
      pos:
        line_end: 57
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/rdatalist.h
    typedefs: []
    union: []
- function_names:
  - dns_decompress_setpermitted
  - dns_decompress_getpermitted
  source_file: /src/bind9/lib/dns/include/dns/compress.h
  types:
    enum:
    - enumerators:
      - name: DNS_COMPRESS_DISABLED
        value: 0x00000001U
      - name: DNS_COMPRESS_LARGE
        value: 0x00000004U
      - name: DNS_COMPRESS_PERMITTED
        value: 0x00000008U
      - name: DNS_COMPRESS_CASE
        value: 0x00000002U
      - name: DNS_COMPRESS_MULTIUSE
        value: 0x00000010U
      item_type: enum
      name: dns_compress_flags
      pos:
        line_end: 78
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/compress.h
    - enumerators:
      - name: DNS_DECOMPRESS_DEFAULT
      - name: DNS_DECOMPRESS_NEVER
      - name: DNS_DECOMPRESS_ALWAYS
      - name: DNS_DECOMPRESS_PERMITTED
      item_type: enum
      name: dns_decompress
      pos:
        line_end: 108
        line_start: 103
        source_file: /src/bind9/lib/dns/include/dns/compress.h
    preproc_defs: []
    structs:
    - fields:
      - name: hash
        type: uint16_t
      - name: coff
        type: uint16_t
      item_type: struct
      name: dns_compress_slot
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/bind9/lib/dns/include/dns/compress.h
    - fields:
      - name: magic
        type: unsigned int
      - name: flags
        type: dns_compress_flags_t
      - name: mask
        type: uint16_t
      - name: count
        type: uint16_t
      - name: coff
        type: uint16_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*set'
        type: dns_compress_slot_t
      - name: smallset[1 << DNS_COMPRESS_SMALLBITS]
        type: dns_compress_slot_t
      item_type: struct
      name: dns_compress
      pos:
        line_end: 98
        line_start: 89
        source_file: /src/bind9/lib/dns/include/dns/compress.h
    typedefs: []
    union: []
- function_names:
  - DNS_TRUST_PENDING
  - DNS_TRUST_ADDITIONAL
  - DNS_TRUST_GLUE
  - DNS_TRUST_ANSWER
  source_file: /src/bind9/lib/dns/include/dns/types.h
  types:
    enum:
    - enumerators:
      - name: dns_opcode_query
        value: '0'
      - name: dns_opcode_iquery
        value: '1'
      - name: dns_opcode_status
        value: '2'
      - name: dns_opcode_update
        value: '5'
      - name: dns_opcode_notify
        value: '4'
      - name: dns_opcode_max
        value: '6'
      - name: dns__opcode_expand
        value: UINT16_MAX
      item_type: enum
      name: dns_opcode
      pos:
        line_end: 325
        line_start: 317
        source_file: /src/bind9/lib/dns/include/dns/types.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*string'
        type: char
      - name: count
        type: size_t
      item_type: struct
      name: dns_indent_t
      pos:
        line_end: 420
        line_start: 417
        source_file: /src/bind9/lib/dns/include/dns/types.h
    typedefs:
    - item_type: typedef
      name: (dns_adbaddrinfo_t)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_adbfind_t)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_clientrestrans_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: dns_clientreqtrans_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: dns_clientupdatetrans_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: dns_cert_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_compress_flags_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_dbload_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: (dns_dlzdb_t)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_decompress_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_dns64_t)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_dnsseckey_t)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_dsdigest_t
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint8_t
    - item_type: typedef
      name: dns_dtmsgtype_t
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_iterations_t
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint32_t
    - item_type: typedef
      name: (dns_kasp_t)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_kasp_digest_t)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_kasp_key_t)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_keyflags_t
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: (dns_keynode_t)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_keytag_t
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: (dns_keystore_t)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_masterstyle_flags_t
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint64_t
    - item_type: typedef
      name: dns_messageid_t
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_label_t
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_name_t)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_opcode_t
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_rbtnode_t)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_rcode_t
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_rdataclass_t
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: (dns_rdataset_t)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_rdatatype_t
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_secalg_t
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint8_t
    - item_type: typedef
      name: dns_secproto_t
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint8_t
    - item_type: typedef
      name: (dns_slabheader_t)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_rdatastatstype_t
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint32_t
    - item_type: typedef
      name: dns_trust_t
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_ttl_t
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint32_t
    - item_type: typedef
      name: dns_typepair_t
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint32_t
    - item_type: typedef
      name: (dns_view_t)
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (dns_zone_t)
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_hash_t
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_fwdpolicy_t
      pos:
        line_end: 188
        line_start: 184
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_namereln_t
      pos:
        line_end: 196
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_transfer_format_t
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_dbtype_t
      pos:
        line_end: 204
        line_start: 200
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_dbtree_t
      pos:
        line_end: 210
        line_start: 206
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_checkdstype_t
      pos:
        line_end: 216
        line_start: 212
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_notifytype_t
      pos:
        line_end: 223
        line_start: 218
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_minimaltype_t
      pos:
        line_end: 230
        line_start: 225
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_masterformat_t
      pos:
        line_end: 236
        line_start: 232
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_orderopt_t
      pos:
        line_end: 242
        line_start: 238
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_expire_t
      pos:
        line_end: 248
        line_start: 244
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_severity_t
      pos:
        line_end: 392
        line_start: 388
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_updatemethod_t
      pos:
        line_end: 409
        line_start: 404
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: dns_stale_answer_t
      pos:
        line_end: 415
        line_start: 411
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (*dns_dumpdonefunc_t)(void *, isc_result_t)
      pos:
        line_end: 425
        line_start: 425
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: (*dns_loaddonefunc_t)(void *, isc_result_t)
      pos:
        line_end: 427
        line_start: 427
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: (*dns_rawdatafunc_t)(dns_zone_t *, dns_masterrawheader_t *)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: "(*dns_addrdatasetfunc_t)(void *arg, const dns_name_t *name,\n\t\t\t\t\t
        \     dns_rdataset_t *rdataset\n\t\t\t\t\t\t      DNS__DB_FLARG)"
      pos:
        line_end: 433
        line_start: 431
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (*dns_transactionfunc_t)(void *arg)
      pos:
        line_end: 434
        line_start: 434
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: "(*dns_additionaldatafunc_t)(\n\tvoid *arg, const dns_name_t *name, dns_rdatatype_t
        type,\n\tdns_rdataset_t *rdataset DNS__DB_FLARG)"
      pos:
        line_end: 438
        line_start: 436
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (*dns_digestfunc_t)(void *, isc_region_t *)
      pos:
        line_end: 440
        line_start: 440
        source_file: /src/bind9/lib/dns/include/dns/types.h
    - item_type: typedef
      name: (*dns_xfrindone_t)(dns_zone_t *, uint32_t *, isc_result_t)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: (*dns_updatecallback_t)(void *, isc_result_t, dns_message_t *)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: (*dns_rdatasetorderfunc_t)(const dns_rdata_t *, const void *)
      pos:
        line_end: 446
        line_start: 446
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: int
    - item_type: typedef
      name: "(*dns_checkmxfunc_t)(dns_zone_t *, const dns_name_t *,\n\t\t\t\t  const
        dns_name_t *)"
      pos:
        line_end: 449
        line_start: 448
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: bool
    - item_type: typedef
      name: "(*dns_checksrvfunc_t)(dns_zone_t *, const dns_name_t *,\n\t\t\t\t   const
        dns_name_t *)"
      pos:
        line_end: 452
        line_start: 451
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: bool
    - item_type: typedef
      name: "(*dns_checknsfunc_t)(dns_zone_t *, const dns_name_t *,\n\t\t\t\t  const
        dns_name_t *, dns_rdataset_t *,\n\t\t\t\t  dns_rdataset_t *)"
      pos:
        line_end: 456
        line_start: 454
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: bool
    - item_type: typedef
      name: "(*dns_checkisservedbyfunc_t)(dns_zone_t *, dns_rdatatype_t type,\n\t\t\t\t\t
        \ const dns_name_t *)"
      pos:
        line_end: 459
        line_start: 458
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: bool
    - item_type: typedef
      name: "(*dns_isselffunc_t)(dns_view_t *, dns_tsigkey_t *,\n\t\t\t\t const isc_sockaddr_t
        *, const isc_sockaddr_t *,\n\t\t\t\t dns_rdataclass_t, void *)"
      pos:
        line_end: 463
        line_start: 461
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: bool
    - item_type: typedef
      name: (*dns_nseclog_t)(void *val, int, const char *, ...)
      pos:
        line_end: 465
        line_start: 465
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    union: []
- function_names:
  - DNS_DBITERATOR_VALID
  - DNS__DBITERATOR_CONNECT
  - DNS__DBITERATOR_CONCAT
  - DNS_DBITERATOR_FOREACH_RES
  - DNS_DBITERATOR_FOREACH
  - dns_dbiterator_destroy
  - dns_dbiterator_first
  - dns_dbiterator_last
  - dns_dbiterator_seek
  - dns_dbiterator_prev
  - dns_dbiterator_next
  - dns_dbiterator_current
  source_file: /src/bind9/lib/dns/include/dns/dbiterator.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DBITERATOR_MAGIC
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/bind9/lib/dns/include/dns/dbiterator.h
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'I')
    structs:
    - fields:
      - name: (*destroy)(dns_dbiterator_t **iteratorp DNS__DB_FLARG)
        type: void
      - name: (*first)(dns_dbiterator_t *iterator DNS__DB_FLARG)
        type: isc_result_t
      - name: (*last)(dns_dbiterator_t *iterator DNS__DB_FLARG)
        type: isc_result_t
      - name: "(*seek)(dns_dbiterator_t\t   *iterator,\n\t\t\t     const dns_name_t
          *name DNS__DB_FLARG)"
        type: isc_result_t
      - name: (*prev)(dns_dbiterator_t *iterator DNS__DB_FLARG)
        type: isc_result_t
      - name: (*next)(dns_dbiterator_t *iterator DNS__DB_FLARG)
        type: isc_result_t
      - name: "(*current)(dns_dbiterator_t *iterator,\n\t\t\t\tdns_dbnode_t\t**nodep,\n\t\t\t\tdns_name_t
          *name  DNS__DB_FLARG)"
        type: isc_result_t
      - name: (*pause)(dns_dbiterator_t *iterator)
        type: isc_result_t
      - name: (*origin)(dns_dbiterator_t *iterator, dns_name_t *name)
        type: isc_result_t
      item_type: struct
      name: dns_dbiteratormethods
      pos:
        line_end: 79
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/dbiterator.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*methods'
        type: dns_dbiteratormethods_t
      - name: '*db'
        type: dns_db_t
      - name: relative_names
        type: bool
      item_type: struct
      name: dns_dbiterator
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/bind9/lib/dns/include/dns/dbiterator.h
    typedefs: []
    union: []
- function_names:
  - DNS_DLZ_VALID
  source_file: /src/bind9/lib/dns/include/dns/dlz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DLZ_MAGIC
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
      type_or_value: ISC_MAGIC('D', 'L', 'Z', 'D')
    structs:
    - fields:
      - name: create
        type: dns_dlzcreate_t
      - name: destroy
        type: dns_dlzdestroy_t
      - name: findzone
        type: dns_dlzfindzone_t
      - name: allowzonexfr
        type: dns_dlzallowzonexfr_t
      - name: configure
        type: dns_dlzconfigure_t
      - name: ssumatch
        type: dns_dlzssumatch_t
      item_type: struct
      name: dns_dlzmethods
      pos:
        line_end: 194
        line_start: 187
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - fields:
      - name: '*name'
        type: char
      - name: '*methods'
        type: dns_dlzmethods_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*driverarg'
        type: void
      - name: (dns_dlzimplementation_t)
        type: ISC_LINK
      item_type: struct
      name: dns_dlzimplementation
      pos:
        line_end: 203
        line_start: 197
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*implementation'
        type: dns_dlzimplementation_t
      - name: '*dbdata'
        type: void
      - name: configure_callback
        type: dlzconfigure_callback_t
      - name: search
        type: bool
      - name: '*dlzname'
        type: char
      - name: (dns_dlzdb_t)
        type: ISC_LINK
      - name: '*ssutable'
        type: dns_ssutable_t
      item_type: struct
      name: dns_dlzdb
      pos:
        line_end: 219
        line_start: 209
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    typedefs:
    - item_type: typedef
      name: "(*dns_dlzallowzonexfr_t)(void *driverarg, void *dbdata,\n\t\t\t\t\t      isc_mem_t\t\t
        \  *mctx,\n\t\t\t\t\t      dns_rdataclass_t\t    rdclass,\n\t\t\t\t\t      const
        dns_name_t\t   *name,\n\t\t\t\t\t      const isc_sockaddr_t *clientaddr,\n\t\t\t\t\t
        \     dns_db_t\t\t  **dbp)"
      pos:
        line_end: 100
        line_start: 95
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - item_type: typedef
      name: "(*dns_dlzcreate_t)(isc_mem_t *mctx, const char *dlzname,\n\t\t\t\t\tunsigned
        int argc, char *argv[],\n\t\t\t\t\tvoid *driverarg, void **dbdata)"
      pos:
        line_end: 117
        line_start: 115
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - item_type: typedef
      name: (*dns_dlzdestroy_t)(void *driverarg, void **dbdata)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
      type: void
    - item_type: typedef
      name: "(*dns_dlzfindzone_t)(void *driverarg, void *dbdata,\n\t\t\t\t\t  isc_mem_t\t\t
        \ *mctx,\n\t\t\t\t\t  dns_rdataclass_t\t   rdclass,\n\t\t\t\t\t  const dns_name_t\t
        \ *name,\n\t\t\t\t\t  dns_clientinfomethods_t *methods,\n\t\t\t\t\t  dns_clientinfo_t\t
        \ *clientinfo,\n\t\t\t\t\t  dns_db_t\t\t **dbp)"
      pos:
        line_end: 139
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - item_type: typedef
      name: "(*dns_dlzconfigure_t)(void *driverarg, void *dbdata,\n\t\t\t\t\t   dns_view_t
        \ *view,\n\t\t\t\t\t   dns_dlzdb_t *dlzdb)"
      pos:
        line_end: 167
        line_start: 165
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - item_type: typedef
      name: "(*dns_dlzssumatch_t)(const dns_name_t    *signer,\n\t\t\t\t  const dns_name_t
        \   *name,\n\t\t\t\t  const isc_netaddr_t *tcpaddr,\n\t\t\t\t  dns_rdatatype_t
        type, const dst_key_t *key,\n\t\t\t\t  void *driverarg, void *dbdata)"
      pos:
        line_end: 179
        line_start: 175
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
      type: bool
    - item_type: typedef
      name: "(*dlzconfigure_callback_t)(dns_view_t *, dns_dlzdb_t *,\n\t\t\t\t\t\tdns_zone_t
        *)"
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    - item_type: typedef
      name: "dns_dlz_writeablezone_t(dns_view_t *view, dns_dlzdb_t *dlzdb,\n\t\t\tconst
        char *zone_name)"
      pos:
        line_end: 306
        line_start: 304
        source_file: /src/bind9/lib/dns/include/dns/dlz.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/dsdigest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DSDIGEST_FORMATSIZE
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/dsdigest.h
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/dnstap.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DTTYPE_SQ
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_DTTYPE_SR
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: DNS_DTTYPE_CQ
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: DNS_DTTYPE_CR
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: DNS_DTTYPE_AQ
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0010'
    - item_type: preproc_def
      name: DNS_DTTYPE_AR
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0020'
    - item_type: preproc_def
      name: DNS_DTTYPE_RQ
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0040'
    - item_type: preproc_def
      name: DNS_DTTYPE_RR
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0080'
    - item_type: preproc_def
      name: DNS_DTTYPE_FQ
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: DNS_DTTYPE_FR
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0200'
    - item_type: preproc_def
      name: DNS_DTTYPE_TQ
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0400'
    - item_type: preproc_def
      name: DNS_DTTYPE_TR
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x0800'
    - item_type: preproc_def
      name: DNS_DTTYPE_UQ
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: DNS_DTTYPE_UR
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: DNS_DTTYPE_QUERY
      pos:
        line_end: 77
        line_start: 74
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: "(DNS_DTTYPE_SQ | DNS_DTTYPE_CQ | DNS_DTTYPE_AQ | DNS_DTTYPE_RQ
        | \\\n\t DNS_DTTYPE_FQ | DNS_DTTYPE_TQ | DNS_DTTYPE_UQ)"
    - item_type: preproc_def
      name: DNS_DTTYPE_RESPONSE
      pos:
        line_end: 80
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: "(DNS_DTTYPE_SR | DNS_DTTYPE_CR | DNS_DTTYPE_AR | DNS_DTTYPE_RR
        | \\\n\t DNS_DTTYPE_FR | DNS_DTTYPE_TR | DNS_DTTYPE_UR)"
    - item_type: preproc_def
      name: DNS_DTTYPE_ALL
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type_or_value: (DNS_DTTYPE_QUERY | DNS_DTTYPE_RESPONSE)
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*frame'
        type: void
      - name: query
        type: bool
      - name: type
        type: dns_dtmsgtype_t
      - name: transport
        type: dns_transport_type_t
      - name: qtime
        type: isc_time_t
      - name: rtime
        type: isc_time_t
      - name: qaddr
        type: isc_region_t
      - name: raddr
        type: isc_region_t
      - name: qport
        type: uint32_t
      - name: rport
        type: uint32_t
      - name: msgdata
        type: isc_region_t
      - name: '*msg'
        type: dns_message_t
      - name: namebuf[DNS_NAME_FORMATSIZE]
        type: char
      - name: typebuf[DNS_RDATATYPE_FORMATSIZE]
        type: char
      - name: classbuf[DNS_RDATACLASS_FORMATSIZE]
        type: char
      item_type: struct
      name: dns_dtdata
      pos:
        line_end: 115
        line_start: 91
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
    typedefs:
    - item_type: typedef
      name: dns_dtmode_t
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/keytable.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: (*dns_keytable_callback_t)(const dns_name_t *name, void *fn_arg)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/keytable.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/unreachcache.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_resolver_ref
  - dns_resolver_unref
  - dns_resolver_attach
  - dns_resolver_detach
  source_file: /src/bind9/lib/dns/include/dns/resolver.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS0
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS0STR
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '"10"'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS1
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '100'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS1STR
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '"100"'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS2
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '500'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS2STR
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '"500"'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS3
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '800'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS3STR
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '"800"'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS4
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '1600'
    - item_type: preproc_def
      name: DNS_RESOLVER_QRYRTTCLASS4STR
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '"1600"'
    - item_type: preproc_def
      name: DNS_RESOLVER_CHECKNAMES
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_RESOLVER_CHECKNAMESFAIL
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_QMIN_MAXLABELS
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DNS_QMIN_MAX_NO_DELEGATION
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type_or_value: '3'
    structs:
    - fields:
      - name: '*fetch'
        type: dns_fetch_t
      - name: '*mctx'
        type: isc_mem_t
      - name: result
        type: isc_result_t
      - name: vresult
        type: isc_result_t
      - name: '*edectx'
        type: dns_edectx_t
      - name: qtype
        type: dns_rdatatype_t
      - name: '*db'
        type: dns_db_t
      - name: '*node'
        type: dns_dbnode_t
      - name: '*rdataset'
        type: dns_rdataset_t
      - name: '*sigrdataset'
        type: dns_rdataset_t
      - name: fname
        type: dns_fixedname_t
      - name: '*foundname'
        type: dns_name_t
      - name: '*client'
        type: isc_sockaddr_t
      - name: id
        type: dns_messageid_t
      - name: '*loop'
        type: isc_loop_t
      - name: cb
        type: isc_job_cb
      - name: '*arg'
        type: void
      - name: (dns_fetchresponse_t)
        type: ISC_LINK
      item_type: struct
      name: dns_fetchresponse
      pos:
        line_end: 96
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
    typedefs:
    - item_type: typedef
      name: dns_quotatype_t
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
    union: []
- function_names:
  - dns_xfrin_ref
  - dns_xfrin_unref
  - dns_xfrin_attach
  - dns_xfrin_detach
  source_file: /src/bind9/lib/dns/include/dns/xfrin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/secproto.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/time.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CLIENTINFO_VERSION
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_CLIENTINFOMETHODS_VERSION
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DNS_CLIENTINFOMETHODS_AGE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
      type_or_value: '1'
    structs:
    - fields:
      - name: version
        type: uint16_t
      - name: '*data'
        type: void
      - name: '*dbversion'
        type: void
      - name: ecs
        type: dns_ecs_t
      item_type: struct
      name: dns_clientinfo
      pos:
        line_end: 60
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
    - fields:
      - name: version
        type: uint16_t
      - name: age
        type: uint16_t
      - name: sourceip
        type: dns_clientinfo_sourceip_t
      item_type: struct
      name: dns_clientinfomethods
      pos:
        line_end: 76
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
    typedefs:
    - item_type: typedef
      name: "(*dns_clientinfo_sourceip_t)(dns_clientinfo_t *client,\n\t\t\t\t\t\t
        \ isc_sockaddr_t  **addrp)"
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/clientinfo.h
    union: []
- function_names:
  - DNS_REMOTE_VALID
  source_file: /src/bind9/lib/dns/include/dns/remote.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_REMOTE_MAGIC
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/remote.h
      type_or_value: ISC_MAGIC('R', 'm', 't', 'e')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*addresses'
        type: isc_sockaddr_t
      - name: '*sources'
        type: isc_sockaddr_t
      - name: '**keynames'
        type: dns_name_t
      - name: '**tlsnames'
        type: dns_name_t
      - name: '*ok'
        type: bool
      - name: addrcnt
        type: unsigned int
      - name: curraddr
        type: unsigned int
      item_type: struct
      name: dns_remote
      pos:
        line_end: 37
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/remote.h
    typedefs: []
    union: []
- function_names:
  - DNS_TYPEPAIR_TYPE
  - DNS_TYPEPAIR_COVERS
  - DNS_TYPEPAIR_VALUE
  - DNS_SIGTYPE
  source_file: /src/bind9/lib/dns/include/dns/rdatatype.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATATYPE_FORMATSIZE
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/include/dns/rdatatype.h
      type_or_value: sizeof("NSEC3PARAM")
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/nsec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NSEC_BUFFERSIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/include/dns/nsec.h
      type_or_value: (DNS_NAME_MAXWIRE + 8192 + 512)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/order.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_SIZEHISTO_BUCKETIN
  - DNS_SIZEHISTO_BUCKETOUT
  - DNS_RDATASTATSTYPE_BASE
  - DNS_RDATASTATSTYPE_ATTR
  - DNS_RDATASTATSTYPE_VALUE
  source_file: /src/bind9/lib/dns/include/dns/stats.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_SIZEHISTO_QUANTUM
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '16'
    - item_type: preproc_def
      name: DNS_SIZEHISTO_MAXIN
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: (288 / DNS_SIZEHISTO_QUANTUM)
    - item_type: preproc_def
      name: DNS_SIZEHISTO_MAXOUT
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: (4096 / DNS_SIZEHISTO_QUANTUM)
    - item_type: preproc_def
      name: DNS_SIZEHISTO_SIGBITSIN
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DNS_SIZEHISTO_SIGBITSOUT
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DNS_RDATASTATSTYPE_ATTR_OTHERTYPE
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: DNS_RDATASTATSTYPE_ATTR_NXRRSET
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: DNS_RDATASTATSTYPE_ATTR_NXDOMAIN
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '0x0004'
    - item_type: preproc_def
      name: DNS_RDATASTATSTYPE_ATTR_STALE
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '0x0008'
    - item_type: preproc_def
      name: DNS_RDATASTATSTYPE_ATTR_ANCIENT
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '0x0010'
    structs: []
    typedefs:
    - item_type: typedef
      name: dnssecsignstats_type_t
      pos:
        line_end: 247
        line_start: 244
        source_file: /src/bind9/lib/dns/include/dns/stats.h
    - item_type: typedef
      name: (*dns_generalstats_dumper_t)(isc_statscounter_t, uint64_t, void *)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type: void
    - item_type: typedef
      name: "(*dns_rdatatypestats_dumper_t)(dns_rdatastatstype_t, uint64_t,\n\t\t\t\t\t
        \   void *)"
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type: void
    - item_type: typedef
      name: (*dns_dnssecsignstats_dumper_t)(uint32_t, uint64_t, void *)
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type: void
    - item_type: typedef
      name: (*dns_opcodestats_dumper_t)(dns_opcode_t, uint64_t, void *)
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type: void
    - item_type: typedef
      name: (*dns_rcodestats_dumper_t)(dns_rcode_t, uint64_t, void *)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type: void
    union: []
- function_names:
  - DNS_VIEW_VALID
  source_file: /src/bind9/lib/dns/include/dns/view.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_VIEW_MAGIC
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: ISC_MAGIC('V', 'i', 'e', 'w')
    - item_type: preproc_def
      name: DNS_VIEWATTR_RESSHUTDOWN
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_VIEWATTR_ADBSHUTDOWN
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_VIEWATTR_REQSHUTDOWN
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: DNS_LMDB_COMMON_FLAGS
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: (MDB_CREATE | MDB_NOSUBDIR | MDB_NOLOCK)
    - item_type: preproc_def
      name: DNS_LMDB_FLAGS
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: (DNS_LMDB_COMMON_FLAGS)
    - item_type: preproc_def
      name: DNS_LMDB_FLAGS
      pos:
        line_end: 261
        line_start: 260
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: (DNS_LMDB_COMMON_FLAGS | MDB_WRITEMAP)
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: rdclass
        type: dns_rdataclass_t
      - name: '*name'
        type: char
      - name: '*zonetable'
        type: dns_zt_t
      - name: '*resolver'
        type: dns_resolver_t
      - name: '*adb'
        type: dns_adb_t
      - name: '*requestmgr'
        type: dns_requestmgr_t
      - name: '*dispatchmgr'
        type: dns_dispatchmgr_t
      - name: '*cache'
        type: dns_cache_t
      - name: '*cachedb'
        type: dns_db_t
      - name: '*hints'
        type: dns_db_t
      - name: '*secroots_priv'
        type: dns_keytable_t
      - name: '*ntatable_priv'
        type: dns_ntatable_t
      - name: lock
        type: isc_mutex_t
      - name: frozen
        type: bool
      - name: cacheshared
        type: bool
      - name: '*transports'
        type: dns_transport_list_t
      - name: '*statickeys'
        type: dns_tsigkeyring_t
      - name: '*dynamickeys'
        type: dns_tsigkeyring_t
      - name: '*peers'
        type: dns_peerlist_t
      - name: '*order'
        type: dns_order_t
      - name: '*fwdtable'
        type: dns_fwdtable_t
      - name: recursion
        type: bool
      - name: qminimization
        type: bool
      - name: qmin_strict
        type: bool
      - name: auth_nxdomain
        type: bool
      - name: minimal_any
        type: bool
      - name: minimalresponses
        type: dns_minimaltype_t
      - name: enablevalidation
        type: bool
      - name: acceptexpired
        type: bool
      - name: requireservercookie
        type: bool
      - name: synthfromdnssec
        type: bool
      - name: trust_anchor_telemetry
        type: bool
      - name: root_key_sentinel
        type: bool
      - name: transfer_format
        type: dns_transfer_format_t
      - name: '*cacheacl'
        type: dns_acl_t
      - name: '*cacheonacl'
        type: dns_acl_t
      - name: '*queryacl'
        type: dns_acl_t
      - name: '*queryonacl'
        type: dns_acl_t
      - name: '*recursionacl'
        type: dns_acl_t
      - name: '*recursiononacl'
        type: dns_acl_t
      - name: '*notifyacl'
        type: dns_acl_t
      - name: '*transferacl'
        type: dns_acl_t
      - name: '*updateacl'
        type: dns_acl_t
      - name: '*upfwdacl'
        type: dns_acl_t
      - name: '*denyansweracl'
        type: dns_acl_t
      - name: '*nocasecompress'
        type: dns_acl_t
      - name: '*proxyacl'
        type: dns_acl_t
      - name: '*proxyonacl'
        type: dns_acl_t
      - name: msgcompression
        type: bool
      - name: '*answeracl_exclude'
        type: dns_nametree_t
      - name: '*denyanswernames'
        type: dns_nametree_t
      - name: '*answernames_exclude'
        type: dns_nametree_t
      - name: '*sfd'
        type: dns_nametree_t
      - name: '*rrl'
        type: dns_rrl_t
      - name: provideixfr
        type: bool
      - name: requestnsid
        type: bool
      - name: requestzoneversion
        type: bool
      - name: sendcookie
        type: bool
      - name: maxcachettl
        type: dns_ttl_t
      - name: maxncachettl
        type: dns_ttl_t
      - name: mincachettl
        type: dns_ttl_t
      - name: minncachettl
        type: dns_ttl_t
      - name: nta_lifetime
        type: uint32_t
      - name: nta_recheck
        type: uint32_t
      - name: '*nta_file'
        type: char
      - name: prefetch_trigger
        type: dns_ttl_t
      - name: prefetch_eligible
        type: dns_ttl_t
      - name: dstport
        type: in_port_t
      - name: '*aclenv'
        type: dns_aclenv_t
      - name: preferred_glue
        type: dns_rdatatype_t
      - name: flush
        type: bool
      - name: checknames
        type: bool
      - name: maxudp
        type: uint16_t
      - name: staleanswerttl
        type: dns_ttl_t
      - name: staleanswersok
        type: dns_stale_answer_t
      - name: staleanswersenable
        type: bool
      - name: staleanswerclienttimeout
        type: uint32_t
      - name: nocookieudp
        type: uint16_t
      - name: padding
        type: uint16_t
      - name: '*pad_acl'
        type: dns_acl_t
      - name: dns64
        type: dns_dns64list_t
      - name: dns64cnt
        type: unsigned int
      - name: usedns64
        type: bool
      - name: '*rpzs'
        type: dns_rpz_zones_t
      - name: '*catzs'
        type: dns_catz_zones_t
      - name: dlz_searched
        type: dns_dlzdblist_t
      - name: dlz_unsearched
        type: dns_dlzdblist_t
      - name: fail_ttl
        type: uint32_t
      - name: '*failcache'
        type: dns_badcache_t
      - name: '*unreachcache'
        type: dns_unreachcache_t
      - name: udpsize
        type: unsigned int
      - name: sig0key_checks_limit
        type: uint32_t
      - name: sig0message_checks_limit
        type: uint32_t
      - name: maxrrperset
        type: uint32_t
      - name: maxtypepername
        type: uint32_t
      - name: max_queries
        type: uint16_t
      - name: max_restarts
        type: uint8_t
      - name: '*matchclients'
        type: dns_acl_t
      - name: '*matchdestinations'
        type: dns_acl_t
      - name: matchrecursiveonly
        type: bool
      - name: references
        type: isc_refcount_t
      - name: weakrefs
        type: isc_refcount_t
      - name: '*viewlist'
        type: dns_viewlist_t
      - name: '*managed_keys'
        type: dns_zone_t
      - name: '*redirect'
        type: dns_zone_t
      - name: '*redirectzone'
        type: dns_name_t
      - name: redirectfixed
        type: dns_fixedname_t
      - name: '*new_zone_dir'
        type: char
      - name: '*new_zone_file'
        type: char
      - name: '*new_zone_db'
        type: char
      - name: '*new_zone_dbenv'
        type: void
      - name: new_zone_mapsize
        type: uint64_t
      - name: '*new_zone_config'
        type: void
      - name: (*cfg_destroy)(void **)
        type: void
      - name: new_zone_lock
        type: isc_mutex_t
      - name: secret[32]
        type: unsigned char
      - name: v6bias
        type: unsigned int
      - name: '*dtenv'
        type: dns_dtenv_t
      - name: dttypes
        type: dns_dtmsgtype_t
      - name: '*plugins'
        type: void
      - name: (*plugins_free)(isc_mem_t *, void **)
        type: void
      - name: '*hooktable'
        type: void
      - name: (*hooktable_free)(isc_mem_t *, void **)
        type: void
      item_type: struct
      name: dns_view
      pos:
        line_end: 242
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/view.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/trace.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS__DB_FILELINE
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/bind9/lib/dns/include/dns/trace.h
      type_or_value: ', __func__, __FILE__, __LINE__'
    - item_type: preproc_def
      name: DNS__DB_FLARG_PASS
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/include/dns/trace.h
      type_or_value: ', func, file, line'
    - item_type: preproc_def
      name: DNS__DB_FLARG
      pos:
        line_end: 24
        line_start: 21
        source_file: /src/bind9/lib/dns/include/dns/trace.h
      type_or_value: ", const char *func ISC_ATTR_UNUSED, const char *file ISC_ATTR_UNUSED,
        \\\n\t\tunsigned int line ISC_ATTR_UNUSED"
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_IPTABLE_VALID
  - dns_iptable_ref
  - dns_iptable_unref
  - dns_iptable_attach
  - dns_iptable_detach
  source_file: /src/bind9/lib/dns/include/dns/iptable.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_IPTABLE_MAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/iptable.h
      type_or_value: ISC_MAGIC('T', 'a', 'b', 'l')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*radix'
        type: isc_radix_tree_t
      - name: (dns_iptable_t)
        type: ISC_LINK
      item_type: struct
      name: dns_iptable
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/iptable.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ncache.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_NCACHETOWIRE_OMITDNSSEC
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/dns/include/dns/ncache.h
      type_or_value: '0x0001'
    structs: []
    typedefs: []
    union: []
- function_names:
  - dns_nametree_ref
  - dns_nametree_unref
  - dns_nametree_attach
  - dns_nametree_detach
  - dns_ntnode_ref
  - dns_ntnode_unref
  - dns_ntnode_attach
  - dns_ntnode_detach
  source_file: /src/bind9/lib/dns/include/dns/nametree.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dns_nametree_type_t
      pos:
        line_end: 44
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/nametree.h
    union: []
- function_names:
  - dns_catz_zone_attach
  - dns_catz_zone_detach
  - dns_catz_zone_ref
  - dns_catz_zone_unref
  - dns_catz_zones_attach
  - dns_catz_zones_detach
  - dns_catz_zones_ref
  - dns_catz_zones_unref
  source_file: /src/bind9/lib/dns/include/dns/catz.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_CATZ_ERROR_LEVEL
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type_or_value: ISC_LOG_WARNING
    - item_type: preproc_def
      name: DNS_CATZ_INFO_LEVEL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: DNS_CATZ_DEBUG_LEVEL1
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type_or_value: ISC_LOG_DEBUG(1)
    - item_type: preproc_def
      name: DNS_CATZ_DEBUG_LEVEL2
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type_or_value: ISC_LOG_DEBUG(2)
    - item_type: preproc_def
      name: DNS_CATZ_DEBUG_LEVEL3
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type_or_value: ISC_LOG_DEBUG(3)
    - item_type: preproc_def
      name: DNS_CATZ_DEBUG_QUIET
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type_or_value: (DNS_CATZ_DEBUG_LEVEL3 + 1)
    structs:
    - fields:
      - name: masters
        type: dns_ipkeylist_t
      - name: '*allow_query'
        type: isc_buffer_t
      - name: '*allow_transfer'
        type: isc_buffer_t
      - name: '*zonedir'
        type: char
      - name: in_memory
        type: bool
      - name: min_update_interval
        type: uint32_t
      item_type: struct
      name: dns_catz_entry_options
      pos:
        line_end: 71
        line_start: 46
        source_file: /src/bind9/lib/dns/include/dns/catz.h
    - fields:
      - name: addzone
        type: dns_catz_zoneop_fn_t
      - name: modzone
        type: dns_catz_zoneop_fn_t
      - name: delzone
        type: dns_catz_zoneop_fn_t
      - name: '*udata'
        type: void
      item_type: struct
      name: dns_catz_zonemodmethods
      pos:
        line_end: 278
        line_start: 273
        source_file: /src/bind9/lib/dns/include/dns/catz.h
    typedefs:
    - item_type: typedef
      name: "(*dns_catz_zoneop_fn_t)(dns_catz_entry_t *entry,\n\t\t\t\t\t     dns_catz_zone_t
        \ *origin,\n\t\t\t\t\t     dns_view_t *view, void *udata)"
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/bind9/lib/dns/include/dns/catz.h
    - item_type: typedef
      name: "(*dns_catz_entry_cb2)(dns_catz_entry_t *entry, void *arg1,\n\t\t\t\t
        \  void *arg2)"
      pos:
        line_end: 404
        line_start: 403
        source_file: /src/bind9/lib/dns/include/dns/catz.h
      type: void
    union: []
- function_names:
  - dns_forwarders_ref
  - dns_forwarders_unref
  - dns_forwarders_attach
  - dns_forwarders_detach
  source_file: /src/bind9/lib/dns/include/dns/forward.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: addr
        type: isc_sockaddr_t
      - name: '*tlsname'
        type: dns_name_t
      - name: (dns_forwarder_t)
        type: ISC_LINK
      item_type: struct
      name: dns_forwarder
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/forward.h
    - fields:
      - name: fwdrs
        type: dns_forwarderlist_t
      - name: fwdpolicy
        type: dns_fwdpolicy_t
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: name
        type: dns_name_t
      item_type: struct
      name: dns_forwarders
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/forward.h
    typedefs:
    - item_type: typedef
      name: (struct dns_forwarder)
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/forward.h
    union: []
- function_names:
  - DNS_KASP_VALID
  source_file: /src/bind9/lib/dns/include/dns/kasp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_KASP_MAGIC
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: ISC_MAGIC('K', 'A', 'S', 'P')
    - item_type: preproc_def
      name: DEFAULT_JITTER
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: (12 * 3600)
    - item_type: preproc_def
      name: DNS_KASP_SIG_JITTER
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"PT12H"'
    - item_type: preproc_def
      name: DNS_KASP_SIG_REFRESH
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"P5D"'
    - item_type: preproc_def
      name: DNS_KASP_SIG_VALIDITY
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"P14D"'
    - item_type: preproc_def
      name: DNS_KASP_SIG_VALIDITY_DNSKEY
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"P14D"'
    - item_type: preproc_def
      name: DNS_KASP_KEY_TTL
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"3600"'
    - item_type: preproc_def
      name: DNS_KASP_DS_TTL
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"86400"'
    - item_type: preproc_def
      name: DNS_KASP_PUBLISH_SAFETY
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"3600"'
    - item_type: preproc_def
      name: DNS_KASP_PURGE_KEYS
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"P90D"'
    - item_type: preproc_def
      name: DNS_KASP_RETIRE_SAFETY
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"3600"'
    - item_type: preproc_def
      name: DNS_KASP_ZONE_MAXTTL
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"86400"'
    - item_type: preproc_def
      name: DNS_KASP_ZONE_PROPDELAY
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"300"'
    - item_type: preproc_def
      name: DNS_KASP_PARENT_PROPDELAY
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '"3600"'
    - item_type: preproc_def
      name: DNS_KASP_KEY_ROLE_KSK
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: DNS_KASP_KEY_ROLE_ZSK
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '0x02'
    structs:
    - fields:
      - name: digest
        type: dns_dsdigest_t
      - name: (dns_kasp_digest_t)
        type: ISC_LINK
      item_type: struct
      name: dns_kasp_digest
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: '*keystore'
        type: dns_keystore_t
      - name: lifetime
        type: uint32_t
      - name: algorithm
        type: dst_algorithm_t
      - name: length
        type: int
      - name: role
        type: uint8_t
      - name: tag_min
        type: uint16_t
      - name: tag_max
        type: uint16_t
      item_type: struct
      name: dns_kasp_key
      pos:
        line_end: 59
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
    - fields:
      - name: saltlen
        type: uint8_t
      - name: algorithm
        type: uint8_t
      - name: iterations
        type: uint8_t
      - name: optout
        type: bool
      item_type: struct
      name: dns_kasp_nsec3param
      pos:
        line_end: 66
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*name'
        type: char
      - name: lock
        type: isc_mutex_t
      - name: frozen
        type: bool
      - name: references
        type: isc_refcount_t
      - name: signatures_jitter
        type: uint32_t
      - name: signatures_refresh
        type: uint32_t
      - name: signatures_validity
        type: uint32_t
      - name: signatures_validity_dnskey
        type: uint32_t
      - name: offlineksk
        type: bool
      - name: cdnskey
        type: bool
      - name: digests
        type: dns_kasp_digestlist_t
      - name: keys
        type: dns_kasp_keylist_t
      - name: dnskey_ttl
        type: dns_ttl_t
      - name: nsec3
        type: bool
      - name: nsec3param
        type: dns_kasp_nsec3param_t
      - name: publish_safety
        type: uint32_t
      - name: retire_safety
        type: uint32_t
      - name: purge_keys
        type: uint32_t
      - name: zone_max_ttl
        type: dns_ttl_t
      - name: zone_propagation_delay
        type: uint32_t
      - name: inline_signing
        type: bool
      - name: parent_ds_ttl
        type: dns_ttl_t
      - name: parent_propagation_delay
        type: uint32_t
      item_type: struct
      name: dns_kasp
      pos:
        line_end: 114
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/irs/resconf.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*domain'
        type: char
      item_type: struct
      name: irs_resconf_search
      pos:
        line_end: 36
        line_start: 33
        source_file: /src/bind9/lib/dns/include/irs/resconf.h
    typedefs:
    - item_type: typedef
      name: (irs_resconf_search_t)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bind9/lib/dns/include/irs/resconf.h
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dst/gssapi.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: '*dns_gss_cred_id_t'
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bind9/lib/dns/include/dst/gssapi.h
      type: void
    - item_type: typedef
      name: '*dns_gss_ctx_id_t'
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bind9/lib/dns/include/dst/gssapi.h
      type: void
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dst/dst.h
  types:
    enum:
    - enumerators:
      - name: DST_KEY_STATE_HIDDEN
        value: '0'
      - name: DST_KEY_STATE_RUMOURED
        value: '1'
      - name: DST_KEY_STATE_UNRETENTIVE
        value: '3'
      - name: DST_KEY_STATE_OMNIPRESENT
        value: '2'
      - name: DST_KEY_STATE_NA
        value: '4'
      item_type: enum
      name: dst_key_state
      pos:
        line_end: 75
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dst/dst.h
    - enumerators:
      - name: DST_ALG_DSA
        value: '3'
      - name: DST_ALG_RSA
        value: '1'
      - name: DST_ALG_NSEC3DSA
        value: '6'
      - name: DST_ALG_ED448
        value: '16'
      - name: DST_ALG_GSSAPI
        value: '160'
      - name: DST_ALG_ECCGOST
        value: '12'
      - name: DST_ALG_RESERVED
        value: '255'
      - name: DST_ALG_DH
        value: '2'
      - name: DST_ALG_RSASHA1
        value: '5'
      - name: DST_ALG_RSASHA512
        value: '10'
      - name: DST_ALG_ED25519
        value: '15'
      - name: DST_ALG_HMAC_FIRST
        value: DST_ALG_HMACMD5
      - name: DST_ALG_HMACSHA224
        value: '162'
      - name: DST_ALG_HMACSHA384
        value: '164'
      - name: DST_ALG_HMAC_LAST
        value: DST_ALG_HMACSHA512
      - name: DST_ALG_PRIVATEOID
        value: '254'
      - name: DST_ALG_RSASHA512PRIVATEOID
        value: '257'
      - name: DST_ALG_UNKNOWN
        value: '0'
      - name: DST_ALG_ECC
        value: '4'
      - name: DST_ALG_RSASHA256
        value: '8'
      - name: DST_ALG_ECDSA384
        value: '14'
      - name: DST_ALG_PRIVATEDNS
        value: '253'
      - name: DST_ALG_RSAMD5
        value: '1'
      - name: DST_ALG_NSEC3RSASHA1
        value: '7'
      - name: DST_ALG_ECDSA256
        value: '13'
      - name: DST_ALG_HMACMD5
        value: '157'
      - name: DST_ALG_HMACSHA1
        value: '161'
      - name: DST_ALG_HMACSHA256
        value: '163'
      - name: DST_ALG_HMACSHA512
        value: '165'
      - name: DST_ALG_INDIRECT
        value: '252'
      - name: DST_ALG_RSASHA256PRIVATEOID
        value: '256'
      - name: DST_MAX_ALGS
        value: '258'
      item_type: enum
      name: dst_algorithm
      pos:
        line_end: 121
        line_start: 78
        source_file: /src/bind9/lib/dns/include/dst/dst.h
    preproc_defs:
    - item_type: preproc_def
      name: DST_KEY_MAXSIZE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1280'
    - item_type: preproc_def
      name: DST_KEY_MAXTEXTSIZE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '2048'
    - item_type: preproc_def
      name: DST_TYPE_KEY
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0x1000000 '
    - item_type: preproc_def
      name: DST_TYPE_PRIVATE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0x2000000'
    - item_type: preproc_def
      name: DST_TYPE_PUBLIC
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0x4000000'
    - item_type: preproc_def
      name: DST_TYPE_STATE
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0x8000000'
    - item_type: preproc_def
      name: DST_TYPE_TEMPLATE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0x10000000'
    - item_type: preproc_def
      name: DST_TIME_CREATED
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DST_TIME_PUBLISH
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DST_TIME_ACTIVATE
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DST_TIME_REVOKE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DST_TIME_INACTIVE
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DST_TIME_DELETE
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DST_TIME_DSPUBLISH
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DST_TIME_SYNCPUBLISH
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DST_TIME_SYNCDELETE
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '8'
    - item_type: preproc_def
      name: DST_TIME_DNSKEY
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '9'
    - item_type: preproc_def
      name: DST_TIME_ZRRSIG
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '10'
    - item_type: preproc_def
      name: DST_TIME_KRRSIG
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '11'
    - item_type: preproc_def
      name: DST_TIME_DS
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '12'
    - item_type: preproc_def
      name: DST_TIME_DSDELETE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DST_MAX_TIMES
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '13'
    - item_type: preproc_def
      name: DST_NUM_PREDECESSOR
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DST_NUM_SUCCESSOR
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DST_NUM_MAXTTL
      pos:
        line_end: 160
        line_start: 159
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DST_NUM_ROLLPERIOD
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DST_NUM_LIFETIME
      pos:
        line_end: 162
        line_start: 161
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DST_NUM_DSPUBCOUNT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '5'
    - item_type: preproc_def
      name: DST_NUM_DSDELCOUNT
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DST_MAX_NUMERIC
      pos:
        line_end: 165
        line_start: 164
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '6'
    - item_type: preproc_def
      name: DST_BOOL_KSK
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DST_BOOL_ZSK
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DST_MAX_BOOLEAN
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DST_KEY_DNSKEY
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DST_KEY_ZRRSIG
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DST_KEY_KRRSIG
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '2'
    - item_type: preproc_def
      name: DST_KEY_DS
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DST_KEY_GOAL
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DST_MAX_KEYSTATES
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '4'
    - item_type: preproc_def
      name: DST_MAJOR_VERSION
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '1'
    - item_type: preproc_def
      name: DST_MINOR_VERSION
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DST_KEY_FORMATSIZE
      pos:
        line_end: 976
        line_start: 975
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + 7)
    - item_type: preproc_def
      name: DST_ALGORITHM_FORMATSIZE
      pos:
        line_end: 1224
        line_start: 1223
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: '20'
    structs: []
    typedefs:
    - item_type: typedef
      name: dst_key_state_t
      pos:
        line_end: 75
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dst/dst.h
    - item_type: typedef
      name: dst_algorithm_t
      pos:
        line_end: 121
        line_start: 78
        source_file: /src/bind9/lib/dns/include/dst/dst.h
    union: []
- function_names:
  - VALID_CCMSG
  - try_parse_message
  - recv_data
  - isccc_ccmsg_init
  - isccc_ccmsg_setmaxsize
  - isccc_ccmsg_readmessage
  - ccmsg_senddone
  - isccc_ccmsg_sendmessage
  - isccc_ccmsg_disconnect
  - isccc_ccmsg_invalidate
  - isccc_ccmsg_toregion
  source_file: /src/bind9/lib/isccc/ccmsg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CCMSG_MAGIC
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/bind9/lib/isccc/ccmsg.c
      type_or_value: ISC_MAGIC('C', 'C', 'm', 's')
    structs: []
    typedefs: []
    union: []
- function_names:
  - value_towire
  - table_towire
  - list_towire
  - sign
  - isccc_cc_towire
  - verify
  - value_fromwire
  - table_fromwire
  - list_fromwire
  - isccc_cc_fromwire
  - createmessage
  - isccc_cc_createmessage
  - isccc_cc_createack
  - isccc_cc_isack
  - isccc_cc_isreply
  - isccc_cc_createresponse
  - isccc_cc_definestring
  - isccc_cc_defineuint32
  - isccc_cc_lookupstring
  - isccc_cc_lookupuint32
  - symtab_undefine
  - symtab_clean
  - isccc_cc_createsymtab
  - isccc_cc_cleansymtab
  - has_whitespace
  - isccc_cc_checkdup
  source_file: /src/bind9/lib/isccc/cc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_TAGS
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '256'
    - item_type: preproc_def
      name: DUP_LIFETIME
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '900'
    - item_type: preproc_def
      name: ISCCC_MAXDEPTH
      pos:
        line_end: 56
        line_start: 54
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '10 '
    - item_type: preproc_def
      name: HMD5_OFFSET
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '21 '
    - item_type: preproc_def
      name: HMD5_LENGTH
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '22'
    - item_type: preproc_def
      name: HSHA_OFFSET
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '22 '
    - item_type: preproc_def
      name: HSHA_LENGTH
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/bind9/lib/isccc/cc.c
      type_or_value: '88'
    structs: []
    typedefs:
    - item_type: typedef
      name: '*sexpr_ptr'
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bind9/lib/isccc/cc.c
    union: []
- function_names:
  - CAR
  - CDR
  - isccc_sexpr_cons
  - isccc_sexpr_tconst
  - isccc_sexpr_fromstring
  - isccc_sexpr_frombinary
  - isccc_sexpr_free
  - printable
  - isccc_sexpr_print
  - isccc_sexpr_car
  - isccc_sexpr_cdr
  - isccc_sexpr_setcar
  - isccc_sexpr_setcdr
  - isccc_sexpr_addtolist
  - isccc_sexpr_listp
  - isccc_sexpr_emptyp
  - isccc_sexpr_stringp
  - isccc_sexpr_binaryp
  - isccc_sexpr_tostring
  - isccc_sexpr_tobinary
  source_file: /src/bind9/lib/isccc/sexpr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isccc_base64_encode
  - isccc_base64_decode
  source_file: /src/bind9/lib/isccc/base64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CAR
  - CDR
  - isccc_alist_create
  - isccc_alist_alistp
  - isccc_alist_emptyp
  - isccc_alist_first
  - isccc_alist_assq
  - isccc_alist_delete
  - isccc_alist_define
  - isccc_alist_definestring
  - isccc_alist_definebinary
  - isccc_alist_lookup
  - isccc_alist_lookupstring
  - isccc_alist_lookupbinary
  - isccc_alist_prettyprint
  source_file: /src/bind9/lib/isccc/alist.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ALIST_TAG
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/lib/isccc/alist.c
      type_or_value: '"*alist*"'
    - item_type: preproc_def
      name: MAX_INDENT
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/isccc/alist.c
      type_or_value: '64'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccc/include/isccc/cc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISCCC_ALG_UNKNOWN
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: '0'
    - item_type: preproc_def
      name: ISCCC_ALG_HMACMD5
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: DST_ALG_HMACMD5
    - item_type: preproc_def
      name: ISCCC_ALG_HMACSHA1
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: DST_ALG_HMACSHA1
    - item_type: preproc_def
      name: ISCCC_ALG_HMACSHA224
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: DST_ALG_HMACSHA224
    - item_type: preproc_def
      name: ISCCC_ALG_HMACSHA256
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: DST_ALG_HMACSHA256
    - item_type: preproc_def
      name: ISCCC_ALG_HMACSHA384
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: DST_ALG_HMACSHA384
    - item_type: preproc_def
      name: ISCCC_ALG_HMACSHA512
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: DST_ALG_HMACSHA512
    - item_type: preproc_def
      name: ISCCC_CC_MAXDGRAMPACKET
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: '4096'
    - item_type: preproc_def
      name: ISCCC_CCMSGTYPE_STRING
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: '0x00'
    - item_type: preproc_def
      name: ISCCC_CCMSGTYPE_BINARYDATA
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ISCCC_CCMSGTYPE_TABLE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ISCCC_CCMSGTYPE_LIST
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isccc/include/isccc/cc.h
      type_or_value: '0x03'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccc/include/isccc/alist.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ISCCC_SEXPR_CAR
  - ISCCC_SEXPR_CDR
  source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISCCC_SEXPRTYPE_NONE
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: ISCCC_SEXPRTYPE_T
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ISCCC_SEXPRTYPE_STRING
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ISCCC_SEXPRTYPE_DOTTEDPAIR
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
      type_or_value: '0x03'
    - item_type: preproc_def
      name: ISCCC_SEXPRTYPE_BINARY
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
      type_or_value: '0x04'
    structs:
    - fields:
      - name: '*car'
        type: isccc_sexpr_t
      - name: '*cdr'
        type: isccc_sexpr_t
      item_type: struct
      name: isccc_dottedpair
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
    - fields:
      - name: type
        type: unsigned int
      - name: value
        type: "union {\n\t\tchar\t\t  *as_string;\n\t\tisccc_dottedpair_t as_dottedpair;\n\t\tisccc_region_t\t
          \  as_region;\n\t}"
      item_type: struct
      name: isccc_sexpr
      pos:
        line_end: 52
        line_start: 45
        source_file: /src/bind9/lib/isccc/include/isccc/sexpr.h
    typedefs: []
    union: []
- function_names:
  - GET8
  - GET16
  - GET24
  - GET32
  - GET64
  - GETC16
  - GETC32
  - GET_OFFSET
  - GET_MEM
  - GET_TYPE
  - PUT8
  - PUT16
  - PUT24
  - PUT32
  - PUT64
  - PUTC16
  - PUTC32
  - PUT_OFFSET
  - PUT_MEM
  - REGION_SIZE
  - REGION_EMPTY
  - REGION_FROMSTRING
  source_file: /src/bind9/lib/isccc/include/isccc/util.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccc/include/isccc/ccmsg.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: size
        type: uint32_t
      - name: '*buffer'
        type: isc_buffer_t
      - name: maxsize
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*handle'
        type: isc_nmhandle_t
      - name: recv_cb
        type: isc_nm_cb_t
      - name: '*recv_cbarg'
        type: void
      - name: send_cb
        type: isc_nm_cb_t
      - name: '*send_cbarg'
        type: void
      item_type: struct
      name: isccc_ccmsg
      pos:
        line_end: 54
        line_start: 42
        source_file: /src/bind9/lib/isccc/include/isccc/ccmsg.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccc/include/isccc/types.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rstart'
        type: unsigned char
      - name: '*rend'
        type: unsigned char
      item_type: struct
      name: isccc_region
      pos:
        line_end: 49
        line_start: 46
        source_file: /src/bind9/lib/isccc/include/isccc/types.h
    typedefs:
    - item_type: typedef
      name: isccc_time_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bind9/lib/isccc/include/isccc/types.h
      type: uint32_t
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccc/include/isccc/base64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccc/include/isccc/symtype.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISCCC_SYMTYPE_ZONESTATS
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/isccc/include/isccc/symtype.h
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: ISCCC_SYMTYPE_CCDUP
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/isccc/include/isccc/symtype.h
      type_or_value: '0x0002'
    - item_type: preproc_def
      name: ISCCC_SYMTYPE_TELLSERVICE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/isccc/include/isccc/symtype.h
      type_or_value: '0x0003'
    - item_type: preproc_def
      name: ISCCC_SYMTYPE_TELLRESPONSE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/isccc/include/isccc/symtype.h
      type_or_value: '0x0004'
    structs: []
    typedefs: []
    union: []
- function_names:
  - TRACE
  - ASSERT
  - ASSERT
  - fuzz_attach
  - fuzz_detach
  - fuzz_makekey
  - fuzz_triename
  - random_byte
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_qp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: refcount
        type: uint32_t
      - name: exists
        type: bool
      - name: len
        type: uint8_t
      - name: key
        type: dns_qpkey_t
      - name: ascii
        type: dns_qpkey_t
      item_type: struct
      name: item[256 * 256 / 4]
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/bind9/fuzz/dns_qp.c
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - nullmsg
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/fuzz/old.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_qpkey_name.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_rdata_fromtext.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CHECK
  source_file: /src/bind9/fuzz/fuzz.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_one_file
  - test_all_from
  - main
  source_file: /src/bind9/fuzz/main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - create_message
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_message_checksig.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMACSHA256
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/fuzz/dns_message_checksig.c
      type_or_value: '"\x0bhmac-sha256"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/isc_lex_gettoken.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - parse_message
  - print_message
  - CHECKRESULT
  - render_message
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_message_parse.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_master_load.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_name_fromtext_target.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - VALID_NAME
  - INIT_OFFSETS
  - MAKE_EMPTY
  - BINDABLE
  - old_name_fromwire
  source_file: /src/bind9/fuzz/old.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: fw_state
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bind9/fuzz/old.c
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/isc_lex_getmastertoken.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerInitialize
  - LLVMFuzzerTestOneInput
  source_file: /src/bind9/fuzz/dns_name_fromwire.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/bind9/util/gen-eddsa-vectors.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/bind9/util/gen-rsa-sha-vectors.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc__mem_get
  - isc__mem_put
  - isc__mem_putanddetach
  - isc__mem_allocate
  - isc__mem_reallocate
  - isc__mem_free
  - isc__mem_strdup
  - isc__mempool_get
  - isc__mempool_put
  - _assert_true
  source_file: /src/bind9/util/models.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FLARG
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/bind9/util/models.c
      type_or_value: ', const char *file, unsigned int line'
    - item_type: preproc_def
      name: FLARG_PASS
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/util/models.c
      type_or_value: ', file, line'
    - item_type: preproc_def
      name: LargestIntegralType
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/bind9/util/models.c
      type_or_value: unsigned long int
    structs: []
    typedefs: []
    union: []
